Anda di halaman 1dari 156

Pembukaan Target Pembaca

Sistem operasi Slackware Linux adalah sebuah platform yang handal untuk komputer berbasis Intel. Slackware didesain untuk menjadi sistem yang stabil, aman, dan dapat berfungsi sebagai server kelas tinggi maupun workstation. Buku ini didesain agar Anda terbiasa dengan sistem operasi Slackware Linux. Bukan berarti bahwa buku ini akan membahas semua aspek dari distribusi Slackware, tetapi menunjukkan apa yang bisa dilakukannya dan memberikan Anda pengetahuan dasar tentang cara kerja sistem ini. Seiring dengan pengalaman yang Anda dapatkan dengan Slackware Linux, kami harapkan Anda dapat menjadikan buku ini sebagai sebuah referensi yang berguna. Kami juga berharap Anda bersedia meminjamkannya kepada semua teman Anda ketika mereka datang dan menanyakan tentang sistem operasi Slackware Linux yang Anda gunakan. Meskipun buku ini mungkin bukan novel yang mengasyikkan untuk Anda, kami berusaha untuk membuatnya semenarik mungkin. Dengan sedikit keberuntungan, kami akan menjadikannya sebuah film. Tentu saja, kami juga berharap Anda bisa mempelajari dan mendapatinya berguna. Dan sekarang, mari kita mulai.

Perubahan dari Edisi Pertama


Edisi kedua ini adalah puncak dari kerja keras anggota Proyek Dokumentasi Slackware yang berdedikasi selama bertahun-tahun. Berikut adalah perubahan utama pada edisi baru:

Bab 3, Installasi, telah dimodifikasi dengan tampilan baru dari installer, dan menampilkan perubahan pada disk-set, dan installasi CD. Bab 4, Konfigurasi Sistem, telah diperbarui dengan informasi baru tentang kernel Linux 2.6.x. Bab 5, Konfigurasi Jaringan, telah diperluas dengan penjelasan lebih lanjut tentang Samba, NFS, dan DHCP. Satu bagian tentang jaringan nirkabel juga telah ditambahkan. Bab ini merefleksikan perubahan utama pada bagaimana Slackware menangani setup jaringan. Bab 6, Sistem X Window, telah ditulis ulang untuk sistem berbasis Xorg. Bab ini juga membahas tentang manajer login grafis xdm. Bab 13, Perintah Jaringan Dasar, telah dikembangkan dengan informasi tentang utilitas jaringan tambahan. Bab 14, Keamanan, adalah bab baru pada edisi ini. Bab ini menjelaskan bagaimana menjaga agar sistem Slackware Linux tetap aman. Bab 17, Emacs, adalah bab baru pada edisi ini. Bab ini menjelaskan bagaimana menggunakan Emacs, sebuah editor yang handal untuk Unix. Bab 18, Manajemen Paket, telah diperbarui dengan informasi tentang script SlackBuild. Terdapat lebih banyak perubahan, baik kecil maupun besar untuk merefleksikan perubahan pada Slackware seiring dengan perkembangannya yang lebih matang.

Organisasi dari Buku ini


Bab 1, Perkenalan

Menyediakan materi perkenalan tentang Linux, Slackware, dan Open Source dan Pergerakan Free Software. Bab 2, Bantuan Menjelaskan sumber-sumber bantuan yang tersedia pada sistem Slackware Linux dan juga online. Bab 3, Installasi Menjelaskan proses installasi langkah demi langkah dengan screenshot untuk menyediakan sebuah ilustrasi. Bab 4, Konfigurasi Sistem Menjelaskan berkas konfigurasi yang penting dan membahas kompilasi kernel. Bab 5, Konfiguraasi Jaringan Menjelaskan bagaimana menghubungkan sebuah mesin Slackware Linux pada sebuah jaringan. Membahas TCP/IP, PPP/dial-up, jaringan nirkabel, dan lain-lain. Bab 6, Sistem X Window Menjelaskan bagaimana melakukan setup dan menggunakan Sistem X Window grafis pada Slackware. Bab 7, Boot Menjelaskan proses pada saat sebuah komputer boot ke Slackware Linux. Juga membahas dualboot dengan sistem operasi Windows. Bab 8, Shell Menjelaskan antarmuka perintah baris yang sangat hebat untuk Linux. Bab 9, Struktur Sistem Berkas Menjelaskan struktur sistem berkas, termasuk kepemilikan berkas, hak akses, dan link (tautan). Bab 10, Penanganan Berkas dan Direktori Menjelaskan perintah-perintah yang digunakan untuk memanipulasi berkas dan direktori dari antarmuka perintah baris. Bab 11, Kontrol Proses Menjelaskan perintah-perintah manajemen proses pada Linux yang digunakan untuk mengelola banyak aplikasi yang sedang berjalan. Bab 12, Administrasi Sistem

Menjelaskan tugas-tugas administrasi sistem dasar seperti menambahkan dan menghapus pengguna, menghentikan sistem dengan benar, dan lain-lain. Bab 13, Perintah Jaringan Dasar Menjelaskan koleksi dari klien jaringan yang disertakan pada Slackware. Bab 14, Keamanan Menjelaskan berbagai perangkat yang berbeda yang tersedia untuk menjaga agar sistem Slackware Anda tetap aman, termasuk iptables dan tcpwrappers. Bab 15, Berkas Arsip Menjelaskan beberapa metode kompresi dan juga utilitas arsip yang tersedia untuk Linux. Bab 16, vi Menjelaskan editor teks vi. Bab 17, Emacs Menjelaskan editor teks Emacs. Bab 18, Manajemen Paket Slackware Menjelaskan utilitas paket Slackware dan proses-proses yang digunakan untuk membuat paket dan file tag hasil kustomisasi. Bab 19, ZipSlack Menjelaskan versi ZipSlack dari Linux yang dapat digunakan dari Windows tanpa membutuhkan sebuah installasi. Lampiran A, Lisensi GNU General Public Menjelaskan perjanjian lisensi tentang bagaimana Slackware Linux dan buku ini dapat disalin dan didistribusikan.

Konvensi yang digunakan pada buku ini


Untuk menyediakan bacaan yang konsisten dan mudah dibaca, beberapa konvensi digunakan pada buku ini.

Konvensi Tipografi
Italic Font miring digunakan untuk perintah, teks yang ditekankan, dan penggunaan pertama untuk istilah-istilah teknis. Monospace

Font monospace digunakan untuk pesan kesalahan, perintah, variabel lingkungan, nama port, nama host, nama pengguna, nama grup, nama perangkat, variabel, dan potongan kode. Bold Font tebal digunakan untuk masukan pengguna pada contoh.

Masukan Pengguna
Kunci-kunci akan ditampilkan dalam huruf tebal untuk membedakan dengan teks yang lain. Kombinasi kunci yang berarti harus ditekan secara bersamaan ditampilkan dengan `+' diantara kunci, seperti: Ctrl+Alt+Del Berarti pengguna harus menekan kunci Ctrl, Alt, dan Del pada waktu yang sama. Kunci yang harus ditekan berurutan akan dipisahkan dengan koma, seperti contoh: Ctrl+X, Ctrl+S Berarti bahwa pengguna diharapkan menekan kunci Ctrl dan X secara bersamaan dan kemudan menekan kunci Ctrl dan S secara bersamaan.

Contoh-Contoh
Contoh-contoh yang dimulai dengan E:\> mengindikasikan sebuah perintah MS-DOS. Jika tidak disebutkan, perintah-perintah ini harus dijalankan dari jendela Command Prompt pada lingkungan Microsoft Windows.
D:\> rawrite a: bare.i

Contoh-contoh yang dimulai dengan # mengindikasikan sebuah perintah yang harus dijalankan sebagai pengguna super pada Slackware. Anda bisa login sebagai root untuk menuliskan perintah, atau login sebagai account normal Anda dan gunakan su(1) untuk mendapatkan kewenangan sebagai pengguna super.
# dd if=bare.i of=/dev/fd0

Contoh-contoh yang dimulai dengan % mengindikasikan sebuah perintah yang harus dijalankan dari account pengguna normal. Jika tidak disebutkan, sintaks C-shell akan digunakan untuk setting variabel lingkungan dan juga perintah shell lainnya.
% top

Penghargaan
Proyek ini adalah akumulasi pekerjaan selama berbulan-bulan dari banyak individu yang berdedikasi. Tidak mungkin bagi saya untuk membuat pekerjaan ini dalam kevakuman. Banyak orang pantas mendapatkan rasa terima kasih kami untuk pekerjaan mereka: Keith Keller untuk pekerjaannya pada jaringan nirkabel, Joost Kremers untuk pekerjaannya pada penulisan bab emacs sendirian, Simon Williams untuk bab keamanan, Jurgen Phillippaerts untuk perintah jaringan dasar, Cibao Cu Ali G

Colibri untuk inspirasi. Orang-orang lain yang tidak terhitung yang telah mengirimkan pendapat dan perbaikan. Daftar yang tidak lengkap meliputi: Jacob Anhoej, John Yast, Sally Welch, Morgan Landry, dan Charlie Law. Saya juga hendak berterima kasih kepada Keith Keller untuk hosting mailing list untuk proyek ini, dan juga Carl Inglis untuk hosting web awal. Selain itu, saya juga hendak berterima kasih kepada Patrick J. Volkerding untuk Slackware Linux, dan David Cantrell, Logan Johnson, dan Chris Lumens untuk Edisi pertama Slackware Linux Essentials. Tanpa kerangka awal mereka, semua ini tidak akan terwujud. Banyak orang lain yang telah berkontribusi pada proyek ini baik besar maupun kecil dan mungkin tidak terdaftar. Saya harap mereka bersedia memaafkan saya karena keterbatasan ingatan saya.

Bab 1 Perkenalan Slackware Linux


Daftar Isi 1.1 Apa itu Linux? 1.2 Apa itu Slackware? 1.3 Open Source dan Free Software

1.1 Apa itu Linux?


Linus Torvalds memulai Linux, sebuah kernel sistem operasi, sebagai sebuah proyek pribadi pada tahun 1991. Dia memulai proyek ini karena dia ingin menjalankan sistem operasi berbasis Unix tanpa mengeluarkan terlalu banyak uang. Sebagai tambahan, ia juga hendak mempelajari prosesor 386. Linux dirilis tanpa biaya kepada publik sehingga setiap orang bisa mempelajarinya dan membuat perbaikan dibawah lisensi General Public. (Lihat Bagian 1.3 dan Lampiran A untuk sebuah penjelasan tentang lisensi.) Saat ini, Linux telah berkembang menjadi sebuah pemain utama dalam pasar sistem operasi. Linux telah diporting untuk berjalan pada berbagai sistem arsitektur, termasuk HP/Compaq Alpha, Sun SPARC dan UltraSPARC, dan Motorola PowerPC chip (melalui komputer Apple Macintosh dan IBM RS/6000.) Ratusan, jika tidak ribuan pemrogram diseluruh dunia sekarang turut serta mengembangkan Linux. Linux menjalankan program-program seperti Sendmail, Apache, dan BIND, yang merupakan perangkat lunak yang sangat populer yang digunakan untuk menjalankan server-server Internet. Penting untuk diingat bahwa istilah Linux hanya merujuk pada kernel - inti dari sebuah sistem operasi. Inti ini bertanggung jawab untuk mengontrol prosesor, memori, hard drive, dan periperal komputer Anda. Itu semua apa yang dikerjakan oleh Linux: Ia mengontrol operasi dari komputer Anda dan memastikan bahwa semua programnya bertindak sesuai dengan keinginan. Berbagai macam perusahaan dan individual membundel kernel dan berbagai program bersama-sama untuk membuat sebuah sistem operasi. Kami menyebut setiap bundel tersebut sebuah distribusi Linux.

1.1.1 Sepenggal Kata tentang GNU


Proyek Kernel Linux dimulai sebagai proyek percobaan oleh Linus Torvalds pada tahun 1991, tetapi seperti kata Isaac Newton, If I have seen further, it is by standing on the shoulders of giants. Ketika Linus Torvalds memulai kernel, Free Software Foundation telah membuat ide tentang perangkat lunak kolaboratif. Mereka memberinya nama GNU, sebuah akronim rekursif yang berarti GNU's Not Unix. Perangkat lunak GNU berjalan diatas kernel Linux semenjak hari ke-1. Kompiler mereka gcc digunakan untuk mengkompilasi kernel. Sekarang banyak perangkat GNU dari gcc hingga gnutar yang merupakan dasar dari setiap distribusi Linux. Untuk alasan inilah banyak pendukung Free Software Foundation menyatakan bahwa usaha mereka harus diberi kredit yang sama dengan kernel Linux. Mereka menyarankan bahwa semua distribusi Linux harus merujuk pada dirinya sebagai distribusi GNU/Linux. Ini adalah topik dimana banyak terjadi flamewar, yang hanya bisa dikalahkan oleh perang suci pendahulunya vi kontra emacs. Tujuan dari buku ini bukan untuk memanas-manasi diskusi panas ini, tetapi untuk mengklarifikasi terminologi. Ketika seseorang melihat GNU/Linux berarti sebuah distribusi Linux. Ketika seseorang melihat Linux mereka bisa merujuk pada sebuah kernel, atau pada sebuah

distribusi. Ini bisa membingungkan. Biasanya istilah GNU/Linux tidak digunakan karena terlalu panjang.

1.2 Apa itu Slackware?


Slackware, dimulai oleh Patrick Volkerding pada akhir 1992, dan dirilis kepada dunia pada 17 Juli, 1993, adalah distribusi Linux pertama yang digunakan secara luas. Volkerding pertama mempelajari Linux ketika dia membutuhkan interpreter LISP yang tidak mahal untuk sebuah proyek. Satu diantara sedikit distribusi yang ada saat itu adalah SLS Linux dari Soft Landing Systems. Volkerding menggunakan SLS Linux, memperbaiki kesalahan ketika ia menemukannya. Pada akhirnya, dia memutuskan untuk menggabungkan semua perbaikan ini pada distribusi pribadinya yang dapat digunakan oleh dirinya dan juga temannya. Distribusi privat ini dengan cepat mendapatkan popularitas, sehingga Volkerding memutuskan untuk memberinya nama Slackware dan membuatnya tersedia untuk publik. Bersamaan dengan itu, Patrick menambahkan beberapa hal baru pada Slackware; sebuah program installasi yang berbasis pada sistem menu, begitu juga dengan konsep sebuah manajemen paket, yang mengijinkan pengguna untuk menambahkan, menghapus, atau mengupgrade paket perangkat lunak pada sistemnya dengan mudah. Terdapat banyak alasan kenapa Slackware adalah distribusi Linux yang paling tua yang masih hidup. Ia tidak mencoba mengemulasi Windows, ia mencoba untuk menjadi seperti Unix sebisa mungkin. Ia tidak mencoba untuk mencakup semua proses dengan indah, GUI (Graphical User Interfaces) tunjuk dan klik. Ia memposisikan pengguna sebagai pengendali dengan mengijinkan mereka melihat secara langsung apa yang terjadi. Proses pengembangannya tidak terburu-buru untuk memenuhi waktu deadline-setiap versi muncul ketika ia sudah siap. Slackware ditujukan untuk orang yang menikmati belajar dan meningkatkan sistem mereka untuk melakukan sesuai dengan apa yang mereka inginkan. Stabilitas dan kesederhanaan Slackware adalah alasan kenapa orang akan tetap menggunakannya di masa depan. Slackware saat ini menikmati reputasinya sebagai sebuah server yang solid dan workstation yang masuk akal. Anda bisa menemukan desktop Slackware menjalankan sembarang window manager ataupun lingkungan desktop, atau tidak sama sekali. Server Slackware bertindak pada setiap kapasitas yang dapat digunakan oleh sebuah server. Pengguna Slackware adalah salah satu pengguna Linux yang paling puas. Tentu saja kita akan mengatakan demikian. :^)

1.3 Open Source dan Free Software


Didalam komunitas Linux, terdapat dua pergerakan ideologi besar dalam bekerja. Pergerakan Free Software (yang akan kita lihat sebentar lagi) bekerja demi tujuan untuk membuat semua perangkat lunak bebas dari pembatasan hak kekayaan intelektual. Pengikut dari pergerakan ini percaya bahwa pembatasan ini hanya akan menghambat pengembangan teknis dari kebaikan komunitas. Pergerakan Open Source bekerja untuk tujuan yang hampir sama, tetapi menggunakan pendekatan yang lebih pragmatis. Pengikut dari pergerakan ini lebih untuk memilih untuk mendasarkan argumen mereka pada nilai ekonomis dan teknis dari pembuatan kode sumber tersedia secara bebas, daripada prinsip moral dan etik yang mendasari pergerakan Free Software. Pada sisi lain dari spektrum adalah grup yang ingin menjaga kontrol yang lebih ketat pada perangkat lunak mereka. Pergerakan Free Software dikepalai oleh Free Software Foundation, sebuah organisasi pendana untuk Proyek GNU. Perangkat Lunak Bebas lebih dari sebuah ideologi. Ekspresi yang paling sering digunakan adalah free as in speech, not free as in beer. Dalam esensinya, Perangkat Lunak Bebas adalah sebuah usaha untuk menjamin beberapa hak baik bagi pengguna dan juga pengembang. Kebebasan ini meliputi

kebebasan untuk menjalankan program untuk setiap alasan, untuk mempelajari dan memodifikasi kode sumber, untuk mendistribusikan ulang sumber, dan untuk membagikan modifikasi yang Anda buat. Dalam menjamin kebebasan-kebebasan ini, Lisensi GNU General Public (GPL) dibuat. GPL, secara umum menyatakan bahwa seseorang yang mendistribusikan sebuah program yang dikompilasi yang dilisensikan dibawah GPL juga harus menyediakan kode sumber, dan diperbolehkan untuk membuat modifikasi terhadap program selama modifikasi tersebut juga tersedia dalam bentuk kode sumber. Hal ini menjamin bahwa ketika sebuah program terbuka untuk komunitas, ia tidak dapat ditutup kecuali oleh semua pengembang dari kode (termasuk modifikasi). Banyak program-program Linux dilisensikan dibawah GPL. Sangatlah penting untuk mencatat bahwa GPL tidak menuliskan apapun tentang harga. Memang aneh, Anda bisa meminta bayaran untuk perangkat lunak bebas. Bagian kebebasan adalah pada kebebasan dimana Anda mendapatkannya dengan kode sumbernya, bukan pada harga yang Anda bayar untuk perangkat lunak. (Namun, ketika seseorang telah menjualnya kepada Anda, atau bahkan memberikannya kepada Anda, sebuah program yang dikompilasi dan dilisensikan dibawah GPL, mereka juga harus menyediakan kode sumbernya.) Lisensi lain yang populer adalah lisensi BSD. Kontras dengan GPL, lisensi BSD tidak memberikan kebutuhan untuk menyertakan kode sumber. Perangkat lunak yang didistribusikan dibawah lisensi BSD mengijinkan distribusi dalam bentuk kode sumber atau biner ketika beberapa kondisi dipenuhi. Kredensial pembuat tidak bisa digunakan sebagai bentuk publikasi dari sebuah program. Lisensi juga membebaskan penulis dari kerusakan yang mungkin muncul dari penggunaan perangkat lunak tersebut. Sebagian besar dari perangkat lunak yang disertakan pada Slackware Linux dibawah lisensi BSD. Pada sisi depan dari pergerakan Open Source yang lebih baru, Open Source Initiative adalah sebuah organisasi yang hadir untuk mendapatkan dukungan untuk perangkat lunak open source, yaitu perangkat lunak yang kode sumbernya tersedia beserta dengan program yang siap dijalankan. Mereka tidak menawarkan lisensi tertentu, tetapi mereka mendukung beberapa lisensi open source yang tersedia. Ide dibalik OSI adalah mendapatkan perusahaan dibelakang open source dengan mengijinkan mereka menulis lisensi open sourcenya masing-masing dan lisensi itu akan disertifikasi oleh Open Source Initiative. Banyak perusahaan yang ingin merilis kode sumber, tetapi tidak ingin menggunakan GPL. Karena mereka tidak bisa mengganti GPL secara radikal, mereka ditawarkan sebuah kesempatan untuk menyediakan lisensinya masing-masing dan disertifikasi oleh organisasi ini. Meskipun Free Software Foundation dan Open Source Initiative bekerja bersama untuk membantu satu sama lain, mereka bukan sesuatu yang sama. Free Software Foundation menggunakan lisensi tertentu dan menyediakan perangkat lunak dibawah lisensi tersebut. Open Source Initiative mencari dukungan untuk semua lisensi open source, termasuk salah satunya dari Free Software Foundation. Latar belakang dimana setiap pihak harus menyediakan kode sumbernya secara bebas terkadang memisahkan kedua pergerakan ini, tetapi kenyataannya kedua ideologi ini bekerja bersama-sama menuju tujuan yang sama.

Bab 2 Bantuan
Daftar Isi 2.1 Bantuan Sistem 2.2 Bantuan Online Terkadang ada sebuah waktu dimana Anda membutuhkan bantuan dengan sebuah perintah tertentu, melakukan setting sebuah program, atau mengusahakan sebuah perangkat keras bekerja. Mungkin Anda hanya ingin memahami perintah dengan lebih baik, atau melihat opsi-opsi lain yang tersedia yang siap digunakan. Untungnya, terdapat beberapa cara yang dapat Anda gunakan untuk mendapatkan bantuan yang Anda cari. Ketika Anda menginstall Slackware Anda memiliki opsi untuk menginstall paket-paket

dari seri F yang menyertakan FAQ dan HOWTO. Program juga hadir dengan bantuan tentang opsiopsinya, file konfigurasi, dan penggunaan.

2.1 Bantuan Sistem


2.1.1 man
Perintah man (kependekan dari manual) adalah bentuk tradisional dari dokumentasi online pada sistem operasi Unix dan Linux. Terdiri dari berkas-berkas yang diformat secara khusus, halaman man, ditulis dari program-program besar dan didistribusikan didalam perangkat lunak itu sendiri. Menjalankan man perintahTertentu akan menampilkan halaman man dari (secara alami) perintah tertentu, seperti pada contoh kami adalah program imajinatif perintahTertentu. Seperti yang bisa Anda bayangkan, jumlah dari halaman manual terus bertambah dengan cepat, menjadi membingungkan dan rumit, bahkan untuk pengguna ahli. Sehingga, untuk alasan inilah, halaman manual dikelompokkan pada beberapa bagian. Sistem ini telah ada untuk waktu yang cukup lama; cukup lama sehingga Anda akan sering melihat perintah, program, bahkan fungsi pustaka program merujuk pada nomor bab dari manual. Sebagai contoh: Anda mungkin melihat sebuah referensi ke man(1). Penomoran ini memberitahu Anda bahwa man didokumentasikan pada bagian 1 (Perintah pengguna); Anda bisa menentukan bahwa Anda ingin manual bagian 1 dari perintah man dengan perintah man 1 man. Menentukan bagian yang harus dicari oleh man berguna pada kasus beberapa hal dengan nama yang sama. Tabel 2-1. Bab-bab Halaman Manual Bagian Bagian 1 Bagian 2 Bagian 3 Bagian 4 Bagian 5 Bagian 6 Bagian 7 Bagian 8 Isi perintah pengguna (hanya intro) system calls pemanggilan pustaka C perangkat (Cth. hd, sd) format berkas dan protokol (Cth. wtmp, /etc/passwd, nfs) permainan (hanya intro) konvensi, paket-paket makro, dll. (e.g., nroff, ascii) administrasi sistem (hanya intro)

Selain man(1), terdapat perintah whatis(1) dan apropos(1) yang tersedia untuk Anda, yang berbagi tujuan yaitu memudahkan pencarian informasi pada sistem man. Perintah whatis memberikan deskripsi jelas tentang perintah sistem, dengan gaya referensi perintah saku. Contoh:
% whatis whatis whatis (1) - search the whatis database for complete words

Perintah apropos digunakan untuk mencari halaman manual yang berisi kata kunci yang diberikan.

Contoh:
% apropos wav cdda2wav (1) netwave_cs (4) oggdec (1) wavelan (4) wavelan_cs (4) wvlan_cs (4) a sampling utility that dumps CD audio data into wav sound files Xircom Creditcard Netwave device driver simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW) AT&T GIS WaveLAN ISA device driver AT&T GIS WaveLAN PCMCIA device driver Lucent WaveLAN/IEEE 802.11 device driver

Jika Anda ingin informasi lebih lanjut tentang sembarang perintah ini, lihat halaman manual untuk lebih detailnya. ;)

2.1.2 Direktori /usr/doc


Sumber untuk sebagian besar paket-paket yang kami bangun hadir dengan beberapa dokumentasi: berkas README, instruksi penggunaan, berkas lisensi, dll. Semua dokumentasi yang hadir bersama dengan kode sumber disertakan dan terinstall pada sistem Anda pada direktori /usr/doc. Setiap program akan (biasanya) menginstall dokumentasinya dengan bentuk:
/usr/doc/$program-$versi

Dimana $program adalah nama program yang hendak Anda baca, dan $versi adalah (jelas) versi yang sesuai dengan perangkat lunak yang terinstall pada sistem Anda. Sebagai contoh, untuk membaca dokumentasi dari perintah man(1) Anda mungkin harus melakukan cd ke:
% cd /usr/doc/man-$versi

Jika membaca halaman manual yang sesuai tidak memberikan Anda informasi yang cukup, atau mencakup apa yang ingin Anda cari, direktori /usr/doc adalah tujuan Anda berikutnya.

2.1.3 HOWTO dan mini-HOWTO


Adalah semangat sejati dari komunitas Open Source yang membawa kita kepada koleksi HOWTO/miniHOWTO. Berkas-berkas ini secara jelas menjelaskan dirinya sendiri - dokumen dan panduan yang menjelaskan bagaimana melakukan sesuatu. Jika Anda menginstall koleksi HOWTO, HOWTO tersebut akan diinstall pada /usr/doc/Linux-HOWTOs dan mini-HOWTOs pada /usr/doc/Linux-mini-HOWTOs. Yang juga disertakan pada seri paket adalah koleksi dari FAQ, yang adalah akronim dari Frequently Asked Questions Dokumen-dokumen ini ditulis dalam bentuk Pertanyaan dan jawaban untuk Pertanyaan yang Sering Ditanyakan. FAQ seringkali tempat yang berguna jika Anda hanya ingin mencari sebuah Perbaikan Cepat pada sesuatu. Jika Anda memutuskan untuk menginstall FAQ selama setup, Anda akan menemukan mereka terinstall pada direktori /usr/doc/Linux-FAQs. Berkas-berkas ini patut dibaca ketika Anda tidak yakin bagaimana melanjutkan dengan sesuatu. Mereka membaca berbagai macam topik, lebih banyak dari yang seharusnya. Barang yang bagus!

2.2 Bantuan Online


Sebagai tambahan dari dokumentasi yang disediakan dan yang terinstall dalam Sistem Operasi Slackware Linux, terdapat banyak sekali sumber daya online yang dapat Anda pelajari juga.

2.2.1 Halaman Web Resmi dan Forum Bantuan


Halaman Web Resmi Slackware Halaman Resmi Slackware Linux terkadang terlihat usang, tetapi tetap mengandung informasi yang relevan tentang versi terbaru dari Slackware. Pada suatu ketika sebuah forum bantuan yang aktif hadir sebelum para troll, biang masalah muncul pada forum. Mengelola sebuah forum pada awalnya menjadi pekerjaan yang cukup berat, sehingga Pat menutupnya. Anda bisa menemukan cadangan forum yang lama lengkap dengan arsip yang dapat dicari pada http://www.userlocal.com/phorum/. Setelah forum dihentikan pada http://slackware.com, beberapa situs lain muncul yang menawarkan dukungan forum untuk Slackware. Setelah berpikir panjang, Pat memilih www.linuxquestions.org sebagai forum resmi untuk Slackware Linux.

2.2.2 Dukungan E-mail


Setiap orang yang membeli CD resmi mendapatkan dukungan installasi gratis via e-mail dari para pengembang. Dikatakan, harap mengerti bahwa kami, para pengembang (dan juga sebagian besar pengguna) dari Slackware adalah Old School. Hal itu berarti bahwa kami lebih memilih untuk membantu mereka-mereka yang memiliki ketertarikan yang tinggi dan bersedia membantu dirinya dalam proses. Kami berusaha semampu kami untuk membantu setiap orang yang mengirimkan email kepada kami tentang pertanyaan dukungan. Namun, harap melihat dokumentasi Anda dan halaman web (terutama FAQ dan beberapa forum yang didaftar dibawah) sebelum mengirimkan e-mail. Anda akan mendapatkan jawaban yang lebih cepat dengan cara itu, dan semakin sedikit e-mail yang harus kami jawab, semakin cepat kami bisa membantu mereka yang membutuhkan. Alamat e-mail untuk dukungan teknis adalah: support@slackware.com. Alamat e-mail lain dan informasi kontak terdaftar pada halaman web.

2.2.2.1 Mailing List Proyek Slackware Linux


Kami memiliki beberapa mailing list, tersedia dalam mode digest dan normal. Lihat instruksi untuk berlangganan. Untuk berlangganan pada sebuah mailing list, email: majordomo@slackware.com dengan frase subscribe [nama daftar] pada tubuh email. Daftar pilihan dideskripsikan dibawah (gunakan salah satu nama berikut untuk nama daftar). Arsip tentang mailing list dapat ditemukan pada halaman web Slackware pada : http://slackware.com/lists/archive/ slackware-announce

Mailing list slackware-announce adalah untuk pengumuman untuk versi baru, update major, dan informasi umum lainnya. slackware-security Mailing list slackware-security adalah untuk pengumuman yang berhubungan pada isu-isu keamanan. Sembarang exploit atau kecacatan yang langsung menyerang Slackware akan dikirimkan pada daftar ini secepatnya. Daftar-daftar ini juga tersedia dalam format digest. Hal ini berarti Anda mendapatkan satu pesan yang besar per hari daripada beberapa pesan dalam sehari. Karena mailing list slackware tidak mengijinkan pengguna untuk mengirim sesuatu, dan daftarnya tidak memiliki trafik yang tinggi, sebagian besar pengguna mendapatkan keuntungan pada daftar digest. Tetap saja, mereka selalu tersedia jika Anda menginginkannya dengan mendaftarkan diri pada slackware-announce-digest atau slackware-securitydigest.

2.2.3 Halaman Web Tidak Resmi dan Forum Bantuan


2.2.3.1 Halaman Web
Google Master Kung-Fu dari Mesin Pencari. Ketika Anda pasti, positif hendak mencari setiap kernel terbaru dari sebuah informasi: Tidak menerima perubahan. Google:Linux Pencarian Khusus Linux Google:BSD Pencarian khusus BSD. Slackware sangat generik sebagai sistem operasi yang mirip Unix sehingga seseorang mungkin tidak akan menemukan informasi yang sangat detail yang hampir 100% relevan dengan Slackware. Seringkali sebuah pencarian BSD menghasilkan informasi yang lebih teknis daripada pencarian Linux. Google:Groups Mencari melalui kiriman Usenet untuk kebijakan Anda. http://userlocal.com Sebuah harta karun virtual tentang pengetahuan, saran yang bagus, pengalaman pertama, dan artikel yang menarik. Seringkali tempat pertama yang Anda dengar tentang pengembangan baru pada dunia Slackware.

2.2.3.2 Sumber Daya Berbasis Web


linuxquestions.org Forum web resmi untuk pengguna Slackware. Forum Slackware LinuxISO.org

Sebuah tempat untuk mendownload dan mendapatkan bantuan dengan Linux. alt.os.linux.slackware FAQ FAQ lain

2.2.3.3 Usenet Groups (NNTP)


Usenet telah menjadi tempat para geeks untuk bertemu dan saling membantu satu sama lain sejak lama. Terdapat beberapa newsgroups yang didekasikan untuk Slackware Linux, tetapi mereka cenderung untuk diisi dengan orang-orang yang berilmu. alt.os.linux.slackware alt.os.linux.slackware, dikenal dengan aols (jangan bingung dengan AOL!) adalah salah satu tempat yang paling aktif untuk menemukan bantuan teknis dengan masalah-masalah Slackware. Seperti setiap Usenet newsgroup, beberapa partisipan yang tidak membantu (trolls) dapat membingungkan dengan argumen yang memaksa. Belajar mengabaikan troll dan mengidentifikasi orang-orang yang benar-benar berguna adalah kunci untuk memaksimalkan sumber daya ini.

Bab 3 Installasi
Daftar Isi 3.1 Mendapatkan Slackware 3.2 Kebutuhan Sistem 3.3 Partisi 3.4 Perintah setup Sebelum Anda bisa menggunakan Slackware Linux, Anda harus mendapatkannya dan menginstallnya. Mendapatkan Slackware semudah membelinya atau mendownloadnya secara gratis melalui Internet. Menginstallnya juga sangat mudah selama Anda memiliki pengetahuan dasar tentang komputer Anda dan bersedia mempelajari beberapa hal lain. Program installasinya sendiri adalah proses langkah demi langkah. Karena ini, Anda bisa menjalankan sistemnya dengan cepat. Kenyataannya, Slackware adalah salah satu yang paling cepat pada proses installasi dibandingkan distribusi Linux lainnya.

3.1 Mendapatkan
3.1.1 Disk Resmi dan Box Set
CD Slackware Linux resmi tersedia dari Slackware Linux, Inc. CD terdiri dari 4 disk. Disk pertama berisi semua perangkat lunak yang diperlukan untuk installasi server dasar, dan sistem X Window. Disk kedua adalah live cd; yaitu cd bootable yang menginstall pada RAM dan memberikan installasi sementara untuk bermain-main atau melakukan penyelamatan data atau mesin. CD ini juga berisi beberapa paket seperti lingkungan desktop KDE dan GNOME. Beberapa hal menarik lainnya juga disertakan pada disk kedua termasuk paket-paket non vital pada direktori extra. CD ketiga dan keempat berisi semua kode sumber dari Slackware, bersama dengan edisi asli dari buku ini. Seseorang dapat membeli sebuah koleksi yang menyertakan 4 disk dan salinan dari buku ini, dan juga beberapa pernak-pernik Slackware untuk menampilkan harga diri Anda. Berlangganan CD juga tersedia dengan harga yang lebih mudah.

Metode yang disarankan untuk pembelian pernak-pernik Slackware adalah secara online pada Slackware store. http://store.slackware.com Anda juga dapat menelpon atau mengirimkan e-mail. Tabel 3-1. Informasi Kontak Slackware Linux, Inc. Metode Telepon Halaman web Email Alamat Detail Kontak 1-(925) 674-0783 http://store.slackware.com orders@slackware.com 1164 Claremont Drive, Brentwood, CA 94513

3.1.2 Via Internet


Slackware Linux juga tersedia melalui Internet. Anda bisa mengirimkan email tentang pertanyaan dukungan, tetapi prioritas yang lebih tinggi akan diberikan pada mereka yang telah membeli CD resmi. Seperti yang sudah dikatakan, kami mendapatkan banyak e-mail dan waktu kami sangat terbatas. Sebelum mengirimkan e-mail tentang dukungan harap mempertimbangkan untuk membaca Bab 2 terlebih dahulu. Halaman resmi proyek Slackware Linux terletak pada: http://www.slackware.com/ Lokasi FTP utama untuk Slackware Linux adalah: ftp://ftp.slackware.com/pub/slackware/ Harap diingat bahwa situs ftp kami, meskipun terbuka untuk penggunaan secara umum tidak memiliki bandwidth yang tidak terbatas. Harap mempertimbangkan untuk menggunakan sebuah mirror yang letaknya dekat dengan Anda untuk mendownload Slackware. Sebuah daftar mirror yang tidak lengkap dapat ditemukan pada situs kami pada http://www.slackware.com/getslack.

3.2 Kebutuhan Sistem


Sebuah installasi Slackware sederhana membutuhkan kebutuhan minimal sebagai berikut: Tabel 3-2. Kebutuhan Sistem Perangkat Keras Kebutuhan Prosesor 586 RAM 32 MB Ruang Disk 1GB Media Drive 4x CD-ROM Jika Anda memiliki CD yang bootable, Anda mungkin tidak memerlukan sebuah disket. Tentu saja, jika Anda tidak memiliki CD-ROM Drive, maka Anda membutuhkan disket untuk melakukan installasi

jaringan. Sebuah kartu jaringan diperlukan untuk installasi NFS. Lihat bagian yang disebut NFS untuk informasi lebih lanjut. Kebutuhan akan ruang disk cukup menarik. Rekomendasi 1GB pada umumnya aman untuk installasi minimal, tetapi jika Anda melakukan installasi lengkap, Anda membutuhkan sekitar tiga gigabyte dari ruang disk yang tersedia ditambah ruang untuk berkas-berkas pribadi. Sebagian besar pengguna tidak melakukan installasi lengkap. Pada kenyataannya, banyak yang menjalankan Slackware sekitar 100MB dari ruang hard disk. Slackware dapat diinstall pada sistem dengan RAM yang lebih sedikit, disk drive yang lebih kecil, dan CPU yang lebih lemah, tetapi melakukan hal ini akan membutuhkan lebih banyak kesabaran. Jika Anda ingin pekerjaan yang lebih sedikit, silahkan melihat pada berkas LOWMEM.TXT pada pohon direktori untuk petunjuk yang lebih berguna.

3.2.1 Seri Perangkat Lunak


Untuk alasan kesederhanaan, Slackware telah dibagi-bagi pada seri perangkat lunak. Dulu dikenal dengan disk set karena mereka didesain untuk installasi berbasis disket, seri perangkat lunak dapat digunakan untuk mengkategorikan paket-paket yang disertakan pada Slackware. Sekarang, installasi disket tidak lagi dimungkinkan. Berikut adalah deskripsi singkat dari setiap seri perangkat lunak. Tabel 3-3. Seri Perangkat Lunak Isi Sistem dasar. Berisi perangkat lunak yang cukup untuk sistem minimal dan memiliki editor A teks dan program komunikasi sederhana. AP Beberapa aplikasi yang tidak membutuhkan Sistem X Window. D Program pengembangan. Kompiler, debuger, interpreter, dan halaman man semuanya disini. E GNU Emacs. F FAQ, HOWTO, dan dokumentasi lainnya. GNOME Lingkungan desktop GNOME. K Kode sumber untuk kernel Linux. K Desktop Environment. Sebuah lingkungan X yang berbagi banyak fitur tampilan dengan KDE MacOS dan Windows. Pustaka Qt, yang diperlukan KDE, juga terletak pada seri ini. KDEI Paket-paket internasionalisasi untuk desktop KDE. Pustaka (libraries). Pustaka yang dihubungkan secara dinamis yang diperlukan oleh banyak L program lain. N Program-program jaringan. Daemon, program mail, telnet, pembaca berita, dan sebagainya. T Sistem pemformatan dokumen teTeX. TCL Tool Command Language. Tk, TclX, dan TkDesk. X Sistem X Window dasar. XAP Aplikasi X yang bukan bagian dari lingkungan desktop (misalnya, Ghostscript dan Netscape). Y Permainan konsol BSD Seri

3.2.2 Metode Installasi

3.2.2.1 Disket
Meskipun dimungkinkan untuk menginstall Slackware Linux dari disket, peningkatan ukuran dari seri perangkat lunak (tentu saja, juga program-program individu) telah memaksa untuk meninggalkan installasi disket. Pada Slackware versi 7.1 sebagian dari installasi masih dimungkinkan untuk menggunakan disket. Seri A dan N bisa diinstall secara penuh, dan menyediakan sistem dasar untuk menginstall sisa dari distribusi. Jika Anda mempertimbangkan untuk menggunakan installasi dari disket (biasanya pada perangkat keras kuno), sangat dianjurkan untuk mencari cara lain, atau menggunakan rilis yang lebih lama. Slackware 4.0 masih sangat populer untuk alasan ini seperti 7.0. Harap diperhatikan bahwa disket masih diperlukan oleh installasi CD-ROM jika Anda tidak memiliki CD bootable, juga untuk installasi NFS.

3.2.2.2 CD-ROM
Jika Anda memiliki CD bootable, yang tersedia pada kumpulan CD resmi yang dikeluarkan oleh Slackware Linux, Inc. (lihat bagian berjudul Mendapatkan Slackware), sebuah installasi berbasis CD akan lebih mudah buat Anda. Jika tidak, Anda perlu boot dari disket. Juga, jika Anda memiliki perangkat keras khusus yang membuat penggunaan kernel pada CD bootable menjadi bermasalah, Anda mungkin harus menggunakan disket khusus. Pada Slackware versi 8.1, sebuah metode baru digunakan untuk menghasilkan CD bootable, yang tidak bekerja dengan baik pada chip BIOS lama (perlu diingat bahwa semua CD Linux mengalami masalah ini juga saat ini). Jika itu kasusnya, kami merekomendasikan boot dari disket. Bagian 3.2.3 dan Bagian 3.2.5 menyediakan informasi untuk pemilihan dan pembuatan disket untuk boot, jika diperlukan.

3.2.2.3 NFS
NFS (Network File System) adalah sebuah cara untuk membuat sistem berkas tersedia untuk mesin remote. Installasi NFS mengijinkan Anda untuk menginstall Slackware dari komputer lain pada jaringan Anda. Mesin darimana Anda menginstall harus dikonfigurasi untuk mengekspor pohon distribusi Slackware pada tempat Anda hendak menginstall. Hal ini, tentu saja membutuhkan beberapa pengetahuan tentang NFS, yang dibahas pada Bagian 5.6. Dimungkinkan untuk melakukan installasi NFS via metode tertentu seperti PLIP (melalui port parallel), SLIP, dan PPP (meskipun bukan melalui koneksi modem). Namun, kami merekomendasikan penggunaan kartu jaringan jika tersedia. Lagipula menginstall sebuah sistem operasi melalui port printer Anda akan menjadi proses yang sangat sangat lambat.

3.2.3 Disket Boot


Disket boot adalah disket yang Anda gunakan untuk boot dan memulai proses installasi. Ia berisi citra kernel yang dikompresi yang digunakan untuk mengendalikan perangkat keras selama installasi. Untuk itu, ia sangat diperlukan (kecuali Anda boot dari CD, seperti yang dibahas pada bagian bernama CDROM). Disket boot terletak pada direktori bootdisks/ pada pohon distribusi. Terdapat banyak disket boot Slackware yang dapat Anda gunakan (sekitar 16). Daftar lengkap dari disket boot, dengan deskripsi untuk setiap disket, tersedia pada pohon distribusi Slackware pada berkas bootdisks/README.TXT. Namun, banyak orang dapat menggunakan citra disket boot bare.i (untuk perangkat berbasis IDE) atau scsi.s (untuk perangkat berbasis SCSI).

Lihat Bagian 3.2.6 untuk instruksi untuk pembuatan sebuah disket dari sebuah citra. Setelah boot, Anda akan diminta untuk memasukkan disket root. Kami merekomendasikan Anda memasukkan disket boot Anda dan teruslah bermain.

3.2.4 Disket Root


Disket root berisi program setup dan juga sistem berkas yang digunakan selama installasi. Mereka juga diperlukan. Citra disket root terletak pada direktori rootdisks pada pohon distribusi. Anda harus membuat dua disket root dari citra install.1 dan install.2. Disini Anda juga bisa menemukan disket untuk network.dsk, pcmcia.dsk, rescue.dsk, dan sbootmgr.dsk.

3.2.5 Disket Suplemen


Disket suplemen diperlukan jika Anda melakukan installasi NFS atau menginstall pada sebuah sistem dengan perangkat PCMCIA. Disket suplemen terletak pada direktori rootdsks pada pohon direktori dengan nama berkas network.dsk dan pcmcia.dsk. Baru-baru ini disket suplemen lainnya seperti rescue.dsk dan sbootmgr.dsk telah ditambahkan. Disket rescue (penyelamatan) adalah citra disket root yang sangat kecil yang berjalan pada 4MB RAM drive. Ia menyertakan beberapa utilitas jaringan sederhana dan juga editor vi untuk perbaikan yang cepat pada mesin yang rusak. Disket sbootmgr.dsk digunakan untuk melakukan boot perangkat lain. Jalankan disket ini jika drive CD-ROM Anda tidak melakukan boot pada CD Slackware. Ia akan menampilkan beberapa cara untuk boot dan mungkin menawarkan solusi untuk BIOS yang bermasalah. Disket root akan menginstruksikan kepada Anda tentang penggunaan disk suplemen ketika sudah dimuat.

3.2.6 Membuat Disket


Setelah Anda memilih citra disket boot, Anda harus meletakkannya pada sebuah disket. Prosesnya cukup berbeda, tergantung pada sistem operasi yang Anda gunakan untuk membuat disket. Jika Anda menjalankan Linux (atau OS yang mirip Unix) Anda harus menggunakan perintah dd(1). Asumsikan bare.i adalah berkas citra disket Anda dan drive disket Anda adalah /dev/fd0, perintah untuk membuat disket bare.i adalah:
% dd if=bare.i of=/dev/fd0

Jika Anda menjalankan OS Microsoft, Anda harus menggunakan program RAWRITE.EXE, yang disertakan pada pohon distribusi pada direktori yang sama dengan citra disket. Lagi-lagi diasumsikan bahwa bare.i adalah berkas citra disket dan drive disket adalah A:, buka DOS prompt dan ketikkan :
C:\ rawrite a: bare.i

3.3 Mempartisi
Setelah boot dari media yang Anda pilih, Anda harus mempartisi hard disk Anda. Partisi disk adalah dimana sistem berkas Linux akan dibuat dan dimana Slackware akan diinstall. Pada kondisi minimum, kami menganjurkan untuk membuat dua partisi; satu untuk sistem berkas root Anda(/) dan satu lagi untuk ruang swap.

Setelah disket root selesai dimuat, ia akan menampilkan layar login. Loginlah sebagai root (tanpa kata sandi). Pada prompt shell, jalankan cfdisk(8) atau fdisk(8). Program cfdisk menyediakan antarmuka yang lebih ramah-pengguna (user-friendly) dibandingkan program fdisk, tetapi dengan fitur yang lebih sedikit. Kami akan menjelaskan program fdisk dibawah. Mulailah dengan menjalankan fdisk untuk hard disk Anda. Pada Linux, hard disk tidak memiliki huruf drive, tetapi direpresentasikan oleh sebuah berkas. Hard disk IDE pertama (primary master) adalah /dev/hda, primary slave adalah /dev/hdb, dan seterusnya. Disk SCSI mengikuti jenis sistem yang sama, tetapi dalam bentuk /dev/sdX. Anda harus menjalankan fdisk dan mengirimkannya pada hard disk Anda:
# fdisk /dev/hda

Seperti semua program Unix yang bagus, fdisk menampilkan sebuah prompt (meskipun Anda mendapatkan sebuah menu). Hal pertama yang harus Anda lakukan adalah memeriksa partisi aktual Anda. Kita dapat melakukannya dengan mengetikkan p pada prompt fdisk:
Command (m for help): p

Perintah ini akan menampilkan semua informasi tentang partisi aktual Anda. Sebagian besar orang memilih drive yang kosong untuk installasi dan menghapus partisi yang ada untuk membuat ruang untuk partisi Linux. SANGATLAH PENTING UNTUK MEMBUAT CADANGAN DARI SEMUA INFORMASI YANG HENDAK ANDA SIMPAN SEBELUM MENGHAPUS PARTISI TEMPAT IA BERADA. Tidak terdapat cara yang mudah untuk mengembalikan data setelah menghapus sebuah partisi, sehingga selalu lakukan backup sebelum bermain dengannya. Dengan melihat informasi pada tabel partisi Anda bisa melihat nomor partisi, ukuran partisi, dan juga jenisnya. Terdapat lebih banyak informasi lain, tetapi jangan khawatirkan itu untuk sekarang. Kita akan menghapus seluruh partisi pada drive ini untuk membuat partisi untuk Linux. Kita jalankan perintah d untuk menghapusnya:
Command (m for help): d Partition number (1-4): 1

Proses ini harus dilanjutkan untuk setiap partisi. Setelah menghapus partisi, kita siap untuk membuat yang baru. Kami telah memutuskan untuk membuat satu partisi untuk sistem berkas root dan satu lagi untuk swap. Perlu diketahui bahwa skema partisi Unix merupakan subyek untuk banyak flame war, dan sebagian besar pengguna akan memberitahu cara terbaik untuk melakukannya. Pada kondisi minimal, Anda harus membuat satu partisi untuk / dan satu untuk swap. Seiring dengan berjalannya waktu, Anda akan membuat sebuah metode yang bekerja untuk Anda. Saya menggunakan dua skema partisi dasar. Skema pertama adalah untuk desktop. Saya membuat 4 partisi, /, /home, /usr/local, dan swap. Hal ini mengijinkan saya untuk menginstall ulang atau mengupgrade seluruh installasi dibawah / tanpa menghapus data saya pada /home atau aplikasi yang saya kompilasi sendiri pada /usr/local. Untuk server, saya sering mengganti partisi /usr/local dengan sebuah partisi /var. Banyak server menyimpan informasi pada partisi itu dan memisahkannya dari / memiliki beberapa keuntungan dalam hal performa. Untuk sekarang, kita akan tetap menggunakan dua partisi: / dan swap. Sekarang kita membuat partisi dengan perintah n:

Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4):1 First cylinder (0-1060, default 0):0 Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M

Anda harus memastikan bahwa Anda membuat partisi primer. Partisi pertama akan menjadi partisi swap kita. Kita memberitahu fdisk untuk membuat partisi nomor 1 sebagai partisi primer. Kita memulainya dengan silinder 0 dan silinder akhir kita menulis +64M. Ini akan memberikan partisi swap sebesar 64 megabyte. (Ukuran dari partisi swap yang Anda perlukan sebetulnya bergantung pada jumlah RAM yang Anda miliki. Sebuah nasehat lama mengatakan bahwa sebuah ruang swap yang harus dibuat adalah dua kali ukuran RAM.) Kemudian kita mendefinisikan partisi primer no 2 dimulai pada silinder yang ada hingga akhir dari drive.
Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4):2 First cylinder (124-1060, default 124):124 Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060

Kita hampir selesai. Kita harus mengganti jenis dari partisi pertama ke jenis 82 (Linux swap). Ketikkan t untuk mengganti jenisnya, pilih partisi pertama dan ketikkan 82. Sebelum menulis perubahan Anda pada disk, Anda harus melihat pada tabel partisi sekali lagi. Gunakan p pada fdisk untuk menampilkan tabel partisi Anda. Jika semua sudah tampak beres, ketikkan w untuk menulis perubahan Anda pada disk dan keluar dari fdisk.

3.4 Program setup


Setelah Anda membuat partisi Anda, Anda telah siap untuk menginstall Slackware. Langkah berikutnya dalam proses installasi adalah dengan menjalankan program setup(8). Untuk melakukannya, cukup ketikkan setup pada prompt shell. setup adalah sistem berbasis menu yang digunakan untuk menginstall paket-paket Slackware dan mengkonfigurasi sistem Anda.

Proses setup berjalan seperti ini: Anda melalui setiap opsi pada program setup, dengan urutan sesuai dengan apa yang tertampil. (Tentu saja, Anda bebas untuk melakukan pilihan sesuai kehendak Anda, tetapi ada kemungkinan tidak akan bekerja dengan baik.) Item menu dipilih menggunakan kunci panah atas dan bawah, dan tombol Okay dan Cancel dapat dipilih dengan menggunakan kunci panah kiri dan kanan. Alternatif lain, setiap opsi memiliki kunci yang berhubungan, yang ditandai pada nama opsi. Opsi juga bertanda (mereka yang ditandai dengan [X]) dapat diaktifkan/dinonaktifkan menggunakan kunci spasi. Tentu saja, semuanya sudah dijelaskan pada bagian bantuan dari setup, tetapi kami harus membuat para pengguna percaya bahwa mereka tidak membeli buku yang salah.

3.4.1 BANTUAN
Jika ini adalah kali pertama Anda menginstall Slackware, Anda mungkin perlu melihat layar bantuan. Layar ini memberikan deskripsi dari setiap bagian dari setup (seperti yang sedang kita tulis sekarang) dan instruksi untuk navigasi dari installasi yang tersisa.

3.4.2 KEYMAP
Jika Anda membutuhkan sebuah pemetaan keyboard yang berbeda dengan layout qwerty US, Anda mungkin harus melihat pada bagian ini. Bagian ini menawarkan sejumlah layout alternatif untuk keyboard Anda.

3.4.3 ADDSWAP

Jika Anda membuat partisi swap (pada Bagian 3.3), bagian ini akan membantu Anda untuk mengaktifkannya. Setup akan mendeteksi secara otomatis dan menampilkan partisi swap pada hard drive Anda, mengijinkan Anda untuk memilih untuk memformatnya atau tidak dan juga mengaktifkannya.

3.4.4 TARGET

Bagian target adalah dimana partisi lain Anda (selain swap) diformat dipetakan pada titik mount sistem berkas Anda. Daftar partisi dari hard disk Anda akan ditampilkan. Untuk setiap partisi, Anda akan menjumpai opsi untuk memformat partisi tersebut atau tidak. Tergantung pada kernel yang digunakan, Anda bisa memilih reiserfs (default), ext3, ext2, jfs, dan xfs. Sebagian besar orang menggunakan reiserfs atau ext3. Di masa depan, mungkin kita bisa melihat dukungan untuk reiserfs4. Opsi pertama pada bagian target adalah pemilihan partisi yang akan digunakan untuk menginstall sistem berkas root Anda (/). Setelah itu, Anda dapat memetakan partisi lain pada sistem berkas yang ada sesuai dengan pilihan. (Misalnya, Anda ingin partisi ketiga Anda, misalnya /dev/hda3, untuk menjadi sistem berkas home Anda. Ini cuma contoh; petakan partisi sesuai kebutuhan Anda.)

3.4.5 SOURCE
Bagian source adalah dimana Anda akan memilih media sumber yang akan digunakan dalam installasi Slackware. Saat ini, terdapat empat sumber yang dapat dipilih. Mereka adalah CD-ROM, NFS, atau sebuah direktori yang sudah dimount terlebih dahulu.

Pilihan CD-ROM mengijinkan installasi berbasis CD-ROM. Installasi ini akan menwarkan opsi untuk melakukan scan (penindaian) pada drive CD-ROM atau menampilkan sebuah daftar yang dapat Anda gunakan untuk memilih jenis drive Anda. Pastikan Anda telah memasukkan CD Slackware pada drive Anda sebelum melakukan proses scan. Pilihan NFS akan meminta informasi jaringan Anda dan juga informasi untuk server NFS Anda. Server NFS harus diset terlebih dahulu. Juga perhatikan bahwa Anda tidak bisa menggunakan nama host, Anda harus menggunakan alamat IP untuk mesin Anda dan juga server NFS (Tidak ada name resolver pada disk setup). Umumnya Anda harus menggunakan disket network.dsk untuk menambahkan dukungan untuk pengendali jaringan Anda. Direktori yang sudah dimount terlebih dahulu menawarkan fleksibilitas yang paling tinggi. Anda bisa menggunakan metode ini untuk menginstall beberapa media, seperti disk Jaz, NFS Mount melalui PLIP, dan sistem berkas FAT. Mount sistem berkas pada sebuah lokasi yang Anda pilih sebelum melakukan setup, lalu tentukan lokasi tersebut pada pilihan ini.

3.4.6 SELECT
Opsi select mengijinkan Anda untuk memilih seri perangkat lunak yang hendak Anda install. Seri-seri ini dideskripsikan pada Bagian 3.2.1. Harap perhatikan bahwa Anda harus menginstall seri A untuk mendapatkan sistem dasar. Seri lainnya sifatnya opsional.

3.4.7 INSTALL
Dengan mengasumsikan bahwa Anda telah melalui opsi target, source, dan select, opsi install akan mengijinkan Anda untuk memilih paket-paket dari seri perangkat lunak yang telah Anda pilih. Jika tidak, ia akan meminta Anda untuk kembali dan melengkapi bagian lain dari program setup. Opsi ini mengijinkan Anda untuk memilih dari enam jenis metode installasi yang ada: full, newbie, menu, expert, custom, dan tag path.

Opsi full akan menginstall semua paket dari semua seri perangkat lunak yang Anda pilih pada bagian select. Tidak ada konfirmasi tambahan. Ini adalah metode installasi termudah, karena Anda tidak perlu mengambil keputusan apapun tentang paket-paket yang diinstall. Tentu saja, opsi ini juga memakan ruang yang paling besar. Opsi berikutnya adalah newbie. Opsi ini menginstall semua paket-paket yang diperlukan dari seri yang dipilih. Untuk paket-paket yang lain, opsi ini akan menampilkan sebuah konfirmasi dimana Anda dapat memilih Yes, No, atau Skip. Yes dan No sudah jelas, sementara Skip akan melanjutkan ke seri perangkat lunak berikutnya. Sebagai tambahan, Anda akan melihat sebuah deskripsi dan juga kebutuhan ukuran untuk setiap paket untuk membantu Anda menentukan apakah Anda membutuhkannya atau tidak. Kami merekomendasikan opsi ini untuk pengguna baru, karena opsi ini memastikan Anda mendapatkan paket-paket yang diperlukan. Namun, opsi ini juga lebih lambat karena adanya konfirmasi. Menu jauh lebih cepat dan versi yang lebih baru dari opsi newbie. Untuk setiap seri, sebuah menu akan ditampilkan, yang dapat Anda gunakan untuk memilih semua paket-paket tidak wajib yang hendak Anda install. Paket-paket yang diperlukan tidak akan ditampilkan pada menu ini. Untuk pengguna yang lebih mahir, install menawarkan opsi expert. Opsi ini mengijinkan Anda untuk mendapatkan kontrol penuh tentang paket-paket yang akan diinstall. Anda dapat menghapus paket-paket yang diperlukan, meskipun bisa menghasilkan sistem yang rusak. Pada sisi lain, Anda bisa mengontrol sepenuhnya apa yang akan masuk pada sistem Anda. Cukup pilih dari paket-paket untuk setiap seri yang hendak Anda install. Ini tidak direkomendasikan untuk pengguna baru, tetapi cukup mudah untuk dicoba. Opsi custom dan tag path juga untuk pengguna yang lebih mahir. Opsi ini mengijinkan Anda untuk menginstall berdasarkan berkas tag yang Anda buat pada pohon distribusi. Opsi ini juga berguna untuk menginstall sejumlah mesin dengan cepat. Untuk informasi lebih banyak tentang penggunaan berkas tag ini, lihat Bagian 18.4. Setelah memilih metode installasi Anda, salah satu kejadian berikut akan terjadi. Jika Anda memilih full atau menu, sebuah menu akan muncul, mengijinkan Anda untuk memilih paket-paket yang hendak diinstall. Jika Anda memilih full, paket-paket akan diinstall pada target. Jika Anda memilih newbie, paket-paket akan diinstall hingga sampai pada paket-paket opsional. Perhatikan bahwa ada kemungkinan untuk kehabisan tempat selama installasi. Jika Anda memilih terlalu banyak paket-paket untuk ruang kosong pada target, Anda akan mengalami masalah. Langkah paling aman yang dapat dilakukan untuk memilih beberapa perangkat lunak dan menambahkannya kemudian jika diperlukan. Hal ini bisa dilakukan dengan mudah menggunakan perangkat manajemen paket Slackware. Untuk informasi ini, lihat Bab 18.

3.4.8 CONFIGURE
Bagian configure mengijinkan Anda untuk melakukan beberapa konfigurasi sistem dasar, karena paketpaket telah terinstall. Apa yang Anda lihat disini bergantung dari bagian besar perangkat lunak yang telah Anda install. Anda akan, selalu melihat hal-hal berikut:

3.4.8.1 Bagian Kernel


Disini Anda akan ditanyai mengenai kernel yang akan diinstall. Anda bisa menginstall kernel dari disket boot yang Anda gunakan untuk menginstall, CD-ROM Slackware, atau dari disket lain yang telah Anda siapkan. Atau Anda bisa memilih untuk melewatinya, dan akan menggunakan kernel default untuk installasi.

3.4.8.2 Make a boot disk


Membuat disket boot untuk penggunaan di masa depan adalah ide yang bagus. Anda memiliki opsi untuk pembuatan sebuah disket dan pembuatan satu dari dua jenis disket boot. Jenis pertama, simple, hanya menuliskan kernel pada disket. Opsi yang lebih fleksibel (dan juga direkomendasikan) adalah lilo, yang akan membuat disket boot lilo. Lihat LILO pada Bagian 7.1 untuk informasi lebih lanjut. Tentu saja, Anda juga bisa memilih continue, untuk memilih tanpa disket boot yang akan dibuat.

3.4.8.3 Modem
Anda akan mendapatkan konfirmasi tentang informasi modem. Lebih spesifik, Anda akan ditanyai apakah Anda memiliki sebuah modem, dan jika ada pada port serial mana ia berada.

Sub bagian konfigurasi berikut mungkin muncul dan mungkin juga tidak, tergantung apakah Anda menginstall paket-paket yang berhubungan.

3.4.8.4 Timezone
Bagian ini cukup jelas: Anda akan diminta zona waktu tempat Anda berada. Jika Anda beroperasi pada waktu Zulu, kami minta maaf; daftar tersebut diurutkan berdasarkan urutan alphabetik, dan Anda berada di paling bawah.

3.4.8.5 Mouse
Sub bagian ini hanya menanyakan apa jenis mouse yang Anda miliki; dan apakah Anda ingin agar dukungan mouse pada konsole melalui gpm(8) diaktifkan pada saat bootup.

3.4.8.6 Hardware clock


Sub bagian ini akan menanyakan apakah waktu perangkat keras Anda akan ditentukan ke Coordinated Universal Time (UTC atau GMT). Sebagian besar PC tidak, sehingga Anda mungkin berkata tidak.

3.4.8.7 Font
Sub bagian font ini mengijinkan Anda untuk memilih dari sebuah daftar font konsol.

3.4.8.8 LILO
Disini Anda dikonfirmasi untuk installasi LILO (LInux LOader; lihat Bagian 7.1 untuk informasi lebih lanjut).

Jika Slackware adalah satu-satunya sistem operasi pada komputer Anda, simple seharusnya akan berjalan dengan baik untuk Anda. Jika Anda dual-boot, opsi expert adalah pilihan yang lebih baik. Lihat

Bagian 7.3 untuk informasi lebih banyak untuk dual-boot. Opsi ketiga, do not install, tidak direkomendasikan kecuali Anda tahu apa yang Anda lakukan dan memiliki alasan yang sangat bagus untuk tidak menginstall LILO. Jika Anda melakukan installasi dengan mode expert, Anda akan diberikan pilihan lokasi untuk menginstall LILO. Anda bisa meletakkan LILO pada MBR (Master Boot Record) dari hard drive Anda, pada blok khusus pada partisi root Linux Anda, atau pada disket.

3.4.8.9 Network
Sub bagian konfigurasi jaringan sebenarnya adalah netconfig. Lihat Bagian 5.1 untuk informasi lebih banyak.

3.4.8.10 X Window Manager


Sub bagian ini mengijinkan Anda untuk memilih window manajer default untuk X. Lihat Bab 6 untuk detail lebih lanjut untuk X dan window manager.

Tidak perduli paket apa yang Anda install, hal terakhir yang akan ditanyakan oleh konfigurasi adalah apakah Anda ingin melanjutkan dan menentukan kata sandi root. Untuk alasan keamanan, ini adalah ide yang bagus; namun, seperti semua yang ada pada Slackware, ini adalah pilihan Anda.

Bab 4 Konfigurasi Sistem


Daftar Isi 4.1 Gambaran Umum Sistem 4.2 Memilih Sebuah Kernel Sebelum Anda bisa mengkonfigurasi bagian-bagian lain dari sistem Anda yang lebih penting, merupakan ide yang bagus untuk mempelajari terlebih dahulu bagaimana sistem dikelola dan perintahperintah apa yang dapat digunakan untuk mencari berkas dan program. Juga ide yang bagus untuk

mengetahui apakah Anda perlu mengkompilasi sebuah kernel dan apa langkah-langkah untuk melakukannya. Bab ini akan membiasakan Anda dengan organisasi sistem dan berkas konfigurasi. Lalu, Anda bisa melanjutkan pada bagian yang lebih penting dari sistem.

4.1 Gambaran Umum Sistem


Sangatlah penting untuk memahami bagaimana sebuah sistem Linux digabungkan sebelum masuk pada berbagai aspek konfigurasi. Sistem Linux berbeda secara signfikan dari DOS, Windows, atau Macintosh (dengan pengecualian Mac OS X yang berbasis-Unix), tetapi bagian ini akan membantu Anda agar terbiasa dengan layoutnya, sehingga Anda bisa dengan mudah mengkonfigurasi sistem Anda untuk memenuhi kebutuhan Anda.

4.1.1 Layout Sistem Berkas


Perbedaan pertama yang mencolok antara Slackware Linux dan DOS atau sistem Windows adalah sistem berkasnya. Sebagai awal, kita tidak menggunakan nama huruf pada drive untuk membedakan partisi. Pada Linux, hanya terdapat satu direktori utama. Anda bisa menghubungkan ini dengan drive C: pada DOS. Setiap partisi dari sistem Anda di-mount pada direktori pada direktori utama. Ini seperti hard-disk yang selalu diperluas. Kami menyebut direktori utama ini sebagai direktori root, dan ditandai dengan sebuah garis miring (/). Konsep ini mungkin terlihat aneh, tetapi sebetulnya membuat hidup Anda menjadi mudah ketika Anda hendak menambahkan ruang baru. Sebagai contoh, misalnya Anda kehabisan ruang pada drive yang digunakan untuk /home. Sebagian besar orang menginstall Slackware dan membuat satu drive root yang besar. Karena sebuah partisi dapat dimount pada sembarang direktori, Anda bisa datang ke toko dan membeli hard drive baru dan me-mountnya pada /home. Anda telah diberikan sebuah ruang baru pada sistem Anda. Dan semua tanpa harus memindahkan banyak hal. Dibawah ini, Anda akan menemukan deskripsi dari banyak direktori utama pada Slackware.
bin

Program-program pengguna yang penting disimpan disini. Direktori ini merepresentasikan sekumpulan program-program dasar yang diperlukan seorang pengguna untuk menggunakan sistem. Hal-hal seperti shell dan perintah-perintah sistem berkas (ls, cp, dan sebagainya) disimpan disini. Direktori /bin biasanya tidak mengalami modifikasi setelah installasi. Jika ya, maka biasanya dalam bentuk upgrade paket yang kami sediakan.
boot

Berkas-berkas yang digunakan oleh Linux Loader (LILO). Direktori ini juga tidak terlalu banyak mengalami modifikasi setelah installasi. Kernel disimpan disini semenjak Slackware 8.1. Pada rilis awal Slackware, kernel disimpan pada /, tetapi yang sering dilakukan adalah dengan meletakkan kernel dan berkas-berkas yang berkaitan disini untuk memfasilitasi dual-boot.
dev

Semua pada Linux diperlakukan sebagai sebuah berkas, termasuk perangkat keras seperti port serial, hard disk, dan scanner. Untuk memperoleh akses pada perangkat ini, sebuah berkas khusus disebut node perangkat (node device) harus ada. semua node perangkat disimpan pada direktori /dev. Anda akan menemukan hal ini pada banyak sistem operasi berbasis-Unix.
etc

Direktori ini menyimpan berkas-berkas konfigurasi sistem. Semuanya dari berkas konfigurasi X Window, basis data pengguna, hingga script sistem. Administrator sistem akan terbiasa dengan direktori ini seiring dengan berjalannya waktu.
home

Linux adalah sistem operasi yang mendukung banyak pengguna. Setiap pengguna pada sistem diberikan sebuah account dan direktori yang unik untuk setiap berkas-berkas personal. Direktori ini disebut direktori home pengguna. Direktori /home disediakan sebagai lokasi default untuk direktori home pengguna.
lib

Pustaka-pustaka sistem yang diperlukan untuk operasi dasar disimpan disini. Pustaka C, dynamic loader, pustaka ncurses, dan modul kernel adalah sebagian dari yang disimpan disini.
mnt

Direktori ini berisi titik mount sementara untuk bekerja dengan hard disk atau drive yang dapat dipindahkan (removable). Disini Anda akan menemukan titik mount untuk CD-ROM dan drive disket Anda.
opt

Paket-paket perangkat lunak opsional. Ide dibalik /opt adalah setiap paket perangkat lunak diinstall pada /opt/software-package, yang memudahkan untuk dihapus kemudian. Slackware mendistribusikan beberapa hal pada /opt (seperti KDE pada /opt/kde), tetapi Anda bebas untuk menambahkan apa yang Anda inginkan pada /opt.
proc

Ini adalah direktori yang unik. Direktori ini bukan bagian dari sebuah sistem berkas, tetapi sistem berkas maya yang menyediakan akses ke informasi kernel. Beberapa bagian informasi kernel yang ingin Anda ketahui akan dibahas pada beberapa berkas pada direktori /proc. Anda juga dapat mengirimkan informasi pada kernel melalui beberapa berkas ini. Cobalah melakukan cat /proc/cpuinfo.
root

Administrator sistem dikenal sebagai root pada sistem. Direktori home root disimpan pada /root dan bukan pada /home/root. Alasannya mudah. Bagaimana jika /home berada pada partisi yang berbeda dengan / dan jika tidak bisa dimount?? root akan mencoba login dan memperbaiki masalah. Jika direktori homenya berada pada sistem berkas yang rusak, maka root akan kesulitan dalam proses login.
sbin

Program-program yang penting yang akan dijalankan oleh root dan selama proses boot sistem disimpan disini. Pengguna normal tidak akan menjalankan program pada direktori ini.
tmp

Lokasi penyimpanan sementara. Semua pengguna memiliki hak akses baca dan tulis pada direktori ini.

usr

Ini adalah direktori besar pada sistem Linux. Semua berkas yang tersisa akan disimpan disini, program, dokumentasi, kode sumber kernel, dan sistem X Window. Ini adalah direktori dimana Anda akan meletakkan program-program yang diinstall.
var

Berkas-berkas log sistem, data cache, dan berkas pengunci program akan disimpan disini. Ini adalah direktori untuk data-data yang sering berubah. Sekarang Anda memiliki informasi tentang direktori apa mengandung apa pada sistem berkas. Informasi lebih detail tentang layout sistem berkas tersedia pada halaman manual hier(7). Bagian berikutnya akan membantu Anda menemukan berkas dengan lebih mudah, sehingga Anda tidak perlu melakukannya secara manual.

4.1.2 Menemukan Berkas


Anda tahu apa yang disimpan dalam setiap direktori utama, tetapi masih saja tidak membantu Anda menemukan sesuatu. Maksud saya, Anda bisa mencari pada banyak direktori, tetapi terdapat cara yang lebih cepat. Terdapat empat perintah pencarian utama yang tersedia pada Slackware.

4.1.2.1 which
Perintah yang pertama adalah which(1). which biasanya digunakan untuk mencari sebuah program dengan cepat. Program hanya mencari PATH Anda dan mengembalikan nilai pertama yang ditemukannya dan juga path direktori. Ambil contoh berikut:
% which bash /bin/bash

Dari apa yang Anda lihat bahwa bash berada pada direktori /bin. Ini adalah perintah yang sangat terbatas untuk pencarian, karena hanya mencari PATH Anda.

4.1.2.2 whereis
Perintah whereis(1) bekerja serupa dengan which, tetapi dapat menemukan halaman manual dan berkas sumber. Sebuah pencarian whereis untuk bash akan menghasilkan:
% whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz

Perintah ini tidak hanya memberitahu Anda dimana program aktual berada, tetapi juga dokumentasi online. Meski demikian, perintah ini tetap terbatas. Bagaimana jika Anda hendak mencari berkas konfigurasi spesifik? Anda tidak bisa menggunakan which atau whereis untuk itu.

4.1.2.3 find
Perintah find(1) mengijinkan pengguna untuk mencari sistem berkas dari sekumpulan koleksi predikat pencarian. Pengguna dapat menentukan sebuah pencarian dengan wildcard nama berkas, sebuah range dari waktu modifikasi atau pembuatan, atau properti lain yang lebih canggih. Sebagai contoh, untuk mencari berkas default dari xinitrc pada sistem, perinta berikut akan digunakan.

% find / -name xinitrc /var/X11R6/lib/xinit/xinitrc

membutuhkan sedikit waktu selama berjalan, karena harus menjelajahi seluruh pohon direktori root. Dan jika perintah ini dijalankan sebagai pengguna biasa, akan terdapat pesan kesalahan yang berhubungan dengan hak akses pada direktori yang hanya boleh dilihat oleh root. Tetapi find found menemukan berkas kita, jadi itu bagus. Hanya saja jika ia dapat sedikit lebih cepat...
find

4.1.2.4 slocate
Perintah slocate(1) mencari keseluruhan sistem berkas, seperti yang dilakukan perintah find, tetapi ia mencari basis data dan bukan pada sistem berkas aktual. Basis data ditentukan untuk diupdate setiap pagi, sehingga Anda memiliki daftar berkas yang baru dari sistem Anda. Anda bisa secara manual menjalankan updatedb(1) untuk mengupdate basis data slocate (sebelum menjalankan updatedb secara manual, Anda harus su ke pengguna root). Berikut adalah contoh saat slocate beraksi:
% slocate xinitrc # kita tidak perlu menjadi root /var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc.twm

Kita mendapatkan lebih dari apa yang hendak kita cari dan cepat. Dengan perintah ini, Anda akan dapat menemukan apapun yang hendak Anda cari pada sistem Linux Anda.

4.1.3 Direktori /etc/rc.d


Berkas-berkas inisialisasi sistem disimpan pada direktori /etc/rc.d. Slackware menggunakan layout BSD-style untuk berkas-berkas inisialisasinya dan bukan script init System V, yang cenderung membuat perubahan konfigurasi lebih susah tanpa menggunakan program yang didesain secara khusus untuk itu. Pada script init BSD, setiap runlevel diberikan sebuah berkas rc. Pada System V, setiap runlevel diberikan direktorinya masing-masing, dan setiap direktori berisi sejumlah init scripts. Hal ini menyediakan struktur yang terorganisasi dan lebih mudah untuk diatur. Terdapat beberapa kategori pada berkas-berkas inisialisasi. Kategori-kategori ini adalah system startup, runlevel, inisialisasi jaringan, dan kompatibilitas dengan System V. Seperti tradisi, kita akan melewati yang lain pada kategori lain pada bagian yang lain.

4.1.3.1 System Startup


Program pertama yang dijalankan pada Slackware selain kernel Linux adalah init(8). Program ini akan membaca berkas /etc/inittab(5) untuk melihat bagaimana menjalankan sistem. Program akan menjalankan script /etc/rc.d/rc.S untuk mempersiapkan sistem sebelum masuk pada runlevel yang Anda inginkan. Berkas rc.S mengaktifkan memori virtual Anda, me-mount sistem berkas Anda, membersihkan beberapa direktori log, menginisialisasi perangkat Plug and Play, memuat modul kernel, mengkonfigurasi perangkat PCMCIA, mempersiapkan port serial, dan menjalankan System V init scripts (jika ada). Jelas rc.S memiliki banyak pekerjaan, tetapi berikut adalah beberapa script pada /etc/rc.d yang akan dipanggil oleh rc.S untuk menyelesaikannya pekerjaannya:
rc.S

Ini adalah script inisialisasi sistem yang sesungguhnya.


rc.modules

Memuat modul kernel. Beberapa hal seperti kartu jaringan, dukungan PPP, dan hal-hal lain akan dimuat disini. Jika script ini menemukan rc.netdevice, maka ia akan menjalankan script itu juga.
rc.pcmcia

Mencoba melakukan pendeteksian dan mengkonfigurasi perangkat PCMCIA yang Anda miliki pada sistem Anda. Hal ini berguna untuk pengguna laptop, yang biasanya memiliki modem PCMCIA atau kartu jaringan.
rc.serial

Mengkonfigurasi port serial Anda dengan menjalankan perintah setserial.


rc.sysvinit

Mencari script init System V untuk runlevel yang diinginkan dan menjalankannya. Hal ini akan dijelaskan lebih detail dibawah.

4.1.3.2 Script Inisialisasi Runlevel


Setelah inisialisasi sistem selesai, init berpindah pada inisialisasi runlevel. Sebuah runlevel menggambarkan kondisi dimana sistem Anda akan berjalan. Tampak redundan? Runlevel memberitahu init jika Anda ingin menerima login banyak pengguna atau hanya pengguna tunggal, baik Anda ingin layanan jaringan atau tidak, dan apakah Anda hendak menggunakan Sistem X Window atau agetty(8) untuk menangani login. Berkas-berkas dibawah ini mendefinisikan perbedaan runlevel pada Slackware Linux.
rc.0

Menghentikan sistem (runlevel 0). Secara default, ini dihubungkan ke rc.6.


rc.4

Startup banyak pengguna (runlevel 4), tetapi pada X11 dengan KDM, GDM, atau XDM sebagai manajer login.
rc.6

Reboot sistem (runlevel 6).


rc.K

Startup pada mode pengguna tunggal (runlevel 1).


rc.M

Mode banyak pengguna (runlevels 2 dan 3), tetapi dengan login standar berbasis-teks. Ini adalah runlevel default pada Slackware.

4.1.3.3 Inisialisasi Jaringan


Runlevels 2, 3, dan 4 akan menjalankan layanan jaringan. Berkas-berkas berikut bertanggung jawab untuk inisialisasi jaringan:

rc.inet1

Dibuat oleh netconfig, berkas ini bertanggung jawab untuk mengkonfigurasi antarmuka jaringan yang sesungguhnya.
rc.inet2

Dijalankan setelah rc.inet1 dan menjalankan layanan jaringan dasar.


rc.atalk

Menjalankan layanan AppleTalk.


rc.httpd

Menjalankan server web Apache. Seperti beberapa script rc lainnya, script ini juga bisa digunakan untuk menghentikan dan menjalankan ulang sebuah layanan. rc.httpd menerima argumen stop, start, atau restart.
rc.news

Menjalankan server berita.

4.1.3.4 Kompatibilitas System V


Kompatibilitas V init diperkenalkan pada Slackware 7.0. Banyak distribusi Linux menggunakan gaya ini dan bukan gaya BSD. Pada dasarnya setiap runlevel diberikan sebuah sub direktori untuk script init, dimana gaya BSD menggunakan satu script ini untuk setiap runlevel. Script rc.sysvinit akan mencari untuk sembarang script init System V yang Anda miliki pada /etc/rc.d dan menjalankannya, jika runlevel sesuai. Hal ini berguna untuk beberapa paket perangkat lunak komersial yang menginstall script init System V

4.1.3.5 Berkas Lain


Script yang dijelaskan dibawah ini adalah script inisialisasi sistem lainnya. Mereka pada umumnya dijalankan dari salah satu script besar diatas, sehingga yang Anda perlukan adalah mengedit isinya.
rc.gpm

Menjalankan layanan general purpose mouse. Mengijinkan Anda melakukan proses copy dan paste pada konsol Linux. Secara opsional, gpm akan menyebabkan masalah dengan mouse ketika ia digunakan pada X windows. Jika Anda mengalami masalah dengan mouse pada X, cobalah menghapus hak eksekusi pada berkas ini dan hentikan server gpm.
rc.font

Memuat font layar untuk konsol.


rc.local

Berisi sembarang perintah tertentu untuk sistem Anda. Berkas ini kosong setelah installasi baru, karena dipersiapkan oleh administrator lokal. Script ini dijalankan setelah semua inisialisasi lainnya sudah berjalan.

Untuk mengaktifkan sebuah script, yang Anda perlukan hanyalah menambahkan hak eksekusi dengan perintah chmod. Untuk menonaktifkan sebuah script, hilangkan hak eksekusi dari berkas. Untuk informasi lebih banyak tentang chmod, lihat Bab 9.2.

4.2 Memilih Sebuah Kernel


Kernel adalah bagian dari sistem operasi yang menyediakan akses ke perangkat keras, kontrol proses, dan kontrol sistem secara keseluruhan. Kernel berisi dukungan terhadap perangkat keras Anda, sehingga memilih satu kernel untuk sistem Anda adalah sebuah langkah setup yang penting. Slackware menyediakan lebih dari satu dosin kernel yang sudah dikompilasi yang dapat Anda pilih, dengan setiap kernel terdiri dari satu set driver standar dan juga driver khusus tambahan. Anda bisa menjalankan salah satu dari kernel ini atau Anda bisa membangun kernel Anda sendiri dari sumbernya. Entah cara mana yang Anda pakai, Anda harus memastikan bahwa kernel Anda memiliki dukungan perangkat keras yang dibutuhkan sistem Anda.

4.2.1 Direktori /kernels pada CD-ROM Slackware


Kernel Slackware yang sudah dikompilasi tersedia pada direktori /kernels pada CD-ROM Slackware CD-ROM atau pada situs FTP pada direktori utama Slackware. Kernel yang tersedia berubah ketika rilis baru tersedia, sehingga dokumentasi pada direktori tersebut selalu adalah sumber. Direktori /kernels memiliki sub direktori untuk setiap kernel yang tersedia. Sub direktori akan memiliki nama yang sama dengan disket boot. Pada setiap sub direktori Anda akan menemukan berkas-berkas berikut: Berkas
System.map bzImage config

Tujuan Berkas peta sistem untuk kernel ini Citra kernel yang sesungguhnya Berkas konfigurasi sumber untuk kernel ini

Untuk menggunakan sebuah kernel, salin berkas System.map dan config pada direktori /boot Anda dan salin citra kernel ke /boot/vmlinuz. Jalankan /sbin/lilo(8) untuk menginstall LILO untuk kernel baru, dan jalankan ulang (reboot) sistem Anda. Itulah langkah untuk menginstall kernel baru. Kernel yang berakhiran dengan .i adalah kernel IDE. Kernel tersebut tidak menyertakan dukungan terhadap SCSI pada kernel dasar. Kernel yang berakhiran dengan .s adalah kernel SCSI. Kernel ini menyertakan semua dukungan IDE pada kernel .i dan juga dukungan terhadap SCSI.

4.2.2 Mengkompilasi Sebuah Kernel dari Sumber


Pertanyaan Apakah saya harus mengkompilasi sebuah kernel untuk sistem saya? sering ditanyakan oleh banyak pengguna baru. Jawabannya adalah mungkin. Terdapat beberapa kasus dimana Anda perlu untuk mengkompilasi sebuah kernel spesifik pada sistem Anda. Sebagian besar pengguna dapat menggunakan kernel yang sudah dikompilasi dan modul kernel untuk mendapatkan sistem yang bekerja secara penuh. Anda perlu mengkompilasi kernel untuk sistem Anda jika Anda mengupgrade versi kernel yang tidak ditawarkan pada Slackware, atau jika Anda telah melakukan tambalan (patch) pada sumber kernel untuk mendapatkan dukungan khusus terhadap perangkat tertentu yang tidak terdapat pada kode sumber native. Seseorang dengan sistem SMP jelas akan mengkompilasi sistem dengan dukungan SMP. Banyak pengguna juga menemukan bahwa kernel yang dikompilasi secara khusus akan berjalan lebih cepat pada mesin-mesin mereka. Anda mungkin akan menemukan bahwa mengkompilasi kernel dengan optimasi untuk prosesor tertentu pada mesin Anda sangatlah berguna.

Membangun kernel Anda sendiri tidaklah susah. Langkah pertama adalah memastikan Anda telah memiliki kode sumber terinstall pada sistem Anda. Pastikan Anda telah menginstall paket-paket dari seri K selama installasi. Anda juga harus memastikan bahwa Anda telah menginstall seri D, terutama kompiler C, GNU make, dan GNU binutils. Secara umum, merupakan ide yang bagus untuk menginstall seluruh paket pada seri D jika Anda hendak melakukan pengembangan. Anda juga bisa mendownload kode sumber kernel terbaru dari http://www.kernel.org/mirrors.

4.2.2.1 Kompilasi Kernel Linux versi 2.4.x


% su Password: # cd /usr/src/linux

Langkah pertama adalah mengembalikan kode sumber pada kondisi dasarnya. Kita menjalankan perintah ini untuk melakukan hal tersebut (catatan, Anda mungkin harus melakukan cadangan dari berkas .config karena perintah ini akan menghapus tanpa peringatan):
# make mrproper

Sekarang Anda bisa mengkonfigurasi kernel untuk sistem Anda. Kernel menawarkan tiga cara untuk melakukannya. Cara pertama adalah sistem tanya-jawab berbasis teks. Sistem ini menanyakan sejumlah pertanyaan dan membangun berkas konfigurasi. Masalah dengan metode ini adalah jika Anda melakukan kesalahan, Anda harus mengulang dari awal. Metode yang lebih disukai adalah sistem berbasis menu. Terakhir, terdapat alat bantu konfigurasi kernel berbasis-X. Pilih salah satu yang Anda inginkan dan jalankan perintah yang sesuai:
# make config # make menuconfig # make xconfig (berbasis-teks versi Q&A) (berbasis menu, versi berbasis-teks) (versi berbasis-X, pastikan Anda berada pada X)

Gambar 4-1. Menu Konfigurasi Kernel

Pengguna baru akan menemukan bahwa menuconfig adalah yang termudah. Layar bantuan disediakan untuk menjelaskan bagian-bagian dari kernel. Setelah mengkonfigurasi kernel Anda, keluar dari program konfigurasi. Proses ini akan menuliskan berkas konfigurasi yang diperlukan. Sekarang kita bisa mempersiapkan untuk proses build:
# make dep # make clean

Langkah berikutnya adalah untuk mengkompilasi kernel. Pertama-tama cobalah untuk melakukan perintah bzImage dibawah.
# make bzImage

Langkah ini akan memerlukan waktu, tergantung dari kecepatan CPU Anda. Selama proses, Anda akan melihat pesan-pesan kompiler. Setelah membangun citra kernel, Anda perlu membangun semua bagian dari kernel yang Anda tandai sebagai modular.
# make modules

Sekarang kita bisa menginstall kernel dan modul yang Anda kompilasi. Untuk menginstall kernel pada sistem Slackware, perintah berikut harus dijalankan:
# # # # # mv /boot/vmlinuz /boot/vmlinuz.old cat arch/i386/boot/bzImage > /vmlinuz mv /boot/System.map /boot/System.map.old cp System.map /boot/System.map make modules_install

Anda mungkin perlu mengedit /etc/lilo.conf dan menambahkan sebuah bagian untuk boot ke kernel lama Anda jika kernel yang baru tidak berjalan. Setelah melakukan hal tersebut, jalankan /sbin/lilo untuk menginstall blok boot yang baru. Sekarang Anda bisa reboot dengan kernel baru.

4.2.2.2 Kernel Linux Versi 2.6.x


kompilasi kernel 2.6 hanya berbeda sedikit dari kernel 2.4 atau 2.2, tetapi perlu Anda ketahui perbedaan ini sebelum mencobanya. Sekarang tidak lagi diperlukan menjalankan make dep dan make clean. Juga, proses kompilasi kernel tidak akan sedetail pada kernel 2.6. Ini menghasilkan sebuah proses build yang lebih mudah untuk dimengerti, tetapi juga memiliki beberapa masalah. Jika Anda mengalami masalah dalam membangun kernel, sangatlah dianjurkan untuk mengaktifkan tingkat detail (verbose). Anda melakukan hal ini dengan menambahkan V=1 pada build. Hal ini mengijinkan Anda untuk mendapatkan informasi lebih banyak yang dapat membantu pengembang kernel atau teman yang lain untuk membantu Anda menyelesaikan masalah.
# make bzImage V=1

4.2.3 Menggunakan Modul Kernel


Modul kernel adalah nama lain untuk driver perangkat yang bisa disertakan pada kernel yang berjalan. Modul kernel mengijinkan Anda untuk memperluas dukungan perangkat keras pada kernel tanpa harus memilih kernel lain atau mengkompilasinya sendiri. Modul-modul dapat dimuat dan dibuang kapan saja, bahkan ketika sistem berjalan. Hal ini membuat proses upgrade driver tertentu menjadi lebih mudah bagi administrator sistem. Sebuah modul baru dapat dikompilasi, modul lama dihapus, dan modul baru dimuat, semua bisa dilakukan tanpa me-reboot mesin.

Modul-modul disimpan pada direktori /lib/modules/versi kernel pada sistem Anda. Modul-modul tersebut dapat dimuat pada saat boot melalui berkas rc.modules. Berkas ini diberi komentar dengan baik dan menawarkan contoh-contoh untuk komponen-komponen perangkat keras yang utama. Untuk melihat daftar modul-modul yang aktif, gunakan perintah lsmod(1):
# lsmod Module parport_pc parport Size 7220 7844 Used by 0 0 [parport_pc]

Anda bisa melihat disini bahwa saya hanya memiliki modul port parallel yang dimuat. Untuk menghapus sebuah modul, Anda bisa menggunakan perintah rmmod(1). Modul-modul dapat dimuat oleh perintah modprobe(1) atau insmod(1). modprobe biasanya lebih aman karena ia akan memuat modulmodul yang berhubungan dengan sembarang modul yang hendak Anda muat. Banyak pengguna tidak perlu memuat atau menghapus modul secara manual. Mereka menggunakan autoloader kernel untuk manajemen modul. Secara default, Slackware menyertakan kmod pada kernelnya. kmod adalah opsi kernel yang mengijinkan kernel untuk memuat modul-modul secara otomatis ketika diperlukan. Untuk informasi lebih banyak tentang kmod dan bagaimana ia dikonfigurasi, lihat /usr/src/linux/Documentation/kmod.txt. Anda harus memiliki paket kode sumber kernel, atau download kode sumber kernel dari http://kernel.org. Informasi lebih banyak dapat ditemukan pada halaman manual untuk setiap perintah berikut, ditambah dengan berkas rc.modules.

Bab 5 Konfigurasi Jaringan


Daftar Isi 5.1 Perkenalan: netconfig adalah teman Anda. 5.2 Konfigurasi Perangkat Keras Jaringan 5.3 Konfigurasi TCP/IP 5.4 PPP 5.5 Nirkabel 5.6 Sistem Berkas Jaringan

5.1 Perkenalan: netconfig adalah teman Anda.


Ketika Anda pertama kali menginstall Slackware, program setup menjalankan program netconfig. netconfig mencoba untuk melakukan fungsi-fungsi berikut untuk Anda:

Meminta nama komputer Anda, dan juga nama domain untuk komputer Anda. Memberikan penjelasan singkat tentang berbagai jenis skema pemberian alamat, kapan mereka harus digunakan, dan menanyakan skema pemberian alamat IP yang Anda hendak Anda gunakan untuk mengkonfigurasi kartu jaringan Anda: o IP-Statik o DHCP o Loopback Kemudian menawarkan untuk mendeteksi kartu jaringan yang hendak dikonfigurasi.

secara umum akan menangani sekitar 80% dari pekerjaan untuk mengkonfigurasi koneksi jaringan LAN Anda jika Anda mengijinkannya. Perhatikan bahwa saya menganjurkan berkas konfigurasi Anda untuk beberapa alasan:
netconfig

1. Anda tidak boleh mempercayai sebuah program setup untuk mengkonfigurasi komputer Anda dengan benar. Jika Anda menggunakan program setup, Anda harus melihat kembali konfigurasi Anda. 2. Jika Anda sedang mempelajari Slackware dan manajemen sistem Linux, melihat sebuah konfigurasi yang bekerja dapat berguna. Anda akan mengetahui bagaimana seharusnya sebuah konfigurasi. Ini akan mempermudah Anda dalam penanganan masalah karena konfigurasi sistem yang salah dikemudian hari.

5.2 Konfigurasi Perangkat Keras Jaringan


Setelah menentukan bahwa Anda hendak membawa mesin Slackware Anda pada sebuah jaringan, hal pertama yang Anda perlukan adalah kartu jaringan yang kompatibel dengan Linux. Anda perlu memastikan bahwa kartu tersebut kompatibel dengan Linux (harap melihat Proyek Dokumentasi Linux dan/atau dokumentasi kernel untuk informasi terbaru tentang status dari kartu jaringan yang Anda usulkan). Sebagai aturan umum, Anda akan cukup terkejut dengan banyaknya kartu jaringan yang didukung pada sebagian besar kernel modern. Meski demikian, saya menganjurkan untuk melihat pada beberapa daftar kompatibilitas perangkat keras untuk Linux (seperti Daftar Kompatibilitas Perangkat Lunak Grup Pemula Linux dan HOWTO dari Proyek Dokumentasi Perangkat Keras Linux) yang tersedia pada Internet sebelum membeli kartu Anda. Waktu tambahan yang dikeluarkan untuk melakukan penelitian dapat menyimpan beberapa hari atau bahkan minggu untuk mencoba memecahkan masalah mengapa sebuah kartu tidak kompatibel dengan Linux sama sekali. Ketika Anda mengunjungi daftar Kompatibilitas Perangkat Keras Linux yang tersedia di Internet, atau ketika Anda merujuk pada dokumentasi kernel yang terinstall pada kernel Anda, akan sangat bijaksana untuk mencatat modul kernel apa yang akan Anda gunakan untuk mendukung kartu jaringan Anda.

5.2.1 Memuat Modul Jaringan


Modul kernel yang akan dimuat pada saat boot-up dimuat dari berkas rc.modules pada /etc/rc.d atau dari fitur pemuatan modul kernel secara otomatis yang dijalankan oleh /etc/rc.d/rc.hotplug. Berkas default rc.modules menyertakan bagian dukungan perangkat Jaringan. Jika Anda membuka rc.modules dan mencari pada bagian itu, Anda akan menyadari bahwa ia akan menguji untuk sebuah berkas rc.netdevice yang dapat dieksekusi pada /etc/rc.d/. Script ini dibuat jika setup berhasil mendeteksi kartu jaringan Anda pada saat installasi. Dibawah blok if adalah sebuah daftar kartu jaringan dan baris modprobe, yang diberi komentar. Temukan perangkat Anda dan hapus komentar pada baris modprobe yang berhubungan, lalu simpan berkas. Menjalankan rc.modules sebagai root akan memuat driver perangkat jaringan Anda (juga beberapa modul yang terdaftar dan tidak diberi komentar). Perhatikan bahwa beberapa modul (seperti driver ne2000) membutuhkan parameter; pastikan Anda memilih baris yang benar.

5.2.2 Kartu Jaringan (10/100/1000Base-T dan Base-2)


Bagian ini membahas semua kartu jaringan internal PCI dan ISA. Driver untuk kartu-kartu ini disediakan melalui modul kernel yang dapat dimuat seperti yang dibahas pada paragraf sebelumnya. /sbin/netconfig seharusnya telah mendeteksi kartu Anda dan membuat berkas rc.netdevice. Jika hal ini tidak terjadi, maka masalah yang paling masuk akal adalah modul yang Anda coba untuk muat untuk kartu tersebut salah. (sangatlah mungkin bahwa generasi yang berbeda dari merek yang sama membutuhkan modul yang berbeda). Jika Anda yakin bahwa modul yang Anda coba untuk muat adalah modul yang benar, maka Anda harus mencoba melihat dokumentasi untuk modul tersebut dalam percobaan untuk menentukan apakah parameter tertentu dibutuhkan selama modul tersebut diinisialisasi.

5.2.3 Modem
Seperti kartu LAN, modem dapat hadir dengan berbagai opsi dukungan bus. Hingga saat ini, sebagian besar modem adalah kartu ISA 8 atau 16 bit. Dengan usaha dari Intel dan pembuat motherboard untuk menghapus bus ISA sepenuhnya, sangatlah umum untuk menemukan bahwa sebagian besar modem adalah modem eksternal yang terhubung melalui port serial atau USB atau merupakan modem internal PCI. Jika Anda ingin modem Anda bekerja dengan Linux, sangatlah VITAL untuk meneliti pembelian modem Anda, terutama jika Anda mempertimbangkan untuk membeli modem PCI. Banyak, jika tidak semua, modem PCI yang tersedia pada rak-rak toko adalah WinModems. WinModems tidak memiliki perangkat keras dasar pada kartu modemnya sendiri: fungsi yang dilakukan oleh perangkat keras ini dibebankan pada CPU oleh driver modem dan sistem operasi Windows. Ini berarti mereka tidak memiliki antarmuka serial standar yang diharapkan oleh PPPD ketika Anda mencoba untuk menelponke Penyedia Layanan Internet Anda (ISP). Jika Anda ingin yakin bahwa modem yang Anda beli akan bekerja dengan Linux, belilah modem perangkat keras eksternal yang terhubung pada port serial pada PC Anda. Modem ini akan dijamin untuk bekerja lebih baik dan lebih sedikit masalah untuk proses installasi dan pengelolaan, meskipun mereka membutuhkan tenaga eksternal dan cenderung menghabiskan biaya lebih besar. Terdapat beberapa halaman web yang menyediakan driver dan panduan untuk mengkonfigurasi perangkat berbasis WinModem. Beberapa pengguna telah melaporkan kesuksesan dalam mengkonfigurasi dan menginstall driver untuk berbagai variasi winmodems, termasuk Lucent, Conexant, dan Rockwell chipset. Karena perangkat lunak yang diperlukan untuk perangkat ini tidak disertakan pada Slackware, dan sangatlah berbeda untuk setiap driver, kami tidak akan membahasnya lebih dalam.

5.2.4 PCMCIA
Sebagai bagian dari installasi Slackware Anda, Anda diberikan kesempatan untuk menginstall paket pcmcia (pada seri A). Paket ini berisi aplikasi dan berkas setup yang diperlukan untuk bekerja dengan kartu PCMCIA pada Slackware. Sangatlah penting untuk diingat bahwa paket pcmcia hanya menginstall perangkat lunak generik yang diperlukan untuk bekerja dengan kartu PCMCIA pada Slackware. Paket ini TIDAK menginstall sembarang driver atau modul. Modul dan driver yang tersedia akan berada pada direktori /lib/modules/`uname -r`/pcmcia. Anda mungkin perlu melakukan beberapa percobaan untuk menemukan modul yang akan bekerja dengan kartu jaringan Anda. Anda perlu mengedit /etc/pcmcia/network.opts (untuk kartu Ethernet) atau /etc/pcmcia/wireless.opts (jika Anda memiliki kartu jaringan nirkabel). Seperti kebanyakan berkas konfigurasi Slackware, kedua berkas ini sangat berisi banyak komentar dan akan sangat mudah untuk menentukan modifikasi apa yang diperlukan.

5.3 Konfigurasi TCP/IP


Pada titik ini, kartu jaringan Anda sudah terinstall secara fisik pada komputer Anda, dan modul kernel yang relevan sudah dimuat. Anda belum bisa berkomunikasi melalui kartu jaringan Anda, tetapi informasi tentang perangkat jaringan sudah bisa didapatkan dengan ifconfig -a.
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:110081 errors:1 dropped:0 overruns:0 frame:0 TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100

RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb) Interrupt:5 Base address:0x8400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2234 errors:0 dropped:0 overruns:0 frame:0 TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)

Jika Anda hanya mengetik /sbin/ifconfig tanpa akhiran -a, Anda tidak akan melihat antarmuka eth0, karena kartu jaringan Anda belum memiliki alamat IP yang valid atau rute. Sementara terdapat berbagai cara untuk melakukan setup dan subnet sebuah jaringan, semuanya bisa dipecah menjadi dua jenis: Statik dan Dinamis. Jaringan statis adalah setup jaringan dimana setiap node (istilah geek untuk sesuatu dengan sebuah alamat IP) selalu memiliki alamat IP yang sama. Jaringan dinamis adalah setup jaringan dimana alamat IP untuk setiap node dikendalikan oleh sebuah server bernama server DHCP.

5.3.1 DHCP
DHCP (atau Dynamic Host Configuration Protocol), adalah sebuah istilah tentang bagaimana sebuah alamat IP diberikan pada sebuah komputer pada saat boot. Ketika klien DHCP melakukan boot, ia meminta sebuah permintaan pada server DHCP Jaringan Area Lokal (LAN) untuk memberikannya sebuah alamat IP. Server DHCP memiliki sebuah pool (atau batas) dari alamat IP yang tersedia. Server akan merespon permintaan ini dengan sebuah alamat IP dari pool, bersama dengan waktu lease. Setelah waktu lease untuk alamat IP yang diberikan sudah kadaluarsa, klien harus menghubungi server kembali dan mengulangi negosiasi. Klien akan menerima alamat IP dari server dan akan mengkonfigurasi antarmuka yang diminta dengan alamat IP. Terdapat satu cara lain yang digunakan klien DHCP untuk melakukan negosiasi dengan alamat IP yang akan diberikan kepada mereka. Klien akan mengingat alamat IP terakhir yang diberikan, dan akan meminta server memberikan alamat IP tersebut pada klien pada negosiasi selanjutnya. Jika dimungkinkan, server akan melakukannya, tetapi jika tidak, sebuah alamat baru akan diberikan. Negosiasi dilakukan seperti berikut: Klien: Apakah there Server DHCP tersedia pada LAN? Server: Ya. Saya. Klien: Saya membutuhkan sebuah alamat IP. Server: Anda bisa mengambil 192.168.10.10 untuk 19200 detik. Klien: Terima kasih. Klien: Apakah there Server DHCP tersedia pada LAN? Server: Ya. Saya. Klien: Saya membutuhkan sebuah alamat IP. Terakhir kali kita berbicara, kami mendapatkan 192.168.10.10; Dapatkah saya mendapatkannya kembali? Server:Ya, Anda bisa (atau Tidak, Anda tidak diperbolehkan; Anda bisa mengambil 192.168.10.12). Klien: Terima kasih. Klien DHCP pada Linux adalah /sbin/dhcpcd. Jika Anda membuka /etc/rc.d/rc.inet1 pada editor teks kesayangan Anda, Anda akan melihat bahwa /sbin/dhcpcd dipanggil pada bagian tengah dari script. Hal ini memaksa pembicaraan diatas. dhcpcd juga akan melacak waktu yang tersisa dari lease untuk alamat IP aktual, dan akan menghubungi server DHCP dengan sebuah permintaan untuk

memperbarui lease jika diperlukan. DHCP juga dapat mengontrol informasi yang berhubungan, seperti server ntp yang digunakan, rute yang akan dipakai, dll. Melakukan setting DHCP pada Slackware sangatlah sederhana. Cukup jalankan netconfig dan pilih DHCP. Jika Anda memiliki lebih dari satu NIC dan tidak ingin eth0 dikonfigurasi oleh DHCP, cukup edit berkas /etc/rc.d/rc.inet1.conf dan gantilah variabel untuk NIC Anda menjadi YES.

5.3.2 IP Statik
Alamat IP statik adalah alamat tetap yang hanya berubah jika dilakukan secara manual. Alamat ini digunakan pada kasus dimana seorang administrator tidak ingin informasi IP berubah, seperti untuk server internal pada sebuah LAN, sembarang server yang terkoneksi ke Internet, dan router jaringan. Dengan pengalamatan IP statik, Anda memberikan sebuah alamat dan membiarkannya demikian. Mesin lain tahu bahwa Anda akan selalu berada pada alamat IP tersebut dan selalu dapat menghubungi pada alamat tersebut.

5.3.3 /etc/rc.d/rc.inet1.conf
Jika Anda berencana untuk memberi alamat IP pada mesin Slackware baru Anda, Anda bisa melakukannya melalui script netconfig, atau Anda bisa mengedit /etc/rc.d/rc.inet1.conf. Pada /etc/rc.d/rc.inet1.conf , Anda akan melihat:
# Primary network interface card (eth0) IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]=""

Lalu jauh dibawah:


GATEWAY=""

Pada kasus ini, tugas kita hanyalah mengganti informasi yang benar diantara kutip ganda. Variabel ini dipanggil oleh /etc/rc.d/rc.inet1 pada saat boot untuk melakukan setup kartu NIC. Untuk setiap NIC, masukkan informasi IP yang benar, atau letakkan YES untuk USE_DHCP. Slackware akan menjalankan antarmuka ini dengan informasi yang diberikan disini sesuai dengan urutan mereka ditemukan. Variabel DEFAULT_GW menentukan rute default untuk Slackware. Semua komunikasi antara komputer Anda dengan komputer lain pada Internet harus melalui sebuah gerbang (gateway) tersebut jika tidak ada rute lain yang disebutkan. Jika Anda menggunakan DHCP, Anda biasanya tidak perlu memasukkan apapun disini, karena server DHCP akan menentukan gerbang yang akan digunakan.

5.3.4 /etc/resolv.conf
Ok, jadi Anda telah mendapatkan sebuah alamat IP, Anda telah mendapatkan gateway default, Anda mungkin telah memiliki sepuluh juta dollar (berikan saya sebagian), tetapi apa gunanya jika Anda tidak bisa me-resolve nama pada alamat IP? Tidak ada seorangpun yang ingin mengetikkan 72.9.234.112 pada browser web mereka untuk menemukan www.slackbook.org. Bagaimanapun juga, siapakah yang akan mengingat alamat IP tersebut selain pembuatnya? Kita perlu melakukan setup DNS, tetapi bagaimana? Ini dimana /etc/resolv.conf bekerja.

Kemungkinan Anda sudah memiliki opsi yang benar pada /etc/resolv.conf. Jika Anda melakukan setup koneksi jaringan Anda menggunakan DHCP, server DHCP akan melakukan proses update pada berkas ini untuk Anda. (secara teknis, server DHCP hanya memberitahu dhcpcd apa yang akan diletakkan disini, dan ia menurutinya.) Jika Anda perlu mengupdate daftar server DNS Anda secara manual, Anda harus mengedit /etc/resolv.conf. Berikut adalah sebuah contoh:
# cat /etc/resolv.conf nameserver 192.168.1.254 search lizella.net

Baris pertam sangatlah sederhana. Direktif nameserver memberitahu kita server DNS apa yang digunakan untuk melakukan query. Ini selalu berupa alamat IP. Anda bisa menambahkan sebanyak mungkin. Slackware akan dengan senang hati menguji satu persatu sampai salah satu cocok. Baris kedua lebih menarik. Direktif search memberikan kita sebuah daftar dari nama domain untuk diasumsikan ketika sebuah permintaan DNS terjadi. Ini mengijinkan Anda untuk menghubungi sebuah mesin hanya dengan bagian pertama dari FQDNnya (Fully Qualified Domain Name). Sebagai contoh, Jika slackware.com termasuk dalam rute pencarian Anda, Anda bisa mencapai http://store.slackware.com hanya dengan mengarahkan browser web Anda pada http://store.
# ping -c 1 store PING store.slackware.com (69.50.233.153): 56 data bytes 64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.251/0.251/0.251 ms

5.3.5 /etc/hosts
Sekarang kita telah memiliki DNS yang bekerja, bagaimana jika kita hendak melewati server DNS kita, atau menambahkan isi DNS untuk sebuah mesin yang tidak pada DNS? Slackware menyertakan berkas /etc/hosts yang berisi daftar nama DNS lokal dan alamat IP yang sesuai.
# cat /etc/hosts 127.0.0.1 192.168.1.101 172.14.66.32 localhost locahost.localdomain redtail foobar.slackware.com

Disini Anda bisa melihat bahwa localhost memiliki alamat IP 127.0.0.1 (selalu dipesan untuk localhost), redtail dapat dicapai pada 192.168.1.101, dan foobar.slackware.com adalah 172.14.66.32.

5.4 PPP
Banyak orang masih terhubung ke Internet melalui koneksi dialup. Metode yang paling umum adalah PPP, meskipun SLIP masih sering dipakai. Melakukan setting terhadap sistem Anda untuk berbicara PPP pada server remote sangatlah mudah. Kami telah menyertakan beberapa alat untuk membantu Anda dalam melakukan pengaturan.

5.4.1 pppsetup
Slackware menyertakan sebuah program bernama pppsetup untuk mengkonfigurasi sistem Anda untuk menggunakan account dialup Anda. Program ini menggunakan tampilan yang hampir sama dengan

program netconfig. Untuk menjalankan program ini, pastikan Anda login sebagai root. Lalu ketikkan pppsetup untuk menjalankannya. Anda akan melihat sebuah layar seperti berikut: Program akan menampilkan sejumlah pertanyaan, yang akan Anda beri jawaban yang sepantasnya. Halhal seperti perangkat modem Anda, string inisialisasi modem, dan nomor telepon ISP. Beberapa hal akan memiliki nilai default, yang biasanya dapat Anda terima pada sebagian besar kasus. Setelah program berjalan, maka ia akan membuat program ppp-go dan ppp-off. Program ini digunakan untuk menjalankan dan menghentikan koneksi PPP. Kedua program ini terletakn pada /usr/sbin dan membutuhkan akses root untuk menjalankannya.

5.4.2 /etc/ppp
Untuk sebagian besar pengguna, menjalankan pppsetup sudah cukup. Namun, terdapat beberapa kondisi dimana Anda hendak memodifikasi nilai yang digunakan oleh daemon PPP. Semua informasi konfigurasi disimpan pada /etc/ppp. Berikut adalah daftar fungsi untuk setiap berkas: Script ini dijalankan oleh pppd setelah koneksi PPP diputus. Script ini dijalankan oleh pppd ketika terdapat koneksi ppp yang berhasil. Letakkan ip-up sembarang perintah yang hendak Anda jalankan setelah koneksi berhasil pada berkas ini. options Opsi konfigurasi umum untuk pppd. options.demand Opsi konfigurasi umum untuk pppd ketika dijalankan pada mode demand dialing. pppscript Perintah yang dikirimkan pada modem. pppsetup.txt Sebuah catatan tentang apa yang Anda masukkan ketika Anda menjalankan pppsetup. Sebagian besar dari berkas-berkas ini tidak akan ada sampai Anda menjalankan pppsetup.
ip-down

5.5 Nirkabel
Jaringan nirkabel adalah hal yang relatif baru pada dunia komputer, namun banyak orang yang mulai meliriknya dengan membeli laptop dan menginginkan jaringan berjalann, tanpa harus bermain dengan kabel silang lama. Tren ini tidak akan surut. Sayangnya, jaringan nirkabel belumlah didukung sekuat jaringan kabel tradisional di Linux. Terdapat tiga langkah dasar untuk mengkonfigurasi sebuah kartu Ethernet nirkabel 802.11: 1. Dukungan perangkat keras untuk kartu nirkabel 2. Mengkonfigurasi kartu untuk terhubung ke sebuah titik akses nirkabel 3. Mengkonfigurasi jaringan

5.5.1 Dukungan Perangkat Keras


Dukungan perangkat keras untuk kartu nirkabel disediakan melalui kernel, baik dari sebuah modul atau disertakan pada kernel. Secara umum, sebagian besar kartu Ethernet baru disediakan melalui modul kernel, sehingga Anda harus menentukan nama modul kernel yang benar dan memuatnya melalui /etc/rc.d/rc.modules. netconfig mungkin tidak mendeteksi kartu jaringan Anda, sehingga Anda harus menentukan kartu Anda sendiri. Lihat http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ untuk informasi lebih banyak tentang driver kernel untuk berbagai kartu nirkabel.

5.5.2 Mengkonfigurasi Setting Nirkabel


Sebagian besar dari pekerjaan ini dikerjakan oleh iwconfig, sehingga seperti biasa bacalah halaman manual untuk iwconfig jika Anda membutuhkan informasi lebih banyak. Pertama, Anda mungkin hendak mengkonfigurasi titik akses nirkabel Anda. Titik akses nirkabel cukup berbeda-beda dalam terminologinya, dan bagaimana mengkonfigurasinya, sehingga Anda perlu melakukan sedikit pengaturan untuk mengakomodasi perangkat keras Anda. Secara umum, setidaknya Anda membutuhkan informasi berikut:

ID domain, atau nama jaringan (disebut ESSID oleh iwconfig) Kanal yang digunakan WAP Setting enkripsi, termasuk kunci yang digunakan (disarankan dalam heksadesimal)

SEBUAH CATATAN TENTANG WEP. WEP cukup rawan, tetapi lebih baik daripada tidak sama sekali. Jika Anda menginginkan tingkat keamanan yang lebih baik pada jaringan nirkabel Anda, Anda harus menginvestigasi VPN atau IPSec, dimana keduanya diluar batasan dari dokumen ini. Anda mungkin juga mengkonfigurasi WAP Anda untuk tidak mengiklankan ID domain/ESSIDnya. Diskusi lebih dalam tentang aturan nirkabel diluar bahasan sub bagian ini, tetapi pencarian pada Google akan menghasilkan lebih dari yang Anda inginkan. Setelah Anda mengumpulkan informasi diatas, dan mengasumsikan Anda telah menggunakan modprobe untuk memuat driver kernel yang sesuai, Anda bisa mengedit rc.wireless.conf dan menambahkan setting Anda. Berkas rc.wireless.conf agak tidak teratur. Usaha minimal yang bisa dilakukan adalah untuk memodifikasi bagian generik dengan ESSID dan KEY Anda, dan CHANNEL jika diperlukan oleh kartu Anda. (Coba untuk tidak melakukan setting CHANNEL, dan jika berjalan, bagus; jika tidak, setting CHANNEL sebagaimana diperlukan.) Jika Anda nekad, Anda bisa memodifikasi berkas sehingga hanya variabel yang diperlukan yang ditentukan. Nama variabel pada rc.wireless.conf berkorespondensi dengan parameter iwconfig, dan dibaca oleh rc.wireless dan digunakan pada perintah iwconfig. Jika Anda memiliki kunci Anda pada heksadesimal, maka itulah idealnya, karena Anda bisa cukup yakin bahwa WAP Anda dan iwconfig akan setuju tentang kunci. Jika Anda hanya memiliki sebuah string, Anda tidak bisa yakin bagaimana WAP Anda akan menterjemahkannya kedalam kunci heksadesimal, sehingga beberapa usaha perlu dilakukan (atau dapatkan kunci WAP Anda dalam heksa). Setelah Anda memodifikasi rc.wireless.conf, jalankan rc.wireless sebagai root, lalu jalankan rc.inet1, lagi-lagi sebagai root. Anda bisa menguji jaringan nirkabel Anda dengan perangkat pengujian standar seperti ping, bersamaan dengan iwconfig. Jika Anda memiliki antarmuka kabel, Anda juga bisa mencoba menggunakan ifconfig untuk menonaktifkan antarmuka tersebut selama Anda menguji jaringan nirkabel Anda untuk memastikan tidak ada interferensi. Anda juga bisa mencoba perubahan Anda melalui sebuah reboot. Sekarang setelah Anda melihat bagaimana mengedit /etc/rc.d/rc.wireless untuk jaringan default Anda, mari kita lihat lebih dekat pada iwconfig dan melihat bagaimana semuanya bekerja. Hal ini akan mengajarkan Anda cara mudah untuk melakukan setting wifi ketika Anda berada pada warung Internet, toko kopi, atau hot spot wifi lainnya dan hendak online. Langkah pertama adalah memberitahu kepada NIC nirkabel Anda tentang jaringan yang hendak dipakai. Pastikan Anda mengganti eth0 dengan sembarang antarmuka jaringan nirkabel Anda dan ganti mynetwork dengan ESSID yang hendak Anda gunakan. Ya, kami tahu Anda lebih pintar dari itu. Berikutnya, Anda harus menentukan kunci enkripsi (jika ada) yang digunakan pada jaringan nirkabel Anda. Akhirnya tentukan channel yang digunakan (jika diperlukan).

# iwconfig eth0 essid "mynetwork" # iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX # iwconfig eth0 channel n

Itu seharusnya menjadi akhir dari nirkabel.

5.5.3 Mengkonfigurasi Jaringan


Hal ini dilakukan dengan cara yang sama dengan jaringan kabel. Cukup melihat pada bagian sebelumnya.

5.6 Sistem Berkas Jaringan


Pada titik ini, Anda seharusnya sudah memiliki koneksi TCP/IP yang bekerja pada jaringan Anda. Anda seharusnya sudah bisa melakukan ping kepada komputer lain pada jaringan internal Anda dan, jika Anda telah mengkonfigurasi sebuah gateway yang benar, Anda juga bisa melakukan ping pada komputer lain pada Internet. Seperti yang kita tahu, tujuan utama dalam menyambungkan sebuah komputer pada sebuah jaringan adalah untuk mengakses informasi. Sementara sebagian orang mungkin menghubungkan sebuah komputer pada sebuah jaringan hanya untuk bersenang-senang, sebagian besar orang berharap dapat berbagi berkas dan printer. Mereka berharap dapat menagkses dokumen pada Internet atau memainkan permainan online. Memiliki TCP/IP yang berfungsi pada sistem Slackware baru Anda adalah jalan menuju tujuan tersebut, tetapi jika hanya terinstall, fungionalitasnya akan sangat terbatas. Untuk berbagai berkas, kita harus mengirimnya dan menerimanya kembali menggunakan FTP atau SCP. Kita tidak bisa menjelajahi berkas-berkas pada komputer Slackware kita dari ikon Network Neighborhood atau My Network Places pada komputer Windows computers. Kita ingin agar bisa mengakses berkas pada komputer Unix lain sama seperti ini. Idealnya, kita ingin agar dapat menggunakan sistem berkas jaringan untuk mengijinkan kita akses transparan pada berkas kita pada komputer lain. Program yang kita gunakan untuk berinteraksi dengan informais yang tersimpan pada komputer lain tidak harus mengerti pada komputer mana informasi tersebut disimpan; mereka hanya perlu mengetahui bahwa informasi itu ada dan bagaimana untuk mendapatkannya. Adalah tanggung jawab dari sistem operasi untuk mengelola akses pada berkas tersebut melalui sistem berkas yang ada dan sistem berkas jaringan. Dua sistem berkas jaringan yang paling umum digunakan adalah SMB (sebagaimana diimplementasi oleh Samba) dan NFS.

5.6.1 SMB/Samba/CIFS
SMB (untuk Server Message Block) adalah penerus dari protokol NetBIOS yang sebelumnya ada dan digunakan oleh IBM pada produk LAN Managernya. Microsoft cukup tertarik dengan NetBIOS dan penerusnya (NetBEUI, SMB dan CIFS). Proyek Samba telah ada sejak 1991, ketika proyek ini dibuat untuk menghubungkan PC IBM yang menjalankan NetBIOS dengan server Unix. Saat ini, SMB adalah metode yang disarankan untuk berbagi berkas dan layanan cetak pada sebuah jaringan untuk seluruh pengguna di seluruh dunia karena Windows mendukungnya. Berkas konfigurasi Samba adalah /etc/samba/smb.conf; salah satu dari berkas konfigurasi yang paling penuh dengan catatan yang dapat Anda temukan. Contoh sudah disediakan untuk Anda lihat dan modifikasi sesuai kebutuhan Anda. Jika Anda membutuhkan kontrol yang lebih ketat, halaman manual dari smb.conf sangatlah berguna. Karena Samba terdokumentasi dengan baik, kami tidak akan menulis ulang dokumentasi tersebut disini. Kami akan membahas dasar-dasarnya. dibagi menjadi beberapa bagian: satu bagian per share, dan bagian global untuk opsi setting yang digunakan dimana-mana. Beberapa opsi hanya valid pada bagian global; beberapa hanya valid
smb.conf

diluar bagian global. Harap diingat bahwa bagian global bisa ditimpa oleh bagian lain. Lihat halaman manual untuk informasi lebih lanjut. Anda mungkin akan mengedit berkas smb.conf Anda untuk mencerminkan pengaturan jaringan pada LAN Anda. Saya menyarankan Anda memodifikasi beberapa hal yang tercetak dibawah ini:
[global] # workgroup = Nama-Domain-NT atau Nama-Workgroup, Cth: LINUX2 workgroup = MYGROUP

Ganti nama workgroup untuk merefleksikan workgroup atau nama domain yang Anda gunakan secara lokal.
# server string is the equivalent of the NT Description field server string = Samba Server

Ini adalah nama komputer Slackware Anda yang akan ditampilkan pada folder Network Neighborhood (atau My Network Places).
# Security mode. Most people will want user level security. See # security_level.txt for details. NOTE: To get the behaviour of # Samba-1.9.18, you'll need to use "security = share". security = user

Anda sudah hampir pasti akan mengimplementasikan keamanan dengan level pengguna pada sistem Slackware Anda.
# You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba # documentation. # Do not enable this option unless you have read those documents encrypt passwords = yes

Jika enkripsi kata sandi tidak diaktifkan, Anda tidak akan bisa menggunakan Samba dengan NT4.0, Win2k, WinXP, dan Win2003. Sistem operasi Windows sebelumnya tidak memerlukan enkripsi untuk berbagi berkas. SMB adalah protokol yang terauthentikasi, yang berarti Anda harus menyediakan nama pengguna dan kata sandi yang benar agar dapat menggunakan layanan ini. Kita memberitahu server samba nama pengguna dan kata sandi yang valid dengan perintah smbpasswd. smbpasswd menerima beberapa pilihan untuk memberitahukannya apakah menggunakan pengguna seperti biasa atau menambahkan pengguna komputer (SMB meminta Anda menambahkan nama NETBIOS komputer sebagai pengguna komputer, membatasi komputer mana yang dapat melakukan authentikasi).
Menambahkan # smbpasswd Menambahkan # smbpasswd seorang pengguna pada berkas /etc/samba/private/smbpasswd. -a user nama komputer pada berkas /etc/samba/private/smbpasswd. -a -m machine

Sangatlah penting untuk dicatat bahwa nama pengguna atau nama komputer yang diberikan harus ada pada berkas /etc/passwd. Anda bisa melakukan hal ini dengan perintah adduser. Perhatikan ketika menggunakan perintah adduser untuk menambahkan nama komputer, seseorang harus menambahkan tanda dollar ($) pada nama komputer. Hal ini tidak however, dilakukan dengan smbpasswd. smbpasswd menambahkan tanda dollar dengan sendirinya. Kegagalan untuk memberikan nama komputer dengan adduser akan berakibat pada kesalahan ketika menambahkan nama komputer pada samba.

# adduser machine$

5.6.2 Network File System (NFS)


NFS (atau Network File System) pada awalnya dibuat oleh Sun untuk implementasi Solaris pada Unix. Meskipun lebih mudah untuk dikonfigurasi dibandingkan dengan SMB, namun jauh lebih tidak aman. Ketidak-amanan utama pada NFS adalah kemudahan untuk membuat tipuan ID pengguna dan grup dari satu komputer ke komputer lain. NFS adalah protokol yang tidak terauthentikasi. Versi masa depan dari protokol NFS sedang dibuat dan meningkatkan keamanan, tetapi tidaklah umum dipakai pada saat penulisan ini. Konfigurasi NFS dikendalikan oleh berkas /etc/exports. Ketika Anda memuat berkas default /etc/exports pada sebuah editor, Anda akan melihat baris kosong dengan dua baris komentar pada bagian atas. Kita harus menambahkan sebuah baris pada berkas exports untuk setiap direktori yang hendak kita ekspor, dengan daftar workstation klien yang diijinkan untuk mengakses berkas. Sebagai contoh, jika kita ingin mengekspor direktori /home/foo pada workstation Bar, we kita cukup menambahkan baris:
/home/foo Bar(rw)

pada /etc/exports. Dibawah, Anda akan menemukan contoh dari halaman manual untuk berkas exports:
# sample /etc/exports file / master(rw) trusty(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub (ro,insecure,all_squash)

Seperti yang Anda lihat, terdapat beberapa opsi yang berbeda, tetapi sebagian cukup jelas dari contoh ini. NFS bekerja pada asumsi bahwa pengguna yang diberikan pada satu komputer pada sebuah jaringan memiliki ID pengguna yang sama pada semua komputer pada jaringan. Ketika sebuah percobaan untuk membaca atau menulis dilakukan dari klien NFS pada server NFS, sebuah UID dikirimkan sebagai bagian dari permintaan baca/tulis. UID ini dianggap sama jika permintaan baca/tulis dilakukan pada komputer lokal. Seperti yang Anda lihat, jika seseorang dapat menentukan UID ketika mengakses sumber daya pada sistem remote, Hal Buruk dapat dan akan terjadi. Sebagai solusi untuk mengatasi ini, setiap direktori di-mount dengan opsi root_squash. Opsi ini memetakan UID untuk setiap pengguna yang mengklaim sebagai root pada UID yang berbeda, sehingga mencegah akses root pada berkas atau folder pada direktori yang diekspor. root_squash tampaknya diaktifkan sebagai default sebagai usaha keamanan, tetapi penulis menyarankan untuk menyebutkannya pada berkas /etc/exports Anda. Anda juga bisa mengekspor direktori secara langsung dari perintah baris pada server dengan menggunakan perintah exportfs seperti berikut:
# exportfs -o rw,no_root_squash Bar:/home/foo

Baris ini mengekspor direktori /home/foo pada komputer Bar dan mengijinkan akses baca/tulis. Sebagai tambahan, server NFS tidak akan memanggil root_squash, yang berarti sembarang pengguna pada Bar dengan sebuah UID dari 0 (UID root) akan memiliki hak yang setara dengan root pada server. Sintaks tampaknya aneh (biasanya ketika sebuah direktori ditentukan pada sintaks

computer:/direktori/berkas, Anda mengacu pada sebuah berkas pada direktori pada komputer yang diberikan). Anda akan menemukan informasi lebih banyak pada halaman manual dari berkas exports.

Bab 6 Konfigurasi X
Daftar Isi 6.1 xorgconfig 6.2 xorgsetup 6.3 xinitrc 6.4 xwmconfig 6.5 xdm Sejak Slackware-10.0, Lingkungan X Window pada Slackware disediakan oleh Xorg. X bertanggung jawab untuk menyediakan antarmuka grafis. Aplikasi ini tidak tergantung dari sistem operasi, tidak seperti Windows atau MacOS. Sistem X Window diimplementasikan melalui banyak program yang berjalan pada sisi pengguna. Dua komponen utama adalah server dan window manager. Server menyediakan fungsi tingkat rendah untuk berinterasi dengan perangkat keras video Anda, sehingga spesifik terhadap sistem tertentu. Window manager terletak diatas server dan menyediakan antarmuka. Keunggulannya adalah Anda bisa memiliki banyak antarmuka grafis dengan mengganti window manager yang Anda gunakan. Mengkonfigurasi X bisa jadi tugas yang kompleks. Alasannya adalah banyaknya kartu grafis yang tersedia untuk arsitektur PC, yang sebagian besar menggunakan pemrograman antarmuka yang berbeda. Untungnya, sebagian besar kartu grafis sekarang ini mendukung standar video dasar yang dikenal dengan nama VESA, dan jika kartu Anda termasuk didalamnya, Anda bisa langsung menjalankan X menggunakan perintah startx. Jika hal ini tidak bekerja untuk kartu Anda, atau jika Anda hendak mengambil keuntungan dari fitur performa tinggi dari kartu grafis Anda seperti akselerasi perangkat keras atau rendering perangkat keras secara 3D, maka Anda harus mengkonfigurasi X. Untuk mengkonfigurasi X, Anda harus membuat berkas /etc/X11/xorg.conf. Berkas ini berisi banyak detail tentang perangkat keras video, mouse, dan monitor Anda. Berkas ini sangatlah kompleks, tetapi terdapat beberapa program untuk membantu Anda membuatnya. Kami akan menyebutkan sebagian dari program itu disini.

6.1 xorgconfig
Ini adalah antarmuka berbasis menu sederhana yang serupa dengan installer Slackware. Aplikasi ini akan meminta X server melihat kartu grafis, dan menentukan berkas konfigurasi awal yang paling bagus yang dapat dibuat berdasarkan informasi yang didapat. Berkas /etc/X11/xorg.conf yang dihasilkan merupakan langkah awal yang cukup bagus untuk sebagian besar sistem (dan seharusnya bekerja tanpa modifikasi apapun).

Ini adalah program konfigurasi X berbasis teks yang didesain untuk administator sistem yang lebih handal. Berikut adalah contoh langkah-langkah menggunakan xorgconfig. Pertama, jalankan program:
# xorgconfig

Ini akan menampilkan layar yang penuh dengan informais tentang xorgconfig. Untuk melanjutkan, tekan ENTER. xorgconfig akan menanyakan apakah Anda telah menentukan PATH Anda dengan benar. Seharusnya sudah baik, jadi lanjutkan dan tekan ENTER. Gambar 6-1. xorgconfig Konfigurasi Mouse

Pilih mouse Anda dari menu yang ditampilkan. Jika Anda tidak melihat mouse serial Anda pada daftar, pilihlah protokol Microsoft -- adalah yang paling sering dan mungkin akan jalan. Berikutnya xorgconfig akan bertanya tengan penggunaan ChordMiddle dan Emulate3Buttons. Anda akan menentukan opsi ini seperti yang dijelaskan pada layar. Gunakan jika tombol tengah pada mouse Anda tidak bekerja pada X, atau jika mouse Anda hanya memiliki dua tombol. Emulate3Buttons mengijinkan Anda mensimulasikan tombol tengah dengan menekan kedua tombol secara bersamaan. Lalu, masukkan nama perangkat mouse Anda. Pilihan default, /dev/mouse, seharusnya bekerja karena link dikonfigurasikan selama setup Slackware. Jika Anda menjalankan GPM (server mouse Linux) pada mode repeater, Anda bisa menentukan jenis mouse Anda pada /dev/gpmdata agar X mendapatkan informasi mouse melalui gpm. Pada beberapa kasus (dengan busmice terutama) hal ini bisa bekerja dengan lebih baik, tetapi sebagian besar pengguna tidak perlu melakukan hal ini. akan menanyakan apakah Anda hendak mengaktifkan binding kunci khusus. Jika Anda memerlukan, jawab y. Sebagian besar pengguna bisa menjawab n -- masukkan ini jika Anda tidak yakin.
xorgconfig

Gambar 6-2. xorgconfig Horizontal Sync

Pada bagian berikutnya Anda masukkan jangkauan sync untuk monitor Anda. Untuk memulai mengkonfigurasi monitor Anda, tekan ENTER. Anda akan melihat sebuah daftar jenis monitor -- pilih salah satu. Berhati-hatilah untuk tidak melebihi spesifikasi dari monitor Anda. Melakukan hal tersebut bisa merusak perangkat keras Anda. Gambar 6-3. xorgconfig Vertical Sync

Menentukan jangkauan sync vertikal untuk monitor Anda (Anda seharusnya menemukan ini pada manual monitor). xorgconfig akan menanyakan Anda untuk memasukkan string untuk mengidentifikasi jenis monitor pada berkas xorg.conf. Masukkan apapun yang Anda inginkan pada 3 baris ini (termasuk kosong). Gambar 6-4. xorgconfig Kartu Grafis

Sekarang Anda telah memiliki kesempatan untuk melihat basis data dari jenis kartu grafis. Anda mungkin perlu melakukan hal ini, jadi jawab y, dan pilih sebuah kartu dari daftar yang ditampilkan. Jika Anda tidak melihat kartu Anda, cobalah memilih yang menggunakan chipset yang sama dan mungkin akan berjalan dengan baik. Berikutnya, beritahu xorgconfig seberapa banyak RAM yang Anda miliki pada kartu grafis Anda. xorgconfig meminta Anda untuk memasukkan lebih banyak teks deskripsi tentang kartu grafis Anda. Jika Anda ingin, Anda bisa memasukkan deskripsi pada tigas baris ini. Anda akan ditanya resolusi tampilan apa yang hendak Anda gunakan. Lagi-lagi, menggunakan default yang disediakan sudahlah cukup untuk memulai. Selanjutnya, Anda bisa mengedit berkas /etc/X11/xorg.conf dan mengatur ulang mode sehingga 1024x768 (atau mode apapun yang Anda inginkan) adalah defaultnya. Pada titik ini, program xorgconfig akan bertanya apakah Anda hendak menyimpan berkas konfigurasi aktual. Jawab ya (yes) dan berkas konfigurasi X akan disimpan, menyelesaikan proses setup. Anda bisa memulau X dengan perintah startx.

6.2 xorgsetup

Cara kedua untuk mengkonfigurasi X adalah dengan menggunakan xorgsetup, sebuah program konfigurasi otomatis yang datang pada Slackware. Untuk menjalankan xorgsetup, login sebagai root dan ketikkan:
# xorgsetup

Jika Anda telah memiliki sebuah berkas /etc/X11/xorg.conf (karena Anda telah pernah mengkonfigurasi X), Anda akan diminta konfirmasi apakah Anda hendak membuat cadangan berkas konfigurasi sebelum melanjutkan. Berkas asli akan diberi nama /etc/X11/xorg.conf.backup.

6.3 xinitrc
xinit(1)

adalah program yang menjalankan x; program ini dipanggil oleh startx(1), sehingga Anda mungkin tidak menyadarinya (dan mungkin tidak perlu untuk menyadarinya). Berkas konfigurasinya menentukan program apa (termasuk dan terutama window manager) yang dijalankan ketika X dijalankan. xinit pertama-tama menguji direktori home Anda untuk sebuah berkas .xinitrc. Jika berkas ditemukan, maka akan dijalankan; jika tidak, /var/X11R6/lib/xinit/xinitrc (default sistem) akan digunakan. Berikut adalah contoh dari berkas xinitrc:
#!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login

Semua blok if disebutkan disana untuk digabung pada beberapa setting konfigurasi dari berkasberkas lain. Bagian yang menarik dari berkas tersebut adalah bagian akhir dari file, dimana beberapa

program dijalankan. Sesi X akan dimulai dengan twm(1) window manager, sebuah jam, dan tiga terminal. Perhatikan bahwa exec sebelum xterm terakhir. Apa yang dilakukannya adalah mengganti shell yang saat ini dijalankan (yang menjalankan script xinitrc) dengan perintah xterm(1). Ketika pengguna keluar dari xterm, Sesi X akan berakhir. Untuk mengkustomisasi X Anda, salin berkas default /var/X11R6/lib/xinit/xinitrc ke ~/.xinitrc dan editlah, mengganti program tersebut dengan apa yang Anda inginkan. Akhir dari milik saya seperti ini:
# Start the window manager: exec startkde

Perhatikan bahwa terdapat beberapa berkas xinitrc.* pada /var/X11R6/lib/xinit yang berkoresponden pada berbagai window manager dan GUI. Anda bisa menggunakan sembarang, jika Anda suka.

6.4 xwmconfig
Selama bertahun-tahun, Unix digunakan secara eksklusif sebagai sistem operasi untuk server, dengan pengecualian untuk workstation yang bertenaga. Hanya beberapa orang teknis yang mau menggunakan sistem operasi berbasis-Unix, dan antarmukanya merefleksikan fakta ini. GUI tampak lebih kosong, didesain untuk menjalankan beberapa aplikasi grafis yang diperlukan seperti program CAD dan pemodelan gambar. Sebagian besar berkas dan manajemen sistem dilakukan pada perintah baris. Berbagai vendor (Sun Microsystems, Silicon Graphics, dll) menjual workstation dengan sebuah usaha untuk menyediakan tampilan yang menawan, tetap berbagai alat GUI yang digunakan oleh para pengembang mengakibatkan pada masalah keseragaman desktop. Sebuah scrollbar mungkin tidak tampak sama pada dua aplikasi yang berbeda. Menu mungkin tampak berbeda pada tempat yang berbeda. Program-program memiliki tombol dan checkbox yang berbeda. Jangkauan warna yang berbeda dan biasanya ditulis secara hard-code pada setiap alat pemrograman. Selama para pengguna adalah para teknisi profesional, ini bukanlah masalah. Dengan keberadaan sistem operasi berbasis-Unix yang gratis dan sejumlah aplikasi grafis, X telah mendapatkan sebuah basis pengguna desktop yang cukup besar. Sebagian besar pengguna, tentu saja, terbiasa dengan tampilan yang konsisten yang disediakan oleh Microsoft Windows atau MacOS dari Apple; kurangnya konsistensi pada aplikasi berbasis X menjadi sebuah halangan untuk penerimaan pengguna yang lebih besar. Sebagai tanggapan akan hal tersebut, dua proyek open source telah melakukannya. K Desktop Environment, atau KDE, dan GNU Network Object Model Environment, yang dikenal dengan GNOME. Setiap proyek memiliki variasi aplikasi yang luas, mulai dari taskbars dan manajer berkas hingga permainan dan perangkat perkantoran, ditulis dengan toolkit GUI yang sama dan terintegrasi secara penuh untuk menyediakan sebuah desktop yang konsisten dan seragam. Perbedaan antara KDE dan GNOME secara umum sangatlah mendasar. Keduanya tampak berbeda, karena setiap proyek menggunakan toolkit GUI yang berbeda. KDE berbasis pada pustaka Qt dari Troll Tech AS, sementara GNOME menggunakan GTK, sebuah toolkit yang dibuat untuk program GNU Image Manipulation Program (GIMP). Sebagai proyek yang terpisah, KDE dan GNOME memiliki pemrogram dan desainernya masing-masing, dengan gaya pengembangan dan filosofi yang berbeda. Hasilnya, secara mendasar adalah sama: sebuah lingkungan desktop dan koleksi aplikasi yang terintegrasi dan konsisten. Fungsionalitas, usabilitas, dan kecantikan dari KDE dan GNOME bersaing dengan apapun yang ada pada sistem operasi lain.

Bagian terbagus adalah kedua desktop canggih ini gratis. Ini berarti Anda bisa mendapatkan salah satunya atau keduanya (ya, pada waktu yang bersamaan). Pilihan ada ditangan Anda. Sebagai tambahan dari desktop GNOME dan KDE, Slackware menyertakan banyak koleksi window manager. Beberapa didesain untuk mensimulasikan sistem operasi lain, sebagain untuk kustomisasi, dan sisanya untuk kecepatan. Terdapat beberapa variasi. Tentu saja Anda bisa menginstall sebanyak yang Anda inginkan, bermain dengan mereka semua, dan menentukan mana yang menjadi pilihan Anda. Untuk mempermudah pemilihan desktop, Slackware juga menyertakan sebuah program yang disebut xwmconfig yang dapat digunakan untuk memilih sebuah desktop atau window manager. Ia dijalankan seperti berikut:
% xwmconfig

Gambar 6-5. Konfigurasi desktop dengan xorgconfig

Anda akan diberikan sebuah daftar semua desktop dan window manager yang terinstall. Cukup pilih yang Anda inginkan dari daftar tersebut. Setiap pengguna pada sistem Anda harus menjalankan program ini, karena pengguna yang berbeda dapat menggunakan desktop yang berbeda, dan tidak semua pengguna menginginkan pilihan yang Anda pilih saat installasi. Lalu cukup jalankan X, dan Anda sudah siap.

6.5 xdm
Semenjak Linux menjadi sistem operasi desktop yang lebih berguna, banyak pengguna memilih agar mesin langsung boot ke lingkungan grafis. Untuk hal ini Anda harus memberitahukan kepada

Slackware untuk boot secara langsung ke X, dan memanggil login manager grafis. Slackware hadir dengan tiga alat login grafis, xdm(1), kdm, dan gdm(1). adalah login manager grafis yang hadir dengan sistem X.org. Paket ini cukup lengkap, tetapi tidak secanggih alternatifnya. kdm adalah login manager grafis yang hadir dengan KDE, K Desktop Environment. Akhirnya, gdm adalah login manager yang hadir dengan GNOME. Sembarang pilihan memungkinkan Anda untuk login sebagai sembarang pengguna, dan memilih desktop apa yang hendak Anda gunakan.
xdm

Sayangnya, Slackware tidak menyertakan program seperti xwmconfig untuk memilih login manager yang hendak digunakan, sehingga jika ketiganya diinstall Anda harus melakukan sedikit pengeditan untuk memilih pilihan Anda. Tetapi sebelumnya, kita akan membahas bagaimana melakukan boot ke lingkungan grafis. Agar dapat menjalankan X saat boot, Anda harus melakukan boot pada run-level 4. Run-level adalah cara untuk memberitahukan init(8) untuk melakukan sesuatu yang berbeda saat ia menjalankan sistem operasi. Kita melakukan hal ini dengan mengedit berkas konfigurasi untuk init, /etc/inittab.
# These are the default runlevels in Slackware: # 0 = halt # 1 = single user mode # 2 = unused (but configured the same as runlevel 3) # 3 = multiuser mode (default Slackware runlevel) # 4 = X11 with KDM/GDM/XDM (session managers) # 5 = unused (but configured the same as runlevel 3) # 6 = reboot # Default runlevel. (Do not set to 0 or 6) id:3:initdefault:

Untuk membuat Slackware boot ke lingkungan grafis, kita cukup mengganti 3 menjadi 4.
# Default runlevel. (Do not set to 0 or 6) id:4:initdefault:

Sekarang Slackware akan boot pada runlevel 4 dan menjalankan /etc/rc.d/rc.4. Berkas ini menjalankan X dan memanggil login manager yang Anda pilih. Lalu, bagaimana kita memilih login manager? Terdapat beberapa cara untuk melakukannya, dan saya akan menjelaskannya setelah kita melihat rc.4.
# Try to use GNOME's gdm session manager: if [ -x /usr/bin/gdm ]; then exec /usr/bin/gdm -nodaemon fi # Not there? OK, try to use KDE's kdm session manager: if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi # If all you have is XDM, I guess it will have to do: if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi

Seperti yang Anda lihat disini, rc.4 pertama-tama menguji apakah gdm dapat dieksekusi, dan jika iya, dia akan menjalankannya. Pilihan kedua adalah kdm, dan akhirnya xdm. Satu cara untuk memilih login manager adalah dengan menghapus yang tidak hendak Anda gunakan menggunakan removepkg. Anda bisa mencari lebih banyak tentang removepkg pada Bab 18. Cara lain, Anda bisa menghapus hak akses eksekusi pada berkas yang tidak Anda gunakan. Kita membahas chmod pada Bab 9.
# chmod -x /usr/bin/gdm

Akhirnya, Anda juga bisa memberi komentar pada login manager yang tidak akan Anda gunakan.
# Try to use GNOME's gdm session manager: # if [ -x /usr/bin/gdm ]; then # exec /usr/bin/gdm -nodaemon # fi # Not there? OK, try to use KDE's kdm session manager: if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi # If all you have is XDM, I guess it will have to do: if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi

Sembarang baris yang diawali dengan tanda kres (#) dianggap sebuah komentar dan shell akan melewatinya. Sehingga, meskipun gdm sudah terinstall dan dapat dieksekusi, shell (dalam hal ini bash) tidak akan mengujinya.

Bab 7 Boot
Daftar Isi 7.1 LILO 7.2 LOADLIN 7.3 Dual Boot Proses boot sistem Linux Anda seringkali mudah dan terkadang sulit. Banyak pengguna menginstall Slackware pada komputernya dan hanya itu. Mereka hanya menghidupkannya dan siap untuk digunakan. Pada waktu lain, hanya mem-boot mesin bisa menjadi pilihan. Untuk sebagian besar pengguna, LILO adalah yang terbaik. Slackware menyertakan LILO dan Loadlin untuk boot Slackware Linux. LILO akan bekerja dari partisi hard drive, boot record hard drive, atau disket, sehingga menjadikannya alat yang sangat serbaguna. Loadlin bekerja dari perintah baris DOS, mematikan DOS dan menjalankan Linux. Utilitas lain yang populer untuk melakukan boot Linux adalah GRUB. GRUB tidak disertakan atau didukung secara penuh oleh Slackware. Slackware bertahan pada standar mencoba dan benar untuk apa yang disertakan pada distribusi. Meskipun GRUB bekerja dengan baik dan menyertakan beberapa fitur yang tidak ada pada LILO, LILO menangani semua tugas-tugas boot loader dengan lebih handal dan juga catatan sejarah yang lebih baik. Menjadi aplikasi yang lebih muda, GRUB belum hidup terlalu lama. Karena tidak disertakan pada Slackware, kami tidak mendiskusikannya

disini. Jika Anda hendak menggunakan GRUB (mungkin ia hadir pada SO Linux lain dan jika Anda hendak menggunakannya untuk dual-boot) lihatlah dokumentasi GRUB. Bagian ini membahas LILO dan Loadlin, dua aplikasi boot yang disertakan pada Slackware. Bagian ini juga membahas beberapa skenario dual boot dan bagaimana Anda melakukannya.

7.1 LILO
Linux Loader, atau LILO, adalah aplikasi boot yang paling populer pada sistem Linux. Aplikasi ini memiliki banyak konfigurasi dan bisa digunakan dengan mudah untuk boot sistem operasi lain. Slackware Linux hadir dengan utilitas konfigurasi berbasis menu yang disebut liloconfig. Program ini dijalankan pertama kali selama proses setup, tetapi Anda bisa memanggilnya kemudian dengan mengetikkan liloconfig pada prompt. LILO membaca settingnya dari berkas /etc/lilo.conf(5). Berkas ini tidak dibaca setiap kali Anda melakukan boot, tetapi setiap kali Anda menginstall LILO. LILO harus diinstall ulang pada boot sector setiap kali Anda melakukan perubahan konfigurasi. Banyak kesalahan LILO muncul dari modifikasi berkas lilo.conf, tetapi lupa untuk menjalankan ulang lilo untuk menginstall ulang perubahan ini. liloconfig akan membantu Anda membangun berkas konfigurasi sehingga Anda bisa menginstall LILO untuk sistem Anda. Jika Anda memilih untuk mengedit berkas /etc/lilo.conf, maka menginstall LILO cukup dengan mengetikkan /sbin/lilo (sebagai root) pada prompt. Ketika pertama kali Anda menjalankan liloconfig, maka akan tampak seperti berikut: Gambar 7-1. liloconfig

Jika ini adalah kali pertama Anda melakukan setting LILO, Anda harus memilih simple. Jika tidak, Anda mungkin menemukan bahwa expert lebih cepat jika Anda terbiasa dengan LILO dan Linux. Memilih simple akan memulai konfigurasi LILO. Jika dukungan kernel frame buffer dikompilasi pada kernel Anda, liloconfig akan bertanya tentang resolusi video yang hendak Anda gunakan. Ini adalah resolusi yang digunakan oleh server XFree86 frame buffer. Jika Anda tidak ingin konsol dijalankan pada mode video khusus, memilih normal akan memilih pilihan 80x25. Bagian berikutnya dari konfigurasi LILO adalah memilih dimana Anda hendak menginstallnya. Ini mungkin adalah langkah yang paling penting. Daftar berikut menjelaskan letak installasi: Root Opsi ini akan menginstall LILO pada awal partisi root Linux Anda. Ini adalah opsi teraman jika Anda memiliki sistem operasi lain pada komputer Anda. Opsi ini memastikan bahwa aplikasi boot lain tidak tertimpa ulang. Kerugiannya adalah LILO hanya akan dimuat dari sini jika drive Linux Anda adalah drive pertama pada sistem Anda. Hal ini mengapa banyak orang memilih untuk membuat sebuah partisi /boot sebagai drive pertama pada sistem mereka. Hal ini mengijinkan kernel dan LILO diinstall pada awal drive dimana LILO bisa menemukannya. Versi awal LILO berisi sebuah cacat yang dikenal dengan 1024 cylinder limit. LILO tidak dapat melakukan boot kernel pada partisi yang melewati silinder ke-1024. Versi terbaru LILO sudah menghapus masalah ini. Floppy Metode ini bahkan lebih aman dari opsi sebelumnya. Opsi ini membuat disket yang dapat Anda gunakan untuk boot sistem Linux Anda. Opsi ini tidak menggunakan aplikasi boot apapun pada hard disk, sehingga Anda hanya cukup mem-boot disket ini jika Anda hendak menggunakan Slackware. Kecacatan dari metode ini sangatlah jelas. Disket sangatlah rentan terhadap kegagalan. Kedua, boot loader tidak berada pada komputer, jika Anda kehilangan disket, Anda harus membuat yang lain agar dapat boot sistem Anda. MBR Anda mungkin akan menggunakan metode ini jika Slackware adalah satu-satunya sistem operasi pada komputer Anda, atau jika Anda hendak menggunakan LILO untuk memilih diantara beberapa sistem operasi pada komputer Anda. Ini adalah metode yang paling disarankan untuk menginstall LILO dan akan bekerja pada sembarang sistem komputer. Opsi ini akan menimpa aplikasi boot lain yang Anda miliki pada MBR. Setelah memili lokasi installasi, liloconfig akan menulis berkas konfigurasi dan menginstall LILO. Sudah selesai. Jika Anda memilih mode expert Anda akan mendapatkan menu khusus. Menu ini mengijinkan Anda untuk memodifikasi berkas /etc/lilo.conf, dan menambahkan sistem operasi lain pada menu boot Anda, dan menentukan LILO untuk mengirimkan parameter kernel khusus saat boot. Menu expert tampak seperti berikut: Gambar 7-2. Menu Expert liloconfig

Apapun konfigurasi sistem Anda, melakukan setting boot loader yang sudah berfungsi sangatlah mudah. liloconfig membuatnya mudah.

7.2 LOADLIN
Opsi boot lain yang hadir dengan Slackware Linux adalah LOADLIN. LOADLIN adalah sebuah program DOS yang dapat digunakan untuk menjalankan Linux dari sistem DOS yang sedang berjalan. Aplikasi ini membutuhkan kernel Linux pada partisi DOS sehingga LOADLIN bisa memuatnya dan melakukan boot sistem dengan benar. Selama proses installasi, LOADLIN akan disalin pada direktori home pengguna root sebagai berkas .ZIP. Tidak terdapat proses setup otomatis untuk LOADLIN. Anda harus menyalin kernel Linux (biasanya /boot/vmlinuz) dan juga berkas LOADLIN dari direktori home pengguna root pada partisi DOS. LOADLIN sangatlah berguna jika Anda hendak membuat menu boot pada partisi DOS Anda. Sebuah menu bisa ditambahkan pada berkas AUTOEXEC.BAT yang mengijinkan Anda untuk memilih antara Linux atau DOS. Pilihan Linux akan menjalankan LOADLIN, sehingga memboot sistem Slackware Anda. Berkas AUTOEXEC.BAT ini pada Windows 95 akan menyediakan menu boot yang cukup:
@ECHO OFF SET PROMPT=$P$G SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\ CLS ECHO Harap Memilih Sistem Operasi Anda: ECHO. ECHO [1] Slackware Linux ECHO [2] Windows 95 ECHO.

CHOICE /C:12 "Selection? -> " IF ERRORLEVEL 2 GOTO WIN IF ERRORLEVEL 1 GOTO LINUX :WIN CLS ECHO Menjalankan Windows 95... WIN GOTO END :LINUX ECHO Menjalankan Slackware Linux... CD \LINUX LOADLIN C:\LINUX\VMLINUZ ROOT=<root partition device> RO GOTO END :END

Anda mungkin hendak menentukan partisi root Anda sebagai nama perangkat Linux, seperti /dev/hda2 atau yang lain. Anda bisa menggunakan LOADLIN pada perintah baris. Anda cukup menggunakannya sama seperti pada contoh diatas. Dokumentasi LOADLIN hadir dengan banyak contoh tentang cara penggunaannya.

7.3 Dual Boot


Banyak pengguna melakukan setting komputer mereka untuk boot Slackware Linux dan sistem operasi lain. Kami telah menjelaskan beberapa skenario dual boot, jika Anda mengalami kesulitan melakukan setting pada sistem Anda.

7.3.1 Windows
Melakukan setting sebuah komputer antara MS Windows dan Linux mungkin skenario dual boot yang paling umum. Terdapat berbagai cara Anda bisa melakukan setup, tetapi bagian ini hanya membahas dua diantaranya. Seringkali ketika melakukan setting sistem dual boot, seseorang akan merencanakan rencana yang sempurna untuk segalanya, tetapi melupakan urutan installasi. Sangatlah penting untuk memahami bahwa sistem operasi harus diinstall pada urutan tertentu agar dual boot dapat bekerja. Linux selalu menawarkan kontrol terhadap hal itu, jika sesuatu dituliskan pada Master Boot Record. Untuk itu, sangatlah disarankan untuk menginstall Linux di akhir. Windows harus terinstall terlebih dahulu, karena ia selalu menuliskan aplikasi bootnya pada Master Boot Record, menimpa semua yang mungkin ditulis disana.

7.3.1.1 Using LILO


Sebagian besar orang akan menggunakan LILO untuk memilih antara Linux dan Windows. Seperti yang dikatakan diatas, Anda harus menginstall Windows terlebih dahulu, baru dilanjutkan dengan Linux. Misalkan Anda memiliki hard disk IDE 40GB sebagai satu-satunya disk pada sistem Anda. Mari kita misalkan Anda hendak memberikan setengah dari kapasitas tersebut pada Windows dan sisanya pada Linux. Hal ini akan menimbulkan sebuah masalah ketika mencoba boot Linux.
20GB 1GB 19GB Windows boot (C:) Linux root (/) Linux /usr (/usr)

Anda mungkin harus mengalokasikan sejumlah ruang untuk partisi swap Linux Anda. Aturan tidak tertulis adalah untuk menggunakan dua kali jumlah RAM yang Anda miliki. Sebuah sistem dengan 64MB RAM akan memiliki 128 MB swap, dan seterusnya. Ruang kosong untuk swap adalah diskusi dari banyak flame pada IRC dan Usenet. Tidak ada cara yang benar untuk melakukannya, tetapi bertahan dengan aturan diatas sudahlah mencukupi. Dengan partisi Anda sudah tertata, Anda seharusnya memulai menginstall Windows. Setelah berjalan dengan baik, Anda bisa memulai menginstall Linux. Installasi LILO memerlukan perhatian khusus. Anda mungkin akan memilih mode expert untuk menginstall LILO. Mulailah sebuah konfigurasi LILO baru. Anda mungkin hendak menginstallnya pada Master Boot Record sehingga bisa digunakan untuk memilih diantara dua sistem operasi. Dari menu, tambahkan partisi Linux Anda dan Windows (atau DOS) Anda. Setelah selesai, Anda bisa menginstall LILO. Reboot komputer. LILO akan dimuat dan menampilkan sebuah menu yang mengijinkan Anda memilih diantara sistem operasi yang telah terinstall. Pilih nama dari SO yang hendak Anda muat (nama ini dipilih ketika Anda melakukan setup LILO). LILO adalah boot loader yang dapat dikonfigurasi. Aplikasi ini tidak hanya terbatas untuk boot Linux atau DOS. Ia dapat boot apa saja. Halaman manual untuk lilo(8) dan lilo.conf(5) menyediakan informasi lebih detail. Bagaimana jika LILO tidak bekerja? Terdapat beberapa kasus dimana LILO tidak bekerja pada mesin tertentu. Untungnya terdapat cara lain untuk dual boot Linux dan Windows.

7.3.1.2 Menggunakan LOADLIN


Metode ini bisa digunakan jika LILO tidak bekerja pada sistem Anda, atau jika Anda tidak ingin melakukan setting LILO. Metode ini juga ideal untuk pengguna yang sering menginstall ulang Windows. Setiap kali Anda menginstall ulang Windows, ia akan menimpa Master Boot Record, sehingga menghancurkan installasi LILO. Dengan LOADLIN, Anda tidak terpengaruh dengan masalah tersebut. Kerugian terbesar adalah Anda hanya dapat menggunakan LOADLIN untuk melakukan boot ke Linux. Dengan LOADLIN, Anda bisa menginstall sistem operasi pada sembarang urutan. Hati-hati dengan menginstall pada Master Boot Record, Anda tidak ingin melakukannya. LOADLIN bergantung pada partisi Windows yang dapat diboot. Sehingga pada saat installasi Slackware, pastikan Anda melewatkan setup LILO. Setelah menginstall sistem operasi, salin loadlinX.zip (dimana X adalah nomor versi, seperti 16a) dari direktori home root pada partisi Windows Anda. Juga salin citra kernel pada partisi Windows. Anda harus berada pada Linux agar bisa berhasil. Contoh berikut menunjukan bagaimana melakukan hal ini:
# # # # # # # # mkdir /win mount -t vfat /dev/hda1 /win mkdir /win/linux cd /root cp loadlin* /win/linux cp /boot/vmlinuz /win/linux cd /win/linuz unzip loadlin16a.zip

Perintah diatas akan menghasilkan sebuah direktori C:\LINUX pada partisi Windows Anda (asumsi /dev/hda1) dan menyalin segala sesuatu yang diperlukan untuk LOADLIN. Setelah melakukan hal ini, Anda harus reboot dan masuk ke Windows untuk melakukan setup menu boot. Setelah masuk di Windows, bukalah prompt DOS. Pertama, kita harus memastikan bahwa sistem dipilih untuk tidak boot ke antarmuka grafis.
C:\> cd \ C:\> attrib -r -a -s -h MSDOS.SYS C:\> edit MSDOS.SYS

Tambahkan baris ini pada berkas:


BootGUI=0

Sekarang simpan berkas dan keluar dari editor. Sekarang edit C:\AUTOEXEC.BAT sehingga kita bisa menambahkan menu boot. Berikut ini adalah contoh pada AUTOEXEC.BAT:
cls echo Menu Boot Sistem echo. echo 1 - Linux echo 2 - Windows echo. choice /c:12 "Selection? -> " if errorlevel 2 goto WIN if errorlevel 1 goto LINUX :LINUX cls echo "Menjalankan Linux..." cd \linux loadlin c:\linux\vmlinuz root=/dev/hda2 ro goto END :WIN cls echo "Menjalankan Windows..." win goto END :END

Baris kunci adalah pada saat menjalankan LOADLIN. Kita memberitahukan kernel apa yang hendak dimuat, partisi root Linux dan kita hendak melakukan mount secara read-only pada awalnya. Alat untuk kedua metode ini disediakan oleh Slackware Linux. Terdapat banyak aplikasi boot dipasaran, tetapi kedua aplikasi ini dapat berjalan untuk sebagian besar setup dual boot.

7.3.1.3 Hack Windows NT Kuno


Ini adalah situasi dual boot yang kurang populer. Pada jaman dahulu, dimana LILO tidak mampu boot Windows NT, memaksa pengguna Linux melakukan hack terhadap NTLDR, yang menimbulkan lebih banyak masalah daripada dual boot antara Windows 9x dan Linux. Harap dipahami bahwa instruksi dibawah ini sudah kuno. LILO telah mampu boot ke Windows NT/2000/XP/2003 untuk beberapa tahun sekarang ini. Jika Anda menggunakan mesin kuno, Anda harus menggunakan hack seperti ini. 1. Install Windows NT

2. Install Linux, pastikan LILO terinstall pada superblock pada partisi Linux 3. Dapatkan 512 byte pertama dari partisi root Linux dan simpan pada partisi Windows NT 4. Edit C:\BOOT.INI pada Windows NT untuk menambahkan opsi Linux Menginstall Windows NT cukup jelas, dan juga menginstall Linux. Dari situ, akan menjadi lebih rumit. Mendapatkan 512 byte pertama dari partisi Linux lebih mudah dari kata-kata. Anda harus berada pada Linux untuk menyelesaikan ini. Diasumsikan partisi Linux Anda adalah /dev/hda2, jalankan perintah ini:
# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512

Selesai. Sekarang Anda harus menyalin bootsect.lnx pada partisi Windows NT. Disini adalah dimana kita mendapatkan masalah lain. Linux tidak memiliki dukungan penulisan pada sistem berkas NTFS. Jika Anda menginstall Windows NT dan memformat drive Anda sebagai NTFS, Anda perlu menyalin berkas ini pada disket FAT dan membacanya dari Windows NT. Jika Anda memformat Windows NT sebagai FAT, Anda bisa memountnya dari Linux dan menyalin berkasnya secara langsung. Dari kedua cara tersebut, Anda harus meletakkan /tmp/bootsect.lnx dari drive Linux pada C:\BOOTSECT.LNX pada drive Windows NT. Langkah terakhir adalah menambahkan opsi menu pada menu boot Windows NT. Pada Windows NT, bukalah sebuah prompt.
C:\WINNT> cd \ C:\> attrib -r -a -s -h boot.ini C:\> edit boot.ini

Tambahkan baris ini pada akhir berkas:


C:\bootsect.lnx="Slackware Linux"

Simpan perubahan dan keluar dari editor. Ketika Anda reboot Windows NT, Anda akan mendapatkan opsi Linux pada menu. Memilihnya akan melakukan boot ke Linux.

7.3.2 Linux
Ya, orang-orang melakukan hal ini. Ini adalah skenario dual boot termudah. Anda bisa menggunakan LILO dan menambahkan lebih banyak pada berkas /etc/lilo.conf. Itulah semua yang harus dilakukan.

Bab 8 Shell
Daftar Isi 8.1 Pengguna 8.2 Perintah Baris 8.3 Bourne Again Shell (bash) 8.4 Terminal Virtual Dalam lingkungan grafis, antarmuka disediakan oleh sebuah program yang membuat jendela, scrollbar, menu, dll. Pada lingkungan teks, antarmuka disediakan oleh sebuah shell, yang bertugas untuk menginterpretasi perintah-perintah dan secara umum membuat segala sesuatu menjadi berguna. Segera setelah melakukan proses login (yang dibahas pada bab ini), pengguna ditempatkan

pada sebuah shell dan diijinkan untuk menjalankan bisnisnya. Bab ini membahas tentang pengenalan pada shell, dan juga pada shell yang paling umum bagi pengguna Linux-- Bourne Again Shell (bash). Untuk informasi lebih detail tentang apapun pada bab ini, lihat halaman manual bash(1).

8.1 Pengguna
8.1.1 Login
Setelah Anda melakukan boot, dan Anda melihat sesuatu yang seperti ini:
Welcome to Linux 2.4.18 Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6. darkstar login:

Hmm.. tidak ada yang mengatakan tentang sebuah login. Dan apa itu darkstar? Jangan khawatir; Anda mungkin secara tidak sengaja menjalankan jalur komunikasi luar angkasa pada bulan artificial Kerajaan. (Saya takut protokol komunikasi luar angkasa tidak didukung pada kernel Linux. Mungkin versi 2.8 akan menyediakan dukungan ini). Tidak, darkstar hanyalah nama dari salah satu komputer kita, dan namanya dituliskan sebagai default. Jika Anda menyebutkan sebuah nama untuk komputer Anda selama proses setup, Anda akan melihatnya dan bukan darkstar. Untuk login... Jika ini adalah yang pertama kalinya bagi Anda, Anda akan login sebagai root. Anda akan diminta sebuah kata sandi (password); Jika Anda menentukan sebuah password pada saat proses setup, itulah yang Anda cari. Jika tidak, cukup tekan enter. Hanya itu, Anda sudah masuk!

8.1.2 Root: Pengguna Super


Oke, siapa atau apa itu root? Dan apa yang dilakukannya dengan sebuah account pada sistem Anda? Pada dunia Unix dan sistem operasi yang serupa (seperti Linux), terdapat pengguna dan pengguna. Kita akan membahasnya lebih jauh lagi, tetapi hal penting yang harus Anda ketahui adalah bahwa root adalah pengguna diatas semua pengguna; root adalah maha tahu dan maha hebat, dan tidak ada yang menentang root. Ia hanya tidak diijinkan. root adalah apa yang kita sebuah sebagai pengguna super. Dan yang terbaik lagi, root adalah Anda. Keren khan? Jika Anda tidak yakin: ya, itu sungguh keren. Aturannya adalah, bahwa root diijinkan untuk merusak apapun jika diinginkan. Anda mungkin hendak lompat ke Bagian 12.1.1 dan melihat tentang menambahkan seorang pengguna; lalu login sebagai pengguna tersebut dan bekerja dari situ. Saran tradisional adalah sangat baik untuk menjadi pengguna super hanya jika benar-benar diperlukan, sehingga meminimalisasi kemungkinan terjadinya kerusakan secara tidak sengaja. Ngomong-ngomong, jika Anda memutuskan Anda hendak menjadi root selama login sebagai orang lain, tidak masalah. Cukup gunakan perintah su(1). Anda akan diminta untuk memasukkan password root's dan akan menjadikan Anda root sampai Anda keluar atau logout. Anda juga bisa menjadi pengguna lain menggunakan su, dengan syarat Anda tahu nama pengguna tersebut: su logan, misalnya, akan membuat Anda menjadi saya.

root

diijinkan untuk melakukan su pada pengguna lain, tanpa harus memasukkan passwordnya.

8.2 Perintah Baris


8.2.1 Menjalankan Program
Sangatlah susah untuk mendapatkan sesuatu tanpa menjalankan sebuah program; Anda mungkin dapat memperoleh sesuatu dengan komputer Anda atau menahan sebuah pintu yang terbuka, dan beberapa akan membuat suara ketika berlari, tetapi hanya itu. Dan saya berpendapat bahwa kita semua setuju bahwa penggunaannya sebagai penahan pintu tidak akan membawa popularitas komputer pribadi seperti yang sekarang kita alami sekarang. Jadi, ingat bagaimana semua pada Linux adalah sebuah berkas? Hal tersebut berlaku juga untuk program. Setiap perintah yang Anda jalankan (yang tidak dibangun pada shell) tersimpan sebagai file pada suatu tempat. Anda menjalankan program cukup dengan menentukan path lengkapnya. Sebagai contoh, ingat perintah su dari bab terakhir? Sebetulnya ia terletak pada direktori /bin: /bin/su akan menjalankannya dengan baik. Lalu kenapa, hanya dengan mengetikkan su akan bekerja? Lagipula, Anda tidak mengatakan bahwa ia terletak pada /bin. Ia juga bisa terletak pada /usr/local/share, bukan? Bagaimana ia mengetahuinya? Jawabannya terletak pada PATH variabel lingkungan; sebagian besar shell memilikinya entah PATH atau sesuatu yang hampir sama dengan PATH. Secara umum hanya berisi daftar direktori yang harus dicari untuk menjalankan program Anda coba jalankan. Jadi ketika Anda menjalankan su, shell Anda mencari melalui daftar direktori tersebut, memeriksa setiap berkas yang dapat dieksekusi yang disebut su yang dapat dijalankan; yang pertama yang muncul, akan dijalankan. Hal ini terjadi ketika Anda menjalankan sebuah program tanpa menentukan path secara lengkap; jika Anda mendapatkan sebuah kesalahan Command not found, itu hanya berarti bahwa program yang hendak Anda jalankan tidak berada pada PATH. (tentu saja, ini hanya akan benar jika program benar-benar tidak ada...) Kita akan membahas variabel lingkungan lebih dalam pada Bagian 8.3.1. Ingat juga bahwa . adalah kependekan dari direktori aktual, sehingga jika Anda berada pada /bin, ./su akan bekerja sebagai path lengkap eksplisit.

8.2.2 Pencocokan Pola


Hampir semua shell mengenali beberapa karakter sebagai penggati atau abbreviasi yang berarti segalanya disini. Beberapa karakter disebut dengan wildcard; yang paling umum adalah * dan ?. Secara konvensi, ? biasanya sesuai dengan satu buah karakter. Sebagai contoh, misalnya Anda berada pada sebuah direktori dengan tiga buah berkas: ex1.txt, ex2.txt, dan ex3.txt. Anda hendak menyalin semua berkas tersebut (menggunakan perintah cp yang kita bahas pada Bagian 10.5.1) pada direktori lain, misalnya /tmp. Dengan mengetikkan cp ex1.txt ex2.txt ex3.txt /tmp maka cukup banyak pekerjaan yang harus dilakukan. Akan lebih mudah untuk mengetikkan cp ex?.txt /tmp; ? akan sesuai dengan setiap karakter 1, 2, dan 3, dan setiap karakter akan disubstitusi.

Apa yang Anda katakan? Itu s masih terlalu banyak? Anda benar; kita memiliki hukum tenaga kerja untuk memproteksi kita dari hal-hal seperti itu. Untungnya, kita juga memiliki *. Seperti yang sudah disebutkan * akan sesuai dengan sembarang karakter, termasuk 0. Jadi jika ketiga berkas ini berada pada satu direktori, kita cukup menyebutkan cp * /tmp dan mendapatkannya semua dalam satu sapuan. Misalkan, jka terdapat sebuah berkas bernama ex.txt dan satu lagi bernama hejaz.txt. Kita ingin menyalin ex.txt tetapi tidak hejaz.txt; cp ex* /tmp akan melakukannya untuk kita.
cp ex?.txt /tmp, akan, tentu saja, hanya mengambil tiga berkas orisinal kita; tidak pada ex.txt untuk disesuaikan dengan ?, sehingga akan ditinggalkan.

ada karakter

Wildcard umum lainnya adalah tanda kurung [ ]. Sembarang karakter yang ada didalam tanda tersebut akan digantikan pada [] untuk mencari sebuah kesesuaian. Membingungkan? Tidak separah itu. Misalkan, kita memiliki sebuah direktori yang berisi 8 berkas berikut: a1, a2, a3, a4, aA, aB, aC, dan aD . Kita hanya ingin mencari file yang diakhiri dengan angka; [ ] akan melakukannya untuk kita.
% ls a[1-4] a1 a2 a3 a4

Tetapi apa yang benar-benar kita inginkan hanyalah a1, a2, dan a4? Pada contoh sebelumnya, kita menggunakan - untuk mengartikan semua nilai antara 1 dan 4. Kita juga bisa memisahkan daftar individu dengan koma.
% ls a[1,2,4] a1 a2 a4

Saya tahu apa yang Anda pikirkan sekarang, Bagaimana dengan huruf? Linux bersifat casesensitive, artinya a dan A adalah karakter yang berbeda dan hanya berhubungan pada pikiran Anda. Kapital selalu lebih awal dibandingkan huruf kecil, jadi A dan B lebih dahulu dibandingkan a dan b. Melanjutkan contoh kita sebelumnya, jika kita ingin berkas a1, dan A1, kita bisa menemukan dengan [ ].
% ls [A,a]1 A1 a1

Perhatikan, bahwa jika kita menyertakan sebuah tanda minus dan bukan koma, kita akan mendapatkan hasil yang tidak benar.
% ls [A-a]1 A1 B1 C1 D1 a1

Anda juga bisa mengkombinasikan antara minus dan koma.


% ls [A,a-d] A1 a1 b1 c1 d1

8.2.3 Pengalihan Masukan/Keluaran dan Piping


(Ini adalah sesuatu yang menarik.)
% ps > blargh

Anda tahu apa itu? Itu saya menjalankan ps untuk melihat proses apa saja yang sedang berjalan; ps dibahas pada Bagian 11.3. Itu bukan bagian yang menarik. Bagian menariknya adalah > blargh, yang berarti, secara kasar, ambil hasil keluaran dari ps dan tuliskan pada sebuah berkas bernama blargh. Tetapi tunggu, ini menjadi semakin menarik.
% ps | less

Yang ini mengambil nilai keluaran dari ps dan mengirimkannya kepada less, sehingga saya bisa membacanya dengan santai.
% ps >> blargh

Ini adalah pengalihan ketiga yang paling umum digunakan; ia melakukan hal yang sama dengan >, kecuali >> akan menambahkan hasil keluaran dari ps pada berkas blargh, jika berkas ada. Jika tidak, maka seperti >, berkas akan dibuat. (> akan menimpa isi dari blargh.) Juga terdapat operator <, yang berarti ambil masukkan Anda dari berikut, tetapi jarang sekali digunakan.
% fromdos < dosfile.txt > unixfile.txt

Pengalihan menjadi menarik ketika Anda mulai menggabungkannya:


% ps | tac >> blargh

Hal itu akan menjalankan ps, memutar baris dari hasil keluaran, dan menambahkannya pada berkas blargh. Anda bisa menumpuk sebanyak yang Anda inginkan; hanya berhati-hatilah untuk mengingat bahwa mereka akan diinterpretasi dari kiri ke kanan. Lihat halaman manual bash(1) untuk informasi lebih detail tentang pengalihan.

8.3 Bourne Again Shell (bash)


8.3.1 Environment Variables
Sebuah sistem Linux adalah makluk yang sangat rumit, dan terdapat banyak catatan dari detail kecil yang turut berperan serta pada interaksi Anda dengan berbagai program (beberapa diantaranya mungkin tidak Anda sadari). Tidak ada orang yang ingin mengirimkan segudang opsi pada setiap komputer yang berjalan, memberitahukan terminal apa yang harus dikerjakan, nama host dari komputer, bagaimana tampilan sebuah prompt ... Seperti mekanisme penyalinan, pengguna memiliki apa yang disebut sebuah lingkungan (environment). Lingkungan mendefinisikan kondisi dimana program berjalan, dan beberapa definisi ini adalah variabel; pengguna bisa mengubah dan bermain-main dengannya, sama seperti sistem Linux. Sebagian besar shell memiliki variabel lingkungan (jika tidak, mungkin itu bukan shell yang sangat berguna). Disini kita memberikan sebuah gambaran dari perintah yang disediakan oleh bash untuk memanipulasi variabel lingkungannya. dengan sendirinya akan menampilkan semua variabel lingkungan yang telah didefinisikan, beserta nilainya. Seperti perintah bash lainnya, perintah ini juga bisa melakukan hal-hal lain (dengan parameter); kita membiarkan halaman manual bash(1) untuk membahasnya. Contoh 8-1
set

menunjukkan sebuah contoh dari sebuah perintah set yang dijalankan pada salah satu komputer penulis. Perhatikan pada contoh ini variabel PATH yang dibahas sebelumnya. Program-program pada sembarang direktori tersebut dapat dijalankan cukup dengan mengetikkan nama file dasarnya. Contoh 8-1. Daftar Variabel Lingkungan dengan set
% set PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin PIPESTATUS=([0]="0") PPID=4978 PS1='\h:\w\$ ' PS2='> ' PS4='+ ' PWD=/home/logan QTDIR=/usr/local/lib/qt REMOTEHOST=ninja.tdn SHELL=/bin/bash % unset VARIABLE unset akan menghapus semua variabel yang Anda berikan, membuang baik variabel dan nilainya; bash akan melupakan variabel tersebut. (Jangan khawatir. Kecuali sesuatu yang Anda tentukan

secara eksplisit pada sesi shell, mungkin variabel tersebut akan didefinisikan ulang pada sesi lain.)
% export VARIABLE=some_value

Sekarang, export sangatlah berguna. Dengan menggunakannya, Anda memberikan variabel lingkungan VARIABLE nilai sembarang_nilai; Jika VARIABLE tidak ada, maka sekarang ada. Jika VARIABLE sudah ada nilainya, nilai itu akan hilang. Itu tidak baik, jika Anda hanya mencoba menambahkan sebuah direktori pada PATH. Pada kasus ini, Anda mungkin hendak mencoba sesuatu seperti ini:
% export PATH=$PATH:/some/new/directory

Perhatikan penggunaan $PATH: ketika Anda ingin agar bash menginterpretasikan sebuah variabel (ganti dengan nilainya), gunakan $ diawal sebuah nama variabel. Sebagai contoh, echo $PATH akan menampilkan nilai dari PATH, pada kasus saya:
% echo $PATH /usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin

8.3.2 Pelengkap Tab


(Ini muncul lagi sesuatu yang menarik.) 1. Sebuah antarmuka berbasis teks berarti banyak mengetik. 2. Mengetik adalah pekerjaan. 3. Tidak ada orang yang suka pekerjaan. Dari 3 dan 2, kita bisa menentukan bahwa (4) tidak ada orang yang suka mengetik. Sayangnya, bash menyelamatkan kita dari (5) (tidak ada orang yang menyukai antarmuka berbasis teks).

Bagaimana bash menyediakan fitur menarik ini, tanya Anda? Selain penambahan wildcard yang sudah kita bahas sebelumnya, bash menyediakan fitur pelengkap tab. Pelengkap tab bekerja sebagai berikut: Anda mengetikkan sebuah nama berkas. Mungkin berada dalam PATH Anda, mungkin Anda menuliskannya secara eksplisit. Yang perlu Anda lakukan hanyalah mengetikkan nama berkas untuk mengidentifikasinya secara unik. Lalu tekan tombol tab. bash akan mencoba apa yang Anda inginkan dan menyelesaikan penulisannya untuk Anda! Waktunya untuk contoh. /usr/src berisi dua sub direktori: /usr/src/linux dan /usr/src/sendmail. Saya ingin melihat apa yang berada pada /usr/src/linux. Sehingga saya cukup mengetikkan ls /usr/src/l, tekan kunci TAB, dan bash memberikan ls /usr/src/linux. Sekarang, anggap terdapat dua sub direktori /usr/src/linux dan /usr/src/linux-old; Jika saya mengetikkan /usr/src/l dan menekan TAB, bash akan menemukan sebanyak yang ia bisa dan saya akan mendapatkan /usr/src/linux. Saya bisa berhenti disini, atau saya bisa menekan TAB lagi, dan bash akan menampilkan daftar direktori yang sesuai dengan apa sudah saya ketik sejauh ini. Sehingga, pengetikan berkurang (dan akhirnya, orang-orang bisa menyukai antarmuka berbasis teks). Saya memberitahu Anda bahwa ini menarik.

8.4 Virtual Terminals


Jadi Anda sedang mengerjakan sesuatu dan Anda memutuskan bahwa Anda harus mengerjakan hal lain. Anda bisa saja menutup apa yang sudah Anda kerjakan dan berpindah ke tugas lain, tetapi ini adalah sistem dengan banyak pengguna bukan? Anda bisa login sebanyak mungkin semau Anda bukan? Jadi kenapa harus melakukan satu hal pada sebuah waktu yang bersamaan? Anda tidak bisa melakukannya. Kita tidak bisa memiliki banyak keyboard, mouse, dan monitor untuk satu mesin; kemungkinannya adalah sebagian besar dari kita tidak menginginkannya. Jelas, perangkat keras bukanlah solusi. Hal itu meninggalkan kita pada perangkat lunak, dan Linux hadir untuk ini, dengan menyediakan terminal virtual, atau VTs. Dengan menekan kunci Alt dan fungsi, Anda bisa berpindah diantara terminal virtual; setiap kunci fungsi berkorespondensi dengan yang lain. Slackware memiliki login pada 6 VT secara default. Alt+F2 akan membawa Anda pada yang kedua, Alt+F3 pada yang ketiga, dll. Sisa dari kunci fungsi disimpan untuk sesi X. Setiap sesi X menggunakan VTnya masing-masing, dimulai dari yang ketujuh (Alt+F7) dan seterusnya. Ketika berada pada X, kombinasi Alt+kunci Fungsi digantikan dengan Ctrl+Alt+Fungsi; jadi ketika Anda berada pada X dan hendak kembali pada login text (tanpa harus keluar dari sesi X), Ctrl+Alt+F3 akan membawa Anda kembali ke yang ketiga. (Alt+F7 akan membawa Anda kembali, dengan asumsi Anda menggunakan sesi X pertama.)

8.4.1 Screen
Tetapi bagaimana dengan situasi dimana tidak terdapat terminal virtual? Lalu bagaimana? Untungnya, Slackware menyertakan sebuah manajer screen yang disebut screen. screen adalah emulator terminal yang memiliki kemampuan seperti terminal virtual. Menjalankan Executing screen mengaktifkan perkenalan singkat, lalu kembali ke terminal. Tidak seperti terminal virtual standar, screen memiliki perintahnya sendiri. Semua perintah screen diawali dengan sebuah

penekanan Crtl+A. Misalnya, Ctrl+A+C akan membuat sebuah sesi terminal baru. Ctrl+A+N akan berpindah ke terminal selanjutnya. Ctrl+A+P berpindah ke terminal sebelumnya. juga mendukung pelepasan dan penggabungan pada sesi screen yang berguna untuk sesi remote melalui ssh dan telnet, (lebih banyak tentang ini di akhir). Ctrl+A+D akan melepaskan diri dari screen yang berjalan. Mengeksekusi screen -r akan menampilkan semua sesi screen yang berjalan yang dapat Anda gabungkan.
screen % screen -r There are several suitable screens on: 1212.pts-1.redtail (Detached) 1195.pts-1.redtail (Detached) 1225.pts-1.redtail (Detached) 17146.pts-1.sanctuary (Dead ???) Remove dead screens with 'screen -wipe'. Type "screen [-d] -r [pid.]tty.host" to resume one of them.

Menjalankan screen -r 1212 akan menyatukan dengan screen pertama yang terdaftar. Saya menyebutkan betapa pentingnya hal ini untuk sesi remote. Jika saya login pada server remote Slackware melalui ssh, dan koneksi saya terganggu oleh beberapa hambatan, seperti listrik padam, apapun yang saya lakukan pada saat itu akan hilang, yang bisa jadi merupakan hal buruk bagi server Anda. Menggunakan screen mencegah hal ini dengan melepas sesi saya jika koneksi saya terputus. Setelah koneksi tersambung kembali, saya bisa menggabungkan ke sesi screen saya dan melanjutkan apa yang saya tinggalkan sebelumnya.

Bab 9 Struktur Sistem Berkas


Daftar Isi 9.1 Kepemilikan 9.2 Hak akses 9.3 Link/Tautan 9.4 Me-mount perangkat-perangkat 9.5 NFS Mount Kita telah membahas struktur direktori pada Slackware Linux. Pada bagian ini, Anda seharusnya sudah mampu mencari berkas dan direktori yang Anda perlukan. Tetapi terdapat lebih dari sekedar struktur direktori pada sebuah sistem berkas. Linux adalah sistem operasi multiuser (banyak pengguna). Setiap aspek dari sistem bersifat multiuser, bahkan sistem berkasnya. Sistem menyimpan informasi tentang siapa yang memiliki sebuah berkas dan siapa yang dapat membacanya. Terdapat bagian unik lainnya tentang sebuah sistem file, seperti tautan dan NFS mounts. Bagian ini menjelaskan hal tersebut, dan juga aspek multiuser dari sistem berkas.

9.1 Kepemilikan
Sistem berkas menyimpan informasi kepemilikan dari setiap berkas dan direktori pada sistem. Hal ini juga termasuk pengguna dan grup yang memiliki berkas tertentu. Cara termudah untuk melihat informasi ini adalah dengan perintah ls:
% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc

Kita tertarik dengan kolom ketiga dan keempat. Kolom ini berisi nama pengguna dan nama grup yang memiliki berkas ini. Kita melihat bahwa pengguna root dan grup bin memiliki berkas ini. Kita bisa dengan mudah mengganti kepemilikan sebuah berkas dengan perintah chown(1) (yang berarti change owner (ganti pemilik)) dan chgrp(1) (yang berarti change group (ganti grup)). Untuk mengganti pemilik berkas menjadi daemon, kita menggunakan chown:
# chown daemon /usr/bin/wc

Untuk mengganti pemilik grup kepada root, kita menggunakan chgrp:


# chgrp root /usr/bin/wc

Kita juga bisa menggunakan chown untuk menentukan nama pengguna dan grup sebagai pemilik sebuah berkas:
# chown daemon:root /usr/bin/wc

Pada contoh diatas, pengguna dapat menggunakan tanda titik dan bukannya titik dua. Hasilnya adalah sama; namun titik dua dianggap bentuk yang lebih baik. Penggunaan titik sudah ditinggalkan dan mungkin akan dihapus pada versi baru dari chown untuk mengijinkan penggunaan titik pada nama pengguna. Nama pengguna ini cenderung populer dengan Windows Exchange Servers dan dijumpai pada alamat email pada umumnya seperti : mr.jones@example.com. Pada slackware, administrator disarankan untuk menjauhi nama pengguna seperti itu karena beberapa script masih menggunakan titik untuk mengindikasikan sebuah pengguna dan grup dari sebuah berkas atau direktori. Pada contoh kita, chmod akan menginterpretasikan mr.jones sebagai pengguna mr dan grup jones. Kepemilikan berkas sangatlah penting dalam penggunaan sistem Linux, meskipun Anda hanyalah seorang pengguna. Anda seringkali harus memperbaiki kepemilikan pada berkas atau node divais.

9.2 Hak akses


Hak akses adalah bagian penting lainnya dari aspek multiuser dari sebuah sistem berkas. Dengan hak akses, Anda dapat mengganti siapa saja yang dapat membaca, menulis, dan mengeksekusi berkas-berkas. Informasi hak akses disimpan sebagai empat digit oktal, dengan setiap digitnya menentukan sekumpulan hak akses. Terdapat hak akses pemilik, hak akses grup, dan hak akses global. Digit oktal keempat digunakan untuk menyimpan informasi khusus seperti set user ID, set group ID, dan sticky bit. Nilai oktal yang ditentukan pada mode hak akses adalah (mereka juga memiliki huruf yang diasosiasikan dengan mereka yang ditampilkan oleh program-program seperti ls dan bisa digunakan oleh chmod): Tabel 9-1. Nilai Oktal Hak Akses Jenis Hak Akses Nilai Octal Nilai Huruf sticky bit 1 t set user ID 4 s set group ID 2 s

Jenis Hak Akses Nilai Octal Nilai Huruf read/baca 4 r write/tulis 2 w execute/eksekusi 1 x Anda menambahkan nilai oktal untuk setiap hak akses grup. Sebagai contoh, jika Anda ingin agar hak akses grup menjadi read dan write, Anda akan menggunakan 6 pada bagian grup dari informasi hak akses. Hak akses default bash adalah:
% ls -l /bin/bash -rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash

Tanda minus pertama akan digantikan dengan d jika merupakan sebuah direktori. Ketiga kelompok hak akses ditampilkan berikutnya (pemilik, grup, dan global). Kita melihat bahwa pemilik memiliki hak akses baca, tulis, dan eksekusi (rwx). Grup hanya memiliki akses baca dan eksekusi (r-x). Dan sisanya memiliki hanya baca dan eksekusi (r-x). Bagaimana kita menentukan hak akses pada berkas lain untuk mengandaikan milik bash? Pertama, mari kita buat berkas contoh dengan nama example:
% touch /tmp/example % ls -l /tmp/example -rw-rw-r--- 1 david

users

0 Apr 19 11:21 /tmp/example

Kita akan menggunakan chmod(1) (yang berarti change mode (ganti mode)) untuk menentukan hak akses untuk berkas example. Tambahkan angka oktal untuk hak akses yang Anda inginkan. Agar pemilik memiliki hak akses untuk baca, tulis, dan eksekusi, kita harus memberikan nilai 7. Baca dan eksekusi berarti 5. Jalankan bersamaan dan berikan pada chmod seperti ini:
% chmod 755 /tmp/example % ls -l /tmp/example -rwxr-xr-x 1 david users

0 Apr 19 11:21 /tmp/example

Sekarang Anda mungkin berpikir, Kenapa tidak membuat sebuah berkas dengan hak akses tersebut di awal? Jawabannya sederhana. bash menyertakan sebuah built-in kecil yang disebut umask. Ini disertakan pada sebagian besar shell Unix juga, dan mengontrol hak akses berkas yang diberikan pada berkas ketika diciptakan pertama kali. Kita membahas built-in bash sampai beberapa tingkat pada Bagian 8.3.1. umask membutuhkan waktu agar terbiasa. Ia bekerja serupa dengan chmod, hanya berkebalikan. Anda menentukan nilai oktal yang tidak Anda inginkan untuk ditampilkan ketika membuat berkas baru. Nilai default umask adalah 0022.
% umask 0022 % umask 0077 % touch tempfile % ls -l tempfile -rw-------- 1 david

users

0 Apr 19 11:21 tempfile

Lihat halaman manual untuk informasi lebih lanjut tentang bash.

Untuk menentukan hak akses khusus dengan chmod, tambahkan angka secara bersamaan dan letakkan pada kolom pertama. Sebagai contoh, untuk membuat set user ID dan set group ID, kita menggunakan 6 sebagai kolom pertama:
% chmod 6755 /tmp/example % ls -l /tmp/example -rwsr-sr-x 1 david users

0 Apr 19 11:21 /tmp/example

Jika nilai oktal membingungkan Anda, Anda bisa menggunakan huruf dengan chmod. Hak akses grup direpresentasikan sebagai : Pemilik/Owner Grup/Group Global/World Semua diatas u g o a

Untuk melakukan hal-hal diatas, kita harus menggunakan beberapa perintah baris:
% chmod a+rx /tmp/example % chmod u+w /tmp/example % chmod ug+s /tmp/example

Beberapa orang memilih menggunakan huruf dibandingkan angka. Keduanya akan menghasilkan hak akses yang sama. Format oktal terkadang lebih cepat, dan yang paling sering Anda jumpai ada skrip shell. Meski demikian seringkali format huruf lebih hebat. Sebagai contoh, tidak ada cara mudah untuk mengganti hak akses satu grup dan dilain waktu juga menjaga grup lain pada berkas dan direktori ketika menggunakan format oktal. Hal ini sangatlah mudah dengan menggunakan huruf.
% ls -l /tmp/ -rwxr-xr-x 1 alan users -rwxr-x--1 alan users ----r-xr-x 1 alan users % chmod g-rwx /tmp/example? -rwx---r-x 1 alan users -rwx-----1 alan users -------r-x 1 alan users 0 Apr 19 11:21 /tmp/example0 0 Apr 19 11:21 /tmp/example1 0 Apr 19 11:21 /tmp/example2 0 Apr 19 11:21 /tmp/example0 0 Apr 19 11:21 /tmp/example1 0 Apr 19 11:21 /tmp/example2

Kita menyebutkan hak akses set user ID dan set group ID pada beberapa tempat diatas. Anda mungkin bertanya-tanya apa ini sebenarnya. Pada kondisi normal ketika Anda menjalankan sebuah program, program akan dijalankan dibawah account pengguna Anda. Sehingga memiliki semua hak akses yang Anda miliki. Hal yang sama berlaku juga untuk grup. Ketika Anda menjalankan sebuah program program akan dieksekusi dibawah grup aktual Anda. Dengan hak akses set user ID permissions, Anda bisa memaksa program untuk selalu berjalan dengan pemilik program (seperti root). Set group ID juga sama, tetapi untuk grup. Hati-hati dengan ini, program dengan set user ID dan set group ID dapat membuka lubang keamanan besar pada sistem Anda. JIka Anda sering memberikan set user ID pada program yang dimiliki oleh root, Anda mengijinkan semua orang untuk menjalankan program tersebut dan menjalankannya sebagai root. Karena root tidak memiliki batasan pada sistem, Anda bisa melihat bagaimana hal ini akan menimbulkan masalah keamanan yang sangat besar. Secara singkat, bukanlah ide yang jelek untuk memberikan hak akses set user ID dan set group ID, tetapi gunakan akal sehat.

9.3 Link/Tautan
Link/tautan adalah pointer (penunjuk) diantara berkas-berkas. Dengan link, Anda bisa memiliki berkas pada banyak lokasi dan dapat diakses dengan banyak nama. Terdapat dua jenis link: hard dan soft. Hard link adalah nama untuk berkas tertentu. Link jenis ini hanya berada didalam sistem berkas tunggal dan hanya akan dihapus jika nama sesungguhnya dihapus dari sistem. Link jenis ini berguna pada beberapa kasus, tetapi banyak pengguna menganggap soft link lebih nyaman. Soft link, juga disebut symbolic link, dapat menunjuk pada sebuah berkas diluar sistem berkasnya. Link jenis ini sebetulnya merupakan berkas yang kecil yang berisi informasi yang diperlukannya. Anda bisa menambah dan menghapus soft links tanpa menganggu berkas aslinya. Dan karena symbolic link adalah berkas kecil yang berisi informasinya sendiri, mereka dapat menunjuk pada sebuah direktori. Sangatlah jarang untuk mendapatkan /var/tmp merupakan sebuah symbolic link ke /tmp misalnya. Link tidak memiliki hak akses atau kepemilikan, tetapi merefleksikan berkas yang ditunjuk. Slackware kebanyakan menggunakan soft link. Berikut adalah contohnya:
% ls -l /bin/sh lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -> bash

Shell sh pada Slackware sebenarnya bash. Menghapus link dilakukan melalui rm. Perintah ln digunakan untuk membuat link. Perintah ini akan dibahas lebih lanjut pada Bab 10. Sangatlah penting untuk berhati-hati dengan symlinks khususnya. Pernah, saya sedang bekerja pada sebuah mesin yang secara konsisten gagal melakukan backup pada sebuah tape setiap malam. Dua symlink telah dibuat pada direktori diatasnya. Perangkat lunak back terus menambahkan direktori yang sama pada tape sehingga akhirnya kehabisan tempat. Normalnya, sebuah pengujian akan mencegah pembuatan sebuah symlink pada situasi ini, tetapi kasus kita adalah kasus khusus.

9.4 Me-mount perangkat-perangkat


Seperti yang dibahas sebelumnya pada Bagian 4.1.1, semua drive dan divaias pada komputer pada komputer Anda adalah satu sistem berkas besar. Berbagai partisi hard disk, CD-ROM, dan disket diletakan pada satu pohon yg sama. Untuk mengaitkan drive ini pada sistem berkas sehingga Anda bisa mengaksesnya, Anda harus menggunakan perintah mount(1) dan umount(1). Beberapa divais dimount secara otomatis ketika Anda melakukan boot up. Divais-divais ini terdaftar pada berkas /etc/fstab. Semua divais yang Anda inginkan agar dimount secara otomatis dimasukkan kedalam berkas tersebut. Untuk divais lain, Anda harus memberikan sebuah perintah setiap kali Anda hendak menggunakan divaias tersebut.

9.4.1 fstab
Mari kita lihat pada sebuah contoh berkas /etc/fstab:
% cat /etc/fstab /dev/sda1 / ext2 defaults 1 1

/dev/sda2 /dev/sda4 /dev/sdb1 /dev/sdb3 none none /dev/fd0 /dev/cdrom

/usr/local /home swap /export /dev/pts /proc /mnt /mnt/cdrom

ext2 ext2 swap ext2 devpts proc ext2 iso9660

defaults defaults defaults defaults gid=5,mode=620 defaults defaults ro

1 1 0 1 0 0 0 0

1 1 0 1 0 0 0 0

Kolom pertama adalah nama divais. Pada kasus ini, divais dibagi menjadi lima partisi pada 2 hard disk SCSI, dua sistem berkas khusus yang tidak membutuhkan sebuah divaias, sebuah disket, dan sebuah drive CD-RPM. Kolom kedua adalah dimana divais tersebut akan dimount. Ini harus berupa nama sebuah direktori, kecuali untuk partisi swap. Kolom ketiga adalah jenis sistem berkas dari divais. Untuk sistem berkas normal Linux, ini akan berupaext2 (second extended filesystem). Drive CD-ROM berupa iso9660, dan divais berbasis Windowsakan berupa msdos atau vfat. Kolom keempat adalah daftar opsi yang diterapkan pada sistem berkas yang dimount. defaults sudah cukup untuk segalanya. Namun, divais yang bersifat read-only harus diberikan tanda ro. Terdapat banyak opsi yang dapat digunakan. Periksa halaman manual fstab(5) untuk informasi lebih lanjut. Dua kolom terakhir digunakan oleh fsck dan perintah lain yang perlu memanipulasi divais. Periksa halaman manual untuk informasi tersebut. Ketika Anda menginstall Slackware Linux, program setup akan membangun sebanyak mungkin dari berkas fstab.

9.4.2 mount dan umount


Menghubungkan divais lain pada sistem berkas Anda sangatlah mudah. Yang harus Anda lakukan adalah menggunakan perintah mount, bersama dengan beberapa opsi. Menggunakan mount bisa dipermudah jika divais sudah terdaftar pada berkas /etc/fstab. Sebagai contoh, misalkan saya hendak me-mount drive CD-ROM saya dan berkas fstab tampak seperti contoh sebelumnya. Saya cukup memanggil mount seperti ini:
% mount /cdrom

Karena sudah terdaftar pada berkas fstab untuk titik mount tersebut, mount mengetahui opsi apa yang harus digunakan. Jika divais tidak terdaftar, saya harus menggunakan beberapa opsi untuk mount:
% mount -t iso9660 -o ro /dev/cdrom /cdrom

Perintah baris menyertakan informasi yang sama seperti pada contoh fstab, tetapi kita harus melewati semua bagiannya. -t iso9660 adalah jenis sistem berkas untuk divais yang akan dimount. Pada kasus ini adalah sistem berkas iso9660 yang umum digunakan oleh drive CD-ROM. Opsi -o ro memberitahu mount untuk memount divais secara read-only. Opsi /dev/cdrom adalah nama divais yang hendak dimount, dan /cdrom adalah lokasi pada sistem berkas untuk memount drive. Sebelum Anda menghapus disket, CD-ROM, atau removable drive yang sedang di-mount, Anda harus melakukan unmount terlebih dahulu. Hal ini dilakukan menggunakan perintah umount. Jangan tanya dimana n berada karena kami tidak bisa memberitahu jawabannya. Anda bisa menggunakan divais yang dimount atau titik mount sebagai argumen untuk umount. Sebagai contoh, jika Anda hendak meng-unmount CD-ROM dari contoh sebelumnya, salah satu dari kedua perintah ini akan bekerja:

# umount /dev/cdrom # umount /cdrom

9.5 NFS Mount


NFS kependekan dari Network Filesystem. Ini bukan bagian dari sistem berkas yang sebenarnya, tetapi dapat digunakan untuk menambahkan bagian pada sistem berkas yang sudah di mount. Lingkungan Unix yang besar terkadang berbagi program yang sama, sekumpulan direktori home, dan spool mail. Masalah untuk mendapatkan salinan yang sama pada setiap mesin diselesaikan dengan NFS. Kita dapat menggunakan NFS untuk berbagai direktori home diantara semua workstation yang ada. Workstation lalu akan me-mount share NFS tersebut seperti mesinnya sendiri. Lihat Bagian 5.6.2 dan halaman manual untuk exports(5), nfsd(8), dan mountd(8) untuk informasi lebih lanjut.

Bab 10 Penanganan Berkas dan Direktori


Daftar Isi 10.1 Navigation : ls, cd, dan pwd 10.2 Pagers: more, less, dan most 10.3 Keluaran sederhana: cat dan echo 10.4 Pembuatan: touch dan mkdir 10.5 Menyalin dan Memindahkan 10.6 Penghapusan: rm and rmdir 10.7 Mengaliaskan berkas dengan ln Linux berharap agar sebisa mungkin Unix. Secara tradisional, sistem operasi Unix berorientasi perintah baris. Kita memiliki antarmuka grafis pada Slackware, tetapi perintah baris merupakan kontrol utama untuk sistem. Untuk itu, sangatlah penting untuk memahami beberapa perintah manajemen berkas dasar. Bagian-bagian berikut menjelaskan perintah manajemen berkas yang umum dan menyediakan contoh penggunaannya. Masih terdapat perintah-perintah lain, tetapi perintah-perintah yang dibahas disini akan membantu Anda untuk memulainya. Juga, perintah-perintah ini hanya dibahas secara singkat disini. Anda akan menemukan lebih banyak informasi pada halaman manual dari setiap perintah.

10.1 Navigation : ls, cd, dan pwd


10.1.1 ls
Perintah ini menampilkan daftar berkas pada sebuah direktori. Pengguna Windows dan DOS akan menemukan kesamaan pada perintah dir. Jika dijalankan sendiri, ls(1) akan menampilkan berkas pada direktori aktual. Untuk melihat apa yang ada pada direktori root Anda, Anda bisa menjalankan perintah ini:
% cd /

% ls bin boot

cdr cdrom

dev etc

home lib

lost+found mnt

proc root

sbin suncd

tmp usr

var vmlinuz

Masalah yang banyak dialami pengguna dengan hasil keluaran adalah Anda tidak bisa membedakan direktori dan berkas dengan mudah. Beberapa pengguna lebih memilih ls menambahkan penanda jenis pada setiap daftar, seperti dibawah ini:
% ls -FC bin/ cdr/ var/ boot/ cdrom/ vmlinuz dev/ etc/ home/ lib/ lost+found/ mnt/ proc/ root/ sbin/ suncd/ tmp/ usr/

Direktori akan mendapatkan sebuah tanda slash diakhir namanya, berkas yang dapat dieksekusi akan mendapatkan sebuah tanda bintang (asterisk), dan seterusnya. juga bisa digunakan untuk mendapatkan statistik lain pada berkas-berkas. Sebagai contoh, untuk melihat tanggal pembuatan, kepemilikan, dan hak akses, Anda mungkin ingin melihat daftar yang lebih panjang:
ls % ls -l drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x lost+found/ drwxr-xr-x dr-xr-xr-x drwxr-x--x drwxr-xr-x drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x 2 2 2 14 4 10 8 3 2 2 62 12 2 5 4 21 18 root root root root root root root root root root root root root root root root root bin root root root root root root root root root root root bin root root root root 4096 4096 4096 6144 28672 4096 4096 4096 16384 4096 0 4096 4096 2048 487424 4096 4096 May Feb Feb Oct Mar Mar Mar Jan Nov Oct Mar Feb Feb Oct Mar Aug Mar 7 24 18 23 5 8 8 23 1 6 4 26 17 25 7 24 8 09:11 03:55 01:10 18:37 18:01 03:32 03:31 21:29 08:53 12:47 15:32 02:06 02:02 10:51 20:42 03:04 03:32 bin/ boot/ cdr/ cdrom/ dev/ etc/ home/ lib/ mnt/ proc/ root/ sbin/ suncd/ tmp/ usr/ var/

Misalkan Anda hendak melihat daftar lengkap dari berkas-berkas tersembunyi pada direktori aktual. Perintah ini akan melakukannya:
% ls -a . .. .pwrchute_tmp bin boot cdr cdrom dev etc home lib lost+found mnt proc root sbin suncd tmp usr var vmlinuz

Berkas-berkas yang diawali dengan tanda titik (disebut berkas bertitik - dot files) bersifat tersembunyi ketika Anda menjalankan ls. Anda hanya akan melihat mereka jika Anda memberikan opsi -a. Terdapat lebih banyak opsi yang dapat ditemukan pada halaman manual online. Jangan lupa bahwa Anda bisa mengkombinasikan opsi-opsi yang dapat Anda berikan pada ls.

10.1.2 cd

Perintah cd digunakan untuk mengganti direktori kerja. Anda cukup mengetikkan cd diikuti dengan nama path baru. Berikut ini beberapa contoh:
darkstar:~$ cd /bin darkstar:/bin$ cd usr bash: cd: usr: No such file or directory darkstar:/bin$ cd /usr darkstar:/usr$ ls bin darkstar:/usr$ cd bin darkstar:/usr/bin$

Perhatikan bahwa tanpa tanda slash diawal, maka cd akan mencoba berpindah ke sebuah direktori pada direktori aktual. Mengeksekusi cd tanpa opsi akan memindahkan Anda ke direktori home. Perintah cd tidak seperti perintah lain. Perintah ini adalah perintah built-in pada shell yang dibahas pada Bagian 8.3.1. Hal ini mungkin tidak masuk akal bagi Anda sekarang. Secara umum ini berarti tidak ada halaman manual untuk perintah ini. Anda harus menggunakan bantual shell. Seperti ini:
% help cd

Hal ini akan menampilkan opsi untuk cd dan bagaimana menggunakannya.

10.1.3 pwd
Perintah pwd digunakan untuk menampilkan lokasi aktual Anda. Untuk menggunakan perintah pwd cukup ketikkan pwd. Sebagai contoh :
% cd /bin % pwd /bin % cd /usr % cd bin % pwd /usr/bin

10.2 Pagers: more, less, dan most


10.2.1 more
more(1)

adalah sesuatu yang kita sebut utilitas pager. Seringkali hasil keluaran dari sebuah perintah terlalu panjang untuk satu layar. Perintah individu tidak tahu bagaimana menyesuaikan hasil keluarannya pada layar yang terpisah. Mereka memberikan tugas ini pada utilitas pager. Perintah more memecah hasil keluaran pada layar-layar individu dan menunggu Anda menekan tombol spasi (space bar) sebelum melanjutkan ke layar selanjutnya. Menekan tombol enter akan menampilkan satu baris berikutnya. Berikut adalah contoh yang baik:
% cd /usr/bin % ls -l

Hal tersebut akan bergeser untuk sejenak. Untuk memecah layar keluaran per layar, gunakan pipe melalui more:

% ls -l | more

Itu adalah karakter pipe (shift backslash). Pipe adalah singkatan untuk mengatakan ambil hasil keluaran dari ls dan berikan kepada more. Anda bisa mem-pipe semua melalui more, tidak hanya ls. Melakukan pipe juga dibahas pada Bagian 8.2.3.

10.2.2 less
Perintah more cukup bermanfaat, tetapi seringkali Anda akan menemukan bahwa Anda telah melewati layar yang Anda inginkan. Perintah more tidak menyediakan sebuah cara untuk kembali. Perintah less(1) menyediakan fungsionalitas ini. Perintah ini digunakan dengan cara yang sama dengan perintah more, sehingga contoh sebelumnya juga berlaku disini. Jadi, less lebih dari more. Joost Kremers mencontohkan ini: adalah lebih banyak, tetapi lebih more daripada more, sehingga more lebih sedikit dari less, sehingga gunakan lebih sedikit less jika Anda hendak lebih sedikit more.
less

10.2.3 most
Dimana more dan less tidak mampu, most(1) mengambil alih. Jika less lebih banyak dari more, most lebih banyak dari less. Ketika perintah pager lain hanya hampu menampilkan satu berkas pada satu saat yang sama, most mampu melihat beberapa berkas, sepanjang jendela setiap berkas paling sedikit dua baris. most memiliki banyak opsi, lihat halaman manual untuk detail selengkapnya.

10.3 Keluaran Sederhana: cat dan echo


10.3.1 cat
cat(1)

kependekan dari concatenate. Pada awalnya didesain untuk menggabungkan berkas teks menjadi satu, tetapi dapat digunakan untuk tujuan lainnya. Untuk menggabungkan dua atau lebih berkas menjadi satu, Anda cukup mendaftar berkas-berkas setelah perintah cat dan mengalihkan hasil keluaran pada sebuah berkas. cat bekerja dengan hasil masukan dan keluaran standar, sehingga Anda harus menggunakan karakter pengalihan shell. Sebagai contoh:
% cat file1 file2 file3 > bigfile

Perintah ini mengambil isi dari file1, file2, dan file3 dan menggabungkannya. Hasil keluaran baru dikirimkan ke keluaran standar. Seseorang dapat juga menggunakan cat untuk menampilkan berkas. Banyak orang melakukan cat terhadap berkas teks melalui more atau less, seperti berikut:
% cat file1 | more

Hal tersebut akan menampilkan berkas file1 dan mem-pipe melalui more sehingga Anda hanya mendapatkan satu layar pada satu waktu.

Penggunaan lain dari cat adalah untuk menyalin berkas. Anda bisa menyalin sembarang berkas dengan cat, seperti berikut:
% cat /bin/bash > ~/mybash

Program /bin/bash disalin pada direktori home Anda dan diberi namamybash. memiliki banyak kegunaan dan yang dibahas disini hanya sebagian. Karena cat banyak menggunakan masukan dan keluaran standar, maka sangatlah ideal untuk digunakan pada skrip shell atau sebagai bagian dari perintah kompleks lainnya.
cat

10.3.2 echo
Perintah echo(1) menampilkan teks yang spesifik pada layar. Anda menentukan string yang akan ditampilkan setelah perintah echo. Secara default echo akan menampilkan string dan menampilkan karakter untuk pindah baris setelahnya. Anda bisa memberikan opsi -n untuk mengurangi pencetakan baris baru. Opsi -e akan mengakibatkan echo untuk mencari karakter escape pada string dan mengeksekusinya.

10.4 Pembuatan: touch dan mkdir


10.4.1 touch
touch(1)

digunakan untuk mengubah timestamp pada sebuah berkas. Anda bisa mengubah timestamp akses dan timestamp modifikasi dengan perintah ini. Jika berkas yang disebutkan tidak ada, touch akan membuat sebuah berkas kosong dengan nama yang disebutkan. Untuk menandai sebuah berkas dengan waktu sistem aktual, Anda bisa menggunakan perintah ini:
% ls -al file1 -rw-r--r-1 root % touch file1 % ls -al file1 -rw-r--r-1 root root root 9779 Feb 9779 Feb 7 21:41 file1 8 09:17 file1

Terdapat beberapa opsi untuk touch, termasuk opsi untuk menentukan timestamp mana yang akan dimodifikasi, waktu yang digunakan, dan masih banyak lagi. Halaman manual menjelaskan hal ini lebih detail.

10.4.2 mkdir
mkdir(1)

akan menciptakan sebuah direktori baru. Anda bisa menentukan direktori yang akan dibuat ketika Anda menjalankan mkdir. Contoh berikut membuat direktori hejaz pada direktori aktual:
% mkdir hejaz

Anda juga bisa menentukan sebuah path, seperti ini:

% mkdir /usr/local/hejaz

Opsi -p akan memberitahukan mkdir untuk membuat direktori induk. Contoh diatas akan gagal jika /usr/local tidak ada. Opsi -p akan membuat /usr/local dan /usr/local/hejaz:
% mkdir -p /usr/local/hejaz

10.5 Menyalin dan Memindahkan


10.5.1 cp
cp(1)

menyalin berkas-berkas. Pengguna DOS akan menemukan kesamaan dengan perintah copy. Terdapat banyak opsi untuk cp, sehingga Anda harus melihat pada halaman manual sebelum menggunakannya. Penggunaan pada umum dari cp adalah menyalin sebuah berkas dari satu lokasi ke lokasi lain. Sebagai contoh:
% cp hejaz /tmp

Perintah ini menyalin berkas hejaz dari direktori aktual pada direktori /tmp. Banyak pengguna memilih untuk mempertahankan timestamp, seperti pada contoh ini:
% cp -a hejaz /tmp

Hal ini memastikan bahwa timestamp tidak dimodifikasi pada saat penyalinan. Untuk menyalin isi sebuah direktori ke direktori lain secara rekursif, gunakan:
% cp -R mydir /tmp

Hal ini akan menyalin direktori mydir ke direktori /tmp. Juga, jika Anda hendak menyalin sebuah direktori atau berkas dan mempertahankan hak akses dan timestamp, gunakan cp -p.
% ls -l file -rw-r--r-1 root % cp -p file /tmp % ls -l /tmp/file -rw-r--r-1 root cp vlad vlad 4 Jan 4 Jan 1 15:27 file 1 15:27 file

memiliki banyak opsi yang dibahas lebih detail pada halaman manual online.

10.5.2 mv
mv(1)

memindahkan satu berkas ke tempat lain. Terkesan mudah bukan?

% mv oldfile /tmp/newfile

memiliki beberapa opsi perintah baris yang dibahas secara detail pada halaman manual. Pada umumnya, mv hampir tidak pernah digunakan dengan opsi perintah baris.
mv

10.6 Penghapusan: rm dan rmdir


10.6.1 rm
rm(1)

menghapus berkas-berkas dan struktur direktori. Pengguna DOS akan menemukan kesamaan pada perintah del dan deltree. rm dapat sangat berbahaya jika Anda tidak hati-hati. Meskipun dimungkinkan untuk mendapatkan berkas yang sudah dihapus, hal ini bisa rumit (dan mungkin mahal) dan diluar batasan buku ini. Untuk menghapus sebuah berkas, tentukan nama ketika Anda menjalankan rm:
% rm file1

Jika berkas tidak memiliki hak akses tulis, maka Anda mungkin mendapatkan pesan kesalahan hak akses ditolak. Untuk memaksa penghapusan sebuah berkas , gunakan opsi -f, seperti ini:
% rm -f file1

Untuk menghapus seluruh direktori, Anda menggunakan opsi -r dan -f bersamaan. Berikut ini contoh bagus untuk menghapus seluruh isi hard disk Anda. Anda tidak ingin melakukan hal ini. Tetapi berikut adalah contohnya:
# rm -rf /

Hati-hati dengan rm; Anda bisa menembak diri Anda sendiri. Terdapat beberapa opsi perintah baris, yang dibahas secara detail pada halaman manual online.

10.6.2 rmdir
rmdir(1)

menghapus direktori dari sistem berkas. Direktori harus kosong sebelum dapat dihapus. Sintaksnya :
% rmdir <directory>

Contoh ini akan menghapus subdirektori hejaz pada direktori aktual:


% rmdir hejaz

Jika direktori tidak ada, rmdir akan memberitahukan Anda. Anda juga dapat menentukan path lengkap pada direktori yang akan dihapus, seperti contoh:
% rmdir /tmp/hejaz

Contoh diatas juga akan mencoba menghapus direktori hejaz didalam direktori /tmp. Anda juga bisa menghapus sebuah direktori dan semua direktori induknya dengan menggunakan opsi -p.

% rmdir -p /tmp/hejaz

Hal ini akan mencoba menghapus direktori hejaz didalam /tmp terlebih dahulu. Jika sukses, maka melanjutkan untuk menghapus /tmp. rmdir akan terus berlanjut sampai sebuah kesalahan terjadi atau seluruh struktur yang diberikan dihapus.

10.7 Mengaliaskan berkas dengan ln


ln(1)

digunakan untuk membuat link diantara berkas-berkas. Link-link ini dapat berupa hard links atau soft (symbolic) link. Perbedaan diantara kedua link ini dibahas pada Bagian 9.3. Jika Anda hendak membuat sebuah symbolic link pada direktori /var/media/mp3 dan menempatkan link pada direktori home Anda, Anda akan melakukan:
% ln -s /var/media/mp3 ~/mp3

Opsi -s memberitahu ln untuk membuat sebuah symbolic link. Opsi berikut adalah target dari link, dan opsi final adalah apa yang dipanggil link. Pada kasus ini, hanya akan membuat sebuah berkas disebut mp3 pada direktori home Anda yang akan menunjuk pada /var/media/mp3. Anda bisa memanggil link dimanapun Anda inginkan hanya dengan mengganti opsi terakhir. Membuat sebuah hard link lebih mudah. Anda cukup meninggalkan opsi -s. Hard link mungkin tidak menunjuk pada direktori atau sistem berkas yang tersebar. Untuk membuat sebuah hard link /usr/bin/email pada /usr/bin/mutt, cukup ketikkan perintah berikut:
# ln /usr/bin/mutt /usr/bin/email

Bab 11 Kontrol Proses


Daftar Isi 11.1 Backgrounding 11.2 Foregrounding 11.3 ps 11.4 kill 11.5 top Setiap program yang berjalan disebut sebuah proses. Proses-proses ini mencakup semuanya, mulai dari Sistem X Window hingga program-program sistem (daemon) yang dijalankan ketika komputer di boot. Setiap proses berjalan dengan pengguna tertentu. Proses-proses yang dijalankan saat boot biasanya berjalan sebagai root atau nobody. Proses yang Anda jalankan akan berjalan sebagai Anda. Proses yang dijalankan pengguna lain akan berjalan sebagai pengguna tersebut. Anda memiliki kontrol terhadap semua proses yang Anda jalankan. Pengguna root memiliki kontrol atas semua proses pada sistem, termasuk yang dijalankan oleh pengguna lain. Proses-proses dapat dikontrol dan dimonitor melalui beberapa program, dan juga beberapa perintah shell.

11.1 Backgrounding

Program-program yang dijalankan dari perintah baris dimulai dari foreground. Hal ini mengijinkan Anda untuk melihat semua keluaran dari program dan berinteraksi dengan program tersebut. Namun, terdapat beberapa kondisi dimana Anda ingin program berjalan tanpa memakan tempat pada terminal. Hal ini disebut menjalankan program pada background, dan terdapat beberapa cara untuk melakukannya. Cara pertama untuk membuat sebuah proses berjalan pada background adalah menambahkan tanda ampersand ('&') pada perintah baris ketika Anda menjalankan program. Sebagai contoh, misalkan Anda hendak menggunakan perintah baris pemutar mp3 amp untuk memainkan sebuah direktori yang penuh dengan mp3, tetapi Anda hendak menjalakan tugas lain pada terminal yang sama. Perintah berikut akan menjalankan amp di background:
% amp *.mp3 &

Program akan berjalan normal, dan Anda kembali ke prompt. Cara lain untuk membuat sebuah proses berjalan di background adalah melakukannya ketika sedang berjalan. Pertama-tama, jalankan sebuah program. Ketika sedang berjalan, tekan Control+z. Hal ini menunda proses. Sebuah proses yang tertunda biasanya ditahan. Kondisi ini akan menghentikan proses sementara, tetapi dapat dijalankan lagi. Setelah Anda menunda sebuah proses, Anda kembali ke prompt. Anda bisa mengembalikan sebuah proses dengan menekan:
% bg

Sekarang proses yang tertunda akan kembali berjalan pada background.

1.2 Foregrounding
Jika Anda perlu berinteraksi dengan proses yang berjalan di background, Anda bisa mengembalikannya pada foreground. Jika Anda hanya memiliki satu proses di background, Anda bisa mengembalikannya dengan mengetikkan :
% fg

Jika program belum selesai berjalan, program akan mengambil alih terminal Anda dan Anda tidak akan kembali ke prompt. Seringkali, program akan selesai berjalan selama di background. Pada kasus ini, Anda akan mendapat pesan seperti ini:
[1]+ Done /bin/ls $LS_OPTIONS

Hal ini memberitahukan kepada Anda proses yang berjalan di background (pada kasus ini ls - tidak terlalu menarik) sudah selesai. Sangatlah mungkin untuk memiliki beberapa proses di background secara bersamaan. Ketika hal ini terjadi, Anda harus tahu proses apa yang hendak Anda kembalikan pada foreground. Cukup mengetikkan fg akan mengembalikan proses ke foreground yang terakhir kali dikirim ke background. Bagaimana jika Anda memiliki banyak proses di background? Beruntungnya, bash menyertakan sebuah perintah untuk mendaftar semua proses. Perintah ini disebut jobs dan memberikan keluaran seperti :
% jobs

[1] [2][3]+

Stopped Stopped Stopped

vim amp man ps

Hal ini menunjukan Anda daftar dari seluruh proses yang berada di background. Seperti yang Anda lihat, mereka semua dihentikan. Hal ini berarti bahwa proses ditunda. Number adalah semacam ID untuk semua proses di background. ID dengan tanda plus disampingnya (man ps) adalah proses yang akan dikembalikan ke foreground jika Anda hanya mengetikkan fg. Jika Anda hendak mengembalikan vim ke foreground, Anda akan mengetik:
% fg 1

dan vim akan kembali ke konsol. Mengirimkan proses ke background dapat berguna jika Anda hanya memiliki satu terminal yang terbuka melalui koneksi dialup. Anda bisa memiliki beberapa program berjalan pada satu terminal, dan berganti satu sama lain secara periodik.

11.3 ps
Jadi sekarang Anda telah tahu bagaimana berpindah antar proses yang Anda jalankan dari perintah baris. Dan Anda juga tahu bahwa terdapat banyak proses yang berjalan pada satu waktu. Bagaimana Anda mendaftar semua program-program ini? Anda bisa menggunakan perintah ps(1). Perintah ini memiliki banyak opsi, jadi kita hanya akan membahas yang paling penting. Untuk daftar lengkap, lihat halaman manual dari ps. Halaman manual dibahas secara mendalam pada Bagian 2.1.1. Cukup dengan menekan ps dan Anda akan mendapatkan daftar program yang berjalan pada terminal Anda. Hal ini termasuk proses-proses foreground (yang menyertakan shell yang Anda gunakan, dan tentu saja, ps). Perintah ini juga menampilkan proses-proses background yang mungkin masih berjalan. Seringkali, ini merupakan daftar yang singkat: Gambar 11-1. Keluaran ps dasar
% ps PID TTY 7923 ttyp0 8059 ttyp0 TIME CMD 00:00:00 bash 00:00:00 ps

Meskipun tidak terdapat banyak proses, informasi ini adalah pada umumnya. Anda akan mendapatkan jumlah kolom yang sama menggunakan ps sebanyak proses apapun yang berjalan. Lalu apa artinya? PID adalah process ID. Semua proses yang berjalan diberikan penanda unik yang berkisar antara 1 dan 32767. Setiap proses diberikan nilai PID berikutnya yang kosong. Ketika sebuah proses berhenti (atau dihentikan, seperti yang Anda akan lihat pada bagian selanjutnya), proses akan memberikan PIDnya. Ketika maksimal PID sudah tercapai, PID kosong berikutnya akan diambil dari PID kosong yang paling rendah. Kolom TTY mengindikasikan pada terminal mana sebuah proses berjalan. Menggunakan ps hanya akan menampilkan semua program yang berjalan pada terminal aktual, sehingga semua proses memberikan informasi yang sama pada kolom TTY. Seperti yang Anda lihat, kedua proses yang terdaftar berjalan pada ttyp0. Hal ini mengindikasikan bahwa mereka berjalan pada terminal X atau variasinya.

Kolom TIME mengindikasikan seberapa banyak waktu CPU yang digunakan proses. Hal ini berbeda dengan jumlah aktual yang dijalankan sebuah proses. Ingat bahwa Linux adalah sistem operasi multitasking. Terdapat banyak proses yang berjalan pada satu waktu, dan setiap proses-proses ini mendapatkan waktu proses yang kecil. Jadi, kolom TIME seharusnya menampilkan waktu yang lebih kecil untuk setiap proses yang seharusnya berjalan. Jika Anda melihat lebih dari beberapa menit pada kolom TIME, maka bisa berarti terjadi sesuatu yang salah. Akhirnya, kolom CMD menunjukkan program sebenarnya. Kolom ini hanya menampilkan nama dasar dari program, bukan opsi peirntah baris atau informasi serupa. Untuk mendapatkan informasi tersebut, Anda harus menggunakan satu dari beberapa opsi pada ps. Kita akan membahasnya sebentar lagi. Anda bisa mendapatkan daftar lengkap dari proses-proses yang berjalan pada sistem Anda dengan menggunakan kombinasi opsi yang benar. Hal ini mungkin menjadi daftar proses yang panjang (lima puluh lima pada laptop saya ketika saya menulis kalimat ini), sehingga saya akan menyingkat keluarannya:
% ps -ax PID TTY STAT 1 ? S 2 ? SW 3 ? SW 4 ? SW 5 ? SW 11 ? S 30 ? SW 50 ? S 54 ? S 57 ? S 59 ? S 61 ? S 63 ? S 65 ? S 67 ? S 69 ? S 77 ? S 79 ? S 94 ? S 106 tty1 S 108 tty3 SW 109 tty4 SW 110 tty5 SW 111 tty6 SW [keluaran dipotong] TIME 0:03 0:13 0:14 0:00 0:17 0:00 0:01 0:00 0:00 0:00 0:00 0:04 0:00 0:00 0:00 0:00 0:00 0:01 0:00 0:08 0:00 0:00 0:00 0:00 COMMAND init [3] [kflushd] [kupdate] [kpiod] [kswapd] /sbin/kerneld [cardmgr] /sbin/rpc.portmap /usr/sbin/syslogd /usr/sbin/klogd -c 3 /usr/sbin/inetd /usr/local/sbin/sshd /usr/sbin/rpc.mountd /usr/sbin/rpc.nfsd /usr/sbin/crond -l10 /usr/sbin/atd -b 15 -l 1 /usr/sbin/apmd gpm -m /dev/mouse -t ps2 /usr/sbin/automount /auto file /etc/auto.misc -bash [agetty] [agetty] [agetty] [agetty]

Sebagian besar dari proses-proses ini dimulai saat boot pada sebagian besar sistem. Saya telah melakukan beberapa modifikasi pada sistem saya, sehingga keluaran pada tempat Anda mungkin berbeda. Namun, Anda akan melihat sebagian besar proses ini pada sistem Anda juga. Seperti yang Anda lihat, opsi-opsi ini menampilkan opsi perintah baris pada proses yang berjalan. Baru-baru ini, sebuah kecacatan kernel pada ptrace memfasilitas sebuah perbaikan yang tidak lagi menampilkan opsi perintah baris untuk banyak proses yang berjalan. Hal ini sekarang ditampilkan pada tanda kurung, seperti PID 108 hingga 110. Hal ini juga membawa beberapa kolom dan beberapa hasil keluaran lain yang menarik. Awalnya, Anda akan mengetahui bahwa sebagian dari proses-proses ini terdaftar berjalan pada tty ?. Proses-proses tersebut tidak terikat pada terminal tertentu. Ini pada umumnya adalah daemon, yaitu proses yang berjalan tanpa terikat pada terminal tertentu. Beberapa daemon umum adalah

sendmail, BIND, apache, dan NFS. Mereka umumnya mendengarkan permintaan dari client, dan mengembalikan informasi. Kedua, terdapat kolom baru: STAT. Kolom ini menunjukkan status dari proses. S berarti sleeping: proses sedang menunggu untuk sesuatu agar terjadi. Z berarti proses zombie. Sebuah proses zombie adalah proses dimana proses induk sudah mati, meninggalkan proses anak. Ini bukan hal yang bagus. D berarti sebuah proses yang memasuki sleep yang tidak dapat interupsi. Seringkali prosesproses ini menolak untuk dihentikan meskipun ketika diberikan sinyal SIGKILL. Anda bisa membaca lebih banyak tentang SIGKILL pada bagian selanjutnya pada kill . W berarti paging. Sebuah proses yang mati ditandai dengan X. Sebuah proses yang ditandai dengan T berarti dilacak, atau dihentikan. R berarti proses dapat dijalankan. Jika Anda hendak melihat lebih banyak informasi tentang proses yang berjalan, gunakan:
% ps -aux USER PID %CPU %MEM root 1 0.0 0.0 root 2 0.0 0.0 root 3 0.0 0.0 root 4 0.0 0.0 root 5 0.0 0.0 root 11 0.0 0.0 root 30 0.0 0.0 bin 50 0.0 0.0 root 54 0.0 0.1 root 57 0.0 0.1 root 59 0.0 0.0 root 61 0.0 0.2 root 63 0.0 0.0 root 65 0.0 0.0 root 67 0.0 0.2 root 77 0.0 0.2 root 79 0.0 0.1 root 94 0.0 0.2 chris 106 0.0 0.5 root 108 0.0 0.0 root 109 0.0 0.0 root 110 0.0 0.0 root 111 0.0 0.0 [keluaran dipotong] VSZ 344 0 0 0 0 1044 1160 1076 1360 1276 1332 1540 1796 1812 1172 1048 1100 1396 1820 1048 1048 1048 1048 RSS 80 0 0 0 0 44 0 120 192 152 60 312 72 68 260 316 152 280 680 0 0 0 0 TTY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tty1 tty3 tty4 tty5 tty6 STAT S SW SW SW SW S SW S S S S S S S S S S S S SW SW SW SW START Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 TIME 0:03 0:13 0:14 0:00 0:17 0:00 0:01 0:00 0:00 0:00 0:00 0:04 0:00 0:00 0:00 0:00 0:01 0:00 0:08 0:00 0:00 0:00 0:00 COMMAND init [3] [kflushd] [kupdate] [kpiod] [kswapd] /sbin/kerneld [cardmgr] /sbin/rpc.port /usr/sbin/sysl /usr/sbin/klog /usr/sbin/inet /usr/local/sbi /usr/sbin/rpc. /usr/sbin/rpc. /usr/sbin/cron /usr/sbin/apmd gpm /usr/sbin/auto -bash [agetty] [agetty] [agetty] [agetty]

Itu merupakan keseluruhan informasi. Secara umum, perintah akan menambahkan informasi termasuk pengguna siapa yang menjalankan proses, berapa sumber daya sistem yang digunakan (kolom %CPU, %MEM, VSZ, dan RSS), dan pada tanggal apa proses dijalankan. Jelas, itu adalah informasi yang berguna pada administrator sistem. Perintah ini juga memberikan informasi lain: informasi sekarang berada diluar layar sehingga Anda tidak bisa melihat semuanya. Opsi -w akan memaksa ps untuk memotong baris yang panjang. Tidak terlalu cantik, tetapi sudah berfungsi. Anda sekarang mendapatkan daftar lengkap dari setiap proses. Terdapat lebih banyak informasi yang dapat Anda tampilkan pada setiap proses. Periksa halaman manual yang lebih detail untuk ps. Namun, opsi yang ditampilkan diatas adalah yang paling umum dan yang akan paling sering Anda gunakan.

11.4 kill

Seringkali, program memiliki perilaku yang aneh dan Anda harus mengaturnya kembali. Program untuk administrasi semacam ini disebut kill(1), dan dapat digunakan untuk memanipulasi proses pada beberapa cara. Penggunaan yang paling umum dari kill adalah untuk mematikan sebuah proses. Anda harus menggunakannya jika sebuah program sudah berjalan dan memakan terlalu banyak sumber daya sistem, atau jika Anda sudah bosan menjalankannya. Untuk mematikan sebuah proses, Anda harus tahu PID atau namanya. Untuk mendapatkan PIDnya, gunakan perintah ps seperti yang dibahas pada bagian sebelumnya. Misalnya, untuk mematikan proses 4747, Anda akan mengetikkan seperti ini:
% kill 4747

Perhatikan bahwa Anda harus menjadi pemilik dari proses tersebut agar dapat mematikannya. Ini adalah fitur keamanan. Jika Anda diperbolehkan mematikan proses yang dijalankan oleh pengguna lain, maka dimungkinkan untuk melakukan banyak hal-hal berbahaya. Tentu saja, root dapat mematikan semua proses pada sistem. Terdapat variasi lain dari perintah kill yang disebut killall(1). Program ini melakukan sesuai namanya: mematikan semua proses yang berjalan yang memiliki nama tertentu. Jika Anda hendak mematikan semua proses vim, Anda dapat menggunakan perintah berikut:
% killall vim

Semua proses vim yang Anda jalankan akan mati. Melakukan hal ini sebagai root akan mematikan semua proses vim untuk semua pengguna. Ini merupakan cara terbaik untuk menendang semua orang (termasuk Anda sendiri) dari sistem:
# killall bash

Seringkali penghentian umum tidak menyelesaikan pekerjaan. Beberapa proses tidak akan mati dengan sebuah penghentian. Anda harus menggunakan bentuk yang lebih potensial. Jika PID 4747 tadi tidak merespon permintaan Anda, Anda bisa menggunakan perintah ini:
% kill -9 4747

Hal tersebut akan dengan pasti mematikan proses 4747. Anda juga melakukan hal yang sama dengan killall. Apa yang dilakukan adalah mengirimkan sinyal yang berbeda pada proses . Proses kill biasa mengirimkan sinyal SIGTERM (terminate) pada sebuah proses, yang memerintahkan untuk menyelesaikan pekerjaannya, membersihkan diri, dan keluar. kill -9 mengirimkan sebuah sinyal SIGKILL (kill) pada proses, yang akan menghentikannya. Proses tidak diijinkan untuk membersihkan diri, dan seringkali hal-hal buruk seperti korupsi data dapat terjadi ketika mematikan sesuatu dengan SIGKILL. Berikut adalah daftar sinyal yang ada. Anda bisa mendapatkan daftar sinyal dengan mengetikkan:
% kill -l 1) SIGHUP 5) SIGTRAP 9) SIGKILL 13) SIGPIPE 18) SIGCONT 22) SIGTTOU 26) SIGVTALRM 30) SIGPWR 2) 6) 10) 14) 19) 23) 27) SIGINT SIGABRT SIGUSR1 SIGALRM SIGSTOP SIGURG SIGPROF 3) 7) 11) 15) 20) 24) 28) SIGQUIT SIGBUS SIGSEGV SIGTERM SIGTSTP SIGXCPU SIGWINCH 4) 8) 12) 17) 21) 25) 29) SIGILL SIGFPE SIGUSR2 SIGCHLD SIGTTIN SIGXFSZ SIGIO

Angka harus digunakan pada kill, sementara nama tanpa awalan SIG dapat digunakan dengan killall. Berikut contoh lain:
% killall -KILL vim

Penggunaan akhir dari kill adalah untuk mengulang proses. Mengirimkan sinyal SIGHUP akan mengakibatkan sebagian besar proses untuk membaca ulang berkas konfigurasinya. Hal ini cukup berguna untuk meminta proses sistem untuk membaca berkas konfigurasinya setelah dimodifikasi.

11.5 top
Akhirnya, terdapat sebuah perintah yang dapat Anda gunakan untuk menampilkan informasi yang diupdate tentang proses-proses yang berjalan pada sistem. Perintah ini disebut top(1), dan dijalankan apa adanya:
% top

Perintah ini akan menampilkan satu layar penuh yang berisi informasi tentang proses-proses yang berjalan pada sistem, juga beberapa informasi umum tentang sistem. Hal ini mencakup beban ratarata, jumlah proses, status CPU, informasi memori yang bebas, dan detail tentang proses, termasuk PID, pengguna, prioritas, informasi penggunaan CPU dan memori, waktu berjalan, dan nama program.
6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02 61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff Swap: 32764K av, 136K used, 32628K free, 82600K cached PID USER 112 root 4947 david 3398 david 4946 root 121 david 115 david 4948 david 1 root 189 david 4734 david 2 root 3 root 4 root 5 root 31 root 51 root 53 bin 57 root PRI NI SIZE RSS SHARE STAT 12 0 19376 18M 2468 R 15 0 2136 2136 1748 S 7 0 20544 20M 3000 S 12 0 1040 1040 836 R 4 0 796 796 644 S 3 0 2180 2180 1452 S 16 0 776 776 648 S 1 0 176 176 148 S 1 0 6256 6156 4352 S 0 0 1164 1164 916 S 0 0 0 0 0 SW 0 0 0 0 0 SW 0 0 0 0 0 SW 0 0 0 0 0 SW 0 0 340 340 248 S 0 0 48 48 32 S 0 0 316 316 236 S 0 0 588 588 488 S LIB %CPU %MEM TIME COMMAND 0 3.7 7.5 55:53 X 0 2.3 0.8 0:00 screenshot 0 1.5 7.9 0:14 gimp 0 1.5 0.4 0:00 top 0 1.1 0.3 25:37 wmSMPmon 0 0.3 0.8 1:35 wmaker 0 0.3 0.3 0:00 xwd 0 0.1 0.0 0:13 init 0 0.1 2.4 3:16 licq 0 0.1 0.4 0:00 rxvt 0 0.0 0.0 0:08 kflushd 0 0.0 0.0 0:06 kupdate 0 0.0 0.0 0:00 kpiod 0 0.0 0.0 0:04 kswapd 0 0.0 0.1 0:00 kerneld 0 0.0 0.0 0:00 dhcpcd 0 0.0 0.1 0:00 rpc.portmap 0 0.0 0.2 0:01 syslogd

Disebut top karena program yang sangat intensif terhadap CPU akan terdaftar di paling atas. Sebuah catatan menarik adalah top akan terdaftar pertama pada sebagian besar sistem yang tidak aktif (dan beberapa yang aktif) karena utilisasi CPUnya. Namun, top cukup berguna untuk menentukan program yang memiliki perilaku tidak benar dan harus dimatikan.

Tetapi misalkan Anda hanya menginginkan daftar dari proses Anda, atau proses dari beberapa pengguna lain. Proses yang Anda ingin lihat mungkin tidak termasuk dalam program yang memakan CPU secara intensif. Opsi -u mengijinkan Anda untuk menentukan sebuah nama pengguna atau UID dan memonitor proses-proses yang dimiliki oleh UID tersebut.
% top -u alan PID USER 3622 alan 3739 alan 3518 alan 3529 alan 3544 alan 3548 alan 3551 alan 3553 alan 3555 alan 3557 alan 3559 alan 3565 alan 3568 alan 3572 alan 3574 alan 3575 alan 3576 alan PR 13 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 NI 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VIRT 11012 1012 1312 984 640 8324 7084 2232 2552 2740 6496 1740 7052 11412 12148 12148 12148 RES 10m 1012 1312 984 640 8320 7084 2232 2552 2740 6492 1740 7052 11m 11m 11m 11m SHR 6956 804 1032 848 568 6044 1968 380 1948 2224 5004 1440 4960 7992 8780 8780 8780 S %CPU %MEM S 1.0 2.1 R 0.3 0.2 S 0.0 0.3 S 0.0 0.2 S 0.0 0.1 S 0.0 1.6 S 0.0 1.4 S 0.0 0.4 S 0.0 0.5 S 0.0 0.5 S 0.0 1.3 S 0.0 0.3 S 0.0 1.4 S 0.0 2.2 S 0.0 2.4 S 0.0 2.4 S 0.0 2.4 TIME+ 0:03.66 0:00.06 0:00.09 0:00.00 0:00.00 0:00.30 0:00.50 0:00.05 0:00.10 0:00.05 0:00.31 0:00.28 0:02.28 0:01.58 0:00.64 0:00.00 0:00.00 COMMAND gnome-terminal top bash startx xinit gnome-session gconfd-2 esd bonobo-activati gnome-smproxy gnome-settingsxscreensaver metacity gnome-panel nautilus nautilus nautilus

Seperti yang Anda lihat, saya menjalankan X, top, a gnome-terminal (dimana saya menulis ini) dan banyak proses yang berhubungan dengan X yang memakan banyak waktu CPU untuk saya. Ini adalah cara yang bagus untuk memonitor bagaimana pengguna Anda bekerja pada sistem Anda. juga mendukung memonitor proses berdasarkan PIDnya, mengabaikan proses yang idle dan zombie, dan opsi-opsi lain. Tempat terbaik untuk mendapatkan opsi ini adalah halaman manual dari top.
top

Bab 12 Administrasi Sistem


Daftar Isi 12.1 Pengguna dan Grup 12.2 Pengguna dan Grup, Cara Kasar 12.3 Mematikan Sistem Dengan Benar Whoa whoa whoa whoa whoa.... Saya tahu apa yang Anda pikirkan. Saya bukan administrator sistem! Saya bahkan tidak ingin menjadi seorang administrator sistem! Kenyataannya, Anda adalah administrator pada sembarang komputer dimana Anda memiliki kata sandi untuk root. Ini bisa berupa desktop Anda dengan satu atau dua pengguna, atau server besar dengan beberapa ratus pengguna. Terlepas dari yang mana yang Anda miliki, Anda harus tahu bagaimana mengelola pengguna, dan bagaimana mematikan sistem dengan aman. Pekerjaan ini tampaknya mudah, tetapi Anda harus memiliki pertimbangan juga.

12.1 Pengguna dan Grup


Seperti disebutkan pada Bab 8, Anda seharusnya tidak menggunakan login root. Anda harus membuat account pengguna yang biasa untuk pemakaian sehari-hari, dan menggunakan root hanya

untuk pekerjaan administrasi sistem. Untuk membuat sebuah pengguna, Anda bisa menggunakan aplikasi yang disertakan pada Slackware, atau Anda bisa mengedit berkas password secara manual.

12.1.1 Script yang Tersedia


Cara termudah untuk mengelola pengguna dan grup adalah dengan script dan program yang tersedia. Slackware menyertakan program adduser, userdel(8), chfn(1), chsh(1), dan passwd(1) untuk berhadapan dengan pengguna. Perintah groupadd(8), groupdel(8), dan groupmod(8) digunakan untuk berhadapan dengan grup. Selain chfn, chsh, dan passwd, program-program tadi hanya dijalankan sebagai root, dan terletak pada /usr/sbin. chfn, chsh, dan passwd dapat dijalankan oleh siapapun dan terletak pada /usr/bin. Pengguna bisa ditambahkan dengan program adduser. Kita akan mulai dengan keseluruhan prosedur, menampilkan seluruh pertanyaan yang ditanyakan dan deskripsi singkat tentang artinya. Jawaban default adalah yang terletak dalam kurung siku, dan dapat dipilih untuk hampir semua pertanyaan, kecuali Anda hendak mengubah sesuatu.
# adduser Login name for new user []: jellyd

Ini adalah nama pengguna yang akan digunakan untuk login. Biasanya, nama login terdiri dari delapan karakter atau kurang, dan semua adalah huruf kecil. (Anda bisa menggunakan lebih dari delapan karakter, atau menggunakan angka, tetapi hindari itu kecuali Anda memiliki alasan yang cukup penting) Anda juga bisa menyediakan nama login sebagai argumen pada perintah baris:
# adduser jellyd

Pada semua kasus, setelah menyediakan nama login, adduser akan meminta ID pengguna::
User ID ('UID') [ defaults to next available ]:

ID Pengguna (UID) adalah bagaimana kepemilikan ditentukan pada Linux. Setiap pengguna memiliki angka unik, dimulai dari 1000 pada Slackware. Anda bisa memilih sebuah UID untuk pengguna baru, atau Anda bisa membiarkan adduser memberikan nilai berikutnya yang masih kosong.
Initial group [users]:

Semua pengguna diletakkan pada grup users secara default. Anda mungkin hendak meletakkan pengguna baru pada grup yang berbeda, tetapi tidak direkomendasikan kecuali Anda tahu apa yang Anda lakukan.
Additional groups (comma separated) []:

Pertanyaan ini mengijinkan Anda untuk meletakkan pengguna baru pada grup tambahan. Dimungkinkan sebuah pengguna terdapat pada beberapa grup pada saat yang bersamaan. Hal ini berguna jika Anda memiliki grup untuk beberapa hal seperti memodifikasi berkas-berkas web site, memainkan permainan, dan selanjutnya. Sebagai contoh, beberapa situs mendefinisikan grup wheel sebagai satu-satunya grup yang dapat menggunakan perintah su. Atau, installasi default Slackware

menggunakan grup sys untuk pengguna yang diijinkan untuk memainkan suara melalui kartu suara internal.
Home directory [/home/jellyd]

Direktori home default diletakkan pada /home. Jika Anda menjalankIf you sistem yang sangat besar, sangatlah mungkin bahwa Anda telah memindahkan direktori home pada lokasi yang berbeda (atau pada banyak lokasi). Langkah ini mengijinkan Anda untuk menentukan lokasi direktori home.
Shell [ /bin/bash ]

adalah shell default untuk Slackware Linux, dan cukup baik untuk sebagian besar orang. Juga pengguna baru ANda berasal dari latar belakang Unix, mungkin mereka lebih biasa dengan shell yang berbeda. Anda bisa mengganti shell mereka sekarang, atau mereka dapat menggantinya sendiri menggunakan perintah chsh.
bash Expiry date (YYYY-MM-DD) []:

Account dapat ditentukan untuk kadaluarsa pada tanggal yang ditentukan. Secara default, tidak ada tanggal kadaluarsa. Anda bisa menggantinya jika Anda mau. Opsi ini cukup berguna untuk orangorang yang menjalankan sebuah ISP yang ingin agar sebuah account kadaluarsa pada tanggal tertentu, kecuali mereka menerima pembayaran tahun berikutnya.
New account will be created as follows: --------------------------------------Login name: jellyd UID: [ Next available ] Initial group: users Additional groups: [ None ] Home directory: /home/jellyd Shell: /bin/bash Expiry date: [ Never ]

Ini dia... jika Anda ingin keluar, tekan Control+C. Selain itu, tekan ENTER untuk melanjutkan dan membuat account. Anda sekarang melihat semua informasi yang Anda masukkan tentang account baru dan diberikan kesempatan untuk membatalkan pembuatan account baru. Jika Anda memasukkan informasi yang salah, Anda harus menekan Control+C dan mengulanginya. Selain itu, Anda bisa menekan enter dan account akan dibuat.
Creating new account... Changing the user information for jellyd Enter the new value, or press return for the default Full Name []: Jeremy Room Number []: Smith 130 Work Phone []: Home Phone []: Other []:

Semua informasi ini opsional. Anda tidak harus memasukkan jika Anda tidak menginginkannya, dan pengguna bisa menggantinya menggunakan chfn. Namun, Anda mungkin akan menganggapnya berguna untuk memasukkan paling tidak nama lengkap dan nomor telepon, jika Anda perlu berhubungan dengan orang tersebut.

Changing password for jellyd Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: Password changed. Account setup complete.

Anda harus memasukkan sebuah kata sandi untuk pengguna baru. Biasanya, jika pengguna baru tidak hadir pada saat ini, Anda cukup memberikan kata sandi default dan memberitahukan pengguna untuk menggantinya dengan sesuatu yang lebih aman. Memilih sebuah Katasandi: Memiliki kata sandi yang aman adalah baris pertahanan pertama untuk mengindari peristiwa cracking. Anda tidak ingin memiliki kata sandi yang mudah ditebak, karena hal itu akan mempermudah seseorang untuk memasuki sistem Anda. Idealnya, sebuah kata sandi yang aman berupa kata acak, termasuk huruf besar dan kecil, angka, dan karakter acak. (Karakter tab mungkin bukan pilihan yang bijak, tergantung dari komputer yang Anda gunakan untuk login.) Terdapat banyak paket perangkat lunak yang dapat menghasilkan kata sandi acak untuk Anda; cari Internet untuk utilitas ini. Secara umum, gunakan naluri: jangan pilih kata sandi yang berhubungan dengan ulang tahun seseorang, frase umum, sesuatu yang dapat ditemukan pada meja Anda, atau sesuatu yang berhubungan dengan Anda. Sebuah kata sandi yang mirip dengan secure1 atau kata sandi lain yang Anda lihat pada cetakan atau online juga buruk. Menghapus pengguna tidaklah sulit sama sekali. Cukup jalankan userdel dengan nama account yang hendak dihapus. Anda harus memverifikasi bahwa account tersebut tidak login, dan tidak ada proses yang berjalan atas pengguna tersebut. Juga, ingat bahwa setelah Anda menghapus pengguna tersebut, semua informasi pengguna tersebut juga hilang secara permanen..
# userdel jellyd

Perintah ini menghapus pengguna jellyd dari sistem Anda. Pengguna dihapus dari /etc/passwd, /etc/shadow, dan /etc/group, tetapi tidak menghapus direktori home pengguna. Jika Anda juga hendak menghapus direktori homenya, Anda akan menggunakan perintah ini:
# userdel -r jellyd

Menonaktifkan sementara sebuah account akan dibahas pada bagian selanjutnya tentang kata sandi, karena perubahan sementara melibatkan penggantian kata sandi pengguna. Mengganti informasi account lain dibahas pada Bagian 12.1.3. Program untuk menambahkan dan menghapus grup sangatlah sederhana. groupadd akan menambahkan satu daftar pada berkas /etc/group dengan ID grup yang unik, sementara groupdel akan menghapus grup yang ditentukan. Terserah kepada Anda untuk mengedit berkas /etc/group untuk menambahkan grup tertentu. Misalnya, untuk menambahkan sebuah grup bernamacvs:
# groupadd cvs

dan untuk menghapusnya:

# groupdel cvs

12.1.2 Mengganti Kata Sandi


Program passwd menggati kata sandi dengan memodifikasi berkas /etc/shadow. Berkas ini menyimpan semua kata sandi untuk sistem dalam format yang terenkripsi. Untuk mengubah kata sandi Anda, ketikkan:
% passwd Changing password for chris Old password: Enter the new password (minumum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password:

Seperti yang Anda lihat, Anda diminta untuk memasukkan kata sandi lama Anda. Kata sandi tidak akan terlihat ketika Anda mengetikkannya, sama seperti ketika Anda login. Lalu, Anda diminta memasukkan kata sandi baru. passwd melakukan banyak pengujian pada kata sandi baru Anda, dan akan keberatan jika kata sandi baru Anda tidak lolos dalam pengujiannya. Anda bisa mengabaikan peringatannya jika Anda mau. Anda akan diminta untuk memasukkan kata sandi kedua kalinya untuk konfirmasi. Jika Anda root, Anda bisa mengganti kata sandi pengguna lain:
# passwd ted

Anda harus melalui prosedur yang sama seperti diatas, kecuali Anda tidak harus memasukkan kata sandi lama pengguna. (Satu dari banyak keuntungan sebagai root...) Jika diperlukan, Anda bisa menonaktifkan sebuah account untuk sementara, dan mengaktifkannya kembali jika diperlukan. Mengaktifkan dan menonaktifkan sebuah account dapat dilakukan dengan passwd. Untuk menonaktifkan sebuah account, lakukan perintah ini sebagai root:
# passwd -l david

Hal ini akan mengganti kata sandi david dengan nilai enkripsi yang tidak akan sama. Anda bisa mengaktifkan account dengan :
# passwd -u david

Sekarang, account david kembali normal. Menonaktifkan sebuah account dapat berguna jika pengguna tidak mematuhi aturan yang Anda buat pada sistem, atau jika mereka mengekspor banyak salinan dari xeyes(1) pada desktop X.

12.1.3 Mengganti Informasi Pengguna


Terdapat dua potong informasi yang dapat diganti oleh pengguna kapan saja: shell dan informasi finger mereka. Slackware Linux menggunakan chsh (change shell) dan chfn (change finger) untuk memodifikasi nilai-nilai ini. Seorang pengguna dapat memilih sembarang shell yang terdaftar pada berkas /etc/shells. Untuk sebagian besar orang, /bin/bash sudahlah cukup. Sebagian mungkin terbiasa dengan shell pada

sistem tempat mereka bekerja atau sekolah atau hendak menggunakan yang mereka ketahui. Untuk mengganti shell Anda, gunakan chsh:
% chsh Password: Changing the login shell for chris Enter the new value, or press return for the default Login Shell [/bin/bash]:

Setelah memasukkan kata sandi Anda, masukkan path lengkap ke shell baru. Pastikan shell terdaftar pada berkas /etc/shells(5). Pengguna root dapat mengganti shell dari sembarang user dengan menjalankan chsh dengan nama pengguna sebagai argumen. Informasi finger adalah informasi opsional seperti nama lengkap Anda, nomor telepon, dan nomor kamar. Nilai ini bisa diganti menggunakan chfn, dan menggunakan prosedur yang sama ketika pembuatan account. Seperti biasa, root bisa mengganti informasi finger semua orang.

12.2 Pengguna dan Grup, Cara Kasar


Tentu saja, dimungkinkan untuk menambah, memodifikasi, dan menghapus pengguna tanpa menggunakan script dan program yang datang dengan Slackware. Tidak terlalu susah, meskipun setelah membaca proses ini, Anda akan menganggap bahwa lebih mudah untuk menggunakan script. Bagaimanapun juga, sangatlah penting untuk mengetahui bagaimana informasi kata sandi Anda sebenarnya disimpan, jika Anda perlu mengembalikan informasi ini dan Anda tidak memiliki program-program Slackware yang tersedia. Pertama, kita akan menambahkan pengguna baru pada berkas /etc/passwd(5), /etc/shadow(5), dan /etc/group(5). Berkas passwd menyimpan beberapa informasi tentang pengguna pada sistem Anda, tetapi (cukup aneh) tanpa kata sandinya. Dahulu kata sandi disimpan, tetapi dihentikan untuk alasan keamanan. Berkas passwd harus dapat dibaca oleh semua pengguna, tetapi Anda tidak ingin kata sandi terenkripsi dapat dibaca oleh semua orang, karena penyusup dapat menggunakan kata sandi terenkripsi sebagai titik awal untuk mendekripsi kata sandi pengguna. Oleh sebab itu, kata sandi terenkripsi disimpan pada berkas shadow, yang hanya dapat dibaca oleh root, dan kata sandi setiap orang dimasukkan pada berkas passwd sebagai x. Berkas group mendaftar semua grup. Anda bisa menggunakan perintah vipw untuk mengedit /etc/passwd secara aman, dan perintah vigr untuk mengedit /etc/group. Gunakan vipw -s untuk mengedit berkas /etc/shadow secara aman. (Aman dalam konteks ini berarti orang lain tidak akan mampu memodifikasi berkas yang sedang Anda edit pada saat itu. Jika Anda satu-satunya administrator pada sistem Anda, Anda mungkin aman, akan tetapi sangatlah baik untuk membiasakan kebiasaan baik sejak awal.) Mari kita lihat berkas /etc/passwd dan melihat bagaimana menambahkan sebuah pengguna baru. Sebuah daftar yang umum pada passwd tampak seperti berikut:
chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash

Setiap baris adalah daftar untuk satu pengguna, dan kolom pada setiap baris dipisahkan dengan tanda titik dua. Kolom-kolom tersebut adalah nama login, kata sandi terenkripsi (x untuk semua orang pada sistem Slackware, karena Slackware menggunakan kata sandi shadow), ID pengguna, ID grup, informasi finger opsional (dipisahkan dengan koma), direktori home, dan shell. Untuk menambahkan pengguna baru secara manual, tambahkan baris baru pada akhir berkas, isi dengan informasi yang benar.

Informasi yang Anda tambahkan harus sesuai dengan beberapa kebutuhan, atau pengguna baru Anda akan mengalami masalah saat login. Pertama-tama, pastikan kolom kata sandi adalah x, dan baik nama pengguna dan ID pengguna unik. Tentukan grup pada pengguna, entah 100 (grup users pada Slackware) atau grup default Anda (gunakan angka, bukan namanya). Berikan direktori home yang valid untuk pengguna (yang akan Anda buat kemudian) dan shell (ingat, shell yang valid adalah yang terdaftar pada /etc/shells). Berikutnya, kita akan menambahkan sebuah daftar baru pada berkas /etc/shadow, yang menyimpan kata sandi yang terenkripsi. Daftar yang umum tampak seperti berikut:
chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::

Lagi-lagi, setiap baris adalah daftar untuk satu orang, dengan setiap kolom dipisahkan oleh titik dua. Kolom-kolom tersebut adalah nama login, kata sandi terenkripsi, jumlah hari sejak Epoch (1 Januari 1970) kapan kata sandi diganti, jumlah hari sebelum kata sandi harus diganti, jumlah hari sebelum kata sandi harus diganti, jumlah hari sebelum pengguna akan diberitahu bahwa kata sandi kadaluarsa, jumlah hari sebelum account dinonaktifkan, jumlah hari sejak Epoch bahwa account dinonaktifkan, dan kolom yang dipersiapkan. Seperti yang Anda lihat, sebagian besar adalah informasi kadaluarsa account. Jika Anda tidak menggunakan informasi kadaluarsa, Anda hanya mengisi sebagian kolom dengan beberapa nilai khusus. Jika tidak, Anda harus melakukan beberapa kalkulasi dan pengambilan keputusan sebelum Anda dapat mengisi kolom-kolom tersebut. Untuk pengguna baru, cukup masukkan sembarang pada kolom kata sandi. Jangan khawatir akan kata sandi sekarang, karena Anda akan menggantinya dalam satu menit. Satu-satunya karakter yang tidak boleh Anda sertakan pada kolom kata sandi adalah titik dua. Biarkan jumlah hari terakhir kata sandi diganti kosong. Isi 0, 99999, dan 7 seperti yang Anda lihat pada contoh, dan biarkan kolom lain kosong. (Bagi Anda yang merasa Anda melihat kata sandi terenkripsi saya diatas dan percaya Anda dapat membobol sistem saya, silahkan coba. Jika Anda bisa membobol kata sandi itu, Anda akan tahu kata sandi untuk sistem pengujian yang telah diberi firewall.) Semua pengguna normal adalah anggota dari grup users pada sistem Slackware pada umumnya. Namun, jika Anda hendak membuat grup baru, atau menambahkan pengguna baru pada grup tambahan, Anda harus memodifikasi berkas /etc/group. Berikut adalah contohnya:
cvs::102:chris,logan,david,root

Kolom-kolom tersebut adalah nama grup, kata sandi grup, ID grup, dan anggota grup, dipisahkan dengan koma. Membuat grup baru cukup dengan manambahkan baris baru dengan ID grup unik, dan mendaftar semua pengguna yang Anda inginkan berada pada grup tersebut. Sembarang pengguna yang berada pada grup ini dan sudah login harus logout dan login kembali agar mendapatkan perubahan. Pada titik ini, mungkin merupakan ide yang bagus untuk menggunakan perintah pwck dan grpck untuk memverifikasi perubahan yang Anda lakukan sudah konsisten. Pertama, gunakan pwck -r dan grpck-r: opsi -r tidak membuat perubahan, tetapi mendaftar perubahan yang akan ditanyakan kepada Anda jika Anda menjalankan perintah tanpa opsi tersebut. Anda bisa menggunakan keluaran dari perintah ini untuk menentukan apakah Anda perlu memodifikasi berkas lainnya, atau menjalankan pwck atau grpck tanpa opsi -r, atau cukup membiarkan perubahan Anda apa adanya.

Pada titik ini, Anda harus menggunakan perintah passwd untuk membuat kata sandi yang benar untuk pengguna. Lalu, gunakan mkdir untuk membuat direktori home baru pada lokasi yang Anda masukkan pada berkas /etc/passwd, dan gunakan chown untuk mengganti kepemilikan dari direktori baru pada pengguna baru. Menggapus sebuah pengguna cukup dengan menghapus semua daftar yang ada untuk pengguna tersebut. Hapus daftar pengguna dari /etc/passwd dan /etc/shadow, dan hapus nama login dari sembarang grup pada berkas /etc/group. Jika Anda mau, hapus juga direktori home pengguna, berkas spool mail, dan daftar crontabnya (jika ada). Menghapus grup juga sama: hapus daftar grup dari /etc/group.

2.3 Mematikan Sistem Dengan Benar


Sangatlah penting untuk mematikan sistem dengan benar. Mematikan sistem dengan menekan tombol power dapat menyebabkan kerusakan serius pada sistem berkas. Ketika sistem berjalan, berkas-berkas tetap digunakan meskipun Anda tidak melakukan apapun. Ingat bahwa terdapat banyak proses yang berjalan pada background setiap saat. Proses-proses ini mengelola sistem dan membuka banyak berkas. Ketika tenaga sistem dimatikan, berkas-berkas ini mungkin tidak ditutup dengan sempurna dan mungkin bisa korupsi. Tergantung dari berkas apa yang terkorupsi, sistem mungkin bisa tidak berjalan! Pada sembarang kasus, Anda harus melalui prosedur pengujian sistem berkas yang panjang pada reboot selanjutnya. Jika Anda mengkonfigurasikan sistem Anda dengan sistem berkas yang mendukung journaling, seperti ext3 atau reiserfs, Anda akan terproteksi sebagian dari kerusakan sistem berkas, dan pengujian sistem berkas pada saat reboot akan lebih cepat dibandingkan jika Anda menggunakan sistem berkas yang tidak mendukung journaling, seperti ext2. Namun, tindakan pengamanan ini bukanlah alasan untuk mematikan sistem dengan tidak benar! Sebuah sistem berkas dengan journaling adalah untuk memproteksi berkas-berkas Anda dengan kejadian yang terjadi diluar kontrol Anda, bukan dari kemalasan Anda. Pada sembarang kasus, jika Anda hendak melakukan reboot atau memastikan komputer Anda, sangatlah penting untuk melakukannya dengan benar. Terdapat beberapa cara untuk melakukannya; Anda bisa memilih satu yang paling menarik (paling tidak yang paling sederhana). Karena shutdown dan reboot merupakan prosedur yang serupa, banyak cara untuk mematikan sebuah sistem juga bisa diterapkan pada reboot. Metode pertama melalui program shutdown(8), dan merupakan yang paling populer. shutdown dapat digunakan untuk reboot atau mematikan sistem pada waktu tertentu, dan bisa menampilkan sebuah pesan pada semua pengguna yang sedang login dan memberitahukan bahwa sistem akan dimatikan. Penggunaan dasar shutdown untuk mematikan komputer adalah :
# shutdown -h now

Pada kasus ini, kita tidak akan mengirimkan pesan pada pengguna; mereka akan melihat pesan default shutdown. now adalah waktu dimana kita hendak mematikan sistem, dan opsi -h berarti mematikan sistem. Ini bukanlah cara yang paling sopan pada sistem multi-user, tetapi bekerja untuk komputer pribadi Anda. Metode yang lebih baik pada sistem multi-user adalah memberikan peringatan awal pada semua orang:

# shutdown -h +60

Perintah ini akan mematikan sistem dalam 1 jam (60 menit), yang seharusnya cukup unttuk sistem normal. Sistem yang penting harus memiliki jadwal jauh-jauh hari, dan Anda harus menuliskan peringatan tentang downtime pada lokasi yang wajar untuk pemberitahuan sistem (email, bulletin board, /etc/motd). Me-reboot sistem menggunakan perintah yang sama, tetapi ganti -r untuk -h:
# shutdown -r now

Anda bisa menggunakan notasi yang sama dengan shutdown -r yang bisa Anda lakukan dengan shutdown -h. Terdapat banyak hal yang bisa Anda gunakan dengan shutdown untuk mengontrol kapan mematikan dan kapan me-reboot sistem; lihat halaman manual untuk lebih detail. Cara kedua untuk mematikan sebuah sistem adalah menggunakan program halt(8) dan reboot(8). Seperti namanya, halt akan menghentikan sistem operasi secepatnya, dan reboot akan melakukan reboot sistem. (reboot sebetulnya hanyalah symbolic link pada halt.) Mereka dipanggil dengan:
# halt # reboot

Sebuah level rendah untuk me-reboot atau mematikan sistem adalah dengan berbicara dengan init. Metode lainnya adalah cara yang paling mudah untuk berbicara dengan init, tetapi Anda bisa memberitahukannya langsung menggunakan telinit(8) (perhatikan hanya memiliki satu l). Menggunakan telinit akan memberitahukan init runlevel apa yang akan dijalankan, yang akan menyebabkan script khusus dijalankan. Script ini akan mematikan proses-proses yang diperlukan untuk runlevel tersebut. Hal ini bekerja untuk reboot dan mematikan sistem karena keduanya adalah runlevel khusus tersebut.
# telinit 0

Runlevel 0 adalah mode halt. Memberitahukan init untuk masuk runlevel 0 akan menyebabkan semua proses dimatikan, unmount sistem berkas, dan sistem akan dihentikan. Cara ini merupakan cara yang paling diterima untuk mematikan sistem. Pada sebagian besar laptop dan desktop modern, hal ini juga akan mematikan sistem.
# telinit 6

Runlevel 6 adalah mode reboot. Semua proses akan dimatikan, sisten akan diunmount, dan mesin akan di-reboot. Ini adalah cara yang paling diterima untuk me-reboot sistem. Bagi yang penasaran, ketika berpindah ke runlevel 0 atau 6, entah menggunakan shutdown, halt, atau reboot, script /etc/rc.d/rc.6 dijalankan. (Script /etc/rc.d/rc.0 adalah symbolic link ke /etc/rc.d/rc.6.) Anda bisa mengganti berkas ini sesuai selera Anda--tetapi pastikan untuk menguji perubahan Anda dengan seksama! Terdapat satu metode terakhir untuk me-reboot sistem. Semua metode lain membutuhkan login root. Namun, juga dimungkinkan untuk me-reboot mesin meskipun Anda bukan root, selama Anda memiliki akses fisik pada keyboard. Menggunakan Control+Alt+Delete ("three-fingered salute") akan menyebabkan mesin reboot. (Dibelakang layar, perintah shutdown dipanggil ketika Anda menggunakan Control+Alt+Delete.) Perintah ini tidak selalu bekerja ketika menggunakan X

Windows--Anda mungkin perlu menggunakan Control+Alt+F1 (atau kunci Function lain) untuk berpindah pada terminal non-X Windows sebelum menggunakannya. Akhirnya, berkas yang sepenuhnya mengontrol setiap aspek startup dan shutdown adalah berkas /etc/inittab(5). Secara umum, Anda tidak perlu memodifikasi berkas ini, tetapi mungkin dapat memberikan informasi tentang bagaimana cara kerjanya. Seperti biasa, lihat halaman manual untuk detail lebih lanjut.

Bab 13 Perintah Dasar Jaringan


Daftar Isi 13.1 ping 13.2 traceroute 13.3 DNS Tools 13.4 finger 13.5 telnet 13.6 Shell yang aman 13.7 email 13.8 Browser 13.9 Klien FTP 13.10 Berbicara dengan Orang Lain Sebuah jaringan adalah kumpulan dari beberapa komputer yang saling terhubung. Jaringan terdiri dari beberapa komputer yang ada pada rumah, kantor, kampus hingga internet. Ketika komputer Anda menjadi bagian dari jaringan, Anda dapat mengakses sistem itu secara langsung atau melalui layanan seperti surat elektronik dan halaman web. Ada beberapa program jaringan yang dapat Anda gunakan. Sebagian program sudah bisa melakukan diagnosa untuk melihat (meyakinkan) apakah semua berjalan seperti yang diinginkan. Program lainnya (seperti pembaca email dan web browser) sangat berguna untuk menyelesaikan pekerjaan Anda serta menjaga hubungan orang lain.

13.1 ping
ping(8)

mengirim sebuah ICMP ECHO_REQUEST paket ke host tertentu. jika host itu merespon, Anda akan mendapatkan ICMP paket kembali. Terdengar aneh? baik, Anda dapat melakukan ping ke sebuah IP address untuk melihat jika mesin itu aktif. jika tidak ada respon, Anda tahu ada sesuatu yang salah. Berikut adalah contoh percakapan antara dua pengguna linux: User A: Loki down lagi. User B: Anda yakin ? User A: Iya, Saya coba ping kesana, tapi tidak ada respon. Contoh seperti ini yang membuat ping sangat berguna sebagai perintah sehari-hari, dengan menyediakan cara cepat untuk melihat apakah suatu mesin aktif dan terhubung ke jaringan. Perintah dasar:
% ping www.slackware.com

Tentunya, ada beberapa pilihan yang lebih spesifik. periksa halaman manual ping(1) untuk keterangan lebih lanjut.

13.2 traceroute
Perintah traceroute(8) pada Slackware sangat berguna sebagai alat diagnosa jaringan. traceroute akan menampilkan tiap-tiap host yang di lewati oleh paket pada saat mencoba menuju tujuannya. Anda dapat melihat berapa banyak Lompatan yang dilalui untuk menuju situs Slackware dengan perintah:
% traceroute www.slackware.com

Tiap-tiap host akan di tampilkan, bersama waktu respon dari tiap-tiap host. Berikut contoh hasilnya:
% traceroute www.slackware.com traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets 1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms 2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms 3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms 4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms 5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms 6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms 7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms

hampir sama dengan ping dalam penggunaannya menggunakan paket ICMP. Ada beberapa pilihan yang lebih spesifik pada traceroute. Pilihan itu di jelaskan dengan detail pada halaman manual.
traceroute

13.3 DNS Tool


Domain Name Service (disingkat DNS) adalah protokol ajaib yang dapat di pergunakan oleh komputer Anda untuk merubah nama domain yang tidak berarti seperti www.slackware.com menjadi alamat IP seperti 64.57.102.34. Komputer tidak dapat mengarahkan paket ke www.slackware.com, tetapi komputer dapat mengarahkan paket ke alamat IP domain tersebut. Ini memberi kita kemudahan untuk mengingat alamat mesin. Tanpa DNS kita di haruskan mempunyai mental database untuk menghafal alamat IP berapa menuju ke komputer mana, dan itu di asumsikan alamat IP tidak berubah. Jelas, dengan menggunakan nama dari komputer lebih baik, tapi bagaimana kita menterjemahkan nama komputer kedalam alamat IP?

13.3.1 host
host(1)

dapat kita lakukan seperti ini. host dipergunakan untuk menterjemahkan nama ke alamat IP. Itu adalah sebuah program utilitas yang sangat cepat dan mudah tanpa banyak fungsi.
% host www.slackware.com www.slackware.com is an alias for slackware.com. slackware.com has address 64.57.102.34

Tetapi katakan saja untuk beberapa alasan kita ingin menterjemahkan alamat IP ke nama domain; lalu apa lagi?

13.3.2 nslookup
adalah program percobaan yang berhasil dan telah usang seiring berjalannya waktu. telah di tinggalkan dan mungkin akan di tinggalkan untuk versi selanjutnya. Bahkan tidak ada halaman manual dari program ini.
nslookup nslookup % nslookup 64.57.102.34 Note: nslookup is deprecated and may be removed from future releases. Consider using the `dig' or `host' programs instead. Run nslookup with the `-sil[ent]' option to prevent this message from appearing. Server: 192.168.1.254 Address: 192.168.1.254#53 Non-authoritative answer: www.slackware.com canonical name = slackware.com. Name: slackware.com Address: 64.57.102.34

13.3.3 dig
Domain Information Groper, dig(1) singkatannya, adalah program untuk mencari informasi DNS. dig dapat mengambil hampir semua record dari server DNS termasuk reverse lookups, A, CNAME, MX, SP, dan TXT. dig mempunyai banyak pilihan baris perintah dan jika Anda tidak terbiasa dengannya, Anda dapat membaca halaman manualnya yang lengkap.
% dig @192.168.1.254 www.slackware.com mx ; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26362 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.slackware.com. ;; ANSWER SECTION: www.slackware.com. slackware.com. ;; AUTHORITY SECTION: slackware.com. slackware.com. ;; ADDITIONAL SECTION: ns1.cwo.com. ns2.cwo.com. ;; ;; ;; ;; 76634 86400 86400 86400 163033 163033 IN IN IN IN IN IN IN MX CNAME MX NS NS A A slackware.com. 1 mail.slackware.com. ns1.cwo.com. ns2.cwo.com. 64.57.100.2 64.57.100.3

Query time: 149 msec SERVER: 192.168.1.254#53(192.168.1.254) WHEN: Sat Nov 6 16:59:31 2004 MSG SIZE rcvd: 159

Ilustrasi ini akan memberikan gambaran bagaimana dig bekerja dig. @192.168.1.254 menspesifikasikan server dns yang digunakan. www.slackware.com adalah nama domain yang saya coba lookup, dan mx adalah tipe dari lookup yang saya coba. query diatas memberitahu saya bahwa e-mail ke www.slackware.com akan secara langsung di kirim ke mail.slackware.com untuk pengirimannya.

13.4 finger
finger(1)

akan menerima informasi tentang penggunanya. Anda memberi finger sebuah nama pengguna atau alamat email dan finger akan mencoba menghubungi server yang di maksud dan menerima nama pengguna, kantor, nomer telepon, dan berbagai informasi lainnya.Berikut contohnya:
% finger johnc@idsoftware.com

dapat bisa mendapatkan nama pengguna, status email, nomer telepon, dan file yang dianggap sebagai dot plan dan dot project. Tentunya, informasi yang didapat akan berbeda-beda pada setiap server finger. Informasi yang disertakan pada Slackware akan mengembalikan informasi seperti berikut secara default:
finger

Nama pengguna Nomer ruangan Nomer telepon rumah Nomer telepon kantor Status login Status email Isi dari file .plan di directory home pengguna. Isi dari file .project di directory home pengguna.

4 item pertama dapat di set dengan perintah chfn. chfn menyimpan nilai-nilai tersebut dalam file /etc/passwd. Untuk merubah informasi dalam .plan atau .project Anda, cukup rubah saja dengan text editor favorit Anda. Semua harus berada pada directory home Anda dan harus dinamai .plan dan .project. Banyak pengguna me-finger account mereka sendiri dari komputer remote untuk secara cepat melihat apakah mendapatkan email baru. atau, Anda dapat melihat rencana atau yang sedang dikerjakan oleh pengguna. Seperti perintah lain, finger mempunyai pilihan-pilihan khusus yang dapat Anda gunakan.

13.5 telnet
Seseorang pernah berkata bahwa telnet(1) adalah hal terhebat yang pernah terjadi pada komputer. Kemampuan untuk login secara remote dan melakukan kegiatan pada komputer lain adalah yang membedakan sistem opera Unix dan Unix-like dengan sistem operasi lain. mengizinkan Anda masuk kedalam komputer, jika Anda telah berada pada terminal. Ketika nama dan kata sandi Anda terbukti, Anda akan diberikan sebuah shell prompt. Dari sini, Anda bisa melakukan semua hal yang membutuhkan konsol teks. Menuliskan email, membaca newsgroup, memindahkan berkas, dan sebagainya. Jika Anda menjalankan X dan Anda telnet ke mesin lain, Anda bisa menjalankan program-program X pada komputer remote dan menampilkannya pada komputer Anda.
telnet

Untuk masuk ke mesin remote, gunakan perintah:


% telnet <hostname>

Jika host merespon, Anda akan mendapatkan prompt login. Berikan nama pengguna dan kata sandi Anda. Hanya itu. Anda akan berada pada shell sekarang. Untuk berhenti dari sesi telnet Anda, gunakan perintah exit atau logout. tidak mengenkripsi informasi yang dikirimkannya. Semua dikirimkan dalam bentuk plain text, termasuk kata sandi. Tidak disarankan untuk menggunakan telnet melalui Internet. Gunakan Secure Shell. Ini akan mengenkripsi semua trafik dan tersedia secara gratis.
telnet

13.5.1 Penggunaan lain dari telnet


Setelah Anda diyakinkan untuk tidak menggunakan protokol telnet untuk login ke komputer remote, kami akan menampilkan beberapa cara untuk menggunakan telnet. Anda juga bisa menggunakan telnet untuk terhubung pada sebuah host pada port tertentu.
% telnet <hostname> [port]

Hal ini terkadang bisa berguna ketika Anda perlu menguji layanan tertentu, dan Anda membutuhkan kontrol penuh terhadap perintah, dan Anda perlu melihat apa yang sedang terjadi. Anda bisa menguji atau menggunakan server SMTP, POP3 HTTP, dan sebagainya secara interaktif. Pada gambar berikut, Anda akan melihat bagaimana Anda bisa telnet pada sebuah server HTTP pada port 80, dan mendapatkan sedikit informasi dasar. Gambar 13-1. Melakukan telnet ke sebuah server web
% telnet store.slackware.com 80 Trying 69.50.233.153... Connected to store.slackware.com. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Mon, 25 Apr 2005 20:47:01 GMT Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT ETag: "193424-c0-3e9fda6e" Accept-Ranges: bytes Content-Length: 192 Connection: close Content-Type: text/html Connection closed by foreign host. %

Anda dapat melakukan cara yang sama pada protokol plain-text yang lain, sepanjang Anda mengetahui port yang digunakan, dan perintahnya.

13.6 Shell yang aman


Saat ini, shell yang aman (secure shell) lebih disukai daripada telnet. ssh(1) mengizinkan untuk melakukan hubungan ke mesin remote dan mengeksekusi program jika tersedia; bagaimanapun, ssh

mengenkripsi semua data yang dikirim antar dua komputer, jika ada yang memotong percakapan, mereka tidak dapat mengerti. Berikut koneksi shell yang aman.
% ssh carrier.lizella.net -l alan The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be established. RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of known hosts. Password: password Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102 Linux 2.4.26-smp. alan@carrier:~$ ls -l MANIFEST -rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST alan@carrier:~$ exit logout Connection to carrier.lizella.net closed.

Disana Anda melihat, saya melakukan sebuah koneksi ssh ke carrier.lizella.net, dan memeriksa izin pada file MANIFEST.

13.7 email
Surat elektronik adalah satu dari beberapa hal yang populer di Internet. Pada tahun 1998, telah di laporkan bahwa surat elektronik lebih banyak dikirim daripada surat biasa. Itu sungguh umum dan berguna. Pada Slackware, Kami menyediakan sebuah server mail standar, dan beberapa program mail klien. Semua email klien yang dibahas dibawah adalah yang berbasis teks. Banyak pengguna Windows boleh melawan ini, tetapi Anda akan menemukan bahwa email klien berbasis teks sangat mudah, dan lebih istimewa ketika memeriksa mail secara remote. Jangan takut, ada banyak email klien berbasis grafis seperti pada KDE dengan Kmail. Jika Anda berharap ingin menggunakan salah satunya, periksa pada menu bantuan.

13.7.1 pine
pine(1)

bukan elm. Atau seperti apa yang dikatakan. Universitas Washington telah menciptakan program berita Internet dan email yang mudah untuk membaca surat bagi para pelajarnya. pine adalah satu dari berbagai email klien populer yang digunakan saat ini dan tersedia untuk berbagai varian Unix dan bahkan Windows. Gambar 13-2. Menu utama Pine

Anda akan melihat sebuah menu perintah dan baris perintah pada bagian bawah.pine memang sebuah program yang rumit, jadi kami tidak akan membahas setiap keistimewaan di sini. Untuk melihat isi dari kotak surat Anda, ketikan i. Pesan Anda tersusun berdasarkan tanggal, pengirim, dan subjek. Sorot pesan yang Anda mau kemudian tekan enter untuk melihatnya. Dengan menekan r Anda akan mulai membalas pesan. Ketika Anda telah menulis, tekan Ctrl+X untuk mengirimnya. Anda dapat menekan i untuk kembali ke daftar pesan. Jika Anda ingin menghapus sebuah pesan, tekan d. Dengan itu akan menandai pesan untuk dihapus. pine akan menghapus pesan ketika Anda keluar dari program. pine juga membiarkan Anda menyimpan pesan Anda pada folder. Anda dapat melihat isi folder dengan menekan l. Pada daftar pesan, tekan s untuk menyimpan pada folder yang lain. Itu akan menanyakan nama folder untuk menulis pesan. banyak menawarkan, banyak keistimewaan; Anda dapat membatasinya dengan melihat halaman manual untuk informasinya. Itu berisi informasi terakhir tentang progam.
pine

13.7.2 elm
elm(1)

adalah email klien yang berbasis teks populer lainnya. Walaupun tidak mudah seperti pine, elm sudah ada jauh lebih lama. Gambar 13-3. Layar utama Elm

Secara default, Anda menyimpannya pada kotak masuk. Pesan tersusun berdasarkan nomer pesan, tangal, pengirim, dan subjek. Gunakan arah panah untuk menyorot pesan. Tekan Enter untuk membaca pesan. Untuk menyusun pesan baru, tekan m pada layar utama. Kunci d akan menandai sebuah pesan untuk penghapusan. Dan kunci r akan membalas pesan yang sedang Anda baca saat ini. Semua kunci ini ditampilkan pada bagian bawah layar dengan sebuah prompt. Halaman manual membahas elm lebih detail, jadi Anda bisa menanyakan sebelum menggunakan elm.

13.7.3 mutt
Semua klien email busuk. Aplikasi ini hanya sedikit lebih baik. Antarmuka mutt didasarkan padaelm dengan penambatan fitur yang dapat ditemukan pada klien email lainnya, yang menghasilkan mutt hibrid. Beberapa keistimewaan mutt seperti: 3. 4. 5. 6. 7. 8. mendukung warna threading pesan mendukung MIME dan PGP/MIME mendukung pop3 dan imap mendukung berbagai format mailbox (mbox, MMDF, MH, maildir) sangat mudah dikustomisasi

Gambar 13-4. Layar utama Mutt

Jika Anda mencari sebuah klien email yang mengijinkan Anda untuk mengontrol segalanya, Anda mungkin menyukai mutt. Semua setting default dapat dikustomisasi, keybinding dapat diganti. Jika Anda ingin menambahkan makro, Anda bisa melakukannya. Anda mungkin hendak melihat halaman manual muttrc, yang akan memberitahukan kepada Anda bagaimana mengkonfigurasikan segalanya. Atau lihat pada contoh yang disertakan pada berkas muttrc.

13.7.4 nail
nail(1)

adalah sebuah klien email berbasis perintah baris. Program ini sangat primitif dan tidak banyak menawarkan sesuatu dalam antarmukanya. Namun, mailx seringkali berguna ketika Anda ingin mengirimkan email dengan cepat, membuat script untuk pengiriman email massal, menguji installasi MTA Anda atau yang serupa. Perhatikan bahwa Slackware membuat symbolic link dari nail ke /usr/bin/mail dan /usr/bin/mailx. Satu dari ketiga perintah ini mengeksekusi program yang sama. Kenyataannya, Anda akan melihat nail mereferensi ke mail. Perintah dasarnya adalah:
% mailx <subject> <to-addr>

membaca isi pesan dari masukan standar. Jadi Anda bisa melakukan cat sebuah berkas pada perintah ini untuk mengirimkan email, atau Anda bisa menuliskan sebuah teks dan menekan Ctrl+D ketika selesai dengan pesannya.
mailx

Ini adalah contoh mengirim sebuah kode program ke orang lain.


% cat randomfunc.c | mail -s "Here's that function" asdf@example.net

Halaman manual menjelaskan yang dapat di gunakan pada nail, jadi Anda dapat melihatnya sebelum menggunakannya.

13.8 Browser
Hal pertama yang dipikirkan oleh seseorang ketika mereka mendengar kata Internet adalah menjelajah jaringan. atau mencari website menggunakan browser web. Hal ini mungkin adalah penggunaan paling populer dari Internet untuk pengguna pada umumnya. Slackware menyediakan browser web populer pada seri XAP, dan juga browser teks mode pada seri N. Kita akan melihat dengan cepat beberapa opsi dibawah.

13.8.1 lynx
lynx(1)

adalah browser web berbasis teks. Aplikasi ini sangat cocok untuk melihat sesuatu di Internet dengan cepat. Beberapa grafis hanya menganggu jika Anda tahu apa yang Anda cari. Untuk menjalankan lynx, cukup ketikkan lynx pada prompt:
% lynx

Gambar 13-5. Halaman awal default Lynx

Anda mungkin hendak menyebutkan sebuah situs untuk dibuka oleh lynx:
% lynx http://www.slackware.com

mencetak tombol-tombol perintah dan apa yang mereka lakukan dibagian bawah layar. Tombol panah atas dan bawah digunakan untuk berpindah pada dokumen, Enter memilih link yang dihighlight, dan panah kiri kembali ke halaman sebelumnya. Mengetik d akan mendownload berkas yang dipilih. Perintah g membuka prompt G, dimana Anda bisa memberikan sebuah URL untuk dibuka lynx.
lynx

Terdapat banyak perintah lain pada lynx. Anda bisa melihat halaman manual, atau mengetik h untuk mendapatkan layar bantuan untuk informasi lebih lanjut.

13.8.2 links
Sama seperti lynx, links adalah browser web berbasis teks, dimana Anda melakukan semua navigasi menggunakan keyboard. Namun, ketika Anda menekan tombol Esc, aplikasi ini akan mengaktifkan menu pulldown di bagian atas layar. Hal ini memudahkan pemakaian, tanpa harus mempelajari semua shortcut keyboard. Orang-orang yang tidak menggunakan browser teks akan menghargai fitur ini.
links lynx.

tampaknya memiliki dukungan yang lebih baik untuk frame dan tabel, dibandingkan dengan

Gambar 13-6. Links, dengan menu berkas terbuka

13.8.3 wget
wget(1)

adalah sebuah utilitas perintah baris yang akan mendownload berkas-berkas dari URL yang telah ditentukan. Meskipun bukan sebuah browser web, wget digunakan untuk mengambil semua atau sebagian halaman web untuk dilihat secara offline, atau untuk mendownload berkas dari server HTTP atau FTP. Sintaks dasarnya adalah:

% wget <url>

Anda juga bisa memberikan opsi-opsi. Misalnya, perintah berikut akan mendownload halaman web Slackware:
% wget --recursive http://www.slackware.com

akan membuat direktori www.slackware.com dan menyimpan berkas-berkas disana, seperti situsnya.
wget

juga dapat mendownload berkas-berkas dari situs FTP; cukup tentukan URL FTP dan bukan HTTP.
wget % wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz --12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz => `wget-1.8.2.tar.gz' Resolving ftp.gnu.org... done. Connecting to ftp.gnu.org[199.232.41.7]:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD /gnu/wget ... done. ==> PORT ... done. ==> RETR wget-1.8.2.tar.gz ... done. Length: 1,154,648 (unauthoritative) 100%[==================================>] 1,154,648 209.55K/s ETA 00:00

12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]

memiliki banyak opsi, yang membuatnya cocok untuk script yang khusus untuk web (memonitor web site dan sebagainya). Halaman manual harus dilihat untuk informasi lebih banyak.
wget

13.9 Klien FTP


FTP kependekan dari File Transfer Protocol. Protokol ini mengijinkan Anda untuk mengirim dan menerima berkas diantara dua komputer. Terdapat server FTP dan klien FTP. Kita membaca klien pada bagian ini. Bagi yang penasaran, klien adalah Anda. Server adalah komputer yang menjawab permintaan FTP Anda dan membiarkan Anda login. Anda akan mendownload berkas dari dan mengupload berkas ke server. Klien tidak menerima koneksi FTP, hanya terhubung ke server.

13.9.1 ftp
Untuk terhubung ke sebuah server FTP, cukup jalankan perintah ftp(1) dan tentukan host:
% ftp <hostname> [port]

Jika host menjalankan server FTP, maka ia akan menanyakan nama pengguna dan kata sandi. Anda bisa login sebagai diri Anda sendiri atau anonymous. Situs FTP anonim sangat populer untuk arsip-arsip perangkat lunak. Sebagai contoh, untuk mendownload Slackware Linux via FTP, Anda harus menggunakan FTP anonim.

Setelah terhubung, Anda akan berada pada prompt ftp>. Terdapat perintah khusus untuk FTP, tetapi serupa dengan perintah standar lainnya. Berikut ini beberapa perintah dasar dan apa yang mereka lakukan: Tabel 13-1. Perintah ftp Perintah
ls cd <nama direktori> bin ascii get <nama berkas> put <nama berkas> hash tick prom mget <mask> mput <mask> quit

Tujuan Mendaftar berkas-berkas Mengganti direktori Menentukan mode transfer biner Menentukan mode transfer ASCII Mendownload berkas Mengupload berkas Mengaktifkan/menonaktifkan tanda indikasi persentasi Mengaktifkan/menonaktifkan indikasi counter byte Mengaktifkan/menonaktifkan mode interaktif untuk download Mendownload berkas atau sekumpulan berkas; wildcard diijikan Mengupload berkas atau sekumpulan berkas; wildcard diijinkan Keluar dari server FTP

Anda bisa menggunakan perintah-perintah berikut yang sudah cukup jelas: chmod, delete, rename, rmdir. Untuk daftar lengkap dari semua perintah dan artinya, cukup ketikkan help atau ? dan Anda akan melihat daftar lengkap pada layar. FTP adalah program yang mudah untuk digunakan, tetapi kekurangan akan antarmuka yang biasa digunakan oleh kita sekarang ini. Halaman manual menjelaskan beberapa opsi perintah baris untuk ftp(1).
ftp> ls *.TXT 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. -rw-r--r-1 root 100 18606 Apr 6 2002 BOOTING.TXT -rw-r--r-1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT -rw-r--r-1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT -rw-r--r-1 root 100 32431 Sep 29 02:56 FAQ.TXT -rw-r--r-1 root 100 499784 Mar 3 19:29 FILELIST.TXT -rw-r--r-1 root 100 241099 Mar 3 19:12 PACKAGES.TXT -rw-r--r-1 root 100 12339 Jun 19 2002 README81.TXT -rw-r--r-1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT -rw-r--r-1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT -rw-r--r-1 root 100 2876 Jun 17 2002 UPGRADE.TXT 226 Transfer complete. ftp> tick Tick counter printing on (10240 bytes/tick increment). ftp> get README81.TXT local: README81.TXT remote: README81.TXT 200 PORT command successful. 150 Opening BINARY mode data connection for README81.TXT (12339 bytes). Bytes transferred: 12339 226 Transfer complete. 12339 bytes received in 0.208 secs (58 Kbytes/sec)

13.9.2 ncftp

ncftp(1)

(dibaca "Nik-F-T-P") adalah alternatif dari klien ftp tradisional yang hadir pada Slackware. Aplikasi ini masih berbasis teks, tetapi menawarkan lebih banyak keuntungan dibandingkan ftp, termasuk: 5. 6. 7. 8. Pelengkap tab Bookmark berkas Lebih bebas dengan penggunaan wildcard Penyimpanan daftar perintah

Secara default, ncftp akan mencoba untuk login secara anonim pada server yang Anda tentukan. Anda bisa memaksa ncftp untuk menampilkan layar login dengan opsi -u. Setelah login, Anda bisa menggunakan perintah yang sama seperti ftp, hanya Anda akan melihat antarmuka yang lebih menarik, seperti pada bash.
ncftp /pub/linux/slackware > cd slackware-current/ Please read the file README81.TXT it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago CWD command successful. ncftp ...ware/slackware-current > ls BOOTING.TXT FAQ.TXT bootdisks/ CHECKSUMS FILELIST.TXT extra/ CHECKSUMS.asc GPG-KEY isolinux/ CHECKSUMS.md5 PACKAGES.TXT kernels/ CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/ COPYING README81.TXT rootdisks/ COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/ CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/ CURRENT.WARNING Slackware-HOWTO ChangeLog.txt UPGRADE.TXT ncftp ...ware/slackware-current > get README81.TXT README81.TXT: 12.29 kB 307.07 kB/s

13.10 Berbicara dengan Orang Lain


13.10.1 wall
wall(1)

adalah cara tercepat untuk menuliskan sebuah pesan pada pengguna sistem. Sintaks dasarnya adalah :
% wall [berkas]

Hal ini akan menampilkan isi [berkas] pada terminal dari semua pengguna yang login. Jika Anda tidak menyebutkan sebuah berkas, wall akan membaca dari masukan standar, sehingga Anda bisa menulis pesan Anda, dan mengakhirinya dengan Ctrl+d. tidak memiliki banyak fitur, dan terlepas dari membiarkan pengguna mengetahui bahwa Anda akan melakukan sebuah pemeliharaan serius pada sistem, atau me-rebootnya, sehingga mereka memiliki waktu untuk menyimpan pekerjaan mereka dan log off :)
wall

13.10.2 talk

talk(1)

mengijinkan dua pengguna untuk mengobrol. Program akan memecah layar menjadi dua, secara horizontal. Untuk meminta ijin dengan pengguna lain, gunakan :
% talk <person> [nama tty]

Gambar 13-7. Dua pengguna dalam sebuah sesi talk

Jika Anda hanya menentukan nama pengguna, permintaan akan diasumsikan lokal, sehingga hanya pengguna lokal yang diminta. Nama tty diperlukan jika Anda ingin menelpon seorang pengguna pada terminal tertentu (jika pengguna login lebih dari satu kali). Informasi yang diperlukan oleh talk dapat diperoleh dari perintah w(1). dapat juga menelpon seseorang pada host remote. Untuk nama pengguna, Anda cukup menyebutkan alamat email. talk akan mencoba untuk menghubungi pengguna remote pada host tersebut.
talk talk

sangatlah terbatas. Ia hanya mendukung dua pengguna dan half-duplex.

13.10.3 ytalk
ytalk(1)

adalah pengganti yang kompatibel untuk talk. Aplikasi ini tersedia pada Slackware sebagai perintah as the ytalk. Sintaksnya serupa, tetapi memiliki sedikit perbedaan:
% ytalk <nama pengguna>[#nama tty]

Gambar 13-8. Dua pengguna dalam sebuah sesi ytalk

Nama pengguna dan terminal ditentukan sama seperti pada talk, kecuali Anda harus memasukkannya bersamaan dengan tanda hash (#). ytalk menawarkan beberapa keuntungan:

Mendukung lebih dari dua pengguna. Sebuah menu opsi yang dapat dipanggil dengan Esc. Anda bisa keluar ketika Anda masih berada dalam sesi pembicaraan. dan lain-lain...

Jika Anda seorang administrator sistem, Anda tentunya ingin memastikan bahwa port ntalk sudah diaktifkan pada /etc/inetd.conf. ytalk membutuhkan port tersebut agar dapat bekerja.

Bab 14 Keamanan
Daftar Isi 14.1 Menonaktifkan Layanan 14.2 Kontrol Akses Host 14.3 Berusaha Tetap Aktual Keamanan pada setiap sistem sangatlah penting; Keamanan dapat mencegah orang lain untuk menyerang mesin Anda, juga untuk memproteksi data-data yang sensitif. Bab ini berisi tentang bagaimana memulai mengamankan mesin Slackware Anda dari script kiddies, cracker dan penyerang-penyerang lainnya. Perhatikan bahwa ini hanyalah awal dari pengamanan sistem; keamanan adalah sebuah proses, bukan kondisi.

14.1 Menonaktifkan Layanan

Langkah pertama setelah menginstall Slackware adalah menonaktifkan sembarang layanan yang tidak Anda perlukan. Sembarang layanan dapat menimbulkan resiko keamanan, sehingga sangatlah penting untuk menjalankan sesedikit mungkin layanan (dengan kata lain, hanya yang benar-benar diperlukan). Layanan dijalankan dari dua tempat utama - inetd dan script init.

14.1.1 Layanan yang dijalankan dari inetd


Sebagian besar dari daemon yang hadir pada Slackware dijalankan dari inetd(8). inetd adalah sebuah daemon yang merespon semua port yang digunakan oleh layanan yang dikonfigurasikan untuk dijalankan dan membuat instansiasi dari daemon yang berhubungan ketika sebuah percobaan untuk koneksi terbuat. Daemon dijalankan dari inetd dan bisa dinonaktifkan dengan memberikan tanda komentar pada baris yang bersangkutan pada /etc/inetd.conf. Untuk melakukan hal ini, buka berkas pada editor favorit Anda (misalnya. vi) dan Anda seharusnya melihat baris yang serupa dengan ini:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Anda bisa menonaktifkan layanan ini, dan layanan-layanan lain yang tidak Anda perlukan, dengan memberikan tanda komentar (menambahkan simbol # (hash) di awal baris). Baris diatas akan menjadi :
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Setelah inetd dijalankan ulang (restart), layanan ini akan dinonaktifkan. Anda bisa me-restart inetd dengan perintah:
# kill -HUP $(cat /var/run/inetd.pid)

14.1.2 Layanan yang dijalankan dari script init


Sisa dari layanan-layanan tersebut dijalankan ketika mesin dinyalakan dari script init pada /etc/rc.d/. Layanan-layanan ini bisa dinonaktifkan dengan dua cara, pertama adalah menghapus hak akses eksekusi pada script init yang berhubungan dan yang kedua adalah memberikan tanda komentar pada baris yang bersangkutan pada script init. Sebagai contoh, SSH dijalankan dari script init pada /etc/rc.d/rc.sshd. Anda bisa menonaktifkan layanan ini menggunakan :
# chmod -x /etc/rc.d/rc.sshd

Untuk layanan yang tidak memiliki script initnya, Anda harus memberikan tanda komentar pada baris yang bersangkutan untuk menonaktifkannya. Sebagai contoh, daemon portmap dijalankan pada baris berikut pada /etc/rc.d/rc.inet2:
# This must be running in order to mount NFS volumes. # Start the RPC portmapper: if [ -x /sbin/rpc.portmap ]; then echo "Starting RPC portmapper: /sbin/rpc.portmap" /sbin/rpc.portmap fi # Done starting the RPC portmapper.

Layanan ini bisa dinonaktifkan dengan menambahkan simbol # diawal baris, seperti :
# This must be running in order to mount NFS volumes. # Start the RPC portmapper: #if [ -x /sbin/rpc.portmap ]; then # echo "Starting RPC portmapper: /sbin/rpc.portmap" # /sbin/rpc.portmap #fi # Done starting the RPC portmapper.

Perubahan ini hanya akan berlaku setelah reboot atau perubahan dari dan kembali ke runlevel 3 atau 4. Anda bisa melakukan hal ini dengan mengetikkan perintah berikut pada konsol (Anda harus login kembali setelah kembali dari runlevel 1):
# telinit 1 # telinit 3

14.2 Kontrol Akses Host


14.2.1 iptables
adalah program konfigurasi filter paket untuk Linux 2.4 dan keatas. Kernel 2.4 (2.4.5, tepatnya) diperkenalkan pertama kali pada Slackware (sebagai opsi) pada versi 8.0 dan menjadi default pada Slackware 8.1. Bagian ini hanya membahas penggunaan dasarnya dan Anda harus melihat http://www.netfilter.org/ untuk detail lebih lanjut. Perintah-perintah ini bisa dimasukkan pada /etc/rc.d/rc.firewall, yang harus diberi hak akses eksekusi agar dijalankan saat startup. Perhatikan bahwa perintah iptables yang salah dapat mengunci mesin Anda sendiri. Kecuali Anda 100% percaya pada kemampuan Anda, selalu pastikan Anda memiliki akses lokal ke mesin Anda.
iptables

Langkah pertama yang banyak dilakukan orang-orang adalah menentukan aturan default untuk setiap rantai inbound ke DROP:
# iptables -P INPUT DROP # iptables -P FORWARD DROP

Ketika semua sudah ditolak, Anda bisa memulai untuk mengijinkan. Langkah pertama adalah mengijinkan sembarang trafik sesi yang sudah terjadi:
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Agar tidak merusak aplikasi yang berkomunikasi menggunakan alamat loopback, sangatlah bijak untuk menambahkan aturan seperti ini:
# iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT

Aturan ini mengijinkan sembarang trafik dari dan ke 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) pada loopback (lo). Ketika membuat aturan, sangatlah bagus untuk menuliskannya se-spesifik mungkin, untuk memastikan bahwa aturan Anda tidak mengijinkan sesuatu yang jahat. Terdapat pepatah, aturan yang mengijinkan terlalu sedikit berarti lebih banyak aturan dan lebih banyak pengetikan.

Hal berikutnya adalah mengijinkan akses ke layanan tertentu yang berjalan pada mesin Anda. Misalnya, Anda menjalankan server web pada mesin Anda, Anda akan menggunakan aturan seperti ini:
# iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT

Aturan ini akan mengijinkan akses dari sembarang mesin ke port 80 pada mesin Anda melalui antarmuka ppp0. Anda juga mungkin membatasi akses pada layanan ini sehingga hanya beberapa mesin yang dapat mengaksesnya. Aturan ini mengijinkan akses ke layanan web Anda dari 64.57.102.34:
# iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT

Mengijinkan trafik ICMP seringkali berguna untuk alasan diagnosa. Untuk melakukannya, Anda akan menggunakan aturan seperti ini:
# iptables -A INPUT -p icmp -j ACCEPT

Sebagian besar orang akan mensetting Network Address Translation (NAT) pada mesin gateway mereka, sehingga mesin lain pada jaringan mereka dapat mengakses Internet melalui mesin gateway. Anda akan menggunakan aturan ini:
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Anda juga perlu mengaktifkan IP forwarding. Anda bisa melakukan hal ini secara temporer, menggunakan perintah berikut:
# echo 1 > /proc/sys/net/ipv4/ip_forward

Untuk mengaktifkan IP forwarding pada situasi permanen (sehingga perubahan disimpan setelah reboot), Anda harus membuka berkas /etc/rc.d/rc.inet2 pada editor favorit Anda dan mengganti baris berikut:
IPV4_FORWARD=0

...menjadi:
IPV4_FORWARD=1

Untuk informasi lebih banyak tentang NAT, lihat HOWTO NAT.

14.2.2 tcpwrappers
mengontrol akses ke daemon pada level aplikasi, dan bukan pada level IP. Hal ini bisa menyediakan layer keamanan tambahan ketika kontrol akses level IP (misalnya Netfilter) tidak berjalan dengan benar. Sebagai contoh, ketika Anda mengkompilasi ulang kernel, tetapi lupa untuk menyertakan dukungan iptable, proteksi level IP Anda akan gagal, tetapi tcpwrappers akan tetap memproteksi sistem Anda.
tcpwrappers

Akses pada layanan yang diproteksi oleh tcpwrappers dapat dikontrol menggunakan berkas /etc/hosts.allow dan /etc/hosts.deny.

Sebagian besar orang akan memiliki satu baris pada berkas /etc/hosts.deny mereka untuk menolak semua akses ke daemon secara default. Baris ini akan berupa:
ALL : ALL

Ketika hal ini terjadi, Anda bisa berkonsentrasi untuk mengijinkan akses pada layanan untuk host, daomain, atau IP tertentu. Hal ini bisa dilakukan pada berkas /etc/hosts.allow, yang menggunakan format yang sama. Banyak orang akan memulai dengan menerima semua koneksi dari localhost. Hal ini bisa didapat menggunakan :
ALL : 127.0.0.1

Untuk mengijinkan akses ke SSHd dari 192.168.0.0/24, Anda bisa menggunakan salah satu aturan berikut:
sshd : 192.168.0.0/24 sshd : 192.168.0.

Juga dimungkinkan untuk membatasi akses pada host dari domain tertentu. Hal ini bisa dilakukan menggunakan aturan berikut (perhatikan bahwa hal ini berganting pada daftar reverse DNS untuk menghubungkan host, sehingga saya tidak menganjurkannya untuk host yang terkoneksi ke Internet):
sshd : .slackware.com

14.3 Berusaha Tetap Aktual


14.3.1 mailing list slackware-security
Ketika masalah keamanan menimpa Slackware, sebuah email dikirimkan pada semua orang yang terdafar pada mailing list slackware-security@slackware.com. Laporan dikirimkan untuk kecacatan dari semua bagian Slackware, terlepas dari perangkat lunak pada /extra atau /pasture. Email pemberitahuan keamanan ini menyertakan detail tentang cara mendapatkan paket update Slackware atau solusinya, jika ada. Mendaftarkan diri pada mailing list Slackware mailing dibahas pada Bab 2.2.2.

14.3.2 Direktori /patches


Ketika paket-paket update dirilis untuk sebuah versi Slackware (biasanya hanya untuk memperbaiki masalah keamanan, pada kasus versi Slackware yang sudah dirilis), mereka diletakkan pada direktori /patches. Path lengkap pada patch-patch ini akan tergantung dari mirror yang Anda gunakan, tetapi akan menggunakan format /path/ke/slackware-x.x/patches/. Sebelum menginstall paket-paket ini, sangatlah bagus untuk memastikan md5sum dari paket. md5sum(1) adalah utilitas perintah baris yang menghasilkan nilai hash matematika yang unik dari

sebuah berkas. Jika satu bit dari berkas diganti, maka akan menghasilkan nilai md5sum yang berbeda.
% md5sum package-<ver>-<arch>-<rev>.tgz 6341417aa1c025448b53073a1f1d287d package-<ver>-<arch>-<rev>.tgz

Anda kemudian harus menguji ini dengan baris pada paket baru pada berkas CHECKSUMS.md5 pada induk dari direktori slackware-$VERSION (juga pada direktori /patches untuk patch) atau pada email pada mailing list slackware-security. Jika Anda memiliki sebuah berkas dengan nilai md5sum didalamnya, Anda bisa mengujinya dengan opsi -c pada md5sum.
# md5sum -c CHECKSUMS.md5 ./ANNOUNCE.10_0: OK ./BOOTING.TXT: OK ./COPYING: OK ./COPYRIGHT.TXT: OK ./CRYPTO_NOTICE.TXT: OK ./ChangeLog.txt: OK ./FAQ.TXT: FAILED

Seperti yang Anda lihat, sembarang berkas pada md5sum yang dievaluasi sebagai benar ditandai dengan OK sementara yang gagal diberi label FAILED. (Ya, ini adalah hasil kepandaian Anda,. Mengapa Anda menyalahkan saya?)

Bab 15 Berkas Arsip


Daftar Isi 15.1 gzip 15.2 bzip2 15.3 tar 15.4 zip

15.1 gzip
gzip(1)

adalah program kompresi GNU. Program ini menerima satu berkas dan mengkompressnya. Penggunaan dasarnya sebagai berikut:
% gzip namaberkas

Berkas hasil akan diberi nama namaberkas.gz dan biasanya akan lebih kecil dari berkas masukan. Perhatikan bahwa namaberkas.gz akan mengganti namaberkas. Hal ini berarti namaberkas tidak akan ad lagi, meskipun salinan dari file yang di-gzip masih ada. Berkas teks biasa akan dikompress dengan baik, sementara berkas gambar, mp3, dan berkas-berkas lain yang serupa tidak akan dikompress terlalu baik karena mereka sudah terkompresi. Penggunaan dasar ini adalah keseimbangan antara ukuran final berkas dan waktu kompresi. Kompresi maksimal dapat diperoleh dengan cara :
% gzip -9 namaberkas

Hal ini akan memakan waktu lebih lama untuk mengompres sebuah berkas, tetapi hasilnya akan sekecil mungkin yang bisa dibuat oleh gzip. Menggunakan nilai yang lebih kecil untuk opsi perintah baris akan mengakibatkan proses kompresi menjadi lebih cepat, tetapi berkas menjadi seperti tidak dikompresi. Mendekompresi berkas yang di-gzip dapat dilakukan menggunakan dua perintah, yang sebetulnya merupakan program yang sama. gzip akan mendekompresi sembarang berkas dengan ekstensi berkas yang dikenali. Sebuah ekstensi yang dikenali dapat berupa: .gz, -gz, .z, -z, .Z, or -Z. Metode pertama adalah memanggil gunzip(1) pada sebuah berkas, seperti berikut:
% gunzip namaberkas.gz

Hal ini akan membiarkan versi yang didekompresi pada direktori aktual, dan ekstensi .gz akan dihapus dari nama berkas. gunzip adalah bagian dari gzip dan serupa dengan gzip -d. Oleh karenanya, gzip sering disebut gunzip, karena namanya lebih menarik. :^)

15.2 bzip2
bzip2(1)

adalah program kompresi alternatif yang terinstall pada Slackware Linux. Program ini menggunakan algoritma kompresi yang berbeda dari gzip, yang berujung pada beberapa keuntungan dan kerugian. Keuntungan utama dari bzip2 adalah ukuran berkas yang terkompresi. bzip2 akan selalu mengompresi lebih baik daripada gzip. Pada beberapa kasus, hal ini bisa berupa berkas yang jauh lebih kecil. Hal ini bisa menjadi keuntungan yang besar untuk orang-orang dengan koneksi modem yang lambat. Juga diingat, ketika mendownload perangkat lunak dari server ftp publik, merupakan etiket yang barus untuk mendownload berkas .bz2 dibandingkan berkas .gz, karena menghasilkan overhead yang lebih kecil pada orang-orang yang berbaik hati menyediakan server. Kerugian dari bzip2 adalah program ini lebih banyak memakai CPU dibandingkan gzip. Hal ini berarti bahwa proses mengkompresi berkas akan memakan waktu lebih lama dan menggunakan lebih banyak CPU dibandingkan dengan gzip. Ketika mempertimbangkan program kompresi yang digunakan, Anda haus mengukur kecepatan vs ukuran terkompresi dan menentukan mana yang lebih penting. Penggunaan bzip2 hampir serupa dengan gzip, sehingga tidak akan banyak dibahas. Seperti gunzip, bunzip2 serupa dengan bzip2 -d. Perbedaan utama pada penggunaan praktis adalah bzip2 menggunakan ekstensi .bz2.
% bzip2 namaberkas % bunzip2 namaberkas.bz2 % bzip2 -9 namaberkas

15.3 tar
tar(1)

adalah pengarsip tape GNU. Program ini menerima beberapa berkas atau direktori dan membuat satu berkas besar. Hal ini mengijinkan Anda untuk mengompres seluruh struktur direktori, yang tidak mungkin dilakukan hanya dengan menggunakan gzip atau bzip2. tar memiliki banyak opsi perintah baris, yang dibahas pada halaman manual. Bagian ini hanya akan membahas penggunaan paling umum dari tar.

Penggunaan paling umum dari tar adalah untuk mendekompresi dan mengurai sebuah paket yang Anda download dari sebuah situs web atau situs FTP. Sebagian besar berkas akan datang dengan ekstensi .tar.gz. Hal ini dikenal dengan tarball. Hal ini berarti beberapa berkas diarsip menggunakan tar lalu dikompres menggunakan gzip. Anda juga bisa melihat hal ini terdaftar sebagai berkas .tar.Z. Hal ini berarti hal yang sama, tetapi ini sering dijumpai pada sistem Unix yang lama. Alternatif lain, Anda mungkin menemukan berkas .tar.bz2. Kode sumber kernel didistribusikan dengan format ini karena ukuran download yang lebih kecil. Seperti yang sudah Anda duga, ini adalah beberapa berkas diarsip dengan tar dan kemudian di-bzip. Anda bisa mendapatkan semua berkas pada arsip ini dengan menggunakan tar dan argumen perintah baris. Mengurai sebuah tarball menggunakan opsi -z, yang berarti menjalankan berkas melalui gunzip dahulu dan mendekompresinya. Cara paling umum untuk mendekompres sebuah tarball adalah :
% tar -xvzf namaberkas.tar.gz

Itu cukup banyak opsi. Lalu apa maksudnya? Opsi -x berarti mengurai (extract). Hal ini penting, karena memberitahukan tar apa yang harus dilakukan dengan berkas masukan. Pada kasus ini, kita akan memecah menjadi berkas-berkas pembentuknya. Opsi -v berarti verbose. Hal ini akan mendaftar semua berkas yang akan diuraikan. Ini sangatlah dapat diterima untuk membiarkan opsi ini tidak aktif, jika membosankan. Alternatifnya, Anda bisa menggunakan -vv agar menjadi sangat verbose dan mendaftar lebih banyak informasi tentang setiap berkas yang sedang diurai. Opsi -z memberitahukan tar untuk menjalankan namaberkas.tar.gz melalui gunzip dahulu. dan akhirnya, opsi -f memberitahukan tar bahwa string selanjutnya pada perintah baris adalah berkas yang harus dikerjakan. Terdapat beberapa cara lain untuk menuliskan perintah yang sama. Sistem yang lama tidak memiliki tar, sehingga Anda mungkin melihatnya terlihat seperti ini:
% gunzip namaberkas.tar.gz | tar -xvf -

Perintah ini akan melakukan dekompresi berkas dan mengirimkan keluaran pada tar. Karena gzip akan menuliskan keluarannya pada keluaran standard jika diminta, perintah ini akan menulis berkas yang didekompresi pada keluaran standar. Pipe kemudian akan mengirimkannya pada tar untuk diurai. Opsi - berarti beroperasi pada masukan standar. Opsi ini akan mengurai aliran data yang didapatkan dari gzip dan menuliskannya pada disk. Cara lain untuk menuliskan perintah baris pertama untuk meninggalkan tanda minus sebelum opsi, seperti:
% tar xvzf namaberkas.tar.gz

Anda juga mungkin menemui arsip bzip. Versi dari tar yang hadir pada Slackware Linux dapat menanganinya sama seperti arsip gzip. Bukan opsi -z yang digunakan, Anda harus menggunakan -j:
% tar -xvjf namaberkas.tar.bz2

Sangatlah penting untuk dicatat bahwa tar akan meletakkan berkas-berkas hasil penguraian pada direktori aktual. Jadi, jika Anda memiliki arsip pada /tmp dan Anda hendak melakukan dekompresi pada direktori home Anda, terdapat beberapa opsi. Pertama, arsip harus dipindahkan pada direktori

home Anda dan jalankan tar. Kedua, Anda bisa menentukan path pada arsip berkas pada perintah baris. Ketiga, Anda bisa menggunakan opsi -C untuk menguraikan tarball pada direktori tertentu.
% cd $HOME % cp /tmp/namaberkas.tar.gz . % tar -xvzf namaberkas.tar.gz % cd $HOME % tar -xvzf /tmp/namaberkas.tar.gz % cd / % tar -xvzf /tmp/namaberkas.tar.gz -C $HOME

Semua perintah diatas adalah sama. Pada setiap kasus, arsip akan diuraikan didalam direktori home dan arsip asli akan tetap pada tempatnya. Lalu apa bagusnya jika bisa melakukan dekompresi arsip ini jika Anda tidak bisa membuatnya? tar juga dapat menanganinya. Pada sebagian besar kasus, hal ini sangatlah mudah dengan menghapus opsi -x dan menggantinya dengan opsi -c.
% tar -cvzf namaberkas.tar.gz .

Pada perintah baris ini, opsi -c memberitahukan tar untuk membuat sebuah arsip, sementara opsi -z menjalankan arsip melalui gzip untuk mengompressnya. namaberkas.tar.gz adalah berkas yang hendak Anda buat. Menentukan opsi -f tidaklah selalu diperlukan, tetapi kebiasan yang bagus. Tanpa opsi ini, tar menuliskan pada keluaran standar, yang biasanya digunakan untuk mem-pipe hasil keluaran tar pada program lain.
% tar -cv namaberkas.tar . | gpg --encrypt

Perintah tersebut menghasilkan arsip tar tanpa kompresi pada direktori aktual, mem-pipe tarball melalui gpg yang mengenkripsinya dan mengompresi tarball, membuatnya tidak mungkin untuk dibaca oleh orang lain kecuali orang-orang yang mengetahui kunci rahasia.

15.4 zip
Akhirnya, terdapat dua utilitas yang dapat digunakan pada berkas zip. Program-program ini sangat umum pada dunia Windows, sehingga Linux harus memiliki program untuk menanganinya. Program kompresinya disebut zip(1), dan program dekompresinya disebut unzip(1).
% zip foo *

Hal ini akan membuat berkas foo.zip, yang berisi seluruh berkas pada direktori aktual. zip akan menambahkan ekstensi .zip secara otomatis, sehingga tidak perlu menambahkannya pada nama berkas. Anda juga bisa melakukan rekursif pada direktori aktual, melakukan proses zip pada sembarang direktori:
% zip -r foo *

Dekompresi berkas sangatlah mudah juga.

% unzip foo.zip

Hal ini akan mengurai semua berkas pada berkas foo.zip, termasuk semua direktori pada arsip. Utilitas zip memiliki beberapa opsi tingkat lanjut untuk membuat arsip yang bisa menguraikan secara otomatis, membiarkan berkas-berkas yang sudah di zip, mengontrol ukuran berkas kompresi, mencetak apa yang akan terjadi, dan masih banyak lagi. Lihat halaman manual untuk zip dan unzip untuk mencari tahu bagaimana menggunakan opsi ini.

Bab 16 Vi
Daftar Isi 16.1 Memulai vi 16.2 Mode 16.3 Membuka Berkas 16.4 Menyimpan Berkas 16.5 Keluar dari vi 16.6 Konfigurasi vi 16.7 Kunci-kunci Vi
vi(1)

adalah program pengedit teks standar Unix, dan meskipun menguasainya sekarang tidaklah sepenting dahulu, hal ini tetap sebuah tujuan yang sangat berharga. Terdapat beberapa versi (atau klon) dari vi, termasuk vi, elvis, vile, dan vim. Salah satu dari beberapa versi ini tersedia pada segala versi Unix, dan juga Linux. Semua versi ini menyertakan seperangkat fitur dasar dan perintah yang sama, sehingga mempelajari satu versi akan memudahkan untuk mempelajari yang lain. Dengan berbagai variasi dari editor teks yang disertakan pada distribusi Linux dan Unix saat ini, banyak orang tidak lagi menggunakan vi. Tetap saja, vi merupakan teks editor yang paling universal diantara Unix dan yang serupa. Menguasai vi berarti Anda tidak akan pernah duduk pada mesin Unix dan tidak nyaman dengan salah satu editor teks yang paling handal. menyertakan sejumlah fitur-fitur hebat termasuk penandaan sintaks (syntax highlighting), pemformatan kode, mekanisme pencarian dan penggantian yang hebat, makro, dan masih banyak lagi. Fitur-fitur ini membuat vi semakin menarik bagi pemrogram, developer web, dan yang serupa. Administrator sistem akan menghargai otomatisasi dan integrasinya dengan shell.
vi

Pada Slackware Linux, versi default dari vi yang tersedia adalah elvis. Versi lain - termasuk vim dan gvim - akan tersedia jika Anda menginstall paket yang benar. gvim adalah sebuah versi X Window dari vim yang menyertakan toolbar, menu yang dapat dibongkar, dan kotak dialog.

16.1 Memulai vi
vi

dapat dijalankan dari perintah baris dengan berbagai cara. Cara termudah hanyalah:

% vi

Gambar 16-1. Sebuah sesi vi.

Hal ini akan menjalankan vi dengan penyimpanan sementara (buffer) yang kosong. Pada titik ini, Anda akan menjumpai layar kosong. Vi saat ini berada dalam mode perintah, menunggu Anda untuk melakukan sesuatu. Untuk sebuah diskusi tentang mode vi, lihat Bagian 16.2. Untuk keluar dari vi, ketikkan:
:q

Diasumsikan bahwa tidak ada perubahan pada berkas, hal ini akan mengakibatkan vi untuk berhenti. Jika terdapat sebuah perubahan, Vi akan memperingatkan Anda bahwa telah terdapat perubahan dan memberitahukan kepada Anda bagaimana mengabaikannya. Mengabaikan perubahan biasanya cukup dengan menambahkan tanda seru setelah q seperti :
:q!

Tanda seru berarti memaksa sebuah aksi. Kita akan membahasnya dan juga kombinasi kunci lainnya kemudian. Anda bisa menjalankan vi dengan berkas yang sudah ada. Sebagai contoh, berkas /etc/resolv.conf akan dibuka seperti berikut:
% vi /etc/resolv.conf

Akhirnya, vi dapat dijalankan pada baris tertentu dari sebuah berkas. Hal ini berguna terutama untuk pemrogram ketika sebuah pesan kesalahan menyertakan nomor barisnya. Sebagai contoh, Anda bisa menjalankan vi pada baris 47 dari /usr/src/linux/init/main.c seperti ini:
% vi +47 /usr/src/linux/init/main.c

akan menampilkan berkas yang diberikan dan meletakkan kursor pada baris yang ditentukan. Pada kasus dimana Anda menentukan baris setelah akhir dari berkas, vi akan meletakkan kursor pada baris terakhir. Hal ini sangat berguna, terutama untuk pemrogram, karena mereka dapat langsung menuju lokasi kesalahan pada berkas, tanpa harus melakukan pencarian terlebih dahulu.
vi

16.2 Mode
beroperasi pada berbagai mode, yang digunakan untuk menyelesaikan berbagai tugas. Ketika Anda pertama kali menjalankan vi, Anda diletakkan pada mode perintah. Dari posisi ini, Anda bisa mengirimkan beberapa perintah untuk memanipulasi teks, berpindah pada berkas, menyimpan, keluar, dan berganti mode. Mengedit teks dilakukan pada mode penyisipan. Anda bisa berpindah antar mode dengan berbagai kunci, yang dijelaskan dibawah.
vi

16.2.1 Mode Perintah (Command Mode)


Anda pertama kali diletakkan pada mode perintah. Dari mode ini, Anda tidak bisa langsung memasukkan atau mengedit teks yang sudah ada. Namun, Anda bisa memanipulasi teks, mencari, keluar, menyimpan, memuat berkas baru, dan masih banyak lagi. Ini hanyalah ditujukan untuk pengenalan pada mode perintah. Untuk deskripsi dari berbagai perintah, lihat Bagian 16.7. Mungkin perintah yang paling sering digunakan pada mode perintah adalah berpindah ke mode penyisipan. Hal ini dilakukan dengan menekan kunci i. Kursor akan berubah bentuk, dan -- INSERT -- ditampilkan pada bagian bawah layar (perhatikan bahwa hal ini tidak terjadi pada semua klon dari vi). Dari sini, semua penekanan tombol akan dimasukkan pada buffer aktual dan ditampilkan pada layar. Untuk kembali ke mode perintah, tekan kunci ESCAPE. Mode perintah juga mode dimana Anda berpindah-pindah pada berkas. Pada beberapa sistem, Anda bisa menggunakan kunci anak panah untuk berpindah. Pada sistem lain, Anda mungkin harus menggunakan kunci hjkl. Berikut daftar kunci untuk berpindah: h j k l pindah ke kiri satu karakter pindah ke bawah satu karakter pindah ke atas satu karakter pindah ke kanan satu karakter

Cukup tekan sebuah tombol untuk pindah. Seperti yang akan Anda lihat nanti, kunci-kunci ini bisa dikombinasikan dengan sebuah angka untuk berpindah dengan lebih efisien. Banyak dari perintah-perintah yang akan Anda gunakan pada mode perintah diawali dengan titik dua. Sebagai contoh, untuk keluar digunakan :q, seperti yang dibahas sebelumnya. Titik dua mengindikasikan sebuah perintah, sementara q memberitahukan vi untuk keluar. Perintah lain adalah nomor yang opsional, diikuti dengan angka. Perintah-perintah ini tidak memiliki titik dua diawal, dan biasanya digunakan untuk memanipulasi teks. Sebegai contoh, menghapus satu baris dari sebuah berkas diselesaikan dengan menekan dd. Hal ini akan menghapus baris dimana kursor berada. Melaksanakan perintah 4dd akan memberitahukan vi untuk menghapus baris pada kursor berada dan empat baris sesudahnya. Secara umum, angka memberitahukan vi berapa banyak melakukan perintah.

Anda bisa mengkombinasikan sebuah angka dengan kunci pergerakan untuk berpindah beberapa karakter pada satu waktu. Sebagai contoh, 10k akan bergerak 10 baris keatas dari layar. Mode perintah juga bisa digunakan untuk operasi cut dan paste, menyisipkan teks, dan membaca berkas lain pada buffer aktual. Menyalin teks dilakukan dengan kunci y (y kependekan dari yank). Menyalin baris aktual dilakukan dengan menekan yy, dan bisa diawali dengan angka untuk melakukan yank beberapa baris sekaligus. Lalu, pindah ke lokasi untuk penyalinan dan tekan p. Teks akan disalin pada baris setelah baris aktual. Melakukan cut pada teks dilakukan dengan menekan dd, dan p bisa digunakan untuk melakukan paste pada teks yang di cut kembali pada bekas. Membaca teks dari berkas lain adalah sebuah prosedur yang sederhana. Cukup ketikkan :r, diikuti dengan spasi dan nama berkas yang berisi teks yang akan disisipkan. Isi berkas akan disalin pada buffer aktual pada baris setelah kursor. Klon vi yang lebih canggih bahkan memiliki pelengkap nama berkas yang serupa pada shell. Penggunaan akhir yang akan dibahas adalah pencarian. Mode perintah mengijinkan pencarian sederhana, begitu juga perintah pencarian-dan-penggantian yang lebih rumit yang menggunakan versi handal dari regular expression. Diskusi yang lengkap dari regular expression diluar batasan bab ini, sehingga bagian ini hanya membahas contoh pencarian sederhana. Sebuah pencarian sederhana dilakukan dengan menekan kunci /, diikuti dengan teks yang akan Anda cari. vi akan mencari dari kursor hingga akhir berkas, dan berhenti jika menemukannya. Perhatikan bahwa pencarian yang tidak sama juga akan mengakibatkan vi untuk berhenti. Sebagai contoh, sebuah pencarian untuk the akan mengakibatkan vi berhenti pada then, therefore, dan seterusnya. Hal ini dikarenakan semua kata-kata tersebut sesuai dengan the. Setelah vi menemukan kesamaan pertama, Anda bisa melanjutkan pada kesamaan berikutnya dengan menekan kunci / diikuti dengan Enter. Anda juga bisa mencari mundur dengan mengganti slash dengan kunci ?. Sebagai contoh, mencarian kebelakang pada berkas untuk the akan diselesaikan dengan menekan ?the.

16.2.2 Mode Penyisipan (Insert Mode)


Menyisipkan dan mengganti teks dapat diselesaikan pada mode penyisipan. Seperti yang sudah didiskusikan sebelumnya, Anda bisa masuk ke mode ini dengan menekan i dari mode perintah. Lalu, semua teks yang Anda ketikkan dimasukkan pada buffer aktual. Menekan kunci ESCAPE membawa Anda kembali pada mode perintah. Mengganti sebuah teks dapat diselesaikan dengan beberapa cara. Dari mode perintah, menekan r mengijinkan Anda untuk mengganti satu karakter dibawah kursor. Cukup menekan karakter baru dan akan menggantikan karakter dibawah kursor. Anda akan dikembalikan ke mode perintah. Menekan R mengijinkan Anda untuk mengganti banyak karakter sesuka Anda. Untuk keluar dari mode penggantian ini, cukup tekan ESCAPE untuk kembali ke mode perintah. Terdapat cara lain untuk berpindah mode antara penyisipan dan penggantian. Menekan kunci INSERT dari mode perintah akan membawa Anda ke mode penyisipan. Saat Anda pada mode penyisipan, kunci INSERT pada keyboard berfungsi sebagai saklar untuk berpindah antar mode penyisipan dan penggantian. Menekannya sekali membawa Anda ke mode penggantian. Menekannya sekali lagi akan mengijinkan Anda menyisipkan teks.

16.3 Membuka Berkas

mengijinkan Anda untuk membuka berkas dari mode perintah dan juga menentukan berkas dari perintah baris. Untuk membuka berkas /etc/lilo.conf:
vi :e /etc/lilo.conf

Jika Anda telah melakukan perubahan pada buffer aktual tanpa menyimpannya, vi akan keberatan. Anda bisa membuka berkas tanpa menyimpan buffer aktual dengan menekan :e!, diikuti dengan spasi dan nama berkas. Secara umum, peringatan-peringatan pada vi bisa dikurangi dengan menyertakan tanda seru diakhir perintah. Jika Anda hendak membuka kembali berkas aktual, Anda bisa melakukannya dengan menekan e!. Hal ini sangat berguna jika Anda mengacaukan berkas dan hendak membukanya kembali. Beberapa klon vi (misalnya, vim) mengijinkan beberapa buffer dibuka pada saat yang bersamaan. Misalnya, untuk membuka berkas 09-vi.sgml pada direktori home saya sementara berkas lain masih terbuka, saya cukup mengetikkan :
:split ~/09-vi.sgml

Berkas baru ditampilkan di bagian atas layar, dan berkas lama ditampilkan di bagian bawah layar. Terdapat banyak perintah yang memanipulasi pembagian layar, dan banyak dari perintah ini mirip dengan Emacs. Tempat terbaik untuk melihat perintah-perintah ini adalah halaman manual untuk klon vi Anda. Perhatikan bahwa banyak klon tidak mendukung ide pembagian layar, sehingga Anda mungkin tidak bisa menggunakannya sama sekali.

16.4 Menyimpan Berkas


Terdapat beberapa cara untuk menyimpan berkas pada vi. Jika Anda hendak menyimpan buffer aktual pada berkasrandomness, Anda akan mengetik:
:w randomness

Setelah Anda menyimpan berkas tersebut sekali, menyimpannya kembali cukup dengan :w. Setiap perubahan akan dituliskan pada berkas. Setelah Anda menyimpan berkas, Anda akan dikembalikan pada mode perintah. Jika Anda hendak menyimpan berkas dan keluar dari vi (operasi yang sangat umum), Anda akan mengetikkan :wq. Hal itu memberitahukan vi untuk menyimpan berkas aktual dan kembali ke shell. Seringkali, Anda hendak menyimpan berkas yang ditandai dengan read-only. Anda bisa melakukan dengan menambahkan tanda titik dua setelah perintah penyimpanan, seperti :
:w!

Namun, terdapat kondisi dimana Anda tidak bisa menulis sebuah berkas (misalnya Anda mencoba mengedit berkas yang dimiliki oleh pengguna lain). Ketika hal ini terjadi, vi akan memberitahukan bahwa Anda tidak menyimpan berkas. Jika Anda hendak menyimpan berkas, Anda mungkin harus kembali dan mengeditnya sebagai root atau (mungkin) pemilik berkas.

16.5 Keluar dari vi

Satu cara untk keluar dari vi adalah melalui :wq, yang akan menyimpan buffer aktual sebelum keluar. Anda juga bisa keluar tanpa menyimpan dengan :q atau (lebih umum) :q!. Yang kedua digunakan ketika Anda telah memodifikasi berkas tetapi tidak ingin menyimpan perubahan. Seringkali, mesin Anda mungkin rusak atau vi mungkin rusak. Namun, baik elvis dan vim akan mengambil langkah-langkah untuk meminimalkan kerusakan pada buffer yang terbuka. Kedua editor seringkali menyimpan buffer yang terbuka pada sebuah berkas temporer. berkas ini biasanya diberi nama hampir serupa dengan berkas yang terbuka, tetapi dengan titik diawal. Hal ini membuat berkas tersebut tersembunyi. Berkas temporer ini akan dihapus setelah editor keluar pada kondisi normal. Hal ini berarti salinan temporer akan masih tersisa jika sesuatu terjadi. Ketika Anda kembali untuk mengedit berkas kembali, Anda akan diminta aksi yang akan dilakukan. Pada sebagian besar kasus, sebagian besar pekerjaan yang belum tersimpan dapat dikembalikan. elvis juga akan mengirimkan Anda sebuah email (dari Graceland, cukup aneh :) memberitahukan bahwa salinan cadangan tersedia.

16.6 Konfigurasi vi
Klon vi Anda dapat dikonfigurasi dengan beberapa cara. Berbagai perintah dapat dimasukkan ketika berada pada mode perintah untuk menentukan vi seperti keinginan Anda. Tergantung dari editor Anda, Anda bisa mengaktifkan fitur-fitur yang memudahkan pemrograman (seperti highlight sintaks, auto-indent, dan banyak lagi), menentukan makro untuk mengotomatisasikan pekerjaan, mengaktifkan substitusi tekstual, dan masih banyak lagi. Hampir semua perintah-perintah ini bisa diletakkan pada berkas konfigurasi pada direktori home Anda. elvis mengharapkan sebuah berkas .exrc, sementara vim mengharapkan berkas .vimrc. Sebagian besar perintah setup yang dapat dimasukkan pada mode perintah dapat diletakkan pada berkas konfigurasi. Hal ini termasuk informasi setup, substitusi tekstual, makro, dan masih banyak lagi. Membicarakan semua opsi ini dan perbedaan-perbedaan diantara editor merupakan subyek yang cukup besar. Untuk informasi lebih banyak, periksa halaman manual atau web site untuk editor vi pilihan Anda. Beberapa editor (seperti vim) memiliki bantuan yang ekstensif didalam editor yang dapat diakses dengan perintah :help, atau yang serupa. Anda juga bisa melihat buku O'Reilly Learning the vi Editor yang dibuat oleh Lamb dan Robbins. Banyak program-program pada Linux akan menampilkan berkas teks pada vi secara default. Sebagai contoh, mengedit crontab Anda akan menjalankan vi secara default. Jika Anda tidak menyukai vi dan memilih editor lain, yang harus Anda lakukan adalah menentukan variabel lingkungan VISUAL untuk menentukan editor yang Anda pilih. Untuk informasi tentang bagaimana menentukan variabel lingkungan, lihat bagian berjudul Variabel Lingkungan pada Bab 8. Jika Anda hendak memastikan bahwa editor Anda akan menjadi default setiap kali Anda login, tambahkan setting VISUAL pada berkas .bash_profile atau .bashrc.

16.7 Kunci-kunci Vi
Bagian ini adalah referensi singkat dari banyak perintah vi. Sebagian dari perintah-perintah ini dibahas pada bab sebelumnya, sementara sebagian adalah perintah baru.

Tabel 16-1. Pergerakan Operasi Kunci kiri, bawah, atas, kanan h, j, k, l Akhir baris $ Awal baris ^ Akhir berkas G Awal berkas :1 Baris 47 :47 Tabel 16-2. Pengeditan Kunci Menghapus baris dd Menghapus lima baris 5dd Mengganti sebuah karakter r Menghapus sebuah karakter x Menghapus sepuluh karakter 10x Membatalkan perintah terakhir u Menggabungkan baris aktual dan baris berikutnya J Ganti 'lama' dengan 'baru', secara global %s'lama'baru'g Tabel 16-3. Pencarian Kunci Cari asdf /asdf Cari mundur untuk asdf ?asdf Ulangi pencarian terakhir kedepan / Ulangi pencarian terakhir kebelakang ? Ulangi pencarian terakhir, arah yang sama n Ulangi pencarian terakhir, arah yang berkebalikan N Tabel 16-4. Penyimpanan dan Keluar Kunci Keluar :q Keluar tanpa menyimpan :q! Menulis dan keluar :wq Menulis, tanpa keluar :w Membuka kembali berkas yang dibuka saat ini :e! Menuliskan buffer pada berkas asdf :w asdf Membuka berkas hejaz :e hejaz Membaca berkas asdf pada buffer :r asdf Membaca keluaran dari ls pada buffer :r !ls Operasi Operasi Operas

Bab 17 Emacs

Daftar Isi 17.1 Memulai emacs 17.2 Buffer 17.3 Mode 17.4 Pengeditan Dasar 17.5 Menyimpan Berkas Meskipun vi (dengan klonnya) adalah editor yang paling sering digunakan pada sistem Unix, Emacs tampil sebagai pilihan kedua. Ketimbang menggunakan mode yang berbeda, seperti vi, emacs menggunakan Control dan kombinasi kunci Alt untuk memberikan perintah, sama seperti yang Anda gunakan ketika Anda menggunakan kombinasi Control dan Alt pada pengolah kata dan banyak aplikasi lain untuk mengeksekusi fungsi-fungsi tertentu. (Harap diperhatikan bahwa perintah-perintah tersebut jarang sekali berkorespondensi; sehingga meskipun banyak aplikasi modern menggunakan Ctrl-C/ X/ V untuk menyalin, melakukan operasi cut dan paste, Emacs menggunakan kunci yang berbeda dan juga mekanisme yang berbeda pula.) Juga tidak seperti vi, yang merupakan editor yang bagus, Emacs adalah sebuah program dengan kemampuan yang hampir tak berhingga. Emacs (untuk sebagian besar) ditulis dalam Lisp, yang merupakan bahasa pemrograman yang sangat handal yang memiliki properti peculiar dimana setiap program yang ditulis dengan menggunakan Lisp secara otomatis merupakan kompiler Lisp dengan sendirinya. Hal ini berarti pengguna bisa memperluas Emacs, dan kenyataannya menulis program baru dalam Emacs. Sebagai hasilnya, Emacs bukanlah hanya sekedar editor saja. Terdapat banyak sekali paket add-on untuk Emacs yang tersedia (sebagian besar hadir bersama kode sumber program) yang menyediakan banyak sekali fungsionalitas. Sebagian besar dari add-on ini berhubungan dengan pengeditan teks, yang merupakan tugas dasar Emacs, tetapi tidak hanya berhenti disitu saja. Sebagai contoh, terdapat beberapa program spreadsheet untuk Emacs, terdapat basis data, permainan, klien email dan berita (yang paling utama adalah program-program Gnu), dll. Terdapat dua versi utama Emacs: GNU Emacs (versi yang hadir pada Slackware) dan XEmacs. Yang kedua adalah bukan sebuah versi Emacs yang berjalan pada X. Kenyataannya, kedua versi Emacs dan XEmacs berjalan pada konsol dan juga pada X. XEmacs pada awalnya dimulai sebagai sebuah proyek untuk merapikan kode Emacs. Saat ini, kedua versi dikembangkan secara aktif, dan terdapat fakta bahwa banyak sekali interaksi diantara kedua tim pengembang. Untuk bab ini, tidaklah menjadi masalah apakah Anda menggunakan Emacs atau XEmacs, perbedaannya tidaklah relevan pada pengguna biasa.

17.1 Memulai emacs


Emacs dapat dijalankan dari shell dengan mengetikkan emacs. Ketika Anda menjalankan X, Emacs akan (normalnya) hadir dengan jendela X miliknya, biasanya dengan sebuah menu bar di bagian atas, dimana Anda bisa menemukan fungsi-fungsi yang paling penting. Saat dijalankan pertama kali, Emacs akan menampilkan sebuah pesan selamat datang, dan setelah beberapa detik akan membawa Anda pada buffer *scratch*. (Lihat Bagian 17.2.)

Anda juga bisa menjalankan Emacs pada berkas yang sudah ada dengan mengetikkan
% emacs /etc/resolv.conf

Hal ini akan menyebabkan Emacs untuk memuat berkas yang ditentukan ketika dijalankan, dan melewatkan pesan selamat datang.

17.1.1 Kunci Perintah


Seperti yang dibahas diatas, Emacs menggunakan kombinasi Control dan Alt untuk perintah. Konvensi umumnya adalah untuk menuliskannya dengan C-huruf dan M-huruf. Sehingga C-x berarti Control+x, dan M-x berarti Alt+x. (huruf M digunakan dan bukan A karena kunci ini awalnya bukan kunci Alt tetapi kunci Meta. Kunci Meta memiliki semuanya, tetapi tidak muncul pada keyboard komputer, dan pada Emacs, kunci Alt telah mengambil alih fungsinya.) Banyak perintah-perintah Emacs terdiri dari urutan kunci dan kombinasi kunci. Sebagai contoh, C-x C-c (yaitu Control-x diikuti dengan Control-c ) akan menghentikan Emacs, C-x C-s menyimpan berkas aktual. Perhatikan bahwa C-x C-b adalah tidak sama dengan C-x b. Bagian pertama berarti Control-x diikuti dengan Control-b, sementara yang belakang berarti Control-x diikuti dengan 'b'.

17.2 Buffer
Pada Emacs, konsep dari buffer sangatlah penting. setiap berkas yang Anda buka disimpan pada buffernya masing-masing. Lebih jauh lagi, Emacs memiliki beberapa buffer khusus, yang tidak berisi berkas tetapi digunakan untuk hal-hal lain. Buffer khusus tersebut biasanya memiliki nama yang diawali dan diakhiri dengan tanda bintang. Sebagai contoh, buffer yang ditampilkan Emacs ketika pertama kali dijalankan, disebut buffer *scratch*. Pada buffer *scratch*, Anda bisa

mengetikkan teks dengan cara normal, tetapi teks yang diketik disini tidak akan disimpan ketika Emacs ditutup. Terdapat satu buffer khusus lainya yang perlu Anda ketahui, dan itu adalah minibuffer. Buffer ini berisi hanya satu baris, dan selalu terdapat pada layar: buffer ini selalu berada pada baris terakhir dari jendela Emacs, dibawah status bar dari buffer aktual. Minibuffer adalah dimana Emacs menampilkan pesan untuk pengguna, dan juga merupakan tempat dimana perintah-perintah yang membutuhkan beberapa masukan pengguna dijalankan. Sebagai contoh, ketika Anda membuka sebuah berkas, Emacs akan menanyakan namanya pada minibuffer. Berpindah dari satu buffer ke buffer yang lain dapat dilakukan dengan perintah C-x b. Hal ini akan menanyakan nama buffer (sebuah nama buffer pada umumnya nama berkas yang Anda edit), dan Emacs memberikan pilihan default, yang normalnya merupakan buffer yang sebelumnya atau membuat buffer aktual. Cukup dengan menekan Enter makan Anda akan berpindah pada buffer default tersebut. Jika Anda hendak berpindah pada buffer lain selain yang ditawarkan oleh buffer default yang ditawarkan oleh Emacs, cukup ketikkan namanya. Perhatikan bahwa Anda bisa menggunakan pelengkap-Tab disini: ketikkan sebagian huruf awal pada nama buffer dan tekan Tab; Emacs akan melengkapi nama buffer. Pelengkap Tab bekerja dimanapun pada Emacs dimana hal tersebut dimungkinkan. Anda bisa mendapatkan daftar buffer yang terbuka dengan menekan C-x C-b. Perintah ini biasanya akan membagi layar menjadi dua, menampilkan buffer dimana Anda sedang bekerja pada bagian atas, dan buffer baru yang bernama *Buffer List* pada bagian bawah. Buffer ini berisi daftar seluruh buffer, ukuran dan modenya, dan juga berkas, juga ada, yang dikunjungi oleh buffer tersebut (seperti yang dipanggil pada Emacs). Anda bisa menghilangkan pemisahan layar dengan menekan C-x 1. Pada X, daftar buffer juga tersedia pada menu Buffer pada menu bar.

17.3 Mode
Setiap buffer pada Emacs memiliki mode yang berhubungan. Mode ini sangatlah berbeda dari ide mode pada vi: sebuah mode memberitahukan kepada Anda jenis buffer apa yang sedang Anda gunakan. Sebagai contoh, terdapat text-mode untuk berkas teks biasa, tetapi juga terdapat mode seperti c-mode untuk mengedit program-program C, sh-mode untuk mengedit script shell, latexmode untuk mengedit berkas LaTeX, mail-mode untuk mengedit pesan email dan berita, dll. Sebuah mode menyediakan kustomisasi khusus dan fungsionalitas yang berguna untuk jenis berkas yang sedang Anda edit. Juga dimungkinkan untuk sebuah mode untuk mendefinisikan kunci dan perintah kunci. sebagai contoh, pada mode Text, kunci Tab akan melompat ke tab stop selanjutnya, tetapi pada banyak mode bahasa pemrograman, kunci Tab melakukan indentasi baris aktual sesuai dengan kedalaman blok pada baris tersebut. Mode-mode yang disebutkan diatas disebut mode major. Setiap buffer memiliki satu mode major. Sebuah buffer dapat memiliki satu atau lebih mode minor. Sebuah mode minor menyediakan fitur tambahan yang dapat berguna untuk tugas pengeditan tertentu. Sebagai contoh, jika Anda menekan kunci INSERT, Anda memanggil overwrite-mode, yang melakukan apa yang Anda harapkan. Juga terdapat auto-fill-mode, yang berguna jika dikombinasikan dengan text-mode atau latex-mode: mode ini menyebabkan setiap baris yang Anda ketikkan untuk dipotong secara otomais setiap kali

baris tersebut mencapai sejumlah karakter. Tanpa auto-fill-mode, Anda harus mengetikkan M-q untuk mengisi sebuah paragraf. (Yang dapat Anda gunakan untuk memformat ulang sebuah paragraf setelah Anda mengedit beberapa teks didalamnya dan tidak lagi rata.)

17.3.1 Membuka Berkas


Untuk membuka sebuah berkas pada Emacs, ketik
C-x C-f

Emacs akan menanyakan nama berkas pada Anda, mengisi beberapa path default untuk Anda (biasanya ~/ ). Setelah Anda mengetikkan nama berkas (Anda bisa menggunakan pelengkap Tab) dan menekan ENTER , Emacs akan membuka berkas pada buffer baru dan menampilkan buffer tersebu pada layar. Emacs akan secara otomatis membuat buffer baru, Emacs tidak akan memuat berkas tersebut pada buffer aktual. Untuk membuat berkas baru pada Emacs, Anda tidak bisa mengetiknya secara langsung. Anda harus membuat sebuah buffer terlebih dahulu, dan hadir dengan sebuah nama berkas. Anda melakukan hal ini dengan mengetikkan C-x C-f dan menekan nama berkas, sama seperti ketika Anda membuka berkas yang sudah ada. Emacs akan mengetahui bahwa berkas yang Anda tulis tidak ada, dan akan membuat buffer baru dan melaporkan (New file) pada minibuffer. Ketika Anda mengetik C-x C-f dan memasukkan nama direktori nama dan bukan nama berkas, Emacs akan membuat sebuah buffer baru dimana Anda akan mendaftarkan daftar dari semua berkas yang ada pada direktori tersebut. Anda bisa memindahkan kursor pada berkas yang Anda cari dan mengetik, dan Emacs akan membukanya. (Sebetulnya terdapat lebih banyak aksi yang dapat Anda lakukan disini, seperti menghapus, mengganti nama, dan memindahkan berkas, dll. Emacs sekarang pada dired-mode, yaitu sebuah manajer berkas sederhana.) Ketika Anda sudah menekan C-x C-f dan tiba-tiba berubah pikiran, Anda bisa mengetikkan C-g untuk membatalkan. C-g bekerja hampir disemua tempat dimana Anda hendak membatalkan sebuah aksi atau perintah yang telah Anda jalankan tetapi tidak ingin Anda selesaikan.

17.4 Pengeditan Dasar


Ketika Anda telah membuka sebuah berkas, Anda tentu saja dapat berpindah-pindah dengan kursor. kunci kursor dan PgUp, PgDn melakukan apa yang Anda harapkan. Home dan End lompat ke awal dan akhir baris. (Pada versi lama, kunci-kunci ini lompat ke awal dan akhir buffer.) Namun, juga terdapat beberapa kombinasi kunci Control dan Meta (Alt) yang dapat memindahkan kursor. Karena Anda tidak perlu menggerakan tangan Anda pada bagian lain dari keyboard untuk melakukannya, hal ini akan mempercepat pekerjaan setelah Anda terbiasa dengannya. Perintahperintah terpenting terdapat pada Tabel 17-1. Tabel 17-1. Perintah Dasar Pengeditan Emacs Perintah C-b Satu karakter ke belakang C-f Satu karakter ke depan Hasil

Perintah Hasil C-n Satu baris kebawah C-p Satu baris keatas C-a Ke awal baris C-e Ke akhir baris M-b Satu kata kebelakang M-f Satu kata kedepan M-} Satu paragraf kedepan M-{ Satu paragraf kebelakang M-a Satu kalimat kebelakang M-e Satu kalimat kedepan C-d Hapus karakter pada kursor M-d Hapus sampai akhir dari kata aktual C-v Satu layar kebawah (PgDn) M-v Satu layar keatas (PgUp) M-< Menuju Awal buffer M-> Menuju akhir buffer membatalkan perubahan terakhir (dapat diulang); perhatikan bahwa Anda harus C-_ mengetikkan Shift+Control+- untuk ini. C-k Hapus hingga akhir baris C-s Pencarian kedepan C-r Pencarian kebelakang Perhatikan bahwa banyak perintah Meta bersifat paralel dengan perintah Control kecuali mereka beroperasi pada unit yang lebih besar: sementara C-f maju satu karakter, M-f maju satu kata, dll. Juga perhatikan bahwa M-< dan M-> memaksa Anda untuk mengetik Shift+Alt+koma dan Shift+Alt+titik, karena < dan > adalah Shift+koma dan Shift+titik. (Kecuali Anda menggunakan layout keyboard yang berbeda dari layout standar US.) Perhatikan bahwa C-k menghapus semua teks setelah kursor hingga akhir baris, tetapi tidak menghapus baris itu sendiri (dengan kata lain, tidak menghapus baris baru). Ia hanya menghapus baris jika tidak ada teks setelah kursor. Dengan kata lain, untuk menghapus sebuah baris sepenuhnya, Anda harus meletakkan kursor pada awal dari baris dan menekan C-k dua kali: satu untuk menghapus teks pada baris, satu untuk menghapus baris tersebut.

17.5 Menyimpan Berkas


Untuk menyimpan sebuah berkas, Anda mengetik
C-x C-s

Emacs tidak akan menanyakan nama berkas, buffer akan disimpan pada berkas dimana ia dimuat. Jika Anda hendak menyimpan teks Anda pada berkas lain, ketikkan

C-x C-w

Ketika Anda menyimpan berkas untuk pertama kali pada sesi ini, Emacs biasanya akan menyimpan versi lama dari berkas pada berkas cadangan, yang memiliki nama yang sama tetapi diawali dengan tanda tilde: sehingga jika Anda mengedit berkas cars.txt, Emacs akan membuat sebuah cadangan cars.txt~. Berkas cadangan ini adalah salinan dari berkas yang Anda buka. Sementara Anda bekerja, Emacs juga membuat salinan penyimpanan otomatis dari pekerjaan Anda, pada sebuah berkas yang bernama dengan tanda hash: #cars.txt#. Cadangan ini dihapus ketika Anda menyimpan berkas dengan C-x C-s. Setelah Anda selesai mengedit sebuah berkas, Anda bisa menghapus buffer yang digunakan dengan menekan
C-x k

Emacs akan bertanya buffer mana yang hendak dihapus, dengan buffer aktual sebagai default, yang dapat Anda pilih dengan menekan ENTER. Jika Anda belum menyimpan berkas Anda, Emacs akan menanyakan apakah Anda benar-benar hendak menghapus buffer.

17.5.1 Keluar dari Emacs


Ketika Anda sudah selesai dengan Emacs, Anda bisa mengetik
C-x C-c

Perintah ini akan menghentikan Emacs. Jika Anda memiliki berkas yang belum disimpan, Emacs akan memberitahukan kepada Anda, dan menanyakan apakah Anda hendak menyimpannya. Jika Anda menjawab tidak, Emacs akan melakukan satu konfirmasi final dan berhenti

Bab 18 Manajemen Paket Slackware


Daftar Isi 18.1 Gambaran dari Format Paket 18.2 Paket Utilitas 18.3 Membuat Paket 18.4 Membuat Tag dan Tagfile (untuk setup) Sebuah paket perangkat lunak adalah sebuah kumpulan program-program yang saling berhubungan yang siap untuk Anda install. Ketika Anda mendownload sebuah arsip kode sumber, Anda harus mengkonfigurasi, mengkompilasi, dan menginstallnya secara manual. Dengan sebuah paket perangkat lunak, hal ini sudah dilakukan untuk Anda. Anda hanya perlu menginstallnya. Fitur lain yang berguna ketika Anda menggunakan paket perangkat lunak adalah kemudahan untuk menghapus dan mengupgradenya, jika Anda menginginkannya. Slackware datang dengan programprogram untuk semua manajemen paket yang Anda perlukan. Anda bisa menginstall, menghapus, mengupgrade, membuat, dan memeriksa paket-paket dengan mudah.

Terdapat sebuah mitos yang berkembang sejak RedHat melakukan debutnya terhadap RedHat Package Manager, dimana Slackware tidak memiliki perangkat manajemen paket. Hal ini jauh dari kenyataan. Slackware selalu menyertakan sebuah paket manager, jauh sebelum RedHat ada. Meskipun tidak secanggih rpm (atau deb), pkgtool dan program-program yang berhubungan sama bagusnya dengan rpm ketika menginstall paket-paket. Kenyataan tentang pkgtool adalah bukan bahwa ia tidak ada, melainkan ia tidak melakukan pengujian ketergantungan. Tampaknya banyak orang pada komunitas Linux berpikir bahwa sebuah manajer paket harus menyertakan pengujian ketergantungan. Tampaknya, hal itu bukanlah menjadi masalah, karena Slackware tampaknya tidak melakukannya. Hal ini bukan untuk mengatakan bahwa paket-paket Slackware tidak memiliki ketergantungan, tetapi lebih karena manajer paketnya tidak mengujinya. Manajemen ketergantungan dibebankan pada admin sistem, dan itulah cara kita melakukannya.

18.1 Gambaran dari Format Paket


Sebelum mempelajari utilitas, Anda harus terbiasa dengan format paket-paket Slackware. Pada Slackware, sebuah paket sebetulnya adalah sebuah berkas arsip tar yang telah dikompresi dengan gzip. Paket-paket yang dibangun akan diuraikan pada direktori root. Berikut adalah contoh fiktif dan contoh dari sebuah paket:
./ usr/ usr/bin/ usr/bin/makehejaz usr/doc/ usr/doc/makehejaz-1.0/ usr/doc/makehejaz-1.0/COPYING usr/doc/makehejaz-1.0/README usr/man/ usr/man/man1 usr/man/man1/makehejaz.1.gz install/ install/doinst.sh

Sistem paket akan menguraikan berkas ini pada direktori root untuk menginstallnya. Sebuah daftar pada basis data paket akan dibuat yang berisi isi dari paket ini, sehingga dapat diupgrade atau dihapus dikemudian hari. Perhatikan sub direktori install/. Ini adalah direktori khusus yang berisi script yang dijalankan setelah installasi yang bernama doinst.sh. Jika sistem paket menemukan berkas ini, maka akan mengeksekusinya setelah menginstall paket tersebut. Script lain bisa disertakan pada paket, tetapi hal itu akan dibahas lebih detail pada Bagian 18.3.2 dibawah.

18.2 Paket Utilitas


Terdapat empat utilitas utama untuk manajemen paket. Mereka melakukan installasi, penghapusan, dan upgrade dari paket-paket.

18.2.1 pkgtool

pkgtool(8)

adalah program berbasis menu yang mengijinkan installasi dan penghapusan paketpaket. Menu utama ditampilkan pada Gambar 18-1. Gambar 18-1. Menu utama Pkgtool.

Installasi ditawarkan dari direktori aktual, direktori lain, atau dari disket. Cukup pilih metode installasi yang Anda inginkan dan pkgtool akan mencari lokasi tersebut untuk paket-paket valid yang akan diinstal. Anda juga dapat melihat daftar paket-paket yang terinstall, seperti yang terlihat pada Gambar 18-2. Gambar 18-2. Menu tampilan Pkgtool

Jika Anda hendak menghapus paket-paket, pilih opsi remove dan Anda akan mendapatkan daftar semua paket-paket yang terinstall. Tandai paket yang hendak Anda hapus dan pilih OK. pkgtool akan menghapusnya. Beberapa pengguna memilih utilitas ini daripada utilitas perintah baris. Namun, perlu dicatat bahwa utilitas perintah baris menawarkan lebih banyak opsi. Juga, kemampuan untuk mengupgrade paketpaket hanya ditawarkan melalui utulitas perintah baris.

18.2.2 installpkg
installpkg(8)

menangani installasi dari paket-paket baru pada sistem. Sintaksnya sebagai berikut:

# installpkg option nama_paket

Tiga opsi disediakan untuk installpkg. Hanya satu opsi yang dapat digunakan pada satu waktu. Tabel 18-1. Opsi-opsi installpkg Opsi Efek -m Melakukan operasi makepkg pada direktori aktual. Menampilkan apa yang akan terjadi jika Anda menginstall paket tersebut. Hal ini berguna -war untuk sistem produksi sehingga Anda dapat melihat dengan jelas apa yang akan terjadi n sebelum menginstall sesuatu. Secara rekursif menginstall semua paket pada direktori aktual dan dibawahnya. Nama paket -r bisa menggunakan wildcard, yang akan digunakan sebagai kunci pencarian ketika melakukan installasi secara rekursif. Jika Anda memberikan variabel lingkungan ROOT sebelum installpkg, path tersebut akan digunakan sebagai direktori root. Hal ini berguna untuk melakukan setting terhadap drive baru untuk direktori root Anda. Mereka akan dimount pada /mnt atau direktori lain selain /. Daftar basis data paket-paket yang terinstall tersimpan pada /var/log/packages. Daftar tersebut hanyalah berkas teks biasa, satu baris untuk setiap paket. Jika paket memiliki script pasca installasi, maka script tersebut akan ditulis pada /var/log/scripts/. Anda boleh menentukan beberapa paket atau menggunakan wildcard untuk nama paket. Harap diperhatikan bahwa installpkg tidak akan memberitahukan Anda jika Anda akan menimpa paket yang sudah terinstall. Perintah ini akan menginstall diatas yang lama. Jika Anda hendak memastikan bahwa berkas lama dari paket sebelumnya akan dihapus dengan aman, gunakan upgradepkg.

18.2.3 removepkg
removepkg(8)

menangani penghapusan paket-paket yang terinstall dari sistem. Sintaksnya sebagai

berikut:
# removepkg option nama_paket

Empat opsi disediakan untuk removepkg. Hanya satu opsi yang dapat digunakan pada satu waktu. Tabel 18-2. Opsi-opsi removepkg Efek Paket disalin pada direktori paket yang sudah disiapkan. Hal ini membuat sebuah struktur -copy pohon dari paket asli tanpa menghapusnya. Menyimpan berkas temporer yang dibuat ketika penghapusan. Hanya benar-benar berguna -keep untuk tujuan proses debug. Paket dihapus, tetapi disalin pada direktori paket yang sudah disiapkan pada saat yang -preserve bersamaan. -warn Menunjukkan apa yang akan terjadi jika Anda menghapus paket. Jika Anda memberikan variabel lingkungan ROOT sebelum installpkg, path tersebut akan digunakan sebagai direktori root. Hal ini berguna untuk melakukan setting terhadap drive baru untuk direktori root Anda. Mereka akan dimount pada /mnt atau direktori lain selain /. Opsi

melihat pada paket-paket yang terinstall lainnya dan hanya menghapus berkas yang unik pada paket yang Anda tentukan. Perintah ini juga akan menindai script pasca installasi untuk paket tertentu dan menghapus sembarang symbolic link yang dibuat.
removepkg

Selama proses penghapusan, sebuah laporan status ditampilkan. Setelah penghapusan, daftar basis data paket dipindahkan ke /var/log/removed_packages dan script pasca installasi dipindahkan ke /var/log/removed_scripts. Sama seperti installpkg, Anda bisa menentukan beberapa paket atau menggunakan wildcard untuk nama paket.

18.2.4 upgradepkg
upgradepkg(8)

akan mengupgrade paket Slackware yang terinstall. Sintaksnya sebagai berikut:

# upgradepkg nama_paket

atau
# upgradepkg nama_paket_lama%nama_paket_baru

bekerja dengan cara menginstall paket baru lalu menghapus paket lama sehingga berkas-berkas lama tidak akan ada pada sistem. Jika nama paket yang diupgrade sudah berubah, gunakan sintaks tanda persen untuk menentukan paket lama (yang terinstall) dan paket baru (yang hendak Anda install).
upgradepkg

Jika Anda memberikan variabel lingkungan ROOT sebelum installpkg, path tersebut akan digunakan sebagai direktori root. Hal ini berguna untuk melakukan setting terhadap drive baru untuk direktori root Anda. Mereka akan dimount pada /mnt atau direktori lain selain /. tidaklah tanpa cacat. Anda harus membuat cadangan dari berkas konfigurasi Anda. Jika mereka terhapus atau tertimpa, Anda membutuhkan salinan dari berkas aslinya untuk pekerjaan perbaikan.
upgradepkg

Sama seperti installpkg dan removepkg, Anda bisa menentukan beberapa paket atau menggunakan wildcard untuk nama paket.

18.2.5 rpm2tgz/rpm2targz
Red Hat Package Manager adalah sistem pemaketan yang populer yang ada saat ini. Banyak distributor perangkat lunak menawarkan produknya pada format RPM. Karena ini bukanlah format native kita, kita tidak merekomendasikan orang-orang untuk bergantung pada format ini. Namun, beberapa hal hanya tersedia pada format RPM (bahkan juga kode sumber). Kami menyediakan sebuah program yang akan mengkonversi paket-paket RPM menjadi format native kita .tgz. Hal ini mengijinkan Anda untuk mengurai paket (mungkin dengan explodepkg) pada direktori sementara dan memeriksa isinya. Program rpm2tgz akan membuat paket Slackware dengan ekstensi .tgz, sementara rpm2targz membuat sebuah arsip dengan ekstensi .tar.gz extension.

18.3 Membuat Paket


Membuat paket Slackware bisa mudah atau susah. Tidak ada metode khusus untuk membangun sebuah paket. Satu-satunya kebutuhan adalah paket harus berupa berkas tar yang di gzip dan jika terdapat script pasca installasi, harus berupa /install/doinst.sh. Jika Anda tertarik pada pembuatan paket untuk sistem Anda atau untuk jaringan yang Anda kelola, Anda harus melihat pada berbagai script yang terdapat pada direktori source Slackware. Terdapat beberapa metode yang kami gunakan untuk membuat paket-paket.

18.3.1 explodepkg
explodepkg(8)

akan melakukan hal yang sama yang dilakukan oleh installpkg untuk menguraikan sebuah paket, tetapi perintah ini tidak menginstallnya dan tidak merekamnya pada basis data paket-paket. Perintah ini hanya menguraikannya pada direktori aktual. Jika Anda melihat pada direktori source Slackware, Anda akan melihat bagaimana kita menggunakan perintah ini untuk paket-paket framework. Paket-paket ini berisi kerangka dari apa yang akan muncul pada paket final. Paket ini berisi semua nama berkas yang diperlukan, hak akses, dan kepemilikan. Script build akan menampilkan isi paket dari direktori source pada direktori build paket.

18.3.2 makepkg
makepkg(8)

akan membuat sebuah paket Slackware yang valid dari direktori aktual. Perintah ini akan mencari sembarang symlink dan menambahkan blok pembuatan pada script pasca installasi untuk diciptakan selama proses installasi paket. Perintah ini juga akan memperingatkan akan adanya berkas yang kosong pada struktur direktori paket. Perintah ini biasanya dijalankan setelah Anda membuat struktur pohon paket Anda.

18.3.3 Script SlackBuild


Paket-paket Slackware dibangun dengan berbagai cara sesuai kebutuhan. Tidak semua paket-paket perangkat lunak ditulis oleh pemrogramnya untuk dikompilasi dengan cara yang sama. Sebagian memiliki opsi kompilasi yang tidak disertakan pada paket-paket Slackware. Mungkin Anda perlu fungsionalitas ini; Anda harus mengkompilasi paket Anda sendiri. Untungnya, Anda bisa menemukan script SlackBuild pada kode sumber paket untuk sebagian besar paket-paket Slackware. Lalu apa itu script SlackBuild? Script SlackBuild adalah script shell yang dapat dieksekusi yang Anda jalankan sebagai root untuk mengkonfigurasi, mengkompilasi, dan menciptakan paket-paket Slackware. Anda dapat memodifikasi script ini pada direktori source dan menjalankannya untuk membuat paket-paket Slackware versi Anda sendiri.

18.4 Membuat Tag dan Tagfile (untuk setup)

Program setup Slackware menangani installasi dari paket-paket perangkat lunak pada sistem Anda. Terdapat berkas-berkas yang memberitahukan program setup paket-paket mana yang harus diinstal, paket mana yang bersifat opsional, dan paket mana yang dipilih secara default oleh program setup. Sebuah tagfile berada pada bagian awal dari direktori seri dan disebut tagfile. Berkas ini mendaftar paket-paket pada set disk dan statusnya. Status tersebut dapat berupa: Tabel 18-3. Opsi-opsi status file tag Opsi ADD SKP REC OPT Artinya Paket diperlukan untuk operasi sistem yang baik Paket akan secara otomatis dilewatkan Paket tidak diperlukan, tetapi direkomendasikan Paket bersifat opsional

Format tersebut cukup sederhana:


nama_paket: status

Satu paket per satu baris. Tagfile asli untuk setiap seri perangkat lunak disimpan sebagai tagfile.org. Jadi jika Anda ingin merusak tagfile Anda, Anda bisa mengembalikannya menggunakan yang asli. Banyak administrator memilih untuk menulis tagfilenya masing-masing dan menjalankan installer dan memlih full. Program setup akan membaca tagfile dan melakukan installasi sesuai dengan isinya. Jika Anda menggunakan REC atau OPT, sebuah kotak dialog akan ditampilkan pada pengguna dan menanyakan apakah mereka hendak menginstall paket tersebut atau tidak. Untuk itu, sangatlah direkomendasikan agar Anda tetap bertahan dengan ADD dan SKP ketika membuat tagfile untuk installasi otomatis. Hanya pastikan bahwa tagfile Anda ditulis pada lokasi yang sama dengan yang asli. Atau Anda dapat menentukan path tagfile modifikasi jika Anda memiliki tagfile modifikasi.

Bab 19 ZipSlack
Table of Contents 19.1 Apa itu ZipSlack? 19.2 Mendapatkan ZipSlack 19.3 Boot ke ZipSlack

19.1 Apa itu ZipSlack?


ZipSlack adalah versi khusus dari Slackware Linux. ZipSlack adalah salinan Slackware yang sudah terinstall yang siap untuk dijalankan dari partisi DOS atau Windows Anda. ZipSlack adalah installasi dasar, Anda tidak akan mendapatkan semua yang hadir pada Slackware. ZipSlack mendapatkan namanya dari bentuk distribusinya, sebuah berkas .ZIP yang besar. Pengguna DOS dan Windows akan terbiasa dengan berkas ini. Mereka adalah arsip yang terkompresi. Arsip ZipSlack berisi semua yang Anda perlukan untuk menjalankan Slackware.

Sangatlah penting untuk dicatat bahwa ZipSlack berbeda secara signifikan dengan installasi pada umumnya. Meskipun mereka memiliki fungsi yang sama dan berisi program yang sama, target pengguna dan fungsinya berbeda. Beberapa keuntungan dan kerugian dari ZipSlack akan dibahas dibawah. Satu hal terakhir, Anda harus me-review dokumentasi yang disertakan pada direktori ZipSlack. Dokumentasi ini berisi informasi terakhir tentang installasi, boot, dan penggunaan umum dari produk ini.

19.1.1 Keunggulan
4. Tidak membutuhkan partisi ulang dari hard disk Anda. 5. Cara bagus untuk mempelajari Slackware Linux tanpa harus melalui proses installasi.

19.1.2 Kerugian
4. Menggunakan sistem berkas DOS, yang lebih lambat dari sistem berkas native Linux. 5. Tidak akan bekerja pada Windows NT.

19.2 Mendapatkan ZipSlack


Mendapatkan ZipSlack sangatlah mudah. Jika Anda telah membeli koleksi CD Slackware linux, maka Anda telah memiliki ZipSlack. Cukup temukan CD yang berisi direktori zipslack dan letakkan pada drive CD-ROM Anda. Biasanya terdapat pada disk ketiga atau keempat, tetapi selalu gunakan label ketimbang dokumentasi ini karena disk tempat ia berada sangat mungkin berubah. Jika Anda hendak mendownload ZipSlack, Anda harus mengunjungi halaman situs Get Slack kami untuk informasi download terbaru: http://www.slackware.com/getslack/ ZipSlack adalah bagian dari setiap rilis Slackware. Cari rilis yang Anda inginkan, dan buka direktori tersebut pada situs FTP. Direktori rilis terbaru dapat ditemukan pada lokasi ini: ftp://ftp.slackware.com/pub/slackware/slackware/ Anda akan menemukan ZipSlack pada sub direktori /zipslack. ZipSlack ditawarkan sebagai satu berkas .ZIP besar atau potongan seukuran disket. Potongan-potongan ini berada pada direktori /zipslack/split directory. Jangan berhenti hanya pada berkas .ZIP. Anda juga harus mendownload berkas dokumentasi dan sembarang image boot yang ada pada direktori.

19.2.1 Installasi
Setelah Anda mendownload komponen yang diperlukan, Anda harus menguraikan berkas .ZIP. Pastikan untuk menggunakan pengurai zip 32-bit. Ukuran dan nama berkas pada arsip terlalu besar untuk pengurai zip 16-bit. Contoh dari pengurai zip 32-bit termasuk WinZip dan PKZIP untuk Windows.

ZipSlack didesain untuk diuraikan pada direktori root pada drive (Seperti C: atau D:). Sebuah direktori \LINUX akan dibuat yang berisi installasi Slackware aktual. Anda juga akan menemukan berkas-berkas yang diperlukan untuk boot ke sistem pada direktori itu juga. setelah Anda menguraikan berkas-berkas tersebut, Anda akan memiliki direktori \LINUX pada drive yang Anda pilih (kita akan menggunakan C: dari sini).

19.3 Boot ke ZipSlack


Terdapat beberapa cara untuk boot ke ZipSlack. Cara yang paling umum adalah menggunakan LINUX.BAT yang disertakan untuk melakukan boot pada sistem dari DOS (atau dari mode DOS pada Windows 9x). Berkas ini harus diedit agar sesuai dengan sistem Anda sebelum dapat bekerja dengan baik. Mulailah dengan membuka berkas C:\LINUX\LINUX.BAT pada editor teks favorit Anda. Pada bagian atas dari berkas Anda akan melihat komentar yang cukup banyak. Komentar tersebut menjelaskan apa yang perlu Anda edit pada berkas ini (dan juga apa yan harus dilakukan jika Anda melakukan boot dari drive Zip eksternal). Jangan khawatir jika Anda tidak memahami setting root=. Terdapat beberapa contoh, jadi pilih salah satu dan cobalah. Jika tidak bekerja, Anda bisa mengedit berkas itu kembali, menghapus tanda komentar pada baris yang Anda hapus tanda komentarnya, dan memilih yang lain. Setelah Anda menghapus tanda komentar pada baris dengan menghapus rem pada awal baris, simpan berkas dan keluar dari editor. Bawa mesin Anda pada mode DOS. sebuah jendela DOS prompt pada Windows 9x TIDAK akan bekerja. Ketik C:\LINUX\LINUX.BAT untuk boot ke sistem. Jika semua berjalan lancar, Anda akan melihat prompt login. Log in sebagai root, tanpa kata sandi. Anda mungkin hendak menentukan sebuah kata sandi untuk root, dan juga menambahkan sebuah account untuk diri Anda sendiri. Saat ini, Anda bisa melihat pada bagian lain dari buku ini untuk penggunaan sistem secara umum. Jika menggunakan berkas LINUX.BAT untuk melakukan boot tidak bekerja untuk Anda, Anda harus melihat pada berkas C:\LINUX\README.1ST yang disertakan untuk cara lain untuk boot.

Daftar Istilah

Account Semua informasi tentang pengguna, termasuk nama pengguna, kata sandi, informasi finger, UID dan GID, dan direktori home. Untuk membuat sebuah account adalah dengan cara menambahkan dan mendefinisikan sebuah pengguna. Background Sembarang proses yang berjalan tanpa menerima atau mengontrol masukan dari terminal dikatakan berjalan pada background. Boot disk sebuah disket yang berisi sistem operasi (pada kasus kita, kernel Linux) dari komputer yang akan dijalankan. Compile Untuk mengkonversi kode sumber pada kode biner yang dapat dibaca oleh mesin. Daemon Sebuah program yang didesain untuk berjalan pada background dan, tanpa campur tangan pengguna, melakukan tugas tertentu (biasanya menyediakan sebuah layanan). Darkstar Nama host default pada Slackware; Komputer Anda akan diberi nama darkstar jika Anda tidak menentukan nama lain. Salah satu dari mesin pengembangan Patrick Volkerding, dinamai Dark Star, sebuah lagu dari Grateful Dead. Desktop Environment Sebuah antarmuka pengguna grafis (GUI) yang berjalan diatas Sistem X Window dan menyediakan fitur-fitur seperti aplikasi yang terintegrasi, tampilan kohesif antar program dan komponen, kemampuan manajemen berkas dan jendela, dll. Sebuah langkah diatas manajer jendela sederhana. Device driver Potongan kode pada kernel yang secara langsung mengontrol perangkat keras. Device node sebuah jenis berkas pada sistem berkas /dev yang merepresentasikan komponen perangkat keras pada sistem operasi. DNS

Domain Name Service. Sebuah sistem dimana kompoter yang terhubung ke jaringan diberikan nama yang ditranslasikan pada angka numeris. Domain name Nama DNS komputer, tidak termasuk nama hostnya. Dot file Pada Linux, berkas yang akan disembunyikan memiliki nama berkas yang diawali dengan titik ('.'). Dotted quad Format dari alamat IP, disebut demikian karena terdiri dari empat angka (antara 0-255) yang dipisahkan dengan titik. Dynamic loader Ketika program dikompilasi pada Linux, mereka biasanya menggunakan potongan kode (fungsi) dari pustaka eksternal. Ketika program tersebut berjalan, pustaka tersebut harus ditemukan dan fungsi yang diperlukan dimuat pada memori. Ini adalah tugas dari dynamic loader. Environment variable Sebuah set variabel pada shell pengguna yang dapat direferensi oleh pengguna tersebut atau program yang dijalankan oleh pengguna pada shell tersebut. Environment variables biasanya digunakan untuk menyimpan preferensi dan parameter default. Epoch Sebuah periode sejarah; Pada Unix, The Epoch diawali pada 00:00:00 UTC 1 Januari, 1970. Ini dianggap sebagai dawn of time pada sistem operasi Unix dan Unix-like, dan semua waktu dikalkulasikan relatif terhadap tanggal ini. Filesystem Sebuah representasi dari data yang tersimpan dimana berkas dari data disimpan dalam bentuk directori. Sistem berkas adalah bentuk universal dari representasi data yang tersimpan pada disk (baik yang tetap atau yang portabel). Foreground Sebuah program yang menerima atau mengontrol masukan terminal dikatakan berjalan pada foreground. Framebuffer A type of graphics device; in Linux, this most often refers to the software framebuffer, which provides a standard framebuffer interface to programs while keeping specific

hardware drivers hidden from them. This layer of abstraction frees programs of the need to speak to various hardware drivers. FTP The File Transfer Protocol. FTP is a very popular method of transferring data between computers. Gateway A computer through which data on a network is transferred to another network. GID Group Identifier. The GID is a unique number attributed to a group of users. Group Users in Unix belong to groups, which can contain many other users and are used for more general access control than the existence of users alone can easily allow. GUI Graphical User Interface. A software interface that uses rendered graphical elements such as buttons, scrollbars, windows, etc. rather than solely text-based input and output Home directory A user's home directory is the directory the user is placed in immediately upon logging in. Users have full permissions and more or less free reign within their home directories. HOWTO A document describing how to do something, such as configure a firewall or manage users and groups. There is a large collection of these documents available from the Linux Documentation Project. HTTP The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide Web operates. ICMP Internet Control Message Protocol. A very basic networking protocol, used mostly for pings. Kernel The heart of an operating system. The kernel is the part that provides basic process control and interfaces with the computer's hardware. Kernel module

A piece of kernel code, usually a driver of some sort, that can be loaded and unloaded from memory separately from the main body of the kernel. Modules are handy when upgrading drivers or testing kernel settings, because they can be loaded and unloaded without rebooting. Library A collection of functions which can be shared between programs. LILO The LInux LOader. LILO is the most widely-used Linux boot manager. LOADLIN LOADLIN is a program that runs under MS DOS or Windows and boots a Linux system. It is most commonly used on computers with multiple operating systems (including Linux and DOS/Windows, of course). Man section Pages in the standard Unix online manual ("man") are grouped into sections for easy reference. All C programming pages are in section 3, system administration pages in section 5, etc. MBR The Master Boot Record. A reserved space on a hard drive where information on what to do when booting is stored. LILO or other boot managers can be written here. Motif A popular programming toolkit used in many older X programs. MOTD Message of the Day. The motd (stored in Linux in /etc/motd is a text file that is displayed to all users upon logging in. Traditionally, it is used by the system administrator as a sort of bulletin board for communicating with users. Mount point An empty directory in a filesystem where another filesystem is to be mounted, or grafted on. Nameserver A DNS information server. Nameservers translate DNS names to numerical IP addresses. Network interface

A virtual representation of a network device provided by the kernel. Network interfaces allow users and programs to talk to network devices. NFS The Network Filesystem. NFS allows the mounting of remote filesystems as if they were local to your computer and thus provides a transparent method of file sharing. Octal Base-8 number system, with digits 0-7. Pager An X program that allows the user to see and switch between multiple desktops. Partition A division of a hard drive. Filesystems exist on top of partitions. PPP Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet Service Provider. Process A running program. Root directory Represented as /, the root directory exists at the top of the filesystem, with all other directories branching out beneath it in a file tree. Root disk The disk (usually fixed) on which the root directory is stored. Routing table The set of information the kernel uses in routing network data around. It contains such tidbits as where your default gateway is, which network interface is connected to which network, etc. Runlevel The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is single user mode, runlevel 4 is an X login, etc. There are 6 available runlevels on a Slackware system. Secure shell

An encrypted (thus secure) method of logging in remotely to a computer. Many secure shell programs are available; both a client and server are needed. Service The sharing of information and/or data between programs and computers from a single server to multiple clients. HTTP, FTP, NFS, etc. are services. Shadow password suite The shadow password suite allows encrypted passwords to be hidden from users, while the rest of the information in the /etc/passwd file remains visible to all. This helps prevent brute-force attempts at cracking passwords. Shell Shells provide a commandline interface to the user. When you're looking at a text prompt, you're in a shell. Shell builtin A command built into the shell, as opposed to being provided by an external program. For instance, bash has a cd builtin. Signal Unix programs can communicate between each other using simple signals, which are enumerated and usually have specific meanings. kill -l will list the available signals. SLIP Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used for connecting two machines via a serial interface. Software package A program and its associated files, archived and compressed into a single file along with any necessary scripts or information to aid in managing the installation, upgrade, and removal of those files. Software series A collection of related software packages in Slackware. All KDE packages are in the kde series, networking packages in the n series, etc. Source code The (more or less) human-readable code in which most programs are written. Source code is compiled into binary code. Standard Error (stderr)

The Unix-standard output stream for errors. Programs write any error messages on stderr, so that they can be separated from normal output. Standard Input (stdin) The Unix-standard input stream. Data can be redirected or piped into a program's stdin from any source. Standard Output (stdout) The Unix-standard output stream. Normal text output from a program is written to stdout, which is separate from the error messages reported on stderr and can be piped or redirected into other programs' stdin or to a file. Subnet An IP address range that is part of a larger range. For instance, 192.168.1.0 is a subnet of 192.168.0.0 (where 0 is a mask meaning undefined); it is, in fact, the .1 subnet. Superblock In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The superblock is the first 512 bytes of a partition. Supplemental disk In Slackware, a floppy disk used during installation that contains neither the kernel (which is on the boot disk) nor the root filesystem (which is on the root disk), but additional needed files such as network modules or PCMCIA support. Suspended process A process which has been frozen until killed or resumed. Swap space Disk space used by the kernel as virtual RAM. It is slower than RAM, but because disk space is cheaper, swap is usually more plentiful. Swap space is useful to the kernel for holding lesser-used data and as a fallback when physical RAM is exhausted. Symbolic link A special file that simply points to the location of another file. Symbolic links are used to avoid data duplication when a file is needed in multiple locations. Tagfile A file used by the Slackware setup program during installation, which describes a set of packages to be installed. Terminal

A human-computer interface consisting of at least a screen (or virtual screen) and some method of input (almost always at least a keyboard). Toolkit, GUI A GUI toolkit is a collection of libraries that provide a programmer with code to draw widgets such as scrollbars, checkboxes, etc. and construct a graphical interface. The GUI toolkit used by a program often defines its look and feel. UID User Identifier. A unique number that identifies a user to the system. UIDs are used by most programs instead of usernames because a number is easier to deal with; usernames are generally only used when the user has to see things happen. VESA Video Electronics Standards Association. The term VESA is often used to denote a standard specified by said Association. Nearly all modern video adapters are VESAcompliant. Virtual terminal The use of software to simulate multiple terminals while using only a single set of input/output devices (keyboard, monitor, mouse). Special keystrokes switch between virtual terminals at a single physical terminal. Window manager An X program whose purpose is to provide a graphical interface beyond the simple rectangle-drawing of the X Window System. Window managers generally provide titlebars, menus for running programs, etc. Working directory The directory in which a program considers itself to be while running. Wrapper program A program whose sole purpose is to run other programs, but change their behavior in some way by altering their environments or filtering their input. X server The program in the X Window System which interfaces with graphics hardware and handles the actual running of X programs. X Window System Network-oriented graphical interface system used on most Unix-like operating systems, including Linux.