Your SlideShare is downloading. ×
Slackware indonesia
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Slackware indonesia

525
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
525
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. iii DAFTAR ISI KATA PENGANTAR ………………………………………………………………. ii DAFTAR ISI ………………………………………………………………………… iii BAB I PENDAHULUAN 1.1 Sejarah Linux …………………………………………………… 1 1.2 Memulai Sistem …………………………………………………. 2 1.3 Perintah-perintah sederhana …………………………………… 4 BAB II INSTALASI SISTEM OPERASI 2.1 Source Instalasi Slackware ……………………………………. 7 2.2 Persiapan Instalasi ………..……………………………………9 2.3 Instalasi dengan Bootdisk ……………………………………..10 2.4 Partisi Hard disk ………………………………………………. 12 2.5 Proses Setup ……………………………………………………16 2.6 Instalasi Source Program …………………………………… 20 2.7 Instalasi Redhat Packet Manager …………………………….. 20 BAB III SISTEM FILE 3.1 Organisasi File …………………………………………………. 23 3.2 Struktur File ………………………………………………….25 3.3 Perintah-perintah File …………………………………………... 31 3.4 Perintah-perintah Direktori ……………………………………… 32 BAB IV PROSES INPUT/OUTPUT 4.1 File Descriptor ………………………………………………… 33 4.2 Redirection ……………………………………………………. 34 4.3 Append ………………………………………………………... 35 4.4 PIPA ………………………………………………………….. 35 4.5 Filter …………………………………………………………… 36 BAB VEDITOR 5.1 Perintah Dasar ……………………………………………….. 39 5.2 Perintah Advance ……………………………………………… 41 BAB VI KOMUNIKASI ANTAR PEMAKAI 6.1 Elektronik Mail …………………………………………………. 44 6.2 Write …………………………………………………………….. 45
  • 2. iv 6.3 Talk ……………………………………………………………… 46 BAB VII MANAJEMEN PROSES 7.1 Background Proses................................................................ 50 7.2 Status Proses …………………………………………………… 51 7.3 Menghentikan Proses (kill) …………………………............. 54 7.4 Jobs ……………………………………………………………... 56 7.5 Penjadwalan Proses ……………………………………………. 59 BAB VIII SHELL 8.1 Profile ………………………………………………………….. 65 8.2 History ………………………………………………………… 66 8.3 Prompt String ……………………………………………………. 68 8.4 BASH Script ……………………………………………………. 69 8.5 Dialog …………………………………………………………… 76 BAB IX ADMINISTRASI USER DAN GROUP 9.1 User Identitas …………………………………………………… 80 9.2 Group Identifier …………………………………………………. 84 9.3 Superuser ……………………………………………………… 87 BAB XKERNEL 10.1 Download Kernel …………………….......……………………….. 90 10.2 Konfigurasi Kernel ……………………......……………………….. 91 10.3 Kompile Kernel dan Modul ................................................ 91 10.4 Instalasi Kernel................................................................... 92 10.5 Patch Kernel ………………………………..………………………… 93 10.6 Lilo ………………………………………………………………………. 94 BAB XI SISTEM BACKUP DAN RECOVER 11.1 Program cp ……………………….…………………………………….100 11.2 Program dd ……………………….……………………………………100 11.3 Program tar ……………………..……………………………………. 101 BAB XI KONEKSI JARINGAN 12.1 Perintah modprobe ………….…………………………………….. 103 12.2 Perintah ifconfig ……………..…………………………………….. 104 12.3 Perintah route ………………..……………………………………... 106 12.4 Menentukan DNS ………….………………………………………. 107 DAFTAR PUSTAKA ……………………….………………………………………. 109
  • 3. Halaman : 1 Sistem Operasi 2 : Linux BAB I PENDAHULUAN (Pertemuan 1 ) Sistem Operasi adalah software yang mengatur dan mengkoordinasikan interaksi (proses) antar pemakai, sumber daya (resource) satu dengan yang lainnya. Sumber daya dapat berupa peralatan perangkat keras, memori, paket data dan layanan (service) lainnya. 1.1 Sejarah Linux Linux adalah Unix clone, kernel nya ditulis oleh Linus Torvalds dan dikembangkan dengan bantuan programer dan hackers dari seluruh dunia. Ide mengenai Linux oleh Torvald (mahasiswa Universitas Helsinki Finlandia) di munculkan sejak bulan Agustus 1991 melalui Internet Newsgroup pada pesannya yang berbunyi : Hello everybody out there using minix – I’m doing a (free) operating system (just hobby, won’t be big and professional like gnu) for 386(486) AT clones. Linux kernel dibungkus oleh library dan utilitas POSIX (Portable Operating System Interface Definition) yang dibakukan oleh organisasi standar dunia untuk UNIX, sehingga LINUX disebut sebagai UNIX-clone. Kontribusi yang cukup besar untuk LINUX berasal dari Free Software Foundation dengan proyek yang dikenal sebagai GNU (Gnu is Not Unix). Salah satu produk keluaran GNU yang paling terkenal adalah C-compiler gcc. Linux pertama kali dikembangkan untuk PC berbasis 386/486 dan kemudian dikembangkan juga untuk mesin-mesin lain. Hingga saat ini Linux juga berjalan di mesin-mesin DEC Alpha, SUN Sparcs, M68000 (seperti Atari dan Amiga), MIPS serta PowerPC. Linux bisa berjalan hanya dengan 150MB spasi hard disk, 2 MB RAM tapi secara realistis tentunya dibutuhkan ruang lagi untuk development tools, data dan sebagainya maka dibutuhkan sekitar 250MB spasi hard disk dan 12-16MB RAM. Kebutuhannya akan meningkat bila kelak dipasang Xwindow dsb.
  • 4. Halaman : 2 Sistem Operasi 2 : Linux Sebagai sistem operasi modern Linux mendukung banyak sekali hardware yang beredar di pasaran tapi beberapa memang tidak didukung karena masalah teknis atau sekelompok sukarelawan sedang sedang mengusahakan driver-nya. Linux merupakan sistem operasi free, artinya Linux dapat didistribusikan tanpa harus membayar lisensi kepada penciptanya. Linux dapat di ambil (download) dari situs di Internet baik dengan melalui FTP maupun WEB. Linux memiliki semua feature yang dimiliki oleh Unix, termasuk multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write exexutables, proper memory management dan TCP/IP networking. Untuk mempelajari sistem operasi, Linux sangat tepat digunakan karena sistem operasi Linux memperkenankan pengguna mengetahui kode sumber (source code). Dengan kebebasan untuk mengembangkan kode sumber, memudahkan seseorang mempelajari bagaimana sistem operasi disusun, dikembangkan dan juga diciptakan. Linux yang merupakan keluarga UNIX, memiliki fitur/kemampuan seperti halnya UNIX. Beberapa fitur tersebut diantaranya : - Multi tasking dan dukungan 32 bit; mampu menjalankan beberapa perintah secara bersamaan, dan dengan memanfaatkan model terlindung (protected mode) dari Intel 80836 keatas, Linux merupakan sistem operasi 32 bit. - Multiprocessor - MultiThreading, dapat menciptakan sub proses dengan cara effisien - Job Scheduler dan spooler - Security, login dengan password, ownership, group - Memperlakukan file dan peralatan secara konsisten - Pembelokan I/O, pipe dan filter - Local & Network File System 1.2 Memulai Sistem Setiap pemakai Linux harus mempunyai nama login (user account) yang sebelumnya harus didaftarkan pada Administrator System. Nama login umumnya dibatasi maksimum 8 karakter dan umumnya dalam huruf kecil.
  • 5. Halaman : 3 Sistem Operasi 2 : Linux Login : dsn970210 Password : ******** [dsn970210@omega /home/dsn970210]$ Pengguna system Linux harus menggunakan tipe terminal tertentu karena tipe terminal di Linux sangat beragam dan tipe terminal yang digunakan harus disesuaikan. Untuk mengubah tipe terminal, dapat digunakan shell-variabel TERM seperti berikut : $TERM=ansi $xport TERM Untuk melihat tipe terminal yang sedang digunakan, dengan perintah : $ echo $TERM Dalam sistem operasi Linux dapat digunakan instruksi id dari prompt shell untuk mengetahui informasi lengkap mengenai user bersangkutan : $ id uid=500(dsn970210) gid=100(users) groups=100(users) Linux memberikan setiap pemakai sebuah nomor id yaitu 500 pada contoh diatas. UID ini adalah uniq (tunggal), artinya tidak digunakan oleh pemakai lain. Group adalah kelompok pemakai, dimana kelompok ini umumhya bekerja pada proyek atau aplikasi yang sama. UID dan nama login disimpan pada file yang bernama /etc/passwd , sedangkan GID disimpan pada file /etc/group. Untuk proses authentication, diperlukan password. Password digunakan untuk memproteksi akses, yaitu menghindari pemakaian sistem bagi orang yang tidak berhak. Orang yang berhak memakai nama login adalah orang yang mengenal password account tersebut. Password dapat diubah dengan ketentuan : - Sebaiknya terdiri atas minimal 6 karakter - Merupakan campuran dari alpabet dan numerik atau karakter lainnya. - Jangan memilih nama sendiri, nama keluarga, tanggal lahir, nama perusahaan atau apapun yang mudah ditebak.
  • 6. Halaman : 4 Sistem Operasi 2 : Linux [dsn970210@omega /home/dsn970210]$passwd Changing password for dsn970210 (current) LINUX password : New LINUX password : ******* Retype new LINUX password : ******* Passwd : all authentication tokens updated sucessfully Pada saat login, maka user akan berada pada direktori HOME dan dapat dilihat sebagai berikut : $ pwd /home/dsn970210 Dari perintah tersebut, diketahui direkroti HOME pemakai dalam hal ini dsn970210 yang berada di /home/970210. Perintah pwd adalah print working directory, yaitu menampilkan direktori dimana saat ini user berada. Untuk keluar dari sistem dapat dilakukan dengan menjalankan instruksi : logout, exit atau (CTRL + d). 1.3 Perintah-perintah sederhana : Cara mengganti prompt [dsn970210@omega /home/dsn970210]$PS1=”$ “ $ Menampilkan tanggal sistem $ date Mon Apr 12 08:30:45 JAVT 2004 Meng-copy suatu file menjadi file lain $ cp f1 f2 Mencari sebuah string dalam suatu file $ grep anjik /etc/passwd Melakukan kompresi file $ gzip data.txt
  • 7. Halaman : 5 Sistem Operasi 2 : Linux Menampilkan isi file text yang tercompresi $ zcat data.txt.gz Mengembalikan file dalam format un-kompres (dinormalkan) $ gunzip data.txt.gz Perintah untuk mencari informasi tentang utilitas tertentu dengan : which, whereis dan apropos. Perintah which digunakan untuk mencari instruksi dengan nama yang sama pada direksori yang berbeda. Which bermanfaat untuk mencari duplikasi utilitas yang ada di Linux. $which echo Perintah whereis digunakan untuk mencari PATH apa saja yang mengandung sebuah kata.Berikut contoh penggunaan perintah whereis untuk mencari kata stikom. $whereis passwd /usr/bin/passwd Perintah apropos dapat digunakan untuk mencari kunci kata yang dapat ditemukan pada linux direktori. $apropos passwd SSL_CTX_set_default_passwd_cb, SSL_CTX_set_default_passwd_cb_userdata (3) - set passwd callback for encrypted PEM file handling htpasswd (1) - Create and update user authentication files kpasswdd (8) - Kerberos 5 password changing server login_passwd (8) - provide standard password authentication type passwd (1) - modify a user's password passwd (5) - format of the password file passwd.conf (5) - format of the password configuration file pw_dup (3) - make a copy of a struct passwd pw_getconf (3) - passwd configuration access function pw_init, pw_setdir, pw_file, pw_edit, pw_prompt, pw_copy, pw_scan, pw_error (3) - utility functions for interactive passwd file updates pw_lock, pw_mkdb, pw_abort (3) - passwd file update functions rpc.yppasswdd (8) - YP update password file daemon ldappasswd (1) - change the password of an LDAP entry smbpasswd (5) - The Samba encrypted password file smbpasswd (8) - change a user's SMB password
  • 8. Halaman : 6 Sistem Operasi 2 : Linux Latihan : 1. Bagaimanakah cara mengganti prompt, dari prompt yang aktif saat ini menjadi “:>“ 2. Bagaimana perintah untuk merubah tanggal sistem dengan perintah date ? 3. Bagaimana perintah untuk meng-copy file dari /etc/passwd menjadi file f1 di direktori saat ini ? 4. Bagaimana cara mengganti nama file f1 menjadi f2 5. Bagaimanakah perintah untuk mencari string nama anda dari file f2 ? 6. Perintah untuk menampilkan 10 baris awal ? 7. Apa yang terjadi jika dijalankan perintah $sort f2 ? 8. Dari baris perintah dijalankan perintah $gzip f2 , apa yang terjadi terhadap file f2 setalh perintah tersebut dijalankan. Jelaskan! 9. Apa fungsi dari perintah zcat ? Jika dijalankan perintah $zcat f2.gz, jelaskan apa yang terjadi terhadap file tersebut ? 10. Bagaimanakah caranya untuk mengembalikan file f2.gz menjadi bentuk aslinya sebelum dilakukan kompresi ?
  • 9. Halaman : 7 Sistem Operasi 2 : Linux BAB II INSTALASI SISTEM OPERASI (Pertemuan 2 dan 3) 2.1 Source Instalasi Slackware Sebelum dilakukan instalasi, terlebih dahulu mengetahui isi dari CD Insteller Linux Slackware. Beberapa direktori dalam CD Installer Slackware yang penting adalah: • Slakware; berisi program sumber instalasi. Isi direktori ini akan direview nanti • bootdsks.144; berisi file untuk membuat boot disk format 1.44 • rootdsks; berisi image file root disk, termasuk di dalamnya skrip setup • kernels; berisi kumpulan precompiled kernel untuk berbagai macam jenis perangkat keras. Pada tahap instalasi, direktori yang perlu diperhatikan adalah direktori Slakware karena berisi paket program yang dikelompokkan dalam beberapa kategori yang disebut disk set, antara lain : 1. Paket Aplikasi Disk Set A Berisi program dasar untuk menjalankan Linux Slackware. Program disini cukup untuk dimuat dalam Disket 1.22. Instal program dari sini saja cukup untuk menjalankan Linux, dengan editor teks Elvis dan beberapa program komunikasi, serta sistem file standard (file system standard /FSSTND). Disk Set A membutuhkan 25 MB. 2. Disk Set AP Berisi aplikasi yang sering dijalankan di Linux. Di antaranya man pages, groff, ispell (GNU and international versions), term, joe, jove, ghostscript, Midnight Commander (seperti Norton Commander di DOS), bc, dan quota. Disk Set AP membutuhkan 20 MB. 3. Disk Set D Berisi program pengembangan. Beberapa diantaranya GCC/G++/Objective C compiler make (GNU and BSD), byacc dan GNU bison, flex, library C
  • 10. Halaman : 8 Sistem Operasi 2 : Linux libraries, gdb debugger, Fortran, ncurses, clisp, f2c, p2c, Pascal, perl, dan rcs. Disk Set D membutuhkan 48 MB. 4. Disk Set E Berisi program paket editor teks GNU emacs 20.3. Disk Set E membutuhkan 35 MB. 5. Disk Set F Berisi koleksi FAQ, HOWTO, Mini-HOWTO, dan dokumentasi lainnya. Set ini berisi banyak sekali informasi bermanfaat. Disk Set F membutuhkan 11 MB. 6. Disk Set K Berisi kode sumber kernel (Kernel Source Code). Dapat mempergunakannya untuk mengkompilasi ulang kernel. Disk Set K membutuhkan 27 MB. 7. Disk Set N Berisi aplikasi pendukung jaringan. Termasuk di dalamnya dukungan TCP/UUCP, SLIP, PPP untuk koneksi ke Internet. Program pendukungnya adalah browser Lynx basis teks, Apache Web Server, Pine, Elm, Trn dan aplikasi Internet lainnya. 8. Disk Set N membutuhkan 23 MB. Disk Set T Berisi program format teks TEX and LA TEX2. TEX merupakan program terkenal dan canggih dalam format teks, termasuk penggunaan ekspresi matematis. Disk Set T membutuhkan 42 MB. 9. Disk Set TCL Berisi paket program pengembangan dari keluarga itcl, diantaranya Tcl dan Tk dapat dipakai untuk menyusun program yang dijalankan dibawah sistem X Window. Disk Set TCL membutuhkan 7 MB. 10. Disk Set X Berisi program dasar sistem Xfree86 3.3.2 dari MIT. Di dalamnya termasuk Library dan grafis antar muka pemakai yang dapat dijalankan di sistem Slackware. Disk Set X membutuhkan 70 MB.
  • 11. Halaman : 9 Sistem Operasi 2 : Linux Catatan : Di Linux dan sistem Unix lainnya, tampilan grafis dijalankan dengan sistem client server. Sedangkan untuk tampilannya bisa dipilih bermacam macam, disebut Window Manager. Beberapa Window Manager yang terkenal adalah Gnome, KDE (K Desktop Evironment), Window Maker dan sebagainya. 11. Disk Set XAP Berisi berbagai macam aplikasi yang dijalankan di X, seperti Window Manager fvwm, fvwm95, browser grafis (arena& Netscape) dan berbagai macam game X. Disk Set XAP membutuhkan 65 MB. 12. Disk Set XD Berisi program pengembangan X. Termasuk di dalamnya X11 libraries, server linkkit, dan PEX support. Disk Set XD membutuhkan 14 MB. 13. Disk Set XV Xview yang mendukung Open Look window Manager yang biasa dijalankan pada mesin SUN. Termasuk pula di dalamnya program compiler Xview. Disk Set XV membutuhkan 11 MB. 14. Disk Set Y Berisi berbagai macam game yang dijalankan di atas console (tidak membutuhkan tampilan grafis). Disk Set Y membutuhkan 8 MB. 2.2 Persiapan Instalasi Dalam melakukan instalasi sistem operasi Linux Slackware kebutuhan perangkat keras Minimal CPU dengan prosesor 80836 atau 80846 sudah bisa menjalankan Linux. Memori minimal 4 hingga 8 Megabyte, dan paling tidak 16 Megabyte jika ingin menjalankan aplikasi X. Hard disk, IDE maupun SCSI dengan ukuran hard disk yang dibutuhkan minimal 20 Megabyte untuk menginstal aplikasi dasar Linux. Jika semua program diinstal paling tidak membutuhkan spasi hard disk hingga 400 Megabyte.
  • 12. Halaman : 10 Sistem Operasi 2 : Linux Sebelum mulai instalasi, ada beberapa hal yang perlu disiapkan : 1. Usahakan untuk mencatat perangkat keras yang akan digunakan. Perangkat keras tersebut meliputi monitor, VGA card, Mouse, Hard disk dan CDROM (untuk yang SCSI), dan perangkat keras khusus lainnya. 2. Back up data-data yang penting. Meskipun penyusunan partisi dan format partisi di Linux dapat dijalankan secara aman tanpa mengganggu data yang ada, namun bisa saja terjadi salah ketik atau salah pilih yang membuat semua data hilang. 3. Siapkan partisi khusus untuk Linux. Jika sistem operasi yang ada tidak memungkinkan untuk diinstal ulang, gunakan program penambahan partisi seperti Partition Magic (program komersial) atau fips yang disertakan dalam CD. Dengan program tersebut dapat dlakukan penambahan partisi dari sisa hard disk kosong, tanpa harus menghapus partisi yang sudah ada. Lebih mudah jika menghapus semua partisi dalam hard disk, kemudian dipisah menjadi tiga hingga empat partisi. Satu untuk instal Windows (jika perlu), sistem file Linux, dan Swap Linux. 2.3 Instalasi dengan Boot Disk 1. Masuk ke DOS prompt A:> 2. Pindah ke direktori Bootdsks.144 A:>cd d:Bootdsks.144 D:Bootdsks.144> 3. Masukkan disket kosong ke dalam drive disket. Jalankan rawrite untuk menuliskan program boot Linux kedalam disket. Pilih image sesuai dengan perangkat keras D:Bootdsks.144>rawrite bare.I a: #untuk perangkat keras IDE secara umum D:Bootdsks.144>rawrite scsi.s a: #untuk perangkat keras SCSI secara umum
  • 13. Halaman : 11 Sistem Operasi 2 : Linux 4. Setelah selesai, keluarkan disket dan beri label boot disk. Pindah ke direktori root disk. D:Bootdsks.144>cd ../rootdsks D:rootdsks> 5. Jalankan kembali rawrite untuk menuliskan root disk ke dalam disket. D:rootdsks>rawrite color.gz a: # untuk monitor color D:rootdsks>rawrite text.gz a: # untuk monitor monokrom D:rootdsks>rawrite pcmcia.gz a: # untuk instalasi pada laptop dengan dukungan pcmcia D:rootdsks>rawrite rescue.gz a: # untuk membuat disket rescue D:rootdsks>rawrite umsdos.gz a: # untuk menginstal Slackware pada partisi UMSDOS 6. Setelah selesai, keluarkan disket, dan beri label root disk. 7. Masukkan boot disk ke drive a, kemudian booting komputer. 8. Pada awal Booting akan terlihat tulisan LILO, dan tampil pesan dari boot linux. Setelah muncul Lilo dan pilihannya dapat memilih dan menekan enter jika setuju. Kernel akan mencoba mengenali perangkat keras. Perhatikan hingga sampai pada teks : VFS: Insert root floppy disk to be loaded into ramdisk and press enter 9. Keluarkan boot disk, dan ganti dengan root disk. Tekan Enter. Root disk akan dimuat dalam memory. Kemudian login sebagai root. Slackware login : root #
  • 14. Halaman : 12 Sistem Operasi 2 : Linux Setelah muncul prompt Linux Slackware dan siap untuk instalasi. Langkah berikutnya adalah menyiapkan ruang untuk file Linux. Partisi hard disk diasumsikan sudah menyiapkan partisi kosong. Jika belum, maka perlu melakukannya terlebih dahulu dengan program Partition Magic yang harus dibeli secara terpisah atau Fips yang disertakan dalam CD. Catatan : Kemampuan Fips terbatas, dan tidak ada garansi jika mengalami error dalam menjalankannya. Untuk itu, back up data sangat diperlukan. Atau lebih mudah jika partisi ulang semuanya dengan menggunakan fdisk. 2.4 Partisi Harddisk Hard disk untuk bisa diisi sistem operasi, membutuhkan satu wadah, yang dinamakan partisi. Jika terbiasa menggunakan Microsoft, partisi disimbolkan dengan Drive. Misal, Drive C:(partisi pertama) Drive D:(partisi kedua) dan seterusnya. Dengan membagi hard disk ke dalam beberapa partisi dapat menjalankan berbagai sistem operasi secara bersamaan. Misalnya Linux - Windows 98 - Windows NT. Partisi dikategorikan dalam tiga jenis. Primary, Extended dan Logical Partition. Partisi utama, disebut primary, dalam satu hard disk maksimal hanya 4 partisi. Jika ingin lebih dari 4 partisi, maka perlu dibuat extended partition yang bisa memuat logical partition dengan jumlah lebih banyak. Jadi data hanya terletak di partisi primary atau logical, sedangkan extended hanya merupakan wadah dari partisi logical.
  • 15. Halaman : 13 Sistem Operasi 2 : Linux Untuk mengetahui partisi yang saat ini sudah terbentuk dapat ditampilkan menggunakan perintah p pada prompt partisi. Perhatikan contoh berikut ini : Dari tampilan partisi di atas, hard disk diwakili dengan /dev/hda, hanya mempunyai satu partisi, yakni /dev/hda1. Di MSDOS ataupun windows biasa melihatnya sebagai Drive C. Partisi tersebut mempunyai sistem file DOS 16-bit, dan menempati silinder 2 hingga 204. Cara pembuatan partisi baru, seperti pada tahapan berikut : # fdisk Using /dev/hda as default device! Command (m for help): m # ketik m dan tekan enter a toggle bootable flag b edit bsd dick label c toggle the DOS compatibility flag d delete a partition l list of known partition types m print this menu n add new partition o create a new empty DOS partition table q quit without saving changes t change partition system ID u change display /entry units v verify partition table w write table to disk and exit x extra functionality (expert only) Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 2 2 126 63000 6 DOS 16-bit>=32M
  • 16. Halaman : 14 Sistem Operasi 2 : Linux Pada Partition Number atau nomor partisi, isi 2, karena partisi satu sudah terisi Ms DOS. First cylinder adalah silinder pertama yang dipakai partisi ke dua ini. Last cylinder, bisa isikan nomor silinder, atau +xM, dimana x adalah jumlah Megabyte yang diinginkan, atau +xK, dimana x adalah jumlah Kilobyte yang diinginkan. Sebagai contoh, untuk menambah satu partisi lagi, yakni partisi ke-3 dengan ukuran 10 Mbyte, sebagai berikut : Dengan terbentuknya partisi ke-3 dari dua partisi yang sudah dibuat, dapat dilihat hasilnya dengan menekan perintah p. Dengan perintah p tersebut dapat diketahui informasi partisi yang dibuat tersebut menempati cilinder berapa. Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (204-683): 204 Last cylinder or +size or +sizeM or +sizeK (204-683): +80M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (474-683): 474 Last cylinder or +size or +sizeM or +sizeK (474-683): +10M
  • 17. Halaman : 15 Sistem Operasi 2 : Linux Dari tampilan di atas, tabel 3 partisi yang kesemuanya primary sudah berhasil dibuat. Untuk partisi extended biasanya dimulai dari angka 5 ke atas. Misalnya /dev/hda5, /dev/hda6 dan seterusnya. Lanjutkan dengan mengganti system ID atau format sistem file untuk menambahkan swap. Swap adalah bagian dari Hard disk, baik berupa file atau satu partisi penuh yang dipakai sebagai virtual memory. Swap sangat membantu jika punya memory fisik yang terbatas. Command (m for help): p Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders Units = cylinders of 608 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M /dev/hda2 204 204 473 82080 83 Linux native /dev/hda3 474 474 507 10336 83 Linux native Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): L 0 Empty 9 AIX bootable 75 PC/IX b7 BSDI fs 1 DOS 12-bit FAT a OS/2 Boot Manag 80 Old MINIX b8 BSDI swap 2 XENIX root 40 Venix 80286 81 Linux/MINIX c7 Syrinx 3 XENIX usr 51 Novell? 82 Linux swap db CP/M 4 DOS 16-bit <32M 52 Microport 83 Linux native e1 DOS access 5 Extended 63 GNU HURD 93 Amoeba e3 DOS R/O 6 DOS 16-bit>=32 64 Novell Netware 94 Amoeba BBT f2 DOS secondary 7 OS/2 HPFS 65 Novell Netware a5 BSD/386 ff BBT 8 AIX Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): 82
  • 18. Halaman : 16 Sistem Operasi 2 : Linux Setelah perubahan dilakukan, kemudian memastikan sekali lagi apakah tipe partisi sudah berubah. Terlihat bahwa /dev/hda3 telah berubah dari Linux native menjadi Linux swap. Langkah berikutnya adalah menyimpan tabel partisi yang telah dibuat. Command (m for help): w Setelah ditekan perintah w kemudian akan kembali ke shell prompt. Setelah itu lanjutkan dengan instalasi. Pertama , aktifkan swap yang telah dibuat sebelumnya # mkswap /dev/hda3 # swapon 2.5 Proses Setup Setelah mengaktifkan swap, jalankan skrip setup dari Slackware. # setup Akan muncul menu : • Help ; File help dari slackware, menyangkut instalasi • Key Map ; Memetakan keyboard, jika menggunakan keyboard non english • Swap ; Membuat dan mengaktifkan swap file • Target; Menentukan direktori tempt Linux akan diinstal • Source ; Menentukan direktori sumber file yang akan diinstal Command (m for help): p Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders Units = cylinders of 608 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M /dev/hda2 204 204 473 82080 83 Linux native /dev/hda3 474 474 507 10336 82 Linux swap
  • 19. Halaman : 17 Sistem Operasi 2 : Linux • Select ; Memilih perangkat lunak yang akan diinstal • Instal; Memulai instalasi dari paket program yang telah dipilih sebelumnya • Configure ; Mengkonfigurasikan Linux sebelum di restart • Exit ; Selesai instalasi dan keluar Perlu dicatat bahwa menu tersebut merupakan urutan instalasi yang harus dipilih satu demi satu. Untuk memulai instalasi, dapat abaikan dua menu pertama. Secara default, akan ditanya apakah akan memasukkan /dev/hda3 sebagai swap. Jika ya, maka Slackware akan menjalankan perintah mkswap untuk memformat /dev/hda3 dengan file sistem swap, kemudian mengaktifkannya dengan perintah swapon. Karena perintah ini telah dilakukan sebelumnya, dapat abaikan. Yang penting adalah memasukkan /dev/hda3 ke dalam file fstab sehingga saat Linux boot dapat langsung menggunakan swap. Catatan : Linux menuliskan semua sistem file dan device yang dipergunakan ke dalam file /etc/fstab. Saat akan dipergunakan dengan perintah mount, Linux akan membaca file ini. Device yang dipergunakan termasuk semua hard disk dan partisinya, CDROM, floppy dan device untuk back up. Untuk lebih jelasnya, ketikkan man fstab pada shell prompt. 2.5.1 Target Instalasi Secara default akan muncul /dev/hda2 sebagai satu-satunya Linux native yang ada dalam partisi yang sudah dibuat. Jika membuat lebih dari satu partisi yang berisi Linux native, Slackware akan menanyakan mount point dari masing-masing partisi. Misalnya /dev/hda5 mount pointnya /, lalu /dev/hda6 mount pointnya /usr/local dan seterusnya. Pada bagian ini ditanyakan pula apakah akan mengaitkan (mounting)/dev/hda1 dengan sistem file DOS? Mengaitkan /dev/hda1 memungkinkan membaca file-file yang berada dalam lingkungan DOS/Windows dari Linux. Selesai mengkonfigurasikan partisi di mana Linux akan diinstal, lanjutkan dengan sumber di mana file Linux Slackware binary berada.
  • 20. Halaman : 18 Sistem Operasi 2 : Linux 2.5.2 Source Instalasi Slackware akan menampilkan pilihan beberapa metode instalasi berdasarkan di mana sumber file berada. 1. Floppy; Instal Slackware dari disket 2. Instal Slackware from CD-ROM; Instal Slackware dari CD-ROM. Kadang Linux gagal mendeteksi CD-ROM yang dipunyai. Hal ini disebabkan pilihan kernel yang tidak tepat saat membuat boot disk. Pastikan memilih kernel yang sesuai dengan perangkat keras yang akan diinstall. 3. Instal Slackware from Hardrive partition; Instal Slackware dari hard disk (misalnya telah menyalin file dari CD-ROM ke dalam hard disk). Path harus ditulis secara benar, sebab dalam lingkungan Linux semua huruf diperlakukan case sensitive. Dalam arti perbedaan huruf besar dan kecil dapat membuat file tidak dikenal. 4. Instal via NFS; Instal Slackware dari NFS (Network File Server) 5. Instal from pre-mounted directory; Jika sudah mempunyai partisi Linux sebelumnya, dan berisi file source, maka bisa melakukan pengaitan (mounting) sebelum instalasi dimulai. Direktori ini yang dipakai sebagai sumber instalasi. Pilih sesuai kebutuhan Anda, dan ikuti perintah-perintah berikutnya. 2.5.3 Select Packet Instalasi Slackware memberikan pilihan paket aplikasi yang akan diinstal. Paket yang ditawarkan adalah : A Aplikasi dasar yang dibutuhkan sistem Linux AP Berbagai aplikasi yang dapat dijalankan di console tanpa membutuhkan X D Program pengembangan, terdiri atas berbagai bahasa pemrograman E GNU Emacs, editor teks F Daftar FAQ, dan dokumentasi How To lengkap
  • 21. Halaman : 19 Sistem Operasi 2 : Linux K Sumber (Source) dari kernel Linux N Networking (TCP/IP, UUCP, Mail, News) T Program pengolah kata tingkat lanjut TCL Bahasa Skrip Tcl/Tk X X Free, Server untuk tampilan grafis XD Program pengembangan X Free XV X View (Window Manager dan berbagai aplikasi tampilan grafis) Y Games yang tidak membutuhkan X (dijalankan di console) 2.5.4 Proses Instal Selesai memilih paket aplikasi yang dibutuhkan, dilanjutkan dengan instalasi. Slackware menawarkan berbagai metode instalasi : 1. Newbie; Slackware akan menanyakan setiap program yang akan diinstal, disertai dengan gambaran singkat dari berbagai program yang akan diinstal. 2. Expert ; Slackware akan memberikan daftar seluruh aplikasi, dan cukup memilihnya dengan memberikan pointer. 3. Full ; Instal seluruh aplikasi yang tersedia 2.5.5 Configure Pada proses configure ini dapat menjalankan konfigurasi awal dari sistem Linux yang telah diinstal. Konfigurasi mencakup password untuk root, Pembuatan disket boot, pengaturan LILO (Linux Loader, program yang menjalankan Linux saat booting), modem, mouse, dan beberapa konfigurasi network jika komputer sudah terhubung satu sama lain dalam jaringan. Setelah mengkonfigurasi sistem Linux, Anda dapat keluar dari program setup, dan tekan Ctrl-Alt-Del untuk booting komputer.
  • 22. Halaman : 20 Sistem Operasi 2 : Linux 2.6 Instalasi Source Program Source program dapat dilakukan proses instalasi dengan melakukan proses kompilasi program terlebih dahulu. Kompilasi program dapat dilakukan dengan bantuan kompiler gcc dan juga library yang diperlukan. Source program umumnya dikemas dalam file terkompresi dengan format x.tar.gz atau tgz. Source program tersebut sebelum bisa dijalankan terlebih dahulu dilakukan pemekaran (exstrak), perhatikan contoh : $tar zxvf x.tar.gz Setelah dilakukan pemekaran file, kemudian baru bisa dilakukan proses kompilasi. Untuk mengkompilasi source program lebih dianjurkan membaca petunjuk instalasi yang berada dalam direktori hasil pemekaran tersebut. Umumnya petunjuk kompilasi dan instalasi berada pada file README. Namun demikian secara umum proses instalasi dilakukan dengan tahapan : $ configure # Konfigurasi komponen $ make # Proses kompilasi $ make install # Proses Instalasi program ke lokasi direktori yang sudah ditentukan Perintah configure memiliki banyak option, misalnya untuk menentukan target instalasi dengan menyebutkan letak direktori target, misalnya : $ configure -- prefix=/usr/local/namaprogram 2.7 Install RedHat Packet Manager (RPM) Salah satu utilitas yang paling powerful dan inovatif dari RedHat Linux adalah RPM, RedHat Package Manager. Teknologi RPM adalah sebuah cara yang paling mudah untuk melakukan instalasi, uninstalasi, ugrade, query, verify dan mem-build paket software. Paket software RPM adalah sebuah arsip dari file-file dengan beberapa informasi yang berhubungan dengan file-file tersebut, seperti nama, versi dan deskripsinya.
  • 23. Halaman : 21 Sistem Operasi 2 : Linux Berbeda dengan cara tradisional menggunakan file tar.gz, metode RPM membuat user tidak direpotkan masalah manajemen file seperti letak file, direktori dsb. Untuk menjalankan RPM sangat mudah, berikut ini adalah perintah umum untuk: Install rpm -i [option] [nama_paket_rpm] misalnya: rpm -ivh vim-4.5-2.i386.rpm v dan h adalah option untuk menampilkan jalannya instalasi dan menampilkan grafik berbentuk hash (#). Option lainnya dapat di lihat di man rpm. Bila paket tersebut telah di instalasi atau ditemukan dependency, RPM akan memberitahukan dan instalasi di batalkan. Gunakan - -replacepkgs atau - -replacefiles bila ingin menimpa paket lama. Untuk dependency error, paket atau file yang di butuhkan harus di instalasi dulu. Sebaiknya tidak menggunakan option - -nodeps untuk mengatasi error dependency. Upgrade rpm -U [option] [nama_paket_rpm] misalnya; rpm -Uvh emacs-19.34-4.i386.rpm Upgrade ini adalah kombinasi dari uninstalasi dan instalasi, artinya RPM akan menguninstalasi dulu paket versi lama bila ditemukan dan menggantinya dengan versi baru. Bila tidak ditemukan versi lamanya maka otomatis RPM melakukan instalasi. Uninstalasi rpm -e [option] [nama_paket]
  • 24. Halaman : 22 Sistem Operasi 2 : Linux misalnya: rpm -e emacs Untuk uninstalasi tidak dipakai nama paket RPM tapi nama paket itu sendiri. Dependency error juga terjadi bila paket yang ingin di uninstalasi dibutuhkan oleh program lain. Gunakan - -nodeps bila ingin tetap menghapusnya. Query rpm -q [option] [nama_paket] misal: rpm -ql kernel Option l menampilkan semua file yang dimiliki oleh paket kernel. Verify rpm -V [nama_paket] misal: rpm -V bash Latihan : 1. Bagaimanakah tahapan melakukan perubahan terhadap tipe partisi dari Linux Native ke Linux Swap 2. Dapatkah dalam sistem operasi Linux meletakkan file system secara terpisah, misalnya untuk direktori /etc diletakkan di harddisk ke -2 partisi ke-3. Jelaskan ! 3. Bagaimanakah cara melakukan instalasi sistem Linux melaui jaringan. (Source Instalasinya berada di komputer lain). Jelaskan 4. Bagaimana cara melakukan instalasi packet program pada Linux Slackware ? 5. Bagaimanakah cara/tahapan instalasi Linux dalam modus text antara distribusi : Slackware, Redhat, Suse, dan Mandrake.
  • 25. Halaman : 23 Sistem Operasi 2 : Linux BAB III LINUX FILE SISTEM (Pertemuan 4 & 5) 3.1 Organisasi File Regular file / ordinary file adalah file yang digunakan untuk menyimpan data, source program, dokumen, grafik, program obyek, dan sebagainya. File ini terdiri dari 3 macam, antara lain : - File teks - File Script Shell - File Binary (executable) - File Data Sistem File pada Linux diatur secara hirarkhikal seperti UNIX, yaitu dimulai dari root dengan simbol “/”. Mulai dari root kebawah, dapat diciptakan File dan Direktori. Direktori adalah file yang berisi daftar nama file dan bilangan inode dari masing- masing file. Umumnya panjang nama file sampai dengan 14 karakter, walaupun ada juga sistem yang lebih panjang (s.d 256 karakter). Dalam sebuah direktori bisa terdapat direktori, atau biasa disebut dengan subdirektori.. Direktori yang berada tepat diatas suatu direktori disebut dengan direktori induk (parrent directory). Direktori tempat kerja dinamakan working directory atau current directory. Sedangkan direktori yang umumnya dituju user saat melakukan login adalah home directory. Setelah instalasi, Linux menciptakan sistem file yang baku, terdiri atas direktori. Direktori tersebut dikenal dengan direktori standar. Berikut susunan direktori standar yang ada pada Slackware (dan Linux secara umum). / Direktori root, yang menampung seluruh file yang ada dalam Linux. Pada direktori root biasanya tidak menampung file, kecuali image dari kernel (vmlinuz). /bin Berisi file yang dapat dieksekusi/dijalankan (file dengan ekstension exe pada DOS/Windows) /boot Direktori berisi file yang dieksekusi saat Linux booting. /dev Linux memperlakukan semua sebagai file. Direktori ini merupakan file dari hardware komputer. Misal floppy disk
  • 26. Halaman : 24 Sistem Operasi 2 : Linux menjadi file /dev/fd0, CD ROM menjadi /dev/hdb bahkan hingga memory. Yang cukup terkenal adalah /dev/null, semua file yang dikopi kesini akan dibuang. /etc Berisi file-file konfigurasi Linux. Biasanya berbentuk file text dan dapat diedit dengan mudah. /home Berisi direktori dari masing-masing user. /lib Berisi kumpulan library yang diperlukan oleh program di root direktori. (file DLL pada sistem operasi Windows). /mnt Direktori tempat mounting device. Misalnya /dev/fd0 (disket) akan dimount ke /mnt/floppy, /dev/hda1 (partisi DOS) dimount ke /mnt/dos. Secara default direktori ini kosong, dan harus membuat direktori sendiri sebagai mount point-nya. /proc Sistem file semua yang ditulis di atas memory. Digunakan untuk menginformasikan sistem (biasanya tentang proses yang sedang berjalan). /root Direktori home, bagi root /sbin File eksekusi yang dijalankan oleh sistem atau root. /tmp Berisi file-file sementara /usr Berisi file dan program yang berorientasi pada user. Hampir semua program yang disertakan dalam distribusi diinstal di sini. /var Berisi data yang berubah pada saat Linux berjalan. Data ini biasanya hanya spesifik pada satu komputer, dan tidak dibagi dengan komputer lain dalam jaringan. Dalam Linux file sistem Linux, untuk mengacu suatu file harus dituliskan dimana file tersebut berada (PATH). Nama path dapat memperjelas, suatu file benar-benar yang dimaksudkan. Hal ini bisa terjadi persamaan nama dari suatu file dari direktori yang berbeda. Cara menyatakan nama path dari suatu file terdiri dari : - absolut path - relatif path Absolut path selalu dimulai dari root. Nama path selalu diawali dengan “/“, misalnya /home/anji/latihan/satu. Sedangkan relatif path selalu diacu secara relatif dari direktori kerja yang biasa menggunakan dua simbol, yakni sebuah titik dan dua buah titik. Misalnya : $./file1.sh $../c/program.c
  • 27. Halaman : 25 Sistem Operasi 2 : Linux 3.2 Struktur File a. Tipe File Dalam Linux/UNIX terdapat 5 buah tipe File. Kelima tipe file tersebut antara lain : - File Biasa (Ordinary File) d Direktori b Block Device (Peralatan I/O) c Character Device (Peralatan I/O) p Named Pipe (FIFO) Block Device ; Merupakan file dari suatu peralatan yang menggunakan transmisi data per block (misalnya 1KB block). Contoh adalah DISK, FLOPPY, Tape. Character Device; Merupakan file dari peralatan yang menggunakan transmisi data per karakter. Contoh adalah terminal modem, ploter, dll Named Pipe; File yang digunakan secara intern oleh sistem operasi untuk komunikasi antar proses. -rw-r--r-- 1 root root 6253 Mar 11 11:37 /etc/passwd Tipe File Ijin Akses Jumlah Link Owner (pemilik) Group Ukuran File (jumlah karakter) Tanggal pembuatan File Nama File
  • 28. Halaman : 26 Sistem Operasi 2 : Linux b. Ijin Akses Setiap obyek di Linux harus mempunyai pemilik yaitu nama pemakai Linux (account) yang terdaftar dalam file /etc/passwd. Account ini yang dapat digunakan sebagai acuan untuk pemberian security file (ijin akses) terhadap suatu file. Ijin akses dibagi atas 3 peran, yaitu untuk : - Pemilik (owner) - Kelompok (group) - Lainnya(others) Masing-masing peran tersebut dapat melakukan 3 bentuk operasi : Pada File R READ : Ijin untuk membaca W WRITE : Ijin untuk mengubah/membuat X Execute : Ijin untuk menjalankan program Pada Direktori R READ : Ijin untuk membaca daftar file dalam direktori W WRITE : Ijin untuk mengubah/membuat file di direktori tersebut X Execute : Ijin untuk masuk ke direktori c. Mengubah Ijin Akses (chmod) Perintah chmod digunakan sebagai perintah untuk mengubah ijin akses dari tiap-tiap file dengan memberikan mode huruf atau angka oktal(0-7) dari konversi desimal. an71k@lug:~$ ls -l /dev/fd0 brw-rw---- 1 root floppy 2, 0 May 15 1996 /dev/fd0 an71k@lug:~$ ls -l /dev/tty crw-rw-rw- 1 root tty 5, 0 Jul 18 1994 /dev/tty an71k@lug:~$ ls -ld /dev/ drwxr-xr-x 9 root root 32768 Apr 7 14:19 /dev/ an71k@lug:~$ ls -l /dev/initctl prw------- 1 root root 0 Apr 7 14:18 /dev/initctl|
  • 29. Halaman : 27 Sistem Operasi 2 : Linux Format perubahan tersebut dengan argument sebagai berikut : Chmod [ugoa] [=+-] [rwx] File(s) Chmod [ugoa] [=+-] [rwx] Directory(s) u = user (pemilik) g = group (kelompok) o = others (lainnya) a = all Contoh : Selain dengan menggunakan format huruf depan dari pemilik(u), kelompok (g) ataupun lainnya (o), chmod dapat digunakan untuk mengubah ijin akses dengan format oktal. Untuk memberikan nilai oktal harus mengetahui posisi huruf dari masing-masing ijin. an71k@lug:~/coba$ touch file1 file2 file3 an71k@lug:~/coba$ ls -l total 0 -rw-r--r-- 1 an71k users 0 Apr 8 13:04 file1 -rw-r--r-- 1 an71k users 0 Apr 8 13:04 file2 -rw-r--r-- 1 an71k users 0 Apr 8 13:04 file3 an71k@lug:~/coba$ chmod u+x file1;chmod g=w file2;chmod o-r file3 an71k@lug:~/coba$ ls -l total 0 -rwxr--r-- 1 an71k users 0 Apr 8 13:04 file1* -rw--w-r-- 1 an71k users 0 Apr 8 13:04 file2 -rw-r----- 1 an71k users 0 Apr 8 13:04 file3 an71k@lug:~/coba$ chmod a=x file2 an71k@lug:~/coba$ chmod u+x,g-r,o=w file3 an71k@lug:~/coba$ ls -l total 0 -rwxr--r-- 1 an71k users 0 Apr 8 13:04 file1* ---x--x--x 1 an71k users 0 Apr 8 13:04 file2* -rwx----w- 1 an71k users 0 Apr 8 13:04 file3*
  • 30. Halaman : 28 Sistem Operasi 2 : Linux Contoh : r w x 1 1 1 = 7 r - - 1 0 0 = 4 r - x 1 0 1 = 5 Dari contoh diatas, jika akan mengubah attribut sebuah file dengan attribut rwxr-x—x, maka dapat dilakukan dengan perintah : $chmod 751 namafile/direktori d. Mengganti Pemilikan (chown) Pemilik sebuah file/direktori dapat diganti sebagai berikut : $chown PemilikBaru File/direktori Beberapa hal yang perlu diperhatikan dalam melakukan perubahan pemilikan file/direktori : - Hanya pemilik file/direktori sendiri yang dapat mengganti pemilikan tersebut (kecuali superuser) - Setiap kali file/direktori dibuat, maka pemilik file tersebut adalah yang menciptakannya. Contoh : e. Mengubah group (chgrp) Group hanya dapat diganti oleh pemilik file/direktori tersebut. Untuk dapat melakukan perubahan group harus memastikan group yang menggantikan tersebut ada dalam daftar group dalam file /etc/group [dsn970210@omega kelas]$ chown benny file1 [dsn970210@omega kelas]$ ls -l total 0 -rw-r--r-- 1 benny dosen 0 Apr 8 13:42 file1 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 13:42 file2 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 13:42 file3
  • 31. Halaman : 29 Sistem Operasi 2 : Linux f. User Mask (umask) Umask menentukan ijin akses awal pada saat file atau direktori dibuat. Pada umumnya sebuah sistem menggunakan konfigurasi umask 022. Dengan setting umask 022 membuat sistem pada saat membuat file dan direktori ber-ijin akses rw-r- -r-- untuk file dan rwxr-xr-x untuk direktori. Hal ini bisa terjadi karena nilai umask didapatkan dari kalkulasi berikut ini : Kreasi file (biasa) 666 Nilai Umask 022 ------- - 644 r w x r - - r - - Kreasi Direktori 777 Nilai Umask 022 -------- - 755 r w x r – x r – x [dsn970210@omega kelas]$ cat /etc/group | grep staff staff:*:20:root [dsn970210@omega kelas]$ ls -l total 0 -rw-r--r-- 1 benny dosen 0 Apr 8 13:42 file1 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 13:42 file2 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 13:42 file3 [dsn970210@omega kelas]$ chgrp staff file1 [dsn970210@omega kelas]$ ls -l total 0 -rw-r--r-- 1 benny staff 0 Apr 8 13:42 file1 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 13:42 file2 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 13:42 file3
  • 32. Halaman : 30 Sistem Operasi 2 : Linux Contoh : g. Link & Symbolic Link Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang sama. Jika dilakukan perubahan pada file baru, maka apa yang terjadi pada file barus tersebut berpengaruh terhadap file aslinya. Symbolic Link diperlukan, bila file tersebut di “link“ dengan direktori/file yang berada pada partisi yang berbeda. Format Link : ln fileasli fileduplikat Format Symbolic Link ln –s /FullPath/FileAsli /FullPath/FileDuplicat [dsn970210@omega x]$ umask 022 [dsn970210@omega x]$ mkdir dir1 [dsn970210@omega x]$ touch f1 [dsn970210@omega x]$ ls -l total 2 drwxr-xr-x 2 dsn97021 dosen 512 Apr 8 14:49 dir1 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 14:50 f1 [dsn970210@omega x]$ umask 027 [dsn970210@omega x]$ mkdir dir2 [dsn970210@omega x]$ touch f2 [dsn970210@omega x]$ ls -l total 4 drwxr-xr-x 2 dsn97021 dosen 512 Apr 8 14:49 dir1 drwxr-x--- 2 dsn97021 dosen 512 Apr 8 14:50 dir2 -rw-r--r-- 1 dsn97021 dosen 0 Apr 8 14:50 f1 -rw-r----- 1 dsn97021 dosen 0 Apr 8 14:50 f2
  • 33. Halaman : 31 Sistem Operasi 2 : Linux Setiap kali dilakukan link, maka akan diikuti juga oleh perubahan jumlah link pada struktur filenya. Seperti pada contoh, dari satu, kemudian 2 kemudian 3. 3.3 Perintah-perintah File - Menciptakan file (cat > namafile, touch) - Melihat isi file (cat namafile, more, less) - Melihat informasi file(ls, ls –l, ls –ld namadir, ls –al, ls /bin/[bc]*) - Menyalin File (cp file1 file2, cp file1 file2 dir) - Menghapus File (rm namafile, rm –rf namadir, rm file[sk]*) - Mengganti nama file (mv file1 file2, mv file1 file2 dir) [dsn970210@omega kelas]$ echo "Sedang belajar Linux" > file.txt [dsn970210@omega kelas]$ ls -l total 2 -rw-r----- 1 dsn97021 dosen 21 Apr 8 14:56 file.txt [dsn970210@omega kelas]$ ln file.txt x [dsn970210@omega kelas]$ ls -l total 4 -rw-r----- 2 dsn97021 dosen 21 Apr 8 14:56 file.txt -rw-r----- 2 dsn97021 dosen 21 Apr 8 14:56 x [dsn970210@omega kelas]$ mkdir dir1 [dsn970210@omega kelas]$ ln x dir1/file.ttt [dsn970210@omega kelas]$ ls -l dir1/ total 2 -rw-r----- 3 dsn97021 dosen 21 Apr 8 14:56 file.ttt [dsn970210@omega kelas]$ ln file.txt dir1/file.yyy [dsn970210@omega kelas]$ ls -l dir1/ total 4 -rw-r----- 4 dsn97021 dosen 21 Apr 8 14:56 file.ttt -rw-r----- 4 dsn97021 dosen 21 Apr 8 14:56 file.yyy [dsn970210@omega kelas]$ ln -s /etc/passwd [dsn970210@omega kelas]$ ls -l total 6 drwxr-x--- 2 dsn97021 dosen 512 Apr 8 14:57 dir1 -rw-r----- 4 dsn97021 dosen 21 Apr 8 14:56 file.txt lrwxr-x--- 1 dsn97021 dosen 11 Apr 8 15:04 passwd -> /etc/passwd -rw-r----- 4 dsn97021 dosen 21 Apr 8 14:56 x
  • 34. Halaman : 32 Sistem Operasi 2 : Linux - Mengetahui informasi file (file /etc/passwd) - Mencetak file (lp namafile) - Membuat link (ln) 3.4 Perintah-perintah direktori - Mengetahui direktori kerja (pwd) - Membuat direktori (mkdir) - Memindahkan direktori kerja (cd) - Menghapus direktori (rmdir) - Mengubah nama direktori (mv) Latihan : 1. Program seperti date tergolong dalam file biner, data atau teks ? 2. Jelaskan termasuk dalam jenis file apakah disk, mouse, printer dan keyboard 3. Nama path yang mengacu pada root direktori adalah ? 4. Bagaimanakah caranya agar file dan direktori pada saat dibuat pertama kali ber-ijin akses file=rw-rw-r—dan direktori = rwxr--r--
  • 35. Halaman : 33 Sistem Operasi 2 : Linux BAB IV PROSES I/O (Pertemuan 6) Untuk menciptakan suatu proses, diperlukan intruksi atau perintah yang kemudian menghasilkan keluaran(output), sehingga proses memerlukan input dan output. Instruksi (command) yang diberikan pada Linux (melalui shell) disebut sebagai eksekusi program yang selanjutnya disebut sebagai proses. Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Proses Identity). Proses dalam Linux selalu membutuhkan input dan menghasilkan suatu output. 4.1 File Descriptor Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya. 3 buah file descriptor standar selalu diciptakan oleh proses adalah : 0 = keyboard (standard input) 1 = layar (standard output) 2 = layar (standard error) Linux tidak membedakan antara peralatan hardware dan file, Linux memanipulasi peralatan hardware sama dengan file. Input dari sistem (kernel), output ke layar (standard output) : Input dari keyboard (standard Input), output ke layar : [dsn970210@omega kelas]$ cat Satu, dua tiga dicoba Satu, dua tiga dicoba sekarang selesai sekarang selesai ^d [dsn970210@omega kelas]$ who benny ttyp0 Apr 8 15:01 (202.155.19.101) dsn970210 ttyp1 Apr 8 14:47 (202.155.19.101) dsn030435 ttyp2 Apr 8 15:01 (202.155.19.82)
  • 36. Halaman : 34 Sistem Operasi 2 : Linux Input dari direktori, output tidak ada(membuat direktori baru), bila terjadi error maka tampilan error muncul pada layar(standard error) [dsn970210@omega kelas]$ mkdir satu [dsn970210@omega kelas]$ mkdir satu mkdir: satu: File exists 4.2 Redirection (pembelokan) Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah : 0< atau < Pengganti standard input 1> atau > Pengganti standard output 2> Pengganti standard error Contoh : Standard output [dsn970210@omega kelas]$ cat 1> file.txt Sedang mencoba Menulis text ^d Perintah tersebut diatas sama halnya jika penulisan perintahnya adalah cat > file.txt Standard Input [dsn970210@omega kelas]$ cat 0< file.txt Sedang mencoba Menulis text Perintah tersebut diatas sama halnya jika penulisan perintahnya adalah cat < file.txt atau cat file.txt Standard Error [dsn970210@omega kelas]$ mkdir dir1 [dsn970210@omega kelas]$ mkdir dir1 mkdir: dir1: File exists [dsn970210@omega kelas]$ mkdir dir1 2> error.txt [dsn970210@omega kelas]$ cat error.txt mkdir: dir1: File exists
  • 37. Halaman : 35 Sistem Operasi 2 : Linux Dari contoh diatas setelah penggunaan 2> (standard error) untuk dibelokkan ke file error.txt, error tidak muncul lagi, melainkan sudah tersimpan dalam file bernama error.txt tersebut. Menulis 2> tidak boleh dipisah dengan spasi 2 >. 4.3 Append Tanda >> dapat digunakan untuk menambahkan input pada file. Jika dalam pembelokkan ke file digunakan tanda > maka isi file sebelumnya akan terhapus. Agar file isi file pertama tidak terhapus dan dapat melakukan penambahan isi file baru, maka dapat digunakan tanda pembelokkan >> Contoh : [dsn970210@omega kelas]$ echo "Baris Pertama" > naskah [dsn970210@omega kelas]$ echo "Baris kedua" >> naskah [dsn970210@omega kelas]$ echo "Baris ketiga" >> naskah [dsn970210@omega kelas]$ cat naskah Baris Pertama Baris kedua Baris ketiga [dsn970210@omega kelas]$ echo "Baris keempat" > naskah [dsn970210@omega kelas]$ cat naskah Baris keempat 4.4 PIPA Dalam Linux, mekanisme pipa (pipe) digunakan sebagai alat komunikasi antar proses. Input proses1 output=input proses2 output Proses1 menghasilkan output yang selanjutnya digunakan sebagai input oleh proses2. Hubungan output input ini dinamakan PIPE, yang menghubungkan proses1 dengan proses2 dan dinyatakan dengan simbol “|”. Proses1 | proses2 Contoh : [dsn970210@omega kelas]$ ls -l | sort -r drwxr-x--- 2 dsn97021 dosen 512 Apr 8 16:07 dir1 -rw-r----- 1 dsn97021 dosen 28 Apr 8 15:48 file.txt -rw-r----- 1 dsn97021 dosen 25 Apr 8 16:08 error.txt -rw-r----- 1 dsn97021 dosen 14 Apr 8 16:20 naskah Output dari ls –l langsung diberikan sebagai input untuk program sort.
  • 38. Halaman : 36 Sistem Operasi 2 : Linux Dengan demikian PIPA dapat menyerderhanakan penulisan program dan eksekusi proses secara lebih cepat. Identik dengan ``ls –l | sort“, tanpa mekanisme PIPA instruksi dijalankan sebagai berikut : [dsn970210@omega kelas]$ ls -l > tmp [dsn970210@omega kelas]$ cat tmp drwxr-x--- 2 dsn97021 dosen 512 Apr 8 16:07 dir1 -rw-r----- 1 dsn97021 dosen 25 Apr 8 16:08 error.txt -rw-r----- 1 dsn97021 dosen 28 Apr 8 15:48 file.txt -rw-r----- 1 dsn97021 dosen 14 Apr 8 16:20 naskah Contoh PIPA : $cat /etc/passwd | sort | head $head /etc/passwd | tail -5|sort 4.5 Filter Filter adalah utilitas yang dapat digunakan dalam sistem operasi Linux yang digunakan untuk meproses standard input dan menampilkan hasilnya pada standard output (layar). Contoh filter adalah wc, cat, sort, grep, head, tail, paste wc : Adalah perintah yang digunakan untuk menghitung jumlah baris, kata dan karakter pada file. Format : Wc [-lwc] [file ...] -l menghitung baris -w menghitung kata -c menghitung karakter [dsn970210@omega kelas]$wc –l document.txt cat : adalah perintah yang dapat digunakan untuk membaca isi file, menciptakan file baru dari standard input. sort : adalah perintah yang dapat digunakan untuk mengurutkan isi file perbaris. [dsn970210@omega kelas]$who | sort
  • 39. Halaman : 37 Sistem Operasi 2 : Linux grep : adalah perintah yang dapat digunakan untuk pencarian isi file sesuai dengan pattern yang diminta. [dsn970210@omega kelas]$ tail -5 naskah.txt Sekarang besok Lusa Kemarin [dsn970210@omega kelas]$ grep esok naskah.txt besok Head : adalah perintah yang dapat digunakan untuk menampilkan beberapa isi file beberapa baris awal. Format : head [-jumlah] [file ..] -jumlah : untuk menentukan jumlah baris yang akan ditampilkan Contoh : [dsn970210@omega kelas]$ head -2 naskah.txt Sekarang Besok Tail : adalah perintah yang dapat digunakan untuk menampilkan isi file beberpa baris terakhir. Format : tail [-/+n] [ satuan] [file ..] +n : ke-n hingga terakhir -n : n buah yang terakhir satuan : menyatakan baris (l), blok(b) dan karakter (c) Contoh : [dsn970210@omega kelas]$ cat > naskah.txt Sekarang besok Lusa Kemarin [dsn970210@omega kelas]$ tail -2 naskah.txt Lusa Kemarin
  • 40. Halaman : 38 Sistem Operasi 2 : Linux Paste : adalah perintah yang dapat digunakan untuk menggabungkan isi file satu dengan file lain perbaris, kemudian menampilkan dalam standard output dalam satu output. [dsn970210@omega kelas]$ cat > f1 1 2 3 4 [dsn970210@omega kelas]$ cat > f2 satu dua tiga empat [dsn970210@omega kelas]$ paste f1 f2 1 satu 2 dua 3 tiga 4 empat Pada rangkaian perintah yang memanfaatkan PIPA, misalnya : P1 | P2 | P3 …………| Pn-1 | Pn Maka P2 sampai Pn-1 mutlak harus utilitas Linux yang berfungsi untuk proses filter, sedangkan P1 (awal) dan Pn (akhir) boleh tidak filter. Beberapa perintah yang bukan merupakan filter adalah who, ls, ps, lp, lpr, mail. Latihan : 1. Buatlah perintah yang melibatkan 4 proses filter 2. Bagaimanakah perintah untuk mencari string “profile” yang berada dalam beberapa file yang berada dalam direktori /etc 3. Carilah semua file yang ada dalam sistem dan hasil pencarian diletakkan dalam file ketemu.txt dan jika terjadi errror karena permasalahan permisi file simpanlah dalam file error.txt
  • 41. Halaman : 39 Sistem Operasi 2 : Linux BAB V Editor Vi (Pertemuan 7) Vi adalah sebuah aplikasi yang dapat digunakan sebagai file editor (membuat, mengubah, menghapus). Aplikasi vi dalam operasinya terbagi dalam dua modus, yakni modus instruksi dan modus editing. Pada modus instruksi, pemakai dapat melakukan instruksi-instruksi terhadap isi file (pencarian, penghapus, pindah baris, peng-copy-an) sedangkan modus editing adalah modus di mana proses penulisan ke buffer dapat dilakukan. Urutannya adalah shell modus instruksi modus editing modus instruksi shell 5.1 Perintah Dasar Pergerakan kursor : Kanan : l dan Kiri : h dan Atas : k dan panah atas Bawah : j , panah bawah dan <enter> Kanan 1 kata : w dan W Kiri 1 kata : b dan B Awal baris : 0 Akhir baris : $ Baris n : nG Akhir baris : G Editing : Insert ( i ) : memasukkan kalimat. Kata diselipkan pada posisi kursor, untuk mengakhiri tekan ESC Vi filename Shell Prompt $ Modus Instruksi Modus Editing a, i, o ESC:q
  • 42. Halaman : 40 Sistem Operasi 2 : Linux Append ( a ) : memasukkan kalimat. Kata diselipkan pada posisi setelah kursor. Open ( o dan O ) : o membuat satu baris barus dibawah posisi kursor O membuat satu baris barus diatas posisi kursor Delete (x dan X ) : x menghapus 1 karakter pada posisi kursor X menghapus 1 karakter pada posisi sebelum kursor Delete word (dw) : menghapus sebuah kata Delete Line (dd) : menghapus satu baris Raplace (r dan R) : r mengganti 1 karakter pada posisi kursor R mengganti kata mulai dari posisi kursor sampai ditekan ESC Change Word (cw): mengganti kata dengan kata yang lain, kata yang diganti dibatasi dengan $. Undo (u) : Membatalkan editing sebelumnya Search ( / dan ? ) / mencari string mulai dari kursor kebawah ? mencari string mulai dari kursor keatas Copy ( y dan Y ) : y Copy dari kursor sampai akhir baris ke buffer Y Copy 1 baris penuh ke buffer yw Copy karakter dari posisi kursor hingga akhir kata yW Copy karakter dari posisi kursor hingga akhir kata yang dipisahkan spasi. yb Copy karakter dari awal kata hingga tepat sebelum posisi kursor yB Copy karakter dari awal kata yang dipisahkan spasi hingga sebelum posisi kursor y<enter> Copy baris pada posisi kursor dan baris sesudah posisi kursor yy Copy baris pada posisi kurosr y0 Copy dari awal baris hingga sebelum posisi kursor y$ Copy dari posisi kursor hingga akhir baris Paste (p dan P) : p Menyalin isi buffer khusus ke posisi sesudah kursor. P Menyalin isi buffer khusus ke posisi sebelum kursor
  • 43. Halaman : 41 Sistem Operasi 2 : Linux 5.2 Perintah Advance :50 : pindah ke baris 50 :$ : pindah ke baris terakhir := : Mengetahui posisi kursor :q : keluar dari vi :wq : keluar dan menyimpan dulu :x : keluar dan menyimpan dulu Hapus (d) :15d : Hapus baris 15 :10,15d : Hapus dari 10 hingga 15 :.-3,.+3d : Hapus 3 baris sebelum kursor dan 3 baris setelah kursor Simpan (w) :w! : Save editing :1,10w tmp.txt : Simpan baris 1 sampai 10 ke file tmp.txt :w! coba.txt : Simpan seluruh isi file yang sedang diedit ke file bernama coba.txt Insert Isi File (r) :r coba.txt : baca file coba.txt dan letakkan setelah baris sekarang : 0,r coba.txt : baca file coba.txt dan letakkan pada awal file yang sedang diedit. :$r coba.txt : baca file coba.txt dan letakkan pada akhir file yang sedang diedit. Copy ( co ) :10,20co0 : Salin baris 10 sampai 20 dan letakkan pada awal file :1,10co30 : salin baris 1 sampai 10 dan letakkan setelah baris 30 (baris 31) : $-3,$co0 : 3 baris sebelum terakhir s.d terakhir di salin ke baris pertama Move (m)
  • 44. Halaman : 42 Sistem Operasi 2 : Linux :10m0 : Pindahkan baris 10 ke awal :1,10m$ : Pindahkan baris 1 sampai 10 ke akhir file Find & Replace :s/s1/s2 : String s1 yang pertama pada baris kursor berada akan diganti menjadi s2 :s/s1/s2/p : Semua string s1 pada baris kursor berada akan diganti menjadi s2 :5,$/s1/s2/g : Semua string s1 pada baris 5 hingga baris yang terakhir akan diganti dengan s2 :1,$s/stikom/STIKOM/p : ganti semua kata [stikom] yang pertama menjadi [STIKOM] dan cetak hasilnya penggantian. Hanya kata pertama dalam satu baris yang diganti menjadi STIKOM :1,$s/stikom/STIKOM/gp : ganti semua kata [stikom] menjadi [STIKOM] secara global :1,$s/a/c/c/a/gp : ganti semua [a/c] menjadi [c/a] secara global Merubah tampilan :set all : melihat konfigurasi saat ini :set number/nonumber : mengaktifkan/menghilangkan nomor baris :set autoindent : set margin kiri :set tabstop 8 : merubah tab menjadi 8 karakter :set ruler : menampilkan posisi baris dan kolom :set showmarkups : menampilkan source program markup Menggeser isi satu atau beberapa baris >> : Menggeser isi baris ke kanan 1 tab << : Menggeser isi baris ke kiri 1 tab
  • 45. Halaman : 43 Sistem Operasi 2 : Linux Konversi Huruf Kecil dan Huruf Besar ~ : Dengan menekan tombol “~“ maka huruf kecil akan berubah menjadi huruf besar dan demikian sebaliknya huruf besar menjadi huruf kecil. ~6 : 6 Huruf mulai kursor akan di konversi Mengulang perubahan yang terakhir Untuk mengulang perubahan perintah yang terakhir (penggantian, penghapusan, pengkonversian) dapat dilakukan dengan menggunakan perintah titik (.). Latihan : 1. Perintah untuk menampilkan nomor baris ketika menyunting file adalah ? 2. Suatu file bernama file.txt sudah ada pada direktori kerja. Bagaimanakah perintah untuk menyimpan baris pertama hingga baris kelima kedalam file file.tmp 3. Bagaimanakah perintah dalam vi untuk mengganti semua kata STIKOM menjadi Sekolah ? 4. Bagaimankah perintah dalam vi untuk menyisipkan file lain ke dalam file yang sedang di edit ? 5. Bagaimanakah perintah dalam vi untuk mendefinisikan suatu tombol !
  • 46. Halaman : 44 Sistem Operasi 2 : Linux BAB VI Komunikasi Antar Pemakai (Pertemuan 8) 1. Elektronik Mail Dalam Linux, mail digunakan untuk mengirim dan menerima email. Formatnya : mail [-iInv] [-s subject] [-c list] [-b list] to-addr [...] [-sendmail-options [...]] mail [-iInNv] -f [name] mail [-iInNv] [-u user] Program mail adalah sebuah program yang bisa dikatakan cerdas dalam pengelolaan mail dalam mailbox user. Untuk melakukan pengiriman pesan menggunakan program ini dapat dilakukan sebagi berikut : $mail dsn970210 Subject : Testing Hai, Apaka kabar ? . <titik> Untuk mengakhiri penulisan pesan dalam mail dengan menekan <CTRL+D> atau tulis karakter titik, kemudian <enter> Untuk membaca email, dari baris perintah, ditulis mail <enter>, yang kemudian akan muncul daftar email seperti berikut ini : Pada kolom paling kiri terdapat status email. Status email tersebut antara lain : U Email belum terbaca Blank Email sudah terbaca N Email yang baru (baru datang) $ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/help": 2 messages 1 new 2 unread U 1 help@ambrosia.sti Fri Apr 2 14:50 17/477 test >N 2 dsn970210@omega.s Fri Apr 2 14:50 21/924 Testing &
  • 47. Halaman : 45 Sistem Operasi 2 : Linux 2. Write Write adalah perintah yang digunakan untuk mengirim pesan ke user lain. Format perintah : write user [ttyname] Write digunakan untuk komunikasi dengan user lain, dengan melakukan copy satu baris pesan ke terminal lawan (teman). Saat kita menjalankan write untuk memberikan pesan ke user lain, dalam terminal user tersebut akan ditampilkan awalan message sbb: Message from yourname@yourhost on yourtty at hh:mm ... User yang menerima pesan seperti diatas, dapat membalas pesan tersebut dengan menulis write pula. Komunikasi dapat diakhiri dengan menuliskan end-of-file atau karakter interupt (^D), dengan menuliaskan end-of-line tersebut user lawan bicara akan mendapatkan pesan EOF, yang menandakan percakapan berakhir. Seseorang bisa menghindar dari pengiriman message diberikan oleh user lain dengan menjalankan perintah mesg. Jika seorang user login lebih dari satu terminal (tty1, tty2,dst), untuk menghubunginya perlu diperhatikan user bersangkutan yang login dari terminal yang dimaksudkan. Perhatikan contoh berikut : Dari contoh diatas, user icha dapat menghubungi user dsn970210 secara langsung dengan melakukan perintah : $write dsn970210 atau $write dsn970210 ttyp0 Perintah write dsn970210 artinya sama dengan write dsn970210 ttyp0 karena perintah write secara default akan menuju tty pertama dari user yang dimaksudkan, sedangkan [icha@omega icha]$ w 8:52AM up 34 days, 15:59, 3 users, load averages: 0.38, 0.29, 0.18 USER TTY FROM LOGIN@ IDLE WHAT dsn970210 p0 202.155.19.101 8:45AM 0 sh dsn970210 p1 202.155.19.101 8:45AM 0 -ksh icha p2 202.155.19.101 8:48AM 0 w
  • 48. Halaman : 46 Sistem Operasi 2 : Linux jika ingin menghubungi user dsn970210 yang berada di ttyp2 maka terminal ttyp0 dirubah menjadi ttyp1, sehingga secara lengkap perintahnya dapat ditulis : $write dsn970210 ttyp1 Berikut contoh dialog antara user icha dengan user dsn970210 : Pada saat user icha menuliskan perintah write, pada layar user dsn970210 akan tampak message yang menginformasikan bahwa user icha sedang menghubunginya. Message from icha@omega.stikom.edu on ttyp2 at 09:02 ... Pesan yang dituliskan user icha dalam satu baris, akan terkirimkan pada layar user dsn970210 setelah ditekan <enter>. Kemudian user dsn970210 tinggal menulisakan perintah yang sama kepada user icha jika ingin membalasnya, seperti pada contoh dialog diatas. 3. Talk Perintah talk dapat digunakan untuk melakukan dialog/percakapan/perbincangan dua arah antara dua user. Format perintah : talk [-Hs] person [ttyname] [icha@omega icha]$ write dsn970210 ttyp1 Haii How are you ? Message from dsn970210@omega.stikom.edu on ttyp1 at 09:02 ... Haii Icha Fine thank you [dsn970210@omega dsn970210]$ Message from icha@omega.stikom.edu on ttyp2 at 09:02 ... Haii How are you ? write icha Haii Icha
  • 49. Halaman : 47 Sistem Operasi 2 : Linux Talk adalah program yang dapat digunakan untuk komuniaksi secara maya dengan cara kerja melakukan pengkopian setiap perintah yang dituliskan user satu ke layar user lain yang diajak berkumunikasi. Argumen dari perintah talk antara lain : -s Digunakan untuk mengubah tampilan message menjadi scrolling. person Jika berdialog antar user dalam satu mesin, person disini adalah user yang digunakan untuk login. Sedangkan jika person yang akan diajak berdialog berada di mesin lain, perintah talk harus menyebutkan nama hostnya “user@host”. ttyname Jika berdialog dengan user yang login pada lebih dari satu terminal dalam sistem yang sama, perlu menyebutkan pada terminal berapa user yang dimaksudkan (ttyXX. Pada saat pertama kali user melakukan perintah talk ke user lain, pada tampilan user lawan akan muncul tampilan sebagai berikut : Message from Talk_Daemon@localhost... talk: connection requested by your_name@your_machine. talk: respond with: talk your_name@your_machine Untuk membalasnya user pada tampilan tersebut dituliskan perintah : $ talk your_name@your_machine Perhatikan contoh berikut ini : Pada contoh tersebut merupakan tampilan user yang diajak bicara dan bagaimana proses menjawabnya, yaitu dengan cara langsung menulis perintah talk pada user tersebut. 4. mesg Perintah mesg digunakan untuk menampilkan (tidak menampilkan) kiriman pesan dari user lain. Format perintah : mesg [y | n] Message from Talk_Daemon@omega.stikom.edu at 11:03 ... talk: connection requested by icha@omega.stikom.edu. talk: respond with: talk icha@omega.stikom.edu talk icha
  • 50. Halaman : 48 Sistem Operasi 2 : Linux Utilitas mesg adalah suatu perintah yang dapat digunakan user untuk memberi ijin write terhadap suatu terminal melalui standard output. Ijin write disini dikhususkan untuk uttilitas seperti talk dan write yang biasanya menampilkan perintah dalam suatu terminal. Argument untuk merintah mesg ini terdiri dari : n Tidak menampilakan message y Mengijinkan message untuk ditampilkan. Jika kedua argument tersebut tidak diisi, maka arti perintah tersebut hanya untuk mengetahui status messagenya saja (n/y). 5. who Perintah who digunakan untuk menampilkan informasi user siapa saja yang sedang login dalam suatu sistem (mesin) Format perintah : who [-mqTuH] [file] who am i Perintah who merupakan utilitas yang dapat digunakan untuk mengetahui user yang sedang login saat itu. Masing-masing user yang sedang login ditampilakan informasi mengenai nama login, nama terminal (tty), tanngal dan jam, dan juga hostname user tersebut jiga bukan berasal dari komputer lokal. Option perintah who antara lain : -m Hanya menampilkan informasi tentang user yang login pada terminal aktif (sekarang). Perintah who seperti ini sama dengan perintah who am i -q (Quick.) Hanya menampilkan daftar user dan jumlah user yang sedang login. Jika option ini dipakai maka option-optioan lain tidak dihiraukan. -T Menampilkan informasi status terminal dalam kondisi writable atau tidak. Tanda “+” jika writable, “-“ Tidak writable dan “?” jika terjadi permasalahan pada terminal; -u Mencetak waktu idle tiap user. -H Menulis informasi user dalam kolom heading. am I Untuk memastikan user dalam terminal aktif.
  • 51. Halaman : 49 Sistem Operasi 2 : Linux Latihan : 1. Bagaimanakah urutan pengiriman email yang disertai file (attachment) menggunakan aplikasi pine. 2. Jelaskan apa perbedaan tujuan email yang duliskan melalui to: , cc : dan bcc : 3. Aplikasi mail, write dan talk digunakan sebagai media untuk komunikasi antar user dalam sistem berbasis Linux. Dari ketiga aplikasi tersebut, manakah yang dapat digunakan untuk mengirim message ke user lain yang status messagenya adalah off (n) 4. Bagaimanakah cara untuk mengakhiri message dalam aplikasi write ? 5. Dapatkah satu user melakukan komunikasi menggunakan talk dengan 2 user lain secara bersamaan pada satu terminal. Jelaskan !
  • 52. Halaman : 50 Sistem Operasi 2 : Linux BAB VII MANAJEMEN PROSES (Pertemuan 9) Setiap kali instruksi diberikan pada Shell Linux, kernel akan menciptakan proses-id. Proses ini disebut juga dalam terminologi UNIX sebagai JOB. Proses-id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (dapat dilihat dalam daftar urutan pada /etc /inittab). Proses-proses sistem terbagi dalam tiga tipe utama, yaitu : Interactive : Diprakarsai oleh sebuah shell dan berjalan dalam foreground dan Background. Batch : Secara tipical merupakan sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada suatu waktu tertentu Daemon : Secara tipikal diinisialisasi saat boot untuk membentuk fungsi-fungsi sistem yang dibutuhkan, seperti LPD, NFS dan DNS Proses Interaktive terdiri dari atas : - Proses fireground adalah suatu proses yang ketika berjalan, shell tidak menampilkan prompt hingga proses berakhir. - Proses background adalah suatu proses yang sewaktu-waktu berjalan, pemakai tetap dapat memberikan perintah yang lain. Sebab begitu perintah background diberikan (setelah di tekan ENTER), prompt akan ditampilkan kembali dan shell siap menerika perintah berikutnya. 7.1 Background Proses Untuk menghasilkan sebuah background proses, dapat dilakukan dengan menjalankan perintah yang diakhiri dengan simbol &. Pada kondisi seperti ini, sehll tidak akan menunggu sampai eksekusi perintah berakhir. Begitu perintah berakhiran & diberikan, shell siap menerima perintah lain. Kegunaan perintah ini misalnya untuk memperoleh daftar seluruh file dari direktori root (/) beserta anak-anaknya dan menempatkannya ke sebuah file. Karena proses ini kemungkinan memakan waktu yang cukup lama, pemakai dapat mengatur agar eksekusinya dilakukan dilatar
  • 53. Halaman : 51 Sistem Operasi 2 : Linux belakang. Sehingga sementara sistem sedang memprosesnya, pemakai tetap dapat bekerja memberikan perintah-perintah lainnya. Contoh : $ls –lR / > lsroot 2>&1 & Pada contoh tersebut, perintah ls beserta pesan kesalahan ditempatkan ke file lsroot dan dilakukan secara background. Proses latar belakang cocok untuk proses yang tidak menggunakan keluaran ke layar terminal atau masukkan dari keyboard. 7.2 Status Proses Instruksi ps (proses status) digunakan untuk melihat kondisi proses yang ada. Ketika tidak ada option sama sekali, ps akan menampilkan proses yang saat itu dilakukan oleh sebuah terminal (tty?). Proses ksh adalah proses shell yang aktif pada saat user login ke dalam sistem dan proses ksh ini akan menunggu instruksi dari pemakai. Bila shell menjalankan instruksi, maka shell menciptakan proses anak dan menunggu hingga proses tersebut selesai. Sebuah sistem yang dibangun oleh serangkain proses, dengan perintah ps –e (everthing) dapat ditampilkan sejumlah proses-proses tersebut. $ ps PID TT STAT TIME COMMAND 29384 p0 Is 0:00.01 -ksh (ksh) 27221 p0 R+ 0:00.00 ps $ ps -u USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND dsn970210 29384 0.0 0.1 404 328 p0 Ss 7:35PM 0:00.01 -ksh (ksh) dsn970210 21658 0.0 0.1 284 164 p0 R+ 7:42PM 0:00.00 ps -u $ ps -e PID TTY TIME COMMAND 1 ? 00:00:05 init 2 ? 00:00:00 klogd 3 ? 00:00:00 inetd ---cut------
  • 54. Halaman : 52 Sistem Operasi 2 : Linux Semakin banyak pemakai yang sedang menggunakan sistem, semakin banyak proses yang akan ditampilkan. Tanda tanya (?) menyatakan bahwa proses tersebut adalah proses daemon (proses yang hidup terus selama sistem hidup dan berjalan dilatar belakang). Sejumlah proses yang ditampilkan melalui ps –e berkedudukan sebagai pemimpin group proses (proses group leader), yaitu proses yang menjalankan proses yang lain. Sebagai contoh jika dijanlankan perintah ps –f (full listing), dengan hasil sebagai berikut : Proses sh sebenarnya memimpin group proses. Tampak bahwa PID dari bash tercantum dalam PPID dari proses ps –f. PPID (parrent PID) menyatakan proses induk dari proses yang sedang berjalan, dan STIME menyatakan awal proses dimulai. Contoh lain perintah ps : ps –u anjik : untuk menampilkan proses yang terkait dengan seorang pemakai ps –t tty02 : untuk menampilkan proses yang terkait dengan terminal ps –auxww : untuk menampilkan informasi detail tentang setiap proses yang berjalan dalam komputer. a : Mendaftar semua proses u : menampilkan informasi dalam “user-oriented style” x : memasukkan informasi dalam proses yang tidak menampilkan kontrol ttys. ww : memasukkan baris perintah dengan komplit, bahkan jika mereka menjalankan sampai 132 kolom. Field-field dalam output ps diantaranya : USER : username dari proses. (Jika proses memiliki UID yang tidak sesuai dengan /etc/passwd, perlu berhati-hati karena dimungkinkan terjadi proses penyerangan. $ps –f UID PID PPID C STIME TTY TIME CMD dsn970210 8907 1094 0 12:44 tty02 00:00:00 -bash dsn970210 9205 8907 0 13:02 tty02 00:00:00 ps -f
  • 55. Halaman : 53 Sistem Operasi 2 : Linux PID : Proses Identification Number %CPU : Prosentasi CPU yang digunakan %MEM : Prosentasi MEMORY yang digunakan SZ : Jumlah virtual memori yang digunakan proses RSS : Resident set size, jumlah proses physical memory yang ditempati proses TT : Terminal yang mengontrol proses STAT : Field yang menunjukkan status proses TIME : CPU time yang sedang digunakan COMMAND : Nama perintah Pada field STAT yang merupakan status proses dapat digunakan sebagai indikator terhadap suatu proses, sejumlah status tersebut dapat diketaui dari huruf pertama field STAT adalah : R : actually running or runnable S : Sleeping (sleeping > 20 seconds) I : Idle (sleeping < 20 seconds) T : stop H : Halted P : In page wait D : In disk wait Z : Zombie <blank> : In core W : Swapped out > : Proses yang telah melampaui soft limit ketetapan memori Pada huruf ketiga field STAT menunjukkan keterangan apakah proses berjalan dengan altered CPU Schedule, antara lain : N : Proses berjalan pada prioritas rendah # : nice (nomor yang lebih tinggi dari 0) < : Proses berjalan pada prioritas tinggi
  • 56. Halaman : 54 Sistem Operasi 2 : Linux Beberapa pilihan perintah ps, sebagai berikut : -a : Menampilkan semua proses (termasuk milik user) -c : Menampilkan nama perintah dari environment task_struct -e : Menampilkan environment setelah baris perintah dan “and” -f : Menampilkan “forest” fromat pohon (proses dan subproses) -h : Tidak ada header -j : Jobs format -l : Long format -m : Menampilkan info memori -n : Output memori untuk USER dan WCHAN -r : Hanya proses-proses yang berjalan -s : Format signal -S : Menambah child CPU time dan page fault -t xx : Proses-proses yang hanya diasoasikan dengan ttyxx -u : Format user, memberikan nama user dan waktu mulai -v : format vm (virtual memory) -w : Wide output -x : Menampilakn proses-proses tanpa mengontrol terminal 7.3 Menghentikan Proses (Kill) Kadang ada keinginan untuk membunuh atau menghentikan sebuah proses. Suatu alasan yang umum untuk menghentikan proses diantaranya : - Proses terlalu banyak menghabiskan CPU time - Proses berjalan terlalu lama tanpa menghasilkan output yang diharapkan. - Proses memproduksi terlalu banyak output pada layar atau ke sebuah file. - Proses mengunci terminal atau beberapa sesi lain. - Proses menggunakan file-file yang salah baik input maupun output, disebabkan kesalahan operator atau programming yang error. - Proses sudah tidak diperlukan lagi.
  • 57. Halaman : 55 Sistem Operasi 2 : Linux Sebenarnya untuk menghentikan proses yang tidak berada pada background, cukup dengan menekan <CTRL+C>. Namun jika proses tersebut bekerja pada background, proses dapat dihentikan dengan perintah kill. Perintah kill bekerja dengan cara mengirim signal ke proses yang sedang berjalan melalui nomer proses yang sudah diketahui. Kill hanya dapat digunakan untuk menghentikan proses dari masing- masing user, hanya superuser saja yang berwenang untuk menghentikan proses user lain. Format penulisan perintah kill sebagai berikut : kill [-s signal_name] pid [...] kill -l [exit_status] kill -signal_name pid [...] kill -signal_number pid [...] Beberpa signal tersebut diantaranya: 1 HUP (hang up) 2 INT (interrupt) 3 QUIT (quit) 6 ABRT (abort) 9 KILL (non-catchable, non-ignorable kill) 14 ALRM (alarm clock) 15 TERM (software termination signal) Contoh : $ kill 123 Menghentikan proses dengan PID 123 $ kill -9 1234 Menghentikan dengan paksa proses dengan PID 1234. # kill -HUP `cat /var/run/inetd.pid`
  • 58. Halaman : 56 Sistem Operasi 2 : Linux Mengirimkan hang up signal kepada daemon ined dengan PID seperti yang terseimpan pada /var/run/inetd.pid, dan meminta proses untuk membaca ulang susunan konfigurasi /etc/inetd.conf. # kill 0 Menghentikan semua proses yang berjalan dalam background. 7.4 JOBS Jobs control adalah fasilitas yang memungkinkan suatu program dihentikan secara sementara dan kemudian dijalankan kembali. Fasilitas ini dapat dipakai untuk memindahkan program yang sedang berjalan secara background (dilatar belakang) ke foreground (di latar depan) atau sebaliknya. Fasilitas ini meniru fasilitas pada C shell. Jika seseorang memberikan perintah (script shell, utilitas atau program), perintah tersebut akan menjadi sebuah job, terlepas perrintah itu dijalankan dilatar depan atau belakang. Jobs control biasanya diaktifkan secara otomatis begitu berada di prompt (shell). Untuk mengetahui fasilitas ini sudah dijalankan atau belum, dapat deketahui dengan perintah : $ set –o | grep monitor monitor on Jika perintah di atas menghasilkan informasi berupa “monitor on” berarti fasilitas job control sudah diaktifkan. Apabila fasilitas tesebut belum aktif, dapat diaktifkan dengan perintah : $ set -o monitor $ set -m Untuk menjalankan perintah di background, perlu akhiran & disetiap perintah yang akan dijalankan. $find / -name *.c –print > c.out 2> c.error &
  • 59. Halaman : 57 Sistem Operasi 2 : Linux Perintah diatas dipakai untuk memperoleh semua file berakhiran *.c dari root (/) danhasilnya ditempatkan ke file c.out. Adapun kalau ada sesuatu kesalahan (misalnya karena tidak diperkanankan membaca direktori tertentu berhubungan dengan ijin akses) kesalahan tersebut direkam ke file c.error. Proses ini dilakukan dibelakang layar, dan diberi nomor job dan identitas proses (PID). Apabila nomor job adalah satu dan jobs belum berakhir, maka jika diberikan job kedua, maka nomor job tersebut sama dengan 2. $ du / > du.out 2>1 & [2] 272 Perintah du digunakan untuk memperoleh blok dari setiap file atau direktori. Setelah nomor job kedua diatas, jika dijalankan satu job lagi, maka : $ sleep 500 & #tidak melakukan apa-apa selama 500 detik [3] 273 Untuk melihat status proses dari perintah yang dieksekusi dilatar belakang, dapat digunakan perintah jobs. $ jobs [1] Stopped vi file1.txt & [2] - Running ps –aux & [3] + Running sleep 500 & Informasi dibagian kiri menyatakan nomor job. Tanda + sesudah nomor job menyatakan job yang terbaru. Tanda – menyatakan job kedua yang terbaru. Informasi seperti running menyatakan bahwa perintah job sedang dieksekusi (belum selesai). Kemungkinan lain informasi adalah : Stopped : job sedang berhenti secara sementara (ditangguhkan) Done : job sudah selesai dikerjakan. Bagian terkanan menyatakan nama perintah. Pemakai dapat memberikan pilihan –p pada perintah jobs. Pilihan ini akan menyebabkan jobs menampilkan PID dari semua proses yang dieksekusi dilatar belakang. $ jobs –p 300 302
  • 60. Halaman : 58 Sistem Operasi 2 : Linux Artinya ada dua proses di latar belakang dengan PID 300 dan 302. Pilihan (option) –l akan menampilkan informasi seperti jobs tanpa option dan informasi PID (nomor proses) $ jobs –l [2] + 300 Running sleep 300 & [1] - 302 Running sleep 150 & Job yang berjalan dilatar depan dapat dihentikan dengan menekan tombol <CTRL + Z>. Sebagai contoh, saat menjalankan perintah sleep 500 di latar depan, kemudian menekan tombol <CTRL + Z>, maka proses tersebut akan dihentikan sementara. $ sleep 500 <CTRL + Z> [1] + Stopped sleep 500 Dengan menggunakan perintah jobs, status proses tersebut diatas dapat diketahui, sebagai berikut : $ jobs [1] + Stopped sleep 500 Job yang sedang ditangguhkan dapat diaktifkan kembali dengan cara diaktifkan dilatar belakang dan diaktifkan dilatar depan. Job yang sedang berhenti secara sementara dapat dijalankan kembali dilatar depan dengan cara menjalankan perintah fg. Dengan menjalankan perintah fg maka sleep 500 akan dijalankan di foreground, dan jika setelah di depan ingin ditangguhkan kembali tinggal menjalankan perintah bg. $ sleep 500 <CTRL + Z> [1] + Stopped sleep 500 $ bg #Eksekusi kelatar belakang [1] sleep 500 Pada bentuk fg dan bg tanpa argumen, job terbarulah yang diproses. Sedangkan jika %n digunakan, job dengan nomor n yang diproses. $ jobs [2] + Running sleep 1000 & [1] - Running sleep 200 &
  • 61. Halaman : 59 Sistem Operasi 2 : Linux $ fg %1 sleep 200 & Proses yang sedang ditangguhkan ataupun yang sedang berada di latar belakang dapat dimatikan dengan menggunakan perintah kill. $ kill %1 # job nomor 1 dihapus [1] – Terminated sleep 200 & Jika dikehendaki, pemakai dapat menyuruh shell menunggu suatu proses dilatar belakang selesai dieksekusi. Perintah yang diperlukan adalah wait. Perintahnya adalah wait %n, dengan n adalah nomor job dari proses latar belakang yang ditunggu. 7.5 Penjadwalan Proses Pada sistem Linux, terdapat banyak cara untuk menangani eksekusi-eksekusi perintah. Diantaranya, diberi kesempatan untuk membuat daftar perintah dan menentukan kapan perintah dijalankan oleh sistem. Perintah at , sebagai contoh memberi peluang untuk menjalankan program berdasarkan waktu yang ditentukan. Perintah batch adalah semiliar dengan at, namun batch menjalankan program-program manakala sistem menemukan waktu untuk mereka. Perintah cron memungkinkan program untuk menjalankan secara pereodik, dan perintah crontab mengizinkan user untuk mengedit file-file yang digunakan oleh cron. Perintah-perintah scheduling tersebut sangat berguna sat ingin melakukan pengaturan terhadap sistem agar tidak terlalu sibuk menjalankan tugas-tugas. Teknik ini juga sangat baik untuk eksekusi script- script bagi layanan-layanan exksternal seperti query-query database. Perintah at Seperti telah diuraikan diatas, untuk menjadwalkan satu atau beberapa perintah pada waktu yang ditentukan dapat digunakan at. Sebagai contoh, untuk membentuk pekerjaan pada jam 2:30 a.m yakni melakukan pencetakan semua file yang terdapat pada direktori /home/mahasiswa/dimas dan melakukan pengiriman mail pemberitahuan ke user yang bernama anjik bahwa pekerjaan pencetakan telah dilakukan pukul 2.30 a.m. Untuk menuliskan shcedule pekerjaan dengan at yakni
  • 62. Halaman : 60 Sistem Operasi 2 : Linux dengan menulis perintah baris demi baris dan menekan enter untuk masing-masing perintah dan untuk mengakhiri dapat digunakan <CTRL + D>. $ at 2.30 lp /home/mahasiswa/dimas/* echo “File sudah dicetak Pak !” | mail –s “Pencetakan “ anjik@stikom.edu <CTRL + D> Beberapa variasi penggunaan perintah at dapat dilakukan dengan : At hh:mm : Penjadwalan kerja berdasarkan jam (hh) dan menit (mm), menggunakan standard 24 jam At hh:mm month day year : Penjadwalan kerja berdasarkan jam (hh) dan menit (mm), bulan, hari dan tahun tertentu at –l : Mendaftar jadwal tugas-tugas, merupakan alias utk perintah atq. At now +count timeunit : Menjadwalkan pekerjaan sekarang plus hitungan berdasarkan time-unit ; time unit dapat berupa menit, jam, hari atau minggu at –d job_id : Membatalkan kerja dengan nomor job_id Sebagai user root, dapat dengan bebas menjalankan perintah-perintah ini, sedangkan user lian, file-file /etc/at.allow dan /etc/at.deny menentukan permisi permisi menggunakan perintah tersebut. Jika file /etc/at.allow ada, maka hanya user-user yang tercantum dalam file tersebut yang diizinkan untuk menggunakan perintah at . Jika file /etc/at.allo tidak tersedia, sistem akan mengecek file /etc/at.deny yang akan memberikan izin penggunaannya, tapi kalau /etc/at.deny kosong, setiap user dapat menggunakan perintah at ini.
  • 63. Halaman : 61 Sistem Operasi 2 : Linux Perintah batch Dalam sistem Linux tidak hanya memiliki satu perintah untuk penjadwalan tugas- tugas. Dengan menggunakan perintah batch user dapat memberikan kelonggaran terhadap sistem untuk memutuskan sendiri kapan proses dijalankan. Perintah batch akan dijalankan oleh sistem jika sistem dalam keadaan tidak begitu sibuk. Tugas-tugas yang dijalankan melalui batch akan dieksekusi melalui background. Format menjalankan perintah batch yaitu dengan mengetikkan perintah di terminal dan mengakhiri dengan <CTRL + D> pada akhir baris. contoh : $ batch lp /home/mahasiswa/dimas/* echo “File sudah dicetak Pak !” | mail –s “Pencetakan “ anjik@stikom.edu <CTRL + D> Perintah cron dan crontab Untuk menjalankan perintah atau proses yang harus dilakukan secara reguler, dapat menggunakan perintah cron (chronograph). Dengan cron dapat menentukan tanggal dan waktu yang diinginkan untuk menjalankan sebuah perintah dalam file-file crontab. Program cron hanya dijalankan satu kali, yakni saat sistem di-boot. User-user individual hendaknya diberi izin untuk menjalankan cron secara langsung. Selain itu administrator juga menjalankan aplikasi cron pada start-up file Linux agar cron berjalan saat proses boot terjadi. Perintah/Aplikasi yang dapat digunakan untuk menuliskan jadwal proses adalah crontab. Dalam file crontab ini konfigurasi penjadwalan proses tersimpan. File contab user disimpan dalam direktori /usr/spool/cron/crontabs dan memberi nama
  • 64. Halaman : 62 Sistem Operasi 2 : Linux file tersebut dengan nama user. Sehingga jika usernya adalah icha, maka dapat digunakan file text editor untuk mengeditnya pada direktori tersebut. $crontab icha Dengan eksekusi perintah tersebut maka file /usr/spool/cron/crontabs/icha akan terbentuk. Masing-masing baris dalam file crontab memuat sebuah pola waktu dan sebuah perintah. Di mana perintah tersebut akan dieksekusi pada pola waktu yang ditetapkan. Pola waktu dibagi dalam lima field yang dipisahkan oleh spasi atau tab. Minute hour day-of-month month-of-year day-of-week command Keterangan range waktu : Minute : 00 s.d 59 Hour : 00 s.d 23 (tengah malam 00) Day-of-month : 01 s.d 31 Month-of-year : 01 s.d 12 Day-of-week : 01 s.d 07 (Senin 01, Minggu 07) Lima field pertama adalah field waktu, sedangkan satu field terkahir adalam field perintah. Dapat digunakan asterisk (*) dalam field waktu jika tidak ingin menentukan waktu – waktu tertentu. Option perintah crontab terdiri dari : -e : mengedit file contab -r : menghapus isi file crontab -l : Menampilkan daftar crontab
  • 65. Halaman : 63 Sistem Operasi 2 : Linux Latihan : 1. Bagaimanakah perintah untuk menampilkan semua proses yang dijalankan oleh seorang user pada satu terminal 2. Jelaskan apa maksud dari status jobs : running, stoped dan done ! 3. Jika dalam perintah ps digunakan option –f, jelaskan output yang dihasilkan ! 4. Bagaimakah perintah untuk melakukan restart terhadap suatu proses yang sedang berjalan ! 5. Apakah perbedaan status proses I (idle) dan S (sleeping) ! 6. Buatlah susunan jadwal proses untuk melakukan pengiriman email ke root setiap 5 menit sekali mengenai 5 baris isi dari file /var/log/message
  • 66. Halaman : 64 Sistem Operasi 2 : Linux BAB VIII SHELL (Pertemuan 10 dan 11) Shell adalah “command Executive”, artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Umumnya adalah $ (bash shell) untuk pemakai biasa dan # untuk superuser (root). Pada awalnya UNIX (System V) mengembangkan Shell yang dikenal dengan nama Bourne Shell (/bin/sh), shell tersebut dirancang oleh Steve Bourne dari AT & T. Pada perjalanannya /bin/sh kemudian dikembangkan oleh David Korn, oleh karenanya Shell tersebut kemudian dikenal dengan nama Korn Shell (/bin/ksh). UNIX Berkeley (BSD = Berkeley Software Distribution) juga mengembangkan Shell yang dikenal dengan nama C-Shell (/bin/csh). Shell ini mengambil syntac yang mirip dengan bahasa C (C-Language). Penciptanya adalah Bill Joy (salah satu pendiri/ Founder dari Sun MicroSystems). Linux mengembangkan Shell yang kompatibel dengan Bourne-Shell, juga mengadaptasi kemampuan yang ada di Korn-Shell. Shell ini disebut sebagai bash (Bourne Again Shell) dengan nama program (/bin/bash). Perbedaan antara shell-shell tersebut hampir tidak ada, kecuali pada fasilitas pemrograman dan editing. Umumnya pemakai UNIX aliran AT&T menggunakan Bourne-Shell dan Korn Shell, aliran BSD seperti SunOS menggunakan C-Shell, sedangkan pemakai Linux menggunakan BASH. Pada awalnya bash diciptakan untuk menghindari lisensi/copyright Unix.
  • 67. Halaman : 65 Sistem Operasi 2 : Linux Shell mana yang akan dipakai pengguna Linux, dapat dipilih saat membuat account baru, atau mengubahnya pada file /etc/passwd. root:*:0:0:Charlie &,,,:/root:/bin/csh demon:*:666:666::/home/bofh/demon:/bin/ksh di0311111:*:1000:1001:Bill Gates:/home/di/di031111:/bin/sh Pada prinsipnya shell adalah program yang dapat dibuat melalui bahasa pemrograman seperti C atau lainnya. Kreatifitas pengembang software banyak yang menciptakan shell lainnya, walaupun kurang populer seperti tcsh, zsh dan lainnya. 8.1 Profile Saat seoarang user melakukan login, sistem akan menjalankan program antara lain : /etc/profile Berisi shell script yang berlaku untuk seluruh pengguna Linux yang melakukan session login. PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/var/qmail/bin" PS1='u@h:w$ ' umask 022 HOSTNAME="`cat /etc/HOSTNAME`" HISTSIZE=1000 HISTFILESSIZE=1000 export PATH TERM PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME PATH, merupakan daftar nama direktori. Bila sebuah instruksi diberikan dari prompt shell, maka instruksi tersebut akan dicari pada daftar tersebut. PS1, adalah prompt. Dalam hal ini dirinci sebagai berikut : PS1='u@h:w$ ' u = Nama user h = Nama Host W = Nama working directory .bash_profile Merupakan profile setiap pemakai yang terletak pada home direktori masing-masing user. Sebelumnya sistem melakukan pengecekan apakah ada file ini, jika ada sistem akan mengeksekusi. File .bash_profile adalah hiddent file yang terletak dihome direktori masing-masing user. Untuk melihatnya dapat digunakan perintah $ls –a
  • 68. Halaman : 66 Sistem Operasi 2 : Linux .bash_login File .bash_login juga terletak dalam direktori home user. Urutan pengeksekusiannya adalah, jika dalam home direktori user tidak ditemukan file .bash_profile, maka sistem akan mencari file .bash_login. Seterusnya jika sistem tidak menemukan file .bash_login, sistem akan mencari file .profile untuk dieksekusi bila ditemukan. .bashrc File .bashrc akan dieksekusi untuk perpindahan dari satu shell ke shell yang lainmelalui instruksi su (substitute user). .bash_logout User pada saat logout, shell terlebih dahulu akan mencari file .bash_logout, bile file tersebut ada maka file .bash_logout akan dieksekusi terlebih dahulu. Biasanya file ini diisi perintah-perintah untuk membersihkan jejak user, untuk keamanan. $ cat .bash_logout clear Pada contoh diatas .bash_logout hanya berisi satu instruksi, yaitu clear yang berarti membersihkan layar saat proses logout dilakukan oleh user tersebut. 8.2 History History diadaptasi dari C-Shell, yaitu catatan dari semua instruksi yang sejauh ini telah dilakukan. Catatan ini dapat dilihat sebagai history, kemudian dapat dipilih kembali, diedit dan dieksekusi. History umumnya memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang terutama bila terjadi kesalahan pada penulisan intruksi maupun parameter. History mempunyai batasan maksimum instruksi yang dapat disimpan. Hal ini dinyatakan pada variabel HISTSIZE. $echo $HISTSIZE
  • 69. Halaman : 67 Sistem Operasi 2 : Linux Untuk menampilkan instruksi yang telah dilakukan dengan menjalankan command history. $history <enter> --cut---- 667 w 668 cat /etc/profile 669 cat /etc/profile | less 670 ls -a 671 history Daftar intruksi dilengkapi dengan nomor urut. Nomor kemudian dapat dijadikan parameter dalam mengedit atau mengulang instruksi. Selain instruksi history, instruksi fc (fix command) juga dapat digunakan, seperti berikut : $ fc –l 667 w 668 cat /etc/profile 669 cat /etc/profile | less 670 ls -a 671 history 672 fc 673 history 674 fc –l Secara lebih nyata, fc dapat menampilkan instruksi antara 2 buah nomor, misalnya no. 667 s.d 669 : an71k@lug:~$ fc -l 667 669 667 w 668 cat /etc/profile 669 cat /etc/profile | less Cara diatas dapat diganti dengan menggunakan kata depan instruksi yang diberikan, an71k@lug:~$ fc -l clear whereis 683 clear 684 ls -l 685 ps -aux 686 whereis ls
  • 70. Halaman : 68 Sistem Operasi 2 : Linux Intruksi dapat diedit dengan menggunakn fasilitas editor, misalnya editor vi. Penggunaan vi ini dapat dinyatakan dengan parameter sebagai berikut : $ fc 685 Instruksi diatas akan mengaktifkan editor vi, dan instruksi tersebut dapat diedit dalam vi, kemudian setelah selesai tekan ESC ZZ untuk keluar dari editor. Navigator history, dapat digunakan sebagai bantuan untuk bernavigasi terhadap instruksi dalam daftar history. Navigator tersebut antara lain : ^P (CTRL + P) : Melihat instruksi sebelumnya ^N (CTRL + N) : Melihat instruksi sesudahnya !! : Eksekusi kembali instruksi sebelumnya !! -3 : Instruksi 3 sebelum terakhir akan di eksekusi !! 100 : Ulangi eksekusi instruksi no 100 8.3 Prompt String (PS) Prompt String merupakan script yang berada pada file /etc/profile atau .bash_profile yang berfungsi untuk mengubah tampilan prompt user. Setelah mengganti variabel PS1, berikutnya jalankan instruksi export PS1 agar dikenal disemua shell. Beberapa penggantian prompt seperti berikut ini : $ PS1=”! >” prompt dari nomor history 69 > 69 > PS1=”d > “ Prompt dari tanggal sekarang Mon Apr 12 > Mon Apr 12 >PS1=”t >” Prompt jam sistem 20:10:05 > 20:10:05 >PS1=”u >” Prompt username anjik > anjik >PS1=”w > “ Prompt tanda “~” yang artinya home direktori ~ > ~>PS1=”h >” Prompt hostname lug >
  • 71. Halaman : 69 Sistem Operasi 2 : Linux Untuk menghasilkan sebuah prompt NamaUser@NamaMesin didirectory x $ jika dituliskan dalam prompt adalah : PS1=”u@h w $ “ Dalam menulis prompt selain PS1, juga dapat digunakan PS2 yang nantinya sebagai prompt jika shell memerlukan input. 8.4 BASH-Script Bash Script adalah file yang berisi koleksi program yang dapat dieksekusi melalui perintah shell (prompt). Program BASH-Script akan menjadi executable jika modus file ditambah dengan “x”. Perhatikan contoh, $ cat > prg1.sh echo “Contoh program Bash” ^ D Untuk dapat dijalankan dalam prompt/shell, terlebih dahulu akses mode file harus ditambah executable atau “x”, sebagai berikut : $ ls -l prg1.sh -rw-r--r-- 1 an71k users 27 Apr 12 17:45 prg1.sh $ chmod +x prg1.sh $ ls -l prg1.sh -rwxr-xr-x 1 an71k users 27 Apr 12 17:45 prg1.sh* Menjalankan Script Untuk menjalankan script tersebut dapat dilakukan dengan beberapa cara, antara lain : $ bash prg1.sh Contoh Program BASH $ sh prg1.sh Contoh Program BASH $ . prg1.sh Contoh Program BASH $ ./prg1.sh
  • 72. Halaman : 70 Sistem Operasi 2 : Linux Contoh Program BASH Eksekusi menggunakan . prg1.sh berarti adalah eksekusi shell, sedangkan ./prg1.sh berada pada direktori aktual. Aturan dalam pembuatan script shell dinyatakan dengan menulis pada baris pertama shell script dengan : #! /bin/bash 8.4.1 Variabel Variabel adalah suatu nama yang dapat digunakan untuk menampung suatu nilai dan nilai yang ada dapat diubah. Pemberian nilai ke suatu variabel dapat melalui penugasan, sebagai berikut : Variabel=nilai Contoh : jalan=“Kedung Baruk 98 Surabaya“ Apabila nilai mengandung karakter khusus seperti spasi, nilai harus ditulis dalam tanda petik. Pemberian string “Kedung Baruk 98 Surabaya“ ke variabel jalan, sebelum dan sesudah tanda sama dengan (+) tidak boleh ada spasinya. Untuk memperoleh nilai/isi dari variabel perlu diawali dengan tanda “$”, perhatikan contoh : echo $jalan 8.4.2 Parameter Posisi Banyaknya sekali perintah UNIX yang melibatkan argumen (parameter). Misalnya untuk menciptakan file bernama a, b, dan c perlu menuliskan perintah berupa : $touch a b c Argumen-argumen seperti ini dapat dikenali pada skrip shell dan biasa disebut sebagai parameter posisi. Parameter di BASH Shell yang berhubungan dengan parameter posisi, antara lain : $# Jumlah parameter $0 Nama skrip Shell
  • 73. Halaman : 71 Sistem Operasi 2 : Linux $1 Parameter Pertama $2 Parameter Kedua ${10} Parameter ke sepuluh $* Semua parameter Contoh penggunaan parameter : $cat prg3.sh #! /bin/bash # prg3.sh # = = = = = = echo “jumlah parameter = $#“ echo “semua parameter = $*“ echo “ Isi $0 : “ $0 echo “ Isi $1 : “ $1 echo “ Isi $2 : “ $2 $./prg3.sh mencoba parameter shell jumlah parameter = 3 semua parameter = mencoba parameter shell Isi $0 : ./prgprg3.sh Isi $1 : mencoba Isi $2 : parameter 8.4.3 Perintah dan fungsi yang dapat digunakan : Perintah - perintah dari yang diketikkan oleh user secara default telah disimpan ke dalam sebuah file. Perintah untuk melihat perintah yang terakhir anda ketikkan dengan menggunakan “history”. Perintah-perintah dari Bourne Shell programming ini hampir sama digunakan oleh user. Perintah-perintah tersebut dapat diketikkan pada editor vi , sehingga dapat dijadikan sebuah program. Bentuk prompt dari Bourne Shell adalah ‘$’. 1. echo Digunakan untuk menampilkan keterangan pada layar komputer. Option: -n digunakan untuk ganti baris baru. Contoh : $ echo -n “Saya hendak belajar Bourne Shell.”
  • 74. Halaman : 72 Sistem Operasi 2 : Linux Hasil : Saya hendah belajar Bourne Shell. 2. tanda( $ ) Digunakan untuk melihat isi dari suatu variabel file. Contoh : $ kalimat=‘Hallo apa kabar’ $ echo $kalimat Hasil: Hallo apa kabar 3. tanda ( ` ....... ` ) Digunakan untuk menjalankan perintah yang ada di dalam tanda petik tunggal terbalik ( ` ...... ` ) Contoh: $ coba=`pwd` $ echo $coba Hasil: /home/siswa 4. Tanda ( ) 1.Digunakan untuk membedakan antara perintah dengan tanda yang akan dicetak. Contoh : $ echo “” “ Hasil: “ 2. Digunakan untuk menjalankan suatu perintah di dalam perintah. Contoh: $echo “Sekarang saya ada di direktory : `pwd` ” Hasil: Sekarang saya ada di direktory : /home/siswa
  • 75. Halaman : 73 Sistem Operasi 2 : Linux 5. Tanda titik koma ( ; ) Digunakan untuk memisahkan sederet perintah dalam 1 baris. Contoh : $ ls -al;who Hasil : * Akan menjalankan list direktory kemudian menjalankan perintah who. 6. Tanda Pipe ( | ) Digunakan untuk membatasi antara perintah yang satu dengan yang lainnya, dimana tiap output perintah menjadi intput perintah selanjutnya. Contoh : $ who | ls $ who | sort Hasil : * Akan memperlihatkan user yang aktif, diurutkan kemudian ditampilkan. 7. read <nama variabel> Digunakan untuk mengisi nama variabel. Contoh : $ read siA siB apa kabar Hasil: maka siA akan dimasukkan kata apa dan si B dimasukkan kata kabar. 8. if Digunakan untuk perintah bersyarat. Format : if [ekspresi] then perintah-perintah
  • 76. Halaman : 74 Sistem Operasi 2 : Linux elif [ekspresi] then perintah-perintah else perintah-perintah fi Option : -r digunakan untuk menguji apakah file tersebut dapat dibaca oleh user. -w digunakan untuk menguji apakah file tersebut dapat ditulisi oleh user. -x digunakan untuk menguji apakah file tersebut dapat dijalankan oleh user. -s digunakan untuk menguji apakah file tersebut berukuran lebih besar dari 0. -d digunakan untuk menguji apakah file tersebut merupakan direktory. -f digunakan untuk menguji apakah file tersebut merupakan sebuah file. -a digunakan untuk perintah AND. -o digunakan untuk perintah OR. ! digunakan untuk perintah negasi. Contoh : if test -f “$1” (ket: perintah “test” menggantikan tanda [ ] ) then ls $1 elif test -d “$1” then (cd $1;ls -a) else echo $1 bukan suatu file atau direktory fi 9. case Perintah ini digunakan sebagai optional. Format : case string in kondisi) perintah-perintah;;
  • 77. Halaman : 75 Sistem Operasi 2 : Linux kondisi) perintah-perintah;; *) perintah-perintah;; esac Tanda ;; digunakan untuk mengakhiri suatu blok perintah Tanda esac digunakan untuk mengakhiri suatu case. Contoh : case $logname in root) echo ‘saya adalah supervisor’;; siswa) echo ‘saya adalah siswa’;; *) echo ‘saya pendatang baru’;; esac 10. Function. Suatu fungsi dapat dibuat pada bourne shell. Format: function_name() { perintah-perintah shell } Contoh: getyn() { while echo “0 (y/n) ? c “ > &2 do read yn rest case $yn in [Yy] return 0 [Nn] return 1 *) echo ‘Isi dengan y atau n” > &2
  • 78. Halaman : 76 Sistem Operasi 2 : Linux esac done } Perintah - perintah di atas dapat digabungkan menjadi sebuah program sehingga user dapat menjalankan dengan perintah : $ bsh <nama file> maka sistem akan menjalankan nama file tersebut seperti halnya pada sistem operasi DOS yaitu autoexec.bat. 8.5 Dialog Dialog dibuat untuk memudahkan para pembuat script shell dalam meningkatkan keindahan dan interaktifitas aplikasi. Beberapa kotak (box) pilihan dari perintah dialog diantaranya adalah : 1. msgbox Pilihan msgbox dapat digunakan untuk memberikan pesan. Untuk memberikan pesan “Halo“ diatas sebuah kotak ukuran 10X40 dapat dilakukan dengan perintah $dialog –msgbox Halo 10 40 Maka setelah ditekan enter akan muncul sebuah kotak yang dilengkapi dengan tombol dengan label OK. 2. yesno Ini adalah pilihan dari suatu perintah, tinggal dipilih, apakah kita milih yes, atau milih no. Misalkan contoh berikut : $dialog --yesno “Apa anda baik-baik saja ! $LOGNAME “ 10 40 Sebenarnya pilihan yes dan no bisa ditindak lanjuti dengan action, misalnya kalau yes melakukan x jika no melakukan y. Maka bila dibuat sebuah script sebagai berikut : $cat dialog1.sh
  • 79. Halaman : 77 Sistem Operasi 2 : Linux 3. inputbox Pilihan box ini digunakan untuk meminta input dari user, segala input akan dimasukkan dalam variabel stderr, misalnya : $dialog –input halo 10 40 4. textbox Fitur ini digunakan untuk menampilkan isi suatu file text kedalam dialog box. $ dialog –textbox /etc/passwd 10 40 5. menu Dalam dialog ini pengguna dihadapkan pada pilihan menu, yang hasil pilihan tersebut disimpan dalam variabel stderr. $dialog –menu “Kegiatanku: 20 60 10 makan makan minum minum tidur tidur 6. radiolist Radiolist menyediakan kemampuan untuk memberikan serangkaian pilihan dimana hanya satu pilihan yang aktif. $ dialog --radiolist "Distro anda : " 20 60 10 Debian Debian on Redhat Redhat off slackware slackware off other other off 7. checklist Apabila radiolist hanya mengizinkan satu pilihan aktif, maka cheklist mengizinkan pemilihan beberapa item sekaligus. $dialog --checklist "Distro anda : " 20 60 10 Debian Debian Redhat Redhat Slackware Slackware off other other off dialog --yesno "Apa anda baik-baik saja ! $LOGNAME " 10 40 export retval=$? if [ $retval -eq 0 ]; then dialog --msgbox "Sukurlah $LOGNAME" 10 40 else dialog --msgbox "Wah kasihan kamu : $LOGNAME" 10 40 fi
  • 80. Halaman : 78 Sistem Operasi 2 : Linux 8. guage Memberikan informasi seberapa jauh pekerjaan telah selesai dapat dilakukan. Gauge berfungsi seperti halnya progres bar. Nilai presentasi dari gauge dapat dibaca dari standard input. $cat dialog2.sh Latihan : 1. Buatlah program untuk menghitung jumlah harga pembelian 2 barang, jika totalnya melebihi 50.000 maka mendapat diskon 20 % dan berapa jumlah uang yang harus dibayar 2. Buatlah program untuk menghitung nilai akhir yang didapatkan dari 35 % nilai UTS + 45 % nilai UAS dan 20 % nilai Tugas. 3. Buahlah program untuk menghitung grade nilai mahasiswa, jika diketahui apabila total nilai adalah >80 grade=A, total nilai > 70 s.d 80 grade = B, total nilai 55 s.d 70 grade = C, sedangkan dibawah itu adalah E. 4. Buatlah program untuk menampilkan faktorial bilangan yang diimputkan ! i=0 while [ $i -le 100 ] do echo $i | dialog --gauge processing 10 40 sleep 0.01 let i=$i+1 done
  • 81. Halaman : 79 Sistem Operasi 2 : Linux BAB IX ADMINISTRASI USER DAN GROUP (Pertemuan 12) Dalam sistem berbasis Linux memiliki username-username spesial untuk kepenrtingan fungsi-fungsi sistem. Username ini memiliki UID sebagaimana username yang diasosiasikan untuk user-user. Berikut ini user-user umum yang dimiliki oleh default sistem UNIX/Linux : - root, yakni superuser yang membentuk account dan mengendalikan fungsi-fungsi sistem. - daemon atau sys, yang menangani aspek-aspek jaringan. Username ini diasosiasikan juga utilitas sistem lain, seperti print spooler dalam beberapa versi tertentu. - agent, yang menangani aspek mail elektronik, pada beberapa sistem, agent memiliki UID yang sama dengan daemon. - guest, digunakan bagi para pengunjung untuk mengakses sistem. - ftp, digunakan untuk akses anonymous FTP. - uucp, untuk mengatur uucp sistem. - news, digunakan untuk Usenet news - lp, digunakan untuk line printer system. - nobody, yakni user yang tidak memiliki file-file. Terkadang digunakan sebagai default user untuk operasi-operasi kurang openting. 9.1 User Identitas (UIDs) UID secara historis dibentuk oleh integer-integer 16 bit, yang berarti mereka dapat melakukan range dari 0 hingga 65535. UID 0 dan 9 secara typical digunakan untuk fungsi-fungsi system. UID untuk orang-orang biasanya dimulai dari 20 atau 100. Linux menyimpan mappong antar-username dan UID-UID dalam file /etc/passwd. Masing-masing UID user diletakkan dalam field setelah password-password yang terenkripsi.
  • 82. Halaman : 80 Sistem Operasi 2 : Linux Perhatikan contoh isi dari satu record /etc/passwd : anjik:eH5/.mj7NHB3dx:181:100:Anjik Sukmaaji:/home/anjik:/bin/ksh Dari contoh diatas, user anjik dengan UID 181. UID tidak lain adalah informasi aktual yang digunakan sistem operasi untuk mengidentifikasi user-user. Seandainya dua atau beberapa user memiliki UID yang sama, meski mereka memiliki username berbeda dan password berbeda pula. User dengan UID yang sama dapat secara bebas membaca file-file, melakukan penghapusan, mengeksekusi program, mengkill proses- proses yang berjalan. Linux menyediakan utilitas useradd untuk menambahkan nama pemakai baru ke sistem. Usage : useradd [-u uid] [-o]] [-g group] [-G group,…] [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-n] [-r] name useradd –D [-g group] [-b base] [-s shell] [-f inactive] [-e expire] -u user-id -g group-id -G secondary group -d direktori awal (HOME), bila tidak diberikan, maka sebagai default diambil nama pemakai tsb dan ditambahkan ke direktori default (misalnya /home) -s shell, /bin/bash dan lainnya -c comment, info atau keterangan tentang pemakai tersebut -m direktori HOME akan diciptakan, bila belum ada. Files yang berada pada direktori /etc/skel akan dicopy untuk menjadi default profile pemakai tersebut -k bersama dengan –m, memberikan nama kerangka (skelet) direktori yang berbeda dengan skel
  • 83. Halaman : 81 Sistem Operasi 2 : Linux -f inactive_days, jumlah hari sebelum account tersebut dibekukan, bila masa berlaku password telah berakhir. -e tanggal habis berlaku nama login tersebut -p encrypted password Membuat user sederhana : # useradd dimas Membuat user, dengan menyertakan semua parameter dari nilai default, yang dapat dilihat dengan menggunakan option –D: #useradd –D GROUP=100 HOME=/home INACTIVE=1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel Melihat HOME directory serta file inisialisasi: # ls –1 /home total 17 drwx------ 4 amir 1024 Nov 27 13:50 amir drwxr-xr-x 6 root root 1024 Nov 27 19:33 ftp drwx------ 4 dimas dimas 1024 Nov 27 22:03 dimas drwxr-xr-x 5 root root 1024 Nov 27 19:33 http drwxr-xr-x 2 root root 12288 Nov 27 19:30 lost+found drwxr-xr-x 2 root nobody 1024 Sep 26 00:12 samba # ls –la /home/dimas drwx------ 4 dimas dimas 1024 Nov 27 22:03 . drwxr-xr-x 8 root root 1024 Nov 27 22:03 .. -rw-r--r-- 1 dimas dimas 1024 Nov 27 22:03 .bash_logout -rw-r--r-- 1 dimas dimas 1024 Nov 27 22:03 .bash_profile -rw-r--r-- 1 dimas dimas 1024 Nov 27 22:03 .bashrc
  • 84. Halaman : 82 Sistem Operasi 2 : Linux File default dapat diganti dengan menggunakan option ke dua yaitu –D : Ganti HOME default ke direktori /usr : #useradd –D –b /usr #useradd –D GROUP=100 HOME=/usr INACTIVE=1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel Mengubah User # usermod <enter> usage : usermod [-u uid [-o]] [-g group] [-G group,….] [-d home [-m]] [-s shell] [-c comment] [-l new_name] [-f inactive] [-e expire] [-p passwd] [-L|-U] name #userdel <enter> usage : userdel [-r] name # usermod –g 500 dimas # grep dimas /etc/passwd dimas :x:200:500::/home/dimas:/bin/bash #userdel –r dimas #grep dimas /etc/passwd 9.2 Group Identifiers (GIDs) Setiap user Linux berada dalam satu atau beberapa group. Sebagaimana halnya account-account user, group terdiri atas groupname dan group identification number (GID). Nilai-nilai GID juga secara historis memiliki integer 16 bit. Sesuai dengan namanya, group-group Linux digunakan untuk mengelompokkan user-user satu sama lainnya. Sebagaimana username, groupname juga diset oleh administrator sistem saat account-
  • 85. Halaman : 83 Sistem Operasi 2 : Linux account user dibuat. GID user diletakkan mengikuti UID-nya, perhatikan contoh file /etc/passwd : anjik:eH5/.mj7NHB3dx:181:100:Anjik Sukmaaji:/home/anjik:/bin/ksh Dalam contoh diatas, dapat dilihat bahwa GID primer anjik adalah 100. Group memberikan mekanisme penanganan atau batasan-batasan tertentu bagi user-user. Group juga digunakan untuk membentengi akses informasi sensitif dan aplikasi- aplikasi berlisensi khsus untuk user tertentu. File /etc/group terdiri atas database yang memuat daftar setiap group dalam komputer beserta koresponden GID-nya. Formatnya sama dengan file /etc/passwd. Berikut contoh isi file /etc/group yang mendefinisikan lima group wheel, users,netc, internet, dan bebas : wheel:*:0:root, anjik users:*:100: netc:*:101:jack, boy,budi internet:*:102:icha, dimas, wahyu, eko, maulana bebas:*:105:ardha, admaja, sukma Membuat Group Linux telah menyediakan utilitas administrasi group dengan utilitas groupadd. Sebelum melakukan penambahan group baru sebaiknya dilakukan pengecekan apakah group sudah atau belum. # groupadd <enter> usage : groupadd [-g gid[-o]] [-r] [-f] group -g nilai group-id -o Jika optioan ini dijalankan, maka group-id boleh merupakan duplikasi dari GID yang sudah ada -r menambah group sebagaimana bagian dari sistem dengan GID lebih kecil dari 500. -f force, akan memaksa groupadd untuk menghentikan proses, jika sudah ada di /etc/group.
  • 86. Halaman : 84 Sistem Operasi 2 : Linux # groupadd myschools # grep anjik /etc/group Bila nomor group tidak diberikan, maka sistem akan memberikannya secara otomatis. Utilitas groupmod dan groupdel dapat digunakan untuk mengubah parameter group atau menghapusnya dengan groupdel. # groupmod <enter> usage : groupmod [ -g gid [-o]] [-n name] group Mengganti group-ID # groupmod –g 123 mygroup # grep mygroup /etc/group mygroup:x:123: Mengganti group-name # groupmod –n newgroup mygroup # grep mygroup /etc/group # grep newgroup /etc/group newgroup:x:123 Menghapus group # groupdel usage : groupdel group # groupdel newgroup # grep newgroup /etc/passwd Perhatian : Sebelum meghapus group, pastikan lebih dahulu bahwa tidak ada pemakai yang terdaftar dalam group tersebut. Periksa di /etc/passwd.
  • 87. Halaman : 85 Sistem Operasi 2 : Linux 9.3 Superuser Setiap sistem Linux secara default memiliki user spesial dalam file /etc/passwd, yang memiliki UID bernilai 0. User ini dikenal juga dengan superuser dan normalnya diberi username root. Account root adalah identitas yang digunakan oleh sistem operasi untuk menyelesaikan fungsi-fungsi dasar sistem, seperti logging user-user yang masuk dan keluar, me-record informasi accounting, dan mengaturdevice device input/output. Dengan mengetikkan su tanpa diikuti username akan memberitahu Linux bahwa sistem diminta untuk mengubah ke dalam superuser. Selanjutnya diminta memasukkan password. Setelah password root diketikkan, maka shell akan berjalan dengan UID 0. Saat menjadi superuser, secara otomatis prompt akan berubah menjadi (#) untuk mengingatkan bahwa user berada dalam status sebagai superuser. $ /bin/su – password : ******* # who am I root Jika menggunakan command su untuk berubah ke user lain saat status sebagai superuser, sistem tidak meminta memasukkan password user bersangkutan. # su dimas $ who am I dimas Tidak semua user bisa menggunakan perintah su terhadap user root kecuali user tersebut masuk dalam group wheel dalam /etc/group yang memiliki group ID 0. Agar batasan ini bekerja, entri /etc/group tidak boleh dikosongkan, karena jika sikosongkan, semua user bisa mengubah menjadi superuser. Menambah user Menambah user-user dalam Linux meliputi tahapan-tahapan sebagai berikut : - Eksekusi dan mengedit passwd, shadow, dan file group - Menset password inisial
  • 88. Halaman : 86 Sistem Operasi 2 : Linux - Membuat direktori home user - Mengcopy file-file start-up default - Mengubah kepemilikan - Memerika set up account dengan teliti. File Password: /etc/passwd File password /etc/passwd secara umum memuat hal-hal sebagai berikut : - username - Password terenkripsi, seringkali disimpan dalam /etc/shadow - UID, nomor yang unik untuk user - Default GID, group ID user saat mereka login. Untuk mengubah group dapat digunakan perintah /bin/chgrp Group dan /etc/group - memungkinkan user melakukan share file dan resource - Group dibentuk dengan : o Secara implisit dengan cukup menaruh nomor baru dalam field keempat pada /etc/passwd o Secara eksplisit dengan menambah entri /etc/group - /etc/group dapat memilikibentuk field seperti berikut : group-name:*:GID:users Membuat Direktori home - Tambahkan entri-entri file passwd dan shadow - Gunakan passwd userid untukmenset passwd user - Buat direktori home untuk user bersangkutan $mkdir /home/username - Copy file-file inisialisasi shell - Buatlah semua file dimiliki oleh user tersebut # chown –R username:groupname /home/username
  • 89. Halaman : 87 Sistem Operasi 2 : Linux Menguji Account - Gunakan su – username untuk mengetes sebuah account - Perintah su (substitusi user) memungkinkan merubah menjadi user lain tanpa perlu menutup loging. - “-“ menunjukkan agar membaca semua file-file inisialisasi user Menghapus User - Gunakan passwd –l username untuk me-lock account - Hapus entri-entri dari passwd dan group, lalu hapuslah direktori home. Latihan : 1. Dengan perintah useradd namauser, akan terbentuk user baru dengan home direktori /home/namauser. Bagaimakah agar setelah perintah useradd namauser, home direktori secara otomatis adalah /home/mahasiswa/namauser ? 2. Dapatkah saat user sedang online, dilakukan penghapusan dengan perintah userdel namauser. Jelaskan ! 3. Bagaimanakah caranya melakukan modifikasi terhadap shell user ? 4. Dapatkah dalam sebuah sistem memiliki nama user dengan UID sama dengan UID yang lain ! 5. Bagaimanakah tahapan agar sebuah user dapat menggunakan fasilitas substitute user root. Apakah setiap user bisa melakukan nya. Jelaskan !
  • 90. Halaman : 88 Sistem Operasi 2 : Linux BAB X KERNEL (Pertemuan 13 & 14) Kernel adalah program yang dimuat saat boot yang berfungsi sebagai interface antara user-level program dengan hardware. Fungsinya seperti layaknya sistem operasi, menangani task switching dalam multitasking, menangani permintaan membaca atau menulis peralatan disk, melakukan tugas-tugas network serta mengatur penggunaan memori. Secara teknis Linux hanyalah sebuah kernel. Program lain seperti kompiler, editor, window manager dsb yang disertakan dalam paket hanyalah sebuah distribusi (RedHat, Slackware, SuSE dsb) yang melengkapi kernel menjadi sebuah sistem operasi yang lengkap. Kadang-kadang sebuah kernel memerlukan konfigurasi agar bisa bekerja optimal pada sebuah mesin. Kernel versi versi terbaru (diatas 2.0.x) pada umumnya sudah bisa langsung bekerja dibanyak komputer tanpa perlu konfigurasi ulang lagi karena didalamnya sudah dimuat dukukungan untuk beberapa device. Konfigurasi ulang bisa dilakukan bila ada tambahan device baru yang belum dimuat atau dianggap muatannya terlalu banyak sehingga memakan banyak memori. Setelah dilakukan konfigurasi, tahap berikut adalah melakukan kompilasi untuk mendapatkan kernel yang baru. Tahap ini memerlukan beberapa tool seperti kompiler dsb. Tahap kompilasi ini sangat potensial menimbulkan kesalahan dan kadang membuat frustrasi bila terus-menerus mengalami kegagalan. Sebelum mengalami musibah tersebut, mempersiapkan emergency boot disk adalah langkah yang tepat karena pada umumnya kesalahan akan mengakibatkan sistem mogok.
  • 91. Halaman : 89 Sistem Operasi 2 : Linux 10.1 Download Kernel Source kernel dibeberapa sumber di internet seperti dapat diambil secara gratis, melalui situs-situs antara lain : http://www.kernel.org ftp://ftp.cdrom/pub/linux/sunsite/kernel ftp://sunsite.unc.edu/pub/Linux/kernel ftp://tsx-11.mit.edu/pub/linux/source/system Source kernel tersebut biasanya dalam format linux-X.X.XX.tar.gz dimana X.X.XX menunjukkan nomor versi kernel, misalnya 2.0.35. Nomor versi kernel tersebut terdiri dari 3 bagian: major number, minor number dan revision number yang masing-masing dipisah titik. Angka 2 pada kernel 2.0.34 menunjukkan nomor major. Angka ini akan jarang berubah untuk waktu yang lama. Perubahan pada nomor ini menandakan adanya perubahan besar atau upgrade terhadap kernel. Angka 0 pada kernel 2.0.34 menunjukkan nomor minor atau stabilitas. Angka genap (misal 0, 2, 4 dst) menandakan kernel stabil sedangkan angka ganjil menandakan kernel dalam tahap pengembangan atau development. Kernel ganjil mengandung experimental code dan feature terbaru yang ditambahkan oleh developer-nya. Kernel genap pada saat di rilis sudah tidak lagi ada penambahan apapun dan dianggap sudah stabil. Kadang-kadang kernel ganjil ini malah stabil dan biasanya dipakai oleh mereka yang sedang melakukan percobaan terhadap feature-feature baru tersebut. Dua angka terakhir, 34 menunjukkan nomor revisi. Ini menandakan current patch versi tersebut. Selama tahap pengembangan, versi baru bisa di rilis hingga dua kali seminggu.
  • 92. Halaman : 90 Sistem Operasi 2 : Linux 10.2 Konfigurasi Kernel Source kernel yang sudah di download biasanya di unpack di direktori /usr/src/. tar -zxvf linux-2.0.34.tar.gz Perintah tersebut akan menguraikan file-file ke dalam direktori /usr/src/linux. Bila perlu sempatkan membaca file /usr/src/linux/README. Konfigurasi dimulai dari direktori /usr/src/linux. Ada tiga cara: make config, berupa text base interface, cocok untuk user yang memiliki terminal model lama dan tidak memiliki seting termcap. make menuconfig, berupa text base juga tapi memiliki puldown menu berwarna, digunakan untuk user yang memiliki standar console. make xconfig, interface menggunakan layar grafik penuh, untuk user yang sudah memiliki X Window. Bila berhasil layar Linux Kernel Configuration akan ditampilkan setelah perintah diatas dijalankan. Ada sekitar 14 menu pilihan dimulai dari Code maturity level options sampai Kernel hacking. Masing-masing memiliki sub-menu bila dipilih dan pilihan yes(y), module(m) atau no(no). Setiap pilihan untuk dimuat/kompile ke dalam kernel atau y akan memperbesar ukuran kernel nantinya. Jadi pilih feature- feature yang sering di gunakan yang di muat ke dalam kernel atau jadikan module untuk feature yang tidak sering di gunakan, misalnya PPP support. Setelah semua pilihan dianggap sesuai, konfigurasi di simpan dengan memilih save sebelum keluar dari layar menu konfigurasi. Konfigurasi akan disimpan dalam sebuah file. Langkah selanjutnya adalah kompilasi atau dikenal dengan building the kernel. 10.3 Kompile Kernel dan Modul Siapkan kesabaran, terutama bagi user yang melakukan kompilasi kernel di mesin yang memiliki prosesor lambat dan sedikit memori. Kompilasi bisa memakan waktu 10 menit pada mesin dengan prosesor Pentium yang cepat hingga sampai 1,5
  • 93. Halaman : 91 Sistem Operasi 2 : Linux jam pada mesin Intel 386. Waktu kompilasi juga bertambah bila sistem digunakan untuk menjalankan proses lain pada saat itu. Tetap di direktori /usr/src/linux, jalankan perintah: $make dep; make clean; make zImage Perintah pertama, make dep, membaca file konfigurasi dan membentuk dependency tree. Proses ini mengecek apa yang di kompile dan apa yang tidak di kompile. Selanjutnya, make clean, menghapus seluruh jejak kompilasi yang pernah dilakukan sebelumnya. Ini memastikan agar tidak ada feature versi lama yang tersisa. Terakhir, make zImage, adalah kompilasi sesungguhnya. Bila tidak ada pesan kesalahan, akan terbentuk kernel yang terkompresi dan siap di instalasi. Sebelum instalasi kernel, modul-modul yang berhubungan perlu di kompile juga dengan: #make modules Pastikan tidak ada kesalahan. 10.4 Instalasi Kernel Kemudian untuk melakukan instalasi kernel terlebih dahulu cek lokasi kernel, biasanya nama kernel dimulai dengan vmlinuz, biasanya ada di direktori /boot. Atau buka file /etc/lilo.conf untuk memastikannya. Setelah itu copy file /usr/src/linux/arch/i386/boot/zImage ke direktori /boot dengan nama lain contohnya: $cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-2.0.34-baru Catatan: bila tidak ditemukan file zImage, berarti masih ada kesalahan dalam kompilasi. Sebelum kernel modul di instalasi, sebaiknya backup dulu modul lama. Modul ada di direktori /lib/modules, rename modul dengan nama lain:
  • 94. Halaman : 92 Sistem Operasi 2 : Linux $cd /lib/modules $mv 2.0.34 2.0.34-backup Keuntungan membackup modul ini adalah bila ternyata nanti modul baru tidak berjalan baik, maka modul lama bisa digunakan lagi dengan menghapus modul baru dan merename modul backup menjadi 2.0.34 kembali. Selanjutnya, kembali lagi ke /usr/src/linux dan jalankan perintah di bawah untuk memginstalasi modul ke kernel: $make modules_install Akhirnya, edit /etc/lilo untuk menentukan kernel yang akan di pakai dan jangan lupa menjalankan lilo: $ lilo Selesai, reboot sistem dan lihat hasilnya. 10.5 Patch Kernel Setiap di keluarkannya kernel versi baru juga di keluarkan sebuah file patch. File patch ini jauh lebih kecil dari file source kernel sehingga jauh lebih cepat bila digunakan untuk upgrade kernel. File patch hanya bekerja untuk mengupgrade satu versi kernel dibawahnya. Misalnya, versi kernel 2.0.27 hanya bisa diupgrade dengan file patch 2.0.28 menjadi kernel 2.0.28. Begitu pula bila kernel 2.0.27 tersebut ingin diupgrade menjadi kernel 2.0.30 maka diperlukan file patch 2.0.28, 2.0.29 dan 2.0.30. Perhatikan, kernel 2.0.27 tidak bisa langsung dipatch menjadi 2.0.30 tanpa melalui file patch 2.0.28, 2.0.29 dan 2.0.30. File-file patch tersebut juga tersedia pada direktori yang sama di FTP dan Website yang biasa menyediakan source kernel.
  • 95. Halaman : 93 Sistem Operasi 2 : Linux File-file patch tersedia dalam format .gz, setelah di download, pindahkan file patch ini ke direktori /usr/src. Pastikan source kernel versi lama sudah di instalasi juga. Pada direktori yang lama jalankan perintah: gzip -cd patch-2.0.28.gz | patch -p0 Setelah itu periksa apakah ada file yang berakhiran .rej di direktori /usr/src/linux. Bila ditemukan file seperti itu maka patch yang dilakukan tidak berhasil, periksa kembali apakah file patch yang dipakai sudah benar. Beberapa file patch menurut berita kadang-kadang memang tidak sesuai untuk sebuah source kernel, terutama source kernel yang telah di modifikasi oleh developer untuk kepentingan distribusi Linux. Saya tidak tahu pasti mengenai hal ini. 10.6. LILO Untuk memuat kernel diperlukan sebuah program loader khusus. Linux telah menyediakan sebuah program yang dinamakan LILO atau Linux Loader. LILO digunakan untuk mesin Intel-compatible, sedangkan mesin lain seperti Digital Equipment Corp. menggunakan MILO. Alpha PC, SPARCH-compatible dapat menggunakan SILO. Pada saat instalasi Linux ada pilihan untuk menginstalasi LILO Bila saat instalasi pilihan ini dilewati atau Skip, LILO bisa di instalasi dengan perintah /sbin/lilo. Disamping dengan LILO, kernel juga dapat dipanggil dari DOS dengan menggunakan program LOADLIN.EXE. Cara yang mudah adalah mencopy kernel dan LOADLIN. EXE ke partisi DOS, lalu untuk memboot komputer cukup dengan mengetikkan perintah ini dari prompt DOS: c:loadlin c:vmlinuz root=/dev/hda3 ro /dev/hda3 bisa diganti sesuai dengan partisi root Linux.
  • 96. Halaman : 94 Sistem Operasi 2 : Linux Instalasi LILO dapat diistalasi dan ditempatkan pada salah satu partisi sbb: • Master Boot Record (MBR) dari hard disk. • Root Partisi Linux. • Floppy disk. Untuk menginstalasinya sangat mudah yaitu dengan perintah lilo (terdapat di direktori /sbin). Dokumentasinya dapat dibaca di /usr/doc. Ada shell script, QuickInst yang digunakan untuk mengganti LILO yang telah di instalasi. • Edit dan konfigurasi sesuai kebutuhan file /etc/lilo.conf • Jalankan /sbin/lilo untuk mengaktifkannya Beberapa file akan berubah selama instalasi LILO, berikut ini file-file yang dibuat atau berubah selama instalasi LILO: • /sbin/lilo -- map installer; keterangan lihat man lilo • /boot/boot.b -- boot loader • /boot/map -- boot map, berisi lokasi kernel • /etc/lilo.conf -- file konfigurasi LILO Untuk mencegah kerusakan sistem atau sistem tidak bisa di boot maka sebaiknya buat dulu emergency boot disk Konfigurasi Sebelum mengkonfigurasi LILO, sebaiknya mengetahui sistem operasi yang ada di setiap partisi hard disk serta menentukan partisi untuk meletakkan LILO. Pada umumnya LILO diletakkan pada MBR. Bila ada sistem lain seperti OS/2, sebaiknya LILO diletakkan pada superblock partisi root karena MBR akan ditempati boot loader OS/2.
  • 97. Halaman : 95 Sistem Operasi 2 : Linux Bila Linux satu-satunya sistem operasi yang ada di hard disk atau memiliki sistem operasi Windows 95/NT, LILO bisa diletakkan di MBR. Perhatikan partisi masing- masing dengan cermat, misal Windows di /dev/hda1 dan Linux di /dev/hda2. Umumnya LILO di instalasi setelah partisi hard disk dibuat dan setelah sistem operasi Linux atau yang lain sudah di instalasi. Mengedit lilo.conf Login sebagai root sebelum mengedit file ini. Buka dengan sembarang editor teks ASCII, misal vi. Contoh file lilo.conf: # Start LILO global section Boot = /dev/hda Prompt Vga = normal Ramdisk = 0 # End LILO global section image = /vmlinuz root = /dev/hda3 label = linux other = /dev/hda1 label = dos tabel = /dev/hda Parameter selengkapnya: boot=<boot_device> memberitahu device yang memiliki boot sector. Boot sector dibaca dari device ini dan di mount sebagai root. linear Mengenerate linear sector addrress. Lihat dokumentasi LILO. install=<boot_sector> Menginstal file yang telah ditentukan sebagi boot sector yang baru. Jika install tidak dipakai, /etc/lilo/boot.b dipakai sebagi default. message=<message_file> Untuk menampilkan file teks, besarnya maksimum 65,535 byte.
  • 98. Halaman : 96 Sistem Operasi 2 : Linux verbose=<level> Menampilkan progress reporting. Option lain seperti -v dan -q. Lihat dokumentasi LILO. backup=<backup_file> Menyalin boot sector asli ke file <backup_file>. force- backup<backup_file> Sama dengan backup. Option ini menimpa salinan backup yang telah dibuat dan akan mengabaikan option backup bila keduanya dipakai. prompt Meminta masukan saat boot. timeout=<tsecs> Mengeset waktu tunggu keyboard sebelum menjalankan option berikutnya. Defaultnya 5 detik. Masukkan value 0 jika ingin LILO menunggu sampai ada masukkan dari keyboard. serial=<parameter> Mengijinkan masukan dari serial line dan keyboard ke LILO. ignore-table Mengabaikan tabel partisi yang corrupt. password=<password> Memasang password untuk melindungi boot images. Uninstall LILO Menghapus atau menguninstalasi LILO dari sistem sangat mudah, dengan perintah: lilo -u atau dari partisi aktif Linux yang lain atau partisi DOS dengan menggunakan fdisk. Bila LILO di instalasi sebagai MBR, maka MBR asli sebelum ditempati LILO dapat di restore dengan cara mem-boot sistem dengan DOS, kemudian jalankan: sys c: atau fdisk /MBR
  • 99. Halaman : 97 Sistem Operasi 2 : Linux Latihan : 1. Apa yang dilakukan jika pada saat kernel baru hasil instalasi tidak mau bekerja (berjalan), pada terminal muncul error : Kernel Panic ! 2. Bagaimanakah konfigurasi LILO, jika dalam sebuah sistem LILO harus menangani 2 sistem operasi (Linux dan Windows) ? 3. Jelaskan keuntungan/kerugian jika meletakkan lilo pada MBR ? 4. Apa yang perlu dilakukan oleh administrator sistem jika terjadi kerusakan terhadap semua aplikasi kernel sehingga sistem menjadi down. 5. Jelaskan perbedaan pembuatan kernel menggunakan make bzImage dan make zimage
  • 100. Halaman : 98 Sistem Operasi 2 : Linux BAB XI Kompresi File dan Sistem Backup (Pertemuan 15) Berbagai masalah dapat menyebabkan lenyapnya data, file secara tidak sengaja dapat terhapus, rusaknya hardware, kecelakaan dan bencana, serangan-serangan, bug-bug, informasi penting yang disimpan dalam file-file tidak lagi tersedia dan masih banyak faktor lain. Organisasi adalah masa depan seorang administrator sistem, kontek ini pada beberapa kasus dapat tergantung pada tersedia atau tidaknya file-file backup yang dimiliki. Terkadang saat terjadi kecelakaan yang melenyapkan data, rekan-rekan kerja dan organisasi akan berterima kasih ketika ternyata telah dilakukan penghamanan data oleh sistem administator dengan melakukan backup secara reguler dan terjadwal. Mem-backup file-file adalah suatu kebutuhan, namun banyak administrator meremehkan hal ini. Bakup menjadi suatu yang penting karena alasan-alasan : - Error disebabkan user-user - Error disebabkan staff-staff sistem - Kerusakan hardware - Kerusakan software - Perusakan dan penyerangan elektronik - Pencurian - Bencana alam - Kecelakaan - Sebagai arsip informasi Lakukan backup terhadap segala sesuatu yang dianggap unik atau penting pada sistem, termasuk semua file user, beberapa database sistem (seperti /etc/passwd,
  • 101. Halaman : 99 Sistem Operasi 2 : Linux /etc/tty) dan direktori sistem (seperti /bin dan /usr/bin) khususnya yang sudah dilakukan modifikasi. Dalam sistem operasi Linux dilengkapi dengan aplikasi backup yang terdiri dari dua bagian : 1. Copy Bentuk sederhana dari backup adalah cukup dengan meng-copy file-file dan direktori ke disk atau tape. Untuk melakukan itu dapat menggunakan perintah cp dan dd. 2. Arsip Aplikasi untk pengarsipan dapat digunakan salah satu dari tiga tools yang umumnya sudah tersedia pada distribusi Linux, antara lain ar, tar, dan cpio 11.1 Program cp Tools ini digunakan untuk copy file dan direktori dengan format perintah adalah : cp [options] file path cp [options] file... directory Contoh : #crontab –l 30 23 * * * cp /etc/passwd /mnt/backup 11.2 Program dd Perintah ini digunakan untuk mengkopy suatu file atau direktori menuju ke device secara langsung, misalnya tape, disk. Format pernulisannya : dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]
  • 102. Halaman : 100 Sistem Operasi 2 : Linux Contoh : $dd if=myfile of=/dev/mytape conv=sync $ dd if=myfile of=/dev/fd0 bs=1k seek=172 $dd if=/etc/* of=/dev/fd0 11.3 Program tar tar adalah utility yang lazim digunakan di Unix untuk membuat direktori dan file menjadi satu atau dengan kata lain mempaketkan. Nama tar sendiri berasal dari kata Tape Archiver. Banyak software untuk Linux didistribusikan dalam bentuk tar ini, memang kini banyak yang sudah menggunakan bentuk paket yang lainnya yaitu rpm (Red Hat Packet Manager) dan deb (Debian). Akan tetapi tidak semua sistem memiliki utility untuk menangani rpm, dan deb ini. Tetapi bisa dikatakan semua sistem Unix memiliki utility tar ini. File yang disimpan sebagai file tar ini lazim dikenal dengan nama file arsip (archieve file). Berikut ini adalah tip singkat untuk menggunakan tar. • tar -xvzf <nama_file_tar> Melakukan proses pemekaran (uncompress) pada file bernama nama_file_tar dengan menggunakan gzip, dan lalu membongkar file arsip tersebut. Proses ini biasanya dilakukan terhadap file arsip yang memiliki ekstensi tgz atau tar.gz • tar -xvf <nama_file_tar&gt: Membongkar suatu file arsip tanpa melakukan pemekaran, dilakukan terhadap file arsip yang memiliki ekstension tar • tar -tvf <nama_file_tar> Menampilkan daftar isi dari file arsip bernama nama_file_tar.
  • 103. Halaman : 101 Sistem Operasi 2 : Linux • tar -cvzf <nama_file_arsip> <direktori_sumber> Melakukan pemaketan dari direktori_sumber dalam bentuk tar dan lalu melakukan proses pengompresan dengan gzip. Hasil dari proses ini adalah tgz atau tar.gz. • tar -cvf <nama_file_arsip> <direktori_sumber> Melakukan pemaketan dari direktori_sumber dalam bentuk tar. Hasil dari proses ini adalah tar Contoh : $ tar cvf backup.tar /etc $ tar xvf backup.tar $ tar cvf backup.tar /etc/hosts /etc/group /etc/passwd Latihan : 1. Bagaimanakah membuat file backup dari /etc/* kedalam file backup.tar.gz 2. Bagaimanakah proses backup yang dilakukan secara terjadwal, dimana proses backup dilakukan setiap jam 12 malam pada file /var/spool/mail/* 3. Bagaimanakah proses restore terhadap file yang telah terbackup ke dalam flopy menggunakan aplikasi dd 4. Jelaskan bagaimanakah mekanisme backup dengan rsync !
  • 104. Halaman : 103 Sistem Operasi 2 : Linux BAB XII KONEKSI JARINGAN (Pertemuan 16) Untuk permulaan, harus mengenali kartu jaringan terlebih dahulu sebelum melakukan konfigurasi. Dalam Linux, kartu jaringan (NIC) dinamai berdasar urutan interface, misalnya eth0 untuk device ethernet pertama, eth1, eth2, ppp0, bridge0 dan sebagainya. Untuk mengetahui kartu jaringan dikenali sewaktu proses booting, atau setelah proses booting menggunakan perintah dmesg. 12.1 Perintah Modprobe Khususnya pada jaringan yang menggunakan device ethernet, sebelum mengkonfigurasikan jaringan (network), tentu kita harus mengaktifkan kedua ethernet card tersebut, yaitu dengan menggunakan perintah "modprobe". Andaikan mempunyai 2 (dua) buah ethernet card yang berbeda, maka seletah menjalankan perintah "modprobe" untuk masing-masing "module" yang dipergunakan pada saat mengaktifkan ethernet card tersebut diperoleh "pesan" bahwa module-module tersebut berhasil diaktifkan atau tidak, dan dapat melihatnya melalui pesan yang muncul pada file "log" "messages" atau "syslog" yang berada di direktori "/var/log/" dengan batuan perintah "tail", atau dapat pula dilihat melalui perintah "dmesg" atau menggunakan perintah "lsmod" untuk melihat daftar module-module kernel yang telah aktif. contoh: root@hostname:~# modprobe 3c59x root@hostname:~# modprobe 8139too root@hostname:~# tail /var/log/messages root@hostname:~# tail /var/log/syslog root@hostname:~# dmesg root@hostname:~# lsmod
  • 105. Halaman : 104 Sistem Operasi 2 : Linux Apabila terdapat keterangan-keterangan tentang kedua ethernet card dari hasil perintah-perintah tersebut, berarti kedua ethernet card tersebut telah aktif. dan nanti nya akan memiliki 2 (dua) buah "interface" yang telah aktif, masing-masing adalah: "eth0" dan "eth1". Pada kasus lain, secara kebetulan mempunyai 2 (dua) buah ethernet yang mempunyai "module" yang sama, hal ini dapat terjadi walaupun kedua ethernet tersebut berbeda merek, namun karena "chipset" untuk kedua ethernet tersebut sama, maka "module" untuk mengaktifkannya pun tentu akan sama pula. Dan ini memang dapat terjadi, karena pada dasarnya module-module kernel yang ada untuk mengaktifkan driver-driver TIDAK berdasarkan merek melainkan berdasarkan CHIPSET. Dan pada kasus ini, hanya perlu mengaktifkan "module" tersebut hanya satu kali, karena secara otomatis, kedua ethernet tersebut akan teraktifkan langsung kedua-duanya. Untuk module ethernet card yang sering mempunyai chipset yang sama adalah dari jenis "cloning" realtek 8139 (8139too), yang dapat berasal dari REALTEK, COMPEX, D-Link. Namun karena terdapat perbedaan pada MAC-Address nya, maka kedua ethernet card yang memiliki module yang sama tersebut akan dapat aktif sebagai interface "eth0" dan "eth1". Catatan: jika mengaktifkan "hotplug" seperti pada slackware mulai versi 9.0 maka secara otomatis module-module yang secara umum mudah terdeteksi, akan segera diaktifkan pada saat proses "booting", sehingga tidak perlu mengaktifkannya kembali, hanya perlu memeriksa bahwa module-module tersebut telah aktif melalui perintah-perintah seperti: "dmesg" atau "lsmod" saja. 12.2 Perintah ifconfig Selanjutnya, bagaimanakah cara menggunakan interface yang telah aktif tersebut agar dapat dikoneksikan dengan baik, untuk ke internet maupun untuk sharing dari LAN?
  • 106. Halaman : 105 Sistem Operasi 2 : Linux Dalam contoh kasus berikut, menggunakan koneksi "static" untuk koneksi ke internet nya. Koneksi static ini, biasanya akan didapatkan apabila menggunakan jenis koneksi seperti Leased-Line atau Wireless-Line, dimana IP-IP yang nantinya kita dapatkan umumnya lebih dari 1 (satu) IP. Sebelumnya, IP-IP dapat diibaratkan sebagai alamat-alamat yang terdapat pada suatu jaringan (network) tertentu baik itu di internet maupun di LAN. Dengan demikian dapat menggunakan IP-IP yang akan digunakan tersebut untuk menuju ke suatu tempat (IP) yang terdapat pada suatu jaringan (network) (internet/LAN) dimana akan kunjungi. Untuk koneksi "static" ke internet yang perlu diketahui atau ditanyakan dari ISP (provider) adalah: - IP-IP yang kita peroleh. - IP Gateway yang akan digunakan. - Netmask atau juga mungkin Broadcast Address nya. - serta DNS-DNS resolver dari ISP nya contoh: IP: 202.155.19.6-202.155.19.254 Gateway: 202.155.19.1 Broadcast: 202.155.19.255 Netmask: 255.255.255.0 DNS: 202.155.19.2, 202.155.19.4 Dari keterangan yang tersebut dapat langsung mengaktifkan koneksi ke internet nya, dengan asumsi bahwa untuk koneksi ke internet menggunakan interface "eth0" dan untuk koneksi LAN nya kita menggunakan interface "eth1". Perintah yang digunakan adalah ifconfig dengan format perintahnya adalah : ifconfig [interface] ifconfig interface [aftype] options | address ...
  • 107. Halaman : 106 Sistem Operasi 2 : Linux Contoh : root@hostname:~# ifconfig eth0 202.155.19.6 up untuk melihat hasilnya dapat menggunakan perintah "ifconfig" saja. root@hostname:~# ifconfig bash-2.05# ifconfig eth0 Link encap:Ethernet HWaddr 00:60:97:5B:72:09 inet addr:202.155.19.6 Bcast:202.155.19.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1340318 errors:0 dropped:0 overruns:0 frame:0 TX packets:524623 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:172734007 (164.7 Mb) TX bytes:234524506 (223.6 Mb) Interrupt:11 Base address:0x6000 12.3 Perintah route Untuk melewatkan paket-paket data ke internet (jaringan pada subnet lain) harus mengaktifkan "jalur" (routing) nya, yaitu dengan bantuan perintah "route". Format perintahnya : route [-CFvnee] route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If] route [-V] [--version] [-h] [--help] root@hostname:~# route add default gw 202.155.19.1 eth0 Untuk melihat "routing" yang telah kita aktifkan dapat menggunakan perintah "route" saja. root@hostname:~# route –n bash-2.05# route -n
  • 108. Halaman : 107 Sistem Operasi 2 : Linux Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 203.130.254.192 202.155.19.6 255.255.255.240 UG 0 0 0 eth0 202.155.19.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 202.155.19.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 202.155.19.1 0.0.0.0 UG 1 0 0 eth0 root@hostname:~# ping 202.155.19.2 bash-2.05# ping 202.155.19.2 PING 202.155.19.2 (202.155.19.2): 56 octets data 64 octets from 202.155.19.2: icmp_seq=0 ttl=255 time=1.5 ms 64 octets from 202.155.19.2: icmp_seq=1 ttl=255 time=0.7 ms 64 octets from 202.155.19.2: icmp_seq=2 ttl=255 time=0.5 ms --- 202.155.19.2 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 0.5/0.9/1.5 ms 12.4 Menentukan DNS Sampai di sini sebetulnya telah terhubung ke internet, namun hanya mendapatkan koneksi dengan menggunakan IP-IP saja, sementara belum tentu dapat menjelajah ke internet dengan cara menuliskan nama-nama domain atau situs-situs (website) yang biasa dipergunakan di internet. Untuk itu perlu memasukkan IP-IP DNS yang telah didapatkan tersebut ke dalam file yang bernama "resolv.conf" yang terletak pada direktori "/etc". Biasanya isi file ini masih kosong. root@hostname:~# cat /etc/resolv.conf Dan untuk menambahkan isi ke dalamnya dapat menggunakan perintah "echo". root@hostname:~# echo "nameserver 202.155.19.2" > /etc/resolve.conf root@hostname:~# echo "nameserver 202.155.19.4" >> /etc/resolv.conf Setelah ditambah kedua record tersebut, maka isi dari file /etc/resolv.conf : bash-2.05# cat /etc/resolv.conf
  • 109. Halaman : 108 Sistem Operasi 2 : Linux search stikom.edu nameserver 202.155.19.2 nameserver 202.155.19.4 Kemudian dapat menggunakan perintah "ping" untuk memeriksa apakah koneksi telah berjalan sebagaimana mestinya. root@hostname:~# ping -c 5 www.indosat.net.id Latihan : 1. Bagaimanakah langkah –langkah mengkoneksikan sistem Linux pada jaringan Internet jika menggunakan perangkat modem dan aplikasi minikom. 2. Bagaimanakah tahapan-tahapan dalam mengamankan sistem linux dari koneksi yang tidak dikehendaki menggunakan ipchains dan iptables !