Anda di halaman 1dari 62

MODUL I Pengenalan LINUX

I.1 PROSES INSTALASI


1. Sejarah Linux Anda mungkin tidak percaya bahwa pembuatan Linux dimulai dari hobi seorang mahasiswa Finlandia bernama Linuz Torvalds yang terinspirasi oleh ketidak-puasannya terhadap kinerja Minix. Minix sendiri adalah sistem operasi yang dikembangkan oleh Andy Tanenbaum. Versi resmi pertama Linux, yaitu 0.02 diumumkan oleh Linus pada tanggal 5 Oktober 1991. Versi ini hanya dapat menjalankan shell bash ( GNU Bourne Again Shell ) dan gcc ( GNU C Compiler ). Secara teknis Linux sebenarnya hanyalah merupakan sebuah kernel, kernel adalah program yang dimuat saat booting, fungsinya sebagai interface antara user-level program dengan hardware, yaitu melakukan tugas seperti sistem operasi, menangani task switching dalam multitasking, menangani permintaan membaca dan menulis peralatan disk, melakukan tugas-tugas network seta mengatur penggunaan memori. Program lain seperti kompiler, editor, window manager hanyalah distribusi yang melengkapi kernel menjadi sebuah sistem operasi yang lengkap. Salah satu pendorong perkembangan Linux yang cepat adalah sifat-open sourcenya yang dilindungi melalui lisensi GPL ( General Public License ). Dengan sifat tersebut, berbagai programer dapat turut serta mengembangkan Linux, sehingga Linux dapat berkembang pesat seperti sekarang ini. Saat ini telah berkembang begitu banyak distribusi Linux, beberapa diantaranya adalah : Slackware, Debian, Caldera, Redhat, Mandrake, Suse ,Gento, dll. Semua distro ini menggunakan Linux sebagai kernelnya, sedangkan letak perbedaan dari mereka adalah aplikasi pendukung yang disertakan pada tiap distro. Pada pelatihan ini digunakan RedHat, karena fleksibilitas RedHat dalam hal perpaduan CLI dan GUI serta penggunaannya baik untuk penggunaan rumahan, perkantoran, maupun server. 2. Kenapa saya harus belajar Linux ? Anda pasti telah mendengar masalah penegakkan HAKI yang katanya akan dilaksanakan oleh pemerintah secara konsekwen. Bagi anda yang begitu mendewakan windows ini adalah berita buruk, betapa tidak windows yang selama ini anda dapatkan dengan cara membajak tidak bisa didapat secara bebas lagi. Bukan hanya itu selain membeli OS-nya andapun harus mengeluarkan kocek tambahan untuk mendapatkan aplikasi-aplikasi lainnya seperti office. Sifat gratis Linux, menjadi daya tarik tersendiri bagi perusahaan menengah dan menengah kebawah. Ditambah lagi kenyataan bahwa sifat user friendly dan kompabilitas Linux semakin lama semakin baik. Bagi perusahaan menengah keatas daya tarik Linux terletak pada kestabilan dan keamanannya. Dua kelebihan ini ( stabil dan aman ) adalah karena Linux dikembangkan oleh begitu banyak orang sehingga setiap kekurangan dan bug dapat cepat ditemukan dan diperbaiki. Coba anda bandingkan dengan Windows yang hanya dikembangkan oleh ribuan orang. Hal-hal di atas kemudian memberikan peluang bisnis, khususnya yang berkaitan dengan jasa dan sdm, serta memberikan peluang kerja. 1

1. Pra-instalasi Sebelum melakukan instalasi, ada baiknya dilakukan planning terlebih dahulu khususnya yang berkaitan dengan : 1. Kelas yang akan diinstal. Kelas instalasi yang ditawarkan dimaksudkan untuk memberikan pilihan kepada user dalam hal kesederhanaan proses. User dalam memilih kelas sesuai dengan manfaatnya atau secara manual memilih sendiri paket yang akan diinstal melalui costum. Penggolongannya terdiri dari empat kelas, yaitu : a Personal Desktop Kelas ini dikhususkan bagi anda yang baru mencoba Linux. GUI langsung diinstal pada option ini.

b. Kelas Workstation Pilihlah kelas ini jika anda hanya ingin memanfaatkan GUInya saja. Pada option ini software development tools juga ikut diinstal. Jika nantinya memilih partisi secara otomatis, maka untuk kelas ini semua partisi yang berhubungan dengan linux akan dihilangkan dan diganti dengan partisi swap, root dan boot secara otomatis. Jika terdapat partisi windows, maka kelas ini akan secara otomatis mengkonfigurasi dual boot. c. Kelas Server Kelas ini digunakan jika kita ingin menggunakan linux sebagai server dan kita tidak ingin berpusing ria mengkonfigurasi system. Jika dipilih partisi secara otomatis, maka semua partisi yang ada akan dihapus. Space harddisk minimal adalah 1,6 GB. Setelah proses instalasi selesai, maka kita akan menemukan partisi : swap, /, /usr, /home, /var, dan /boot. d. Kelas Costum Kelas ini memberikan fleksibilitas dan kebebasan yang tinggi pada user. Kita dapat mempartisi sendiri harddisk, memilih paket-paket yang akan diinstall, dan pemilihan boot loader beserta konfigurasinya. 2. Partisi harddisk Sebelum menginstall kita perlu merencanakan partisi harddisk sesuai dengan besarnya space untuk menginstall linux sesuai keinginan. Jika ternyata kita harus melakukan partisi, maka pindahkan terlebih dahulu data-data pada harddisk anda. Anda bebas memilih tool partisi seperti partition magic atau menggunakan disk druid yang dapat ditemui pada saat instalasi nanti. 3. Menuliskan spesifikasi hardware komputer yang akan diinstal Linux.

Harddisk : jenis, ukuran, nomor Contoh : IDE hda = 20 GB Partisi : partisi dan mount point Contoh : /dev/hda1 = / Memory : besar memory Contoh : 128 MB CD Room : jenis interface Contoh : IDE

Adapter SCSI : merk, jenis, nomor Contoh : BusLogic SCSI Kartu Jaringan : nomor, merk dan jenis Contoh : 3COM 3C590 , DLink 650 Mouse : jenis, jumlah button, com Contoh : generic 3 button, MouseMan 2 button serial COM1 Monitor : merek, model, spesifikasi manufaktur Contoh : TECO TE551 VGA Card : merek, nomor model, besarnya RAM Contoh : Creative Labs Graphics 3D 8 MB Sound Card : merek, chipset, nomor model Contoh : Sound Blaster 32/64 AWE IP Address & netmask : hubungi admin jaringan anda IP Server DNS, Gateway : hubungi admin jaringan anda Hostname : nama komputer anda Contoh : Penyusup, Executor Spek ini dapat dilihat di : Manual book device BIOS komputer Dari windows : klik kanan Propertis, Device Manager

pada

My

Computer,

2. Pre Installasi Gentoo


Setting BIOS agar pengecekkan device pertama untuk booting adalah di CD-Rom Masukkan CD 1 ke CD-Rom, tekan F10 atau save perubahan BIOS anda, lalu restart Tunggu hingga muncul tampilan semacam DOS, dengan keterangan di bawahnya boot: Disini kita dihadapkan pada pilihan melakukan penginstallan dengan 2 mode, yakni secara graphical atau secara textmode Selain itu kita dapat menggunakan function key yang terletak di bagian bawah window. Fungsi masing masing function key tersebut antara lain : F1 Main, untuk kembali pada tampilan awal (yaitu tampilan saat ini) F2 Option, untuk menuliskan berbagai macam option pada saat kita hendak menginstall. Option yang tersedia antara lain : gentoo noprobe , untuk menghindari pengecekkan hardware pada saat penginstallan gentoo nodhcp , untuk mencegah deteksi DHCP server gentoo-nofb , untuk mode textmode

3. Menginstall gentoo dengan LiveCD Gentoo Linux dapat diinstal menggunakan salah satu dari tiga stage tarbal. Stage yang anda pilih tergantung pada seberapa jauh sistem yang ingin anda kompilasi sendiri. stage1 tarbal digunakan jika anda ingin melakukan proses bootstrap dan membangun seluruh 3

sistem dari awal. stage2 tarbal digunakan untuk membangun seluruh sistem dari keadaan "semi-compiled" ter-bootstrap. stage3 tarbal telah memiliki sistem Gentoo Linux dasar yang telah dibangun bagi anda. Seperti yang akan kami jelaskan nanti, anda dapat juga menginstal Gentoo tanpa proses kompilasi (kecuali kernel anda dan beberapa paket-paket opsional). Jika anda menginginkan cara ini, anda harus menggunakan tarbal stage3. Instalasi stage1 dan 2 hanya dapat dilakukan jika anda memiliki koneksi internet. Sehingga untuk computer yang tidak terhubung ke jaringan internet akan menggunakan instalasi stage 3. Instalasi Ketik gentoo nodhcp Bila media CD penginstall telah ada di tempatnya, maka akan muncul auto konfigurasi dari system LiveCD gentoo. Setelah auto konfigurasi selesai, akan tampil halaman konsole atau terminal LiveCD /# Ketik password baru untuk mengubah password root yang default, eg: LiveCD / #passwd fdisk merupakan utilitas yang populer dan bagus untuk memisahkan disk anda menjadi beberapa partisi. Jalankan fdisk pada disk anda (di contoh ini, kita menggunakan /dev/hda): LiveCD / #fdisk /dev/hda Setelah anda berada di dalam fdisk, anda akan menemui sebuah prompt seperti berikut: Command (m for help) : Ketik p untuk menampilkan tabel partisi disk anda saat ini: Contoh tabel partisi
Command (m for help): p Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot /dev/hda1 /dev/hda2 Start 1 15 End 14 49 Blocks Id System 105808+ 83 Linux 264600 82 Linux swap

Command (m for help):

Pertama, kita akan menghapus semua partisi yang telah ada dari disk. Ketik d untuk menghapus sebuah partisi. Sebagai contoh, untuk menghapus partisi /dev/hda1:
Command (m for help): d Partition number (1-2): 1

Partisi tersebut telah dijadwalkan untuk dihapus. Partisi tersebut tidak akan lagi ditampilkan jika anda mengetik p, tetapi tidak akan juga dihapus sebelum anda menyimpan perubahan anda. Jika anda melakukan kesalahan dan ingin membatalkan tanpa menyimpan perubahan anda, segera ketik q dan tekan Enter, partisi anda tidak akan dihapus. Sekarang, anggap anda benar-benar ingin menghapus seluruh partisi-partisi anda, secara terus-menerus ketikkan p untuk menampilkan tabel partisi lalu diikuti oleh d dan nomor partisi untuk menghapusnya. Pada akhirnya, anda akan berakhir dengan sebuah tabel partisi kosong:

Pertama-tama, kita akan menciptakan sebuah partisi boot. Ketik n untuk menciptakan sebuah partisi, lalu p untuk memilih partisi primary, diikuti oleh 1 untuk memilih partisi primary pertama. Jika anda ditanya silinder pertama, tekan Enter. Sewaktu ditanya silinder terakhir, ketik +xM untuk menciptakan sebuah partisi sebesar x Mbyte. Untuk menyimpan tabel partisi dan keluar dari fdisk, ketik w. Setelah semua partisi anda diciptakan, sekarang saatnya untuk membuat filesystem di partisi tersebut. Filesystem? Kernel Linux mendukung berbagai filesystem. Kami akan menjelaskan ext2, ext3, ReiserFS, XFS dan JFS karena filesystem tersebut adalah yang paling umum digunakan di sistem Linux. ext2 adalah filesystem yang asli dan telah dicoba/dipakai tetapi tidak memiliki journal metadata, yang berarti waktu yang diperlukan untuk memeriksa filesystem ext2 kadang bisa sangat lama. Saat ini telah ada beberapa filesystem journal generasi baru yang dapat diperiksa konsistensinya dengan cepat dan karena itu lebih dipilih daripada partisi nonjournal. Journal filesystem menghindari waktu tunda sewaktu anda boot dari sistem dimana filesystem anda kebetulan berada pada saat inkonsisten. ext3 adalah filesystem ext2 versi journal, memiliki journal metadata untuk pemulihan sistem yang cepat dan juga beberapa tambahan modus journal seperti journal data terstruktur dan data penuh. ext3 adalah filesystem yang sangat bagus dan dapat dihandalkan. Filesystem ini memiliki opsi "hashed b-tree indexing" tambahan yang menghasilkan performa yang tinggi di hampir semua situasi. Secara singkat, ext3 adalah filesystem yang handal. ReiserFS adalah filesystem berbasis B*-tree yang memiliki performa keseluruhan yang bagus dan performanya melebihi ext2 dan ext3 pada saat menangani file kecil (file yang besarnya kurang dari 4k), sering kali melebihi dalam faktor 10x-15x. ReiserFS juga berskala sangat bagus dan memiliki journal metadata. Setelah kernel 2.4.18+, ReiserFS telah mapan dan bagus untuk pemakaian umum atau kasus khusus seperti pembuatan filesystem yang besar, penggunaan file kecil yang banyak, file yang besar, dan directory yang mengandung puluhan ribu file. ReiserFS adalah filesystem yang kami rekomendasikan pada semua partisi non-boot. XFS adalah filesystem dengan journal metadata yang datang dengan fungsi fungsi mapan dan teroptimasi untuk skalabilitas. Kami hanya merekomendasikan anda menggunakan filesystem ini pada system Linux dengan disk SCSI kelas atas dan/atau disk fibre serta power supply yang tidak pernah terputus. Karena XFS meng-cache data yang lewat dengan agresif ke dalam RAM, data-data mungkin hilang pada saat program yang tidak didisain dengan benar (program-program yang tidak mengambil langkah yang aman sewaktu menulis ke disk, dan ada beberapa program seperti itu) berjalan dan sistem tiba-tiba mati. JFS adalah filesystem journal dengan performa tinggi dari IBM. Filesystem ini baru-baru ini menjadi filesystem yang siap pakai, dan sampai saat ini tidak banyak record tentang filesystem ini jadi kami tidak dapat berkomentar apakah filesystem ini bagus atau tidak dalam hal stabilitas, dll.

Untuk menciptakan filesystem di sebuah partisi, anda dapat menggunakan beberapa utilitas yang tersedia untuk setiap filesystem: Filesystem ext2 ext3 reiserfs xfs jfs Perintah mke2fs mke2fs -j mkreiserfs mkfs.xfs mkfs.jfs
LiveCD /# mkreiserfs /dev/hda1

Sebagai contoh, untuk menciptakan filesystem reiserfs di partisi /dev/hda1 Setelah partisi-partisi anda memiliki filesystemnya masing-masing, sekarang saatnya untuk me-mount partisi-partisi tersebut.
LiveCD /# mount /dev/hda1 /mnt/gentoo

Untuk membuat file swap, kita gunakan tiga tahap


LiveCD /# dd if=/dev/zero of=/mnt/gentoo/swap bs=128k count=512

Yang secara otomatis akan membuat file /mnt/gentoo/swap sebesar 64MB


LiveCD /# mkswap /mnt/gentoo/swap

Akan membuat file /mnt/gentoo/swap menjadi file swap


LiveCD /# swapon /mnt/gentoo/swap

Akan mengaktifkan swap system pada /mnt/gentoo/swap

Kita juga perlu me-mount filesystem proc (penghubung kernel virtual) di /proc. Tetapi, pertama kita perlu menaruh file-file kita di partisi.

I.2 Menggunakan Stage dari LiveCD


Sebelum anda melanjutkan, anda perlu membuka konsole atau terminal baru dengan menekan tombol Alt+F2 dan Alt+F3 serta memeriksa tanggal/waktu anda dan memperbaharuinya. Jam yang tidak terkonfigurasi dengan benar dapat menyebabkan hasil yang aneh nantinya! Untuk memastikan tanggal/waktu saat ini,
LiveCD /#date

Masuk ke mountpoint Gentoo


LiveCD /#cd /mnt/gentoo

Sekarang kita akan mengekstrak tarbal stage pilihan anda menggunakan utilitas GNU tar. Pastikan anda menggunakan opsi-opsi yang sama (-xvjpf)! Di contoh berikut ini, kita

mengekstrak tarbal stage stage3-<subarch>-2004.2.tar.bz2. Gantikan nama tarbal tersebut dengan stage pilihan anda.
/mnt/gentoo#tar -xvjpf /mnt/cdrom/stages/stage3-<subarch>2004.2.tar.bz2

Setelah stage terinstal, lanjutkan ke Menginstall Portage.

I.2 Menginstall Snapshot Portage dan Source Code dari LiveCD


Jika anda tidak memiliki koneksi jaringan (internet), anda harus menginstal snapshot portage yang disediakan oleh salah satu LiveCD Gentoo. Hal ini secara otomatis menganggap anda menginstal dari tarbal stage3 (karena stage tersebut merupakan satu-satunya tarbal yang didukung untuk instalasi tanpa-jaringan). Jika anda ingin menggunakan paket-paket prebuilt nantinya untuk mempersingkat proses instalasi, anda harus menggunakan snapshot portage dari LiveCD. Snapshot Portage tersedia di LiveCD Universal. Karena anda membaca bagian ini, kami anggap anda menggunakan salah satu LiveCD tersebut. Untuk menginstal snapshot tersebut, periksalah direktori /mnt/cdrom/snapshots/ untuk melihat snapshot apa yang tersedia:
LiveCD /# ls /mnt/cdrom/snapshots

Sekarang ekstrak snapshot tersebut menggunakan perintah berikut.


/mnt/gentoo#tar xvjf /mnt/cdrom/snapshots/portage20040710.tar.bz2 C /mnt/gentoo/usr

Copy source code


/mnt/gentoo# mkdir /mnt/gentoo/usr/portage/distfiles /mnt/gentoo# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/

Setelah snapshot Portage anda terinstal, lanjutkan ke Mengkonfigurasi Opsi Kompilasi. Untuk mengoptimasi Gentoo, anda dapat mengeset beberapa variabel yang mengendalikan tingkah laku Portage. Variabel-variabel tersebut dapat diset sebagai variabel environment (menggunakan perintah export) tetapi tidak permanen. Untuk menyimpan setting anda, Portage menyediakan file /etc/make.conf, yaitu file konfigurasi Portage. File inilah yang akan kita edit sekarang..
/mnt/gentoo# nano -w /mnt/gentoo/etc/make.conf

Tambahkan pada baris terakhir di file tersebut PKGDIR=/mnt/cdrom untuk menentukan source paket.

6. Menginstal Sistem Dasar Gentoo


Mount filesystem /proc ke /mnt/gentoo/proc agar proses instalasi dapat menggunakan informasi dari kernel walaupun berada di lingkungan chroot.
/mnt/gentoo# mount -t proc none /mnt/gentoo/proc

Setelah semua partisi tercipta dan lingkungan dasar terinstal, sekarang saatnya untuk memasuki lingkungan instalasi baru kita dengan melakukan chroot ke dalamnya. Artinya, kita berpindah tempat dari lingkungan instalasi kita saat ini (LiveCD atau media instalasi lain) ke sistem instalasi anda (yaitu partisi-partisi yang baru diciptakan). Proses chroot ini dilakukan dalam tiga langkah. Pertama, kita akan memindahkan root dari / (di media instalasi) ke /mnt/gentoo (di partisi anda) menggunakan perintah chroot. Lalu, kita akan menciptakan sebuah lingkungan baru menggunakan perintah env-update, yang akan menciptakan variabel-variabel lingkungan. Terakhir, kita akan me-load variabel-variabel tersebut menggunakan perintah source.
/mnt/gentoo# chroot /mnt/gentoo /bin/bash /# env-update * Caching service dependencies... /# source /etc/profile

Selamat! Anda sekarang berada di lingkungan Gentoo Linux anda. Tentu saja, ini masih jauh dari selesai, karena itu proses instalasi masih memiliki beberapa bagian lagi :-) Konfigurasi Variabel USE USE merupakan salah satu variabel yang paling mengagumkan yang disediakan oleh Gentoo untuk para penggunanya. Beberapa program dapat dikompilasi dengan atau tanpa dukungan tambahan terhadap beberapa hal. Sebagai contoh, beberapa program dapat dikompilasi dengan dukungan gtk, atau dengan dukungan qt. Program-program lainnya dapat dikompilasi dengan atau tanpa dukungan SSL. Beberapa program bahkan dapat dikompilasi dengan dukungan framebuffer (svgalib) sebagai ganti X11 (X-server). Kebanyakan distro linux mengkompilasi paket-paket mereka dengan dukungan sebanyak mungkin, sehingga meningkatkan ukuran program dan waktu yang diperlukan untuk menjalankan program tersebut, dan juga banyak sekali dependency yang diperlukan. Dengan Gentoo, anda dapat mendefenisikan opsi-opsi apa saja yang harus dikompilasi di sebuah paket. Di sinilah dimana variabel USE berperan penting. Di variabel USE, anda mendefenisikan keyword-keyword yang tertuju ke opsi kompilasi. Sebagai contoh, ssl akan mengkompilasi dukungan ssl ke program yang mendukungnya. -X akan menonaktifkan dukungan X-server (perhatikan tanda minus di depannya). gnome gtk kde -qt akan mengkompilasi program-program anda dengan dukungan gnome (dan gtk), tanpa dukungan kde (dan qt), sehingga sistem anda akan lebih ramping untuk GNOME. Setting-setting USE default disimpan di file /etc/make.profile/make.defaults. Apa yang anda simpan di file /etc/make.conf dikalkulasi terhadap setting default. Jika anda menambahkan sebuah keyword ke setting USE, keyword tersebut akan ditambahkan ke daftar default. Jika

anda menghapus sebuah keyword dari setting USE (dengan menambahkan tanda minus di depannya), keyword tersebut akan dihapus dari daftar default (tentu saja, jika sebelumnya keyword tersebut berada di daftar default). Jangan pernah mengubah sesuatu di dalam direktori /etc/make.profile; isi direktori tersebut ditimpa setiap kali anda mengupdate Portage! Deskripsi variabel USE yang lengkap dapat ditemukan di bagian dua Buku Panduan Gentoo, deskripsi lengkap tentang flag-flag USE yang tersedia dapat ditemukan di sistem anda di file /usr/portage/profiles/use.desc.

7. Mengkonfigurasi Kernel
Pertama, anda perlu memilih zona waktu anda agar sistem anda tahu dimana dia berada. Carilah zona waktu anda di /usr/share/zoneinfo, lalu buat sebuah link simbolik (symlink) ke /etc/localtime menggunakan perintah ln:
# ls /usr/share/zoneinfo (Misalnya anda ingin menggunakan GMT) # ln -sf /usr/share/zoneinfo/GMT /etc/localtime

Inti/Jantung dari semua distro adalah kernel Linux. Kernel merupakan sebuah lapisan antara program-program pengguna dengan perangkat keras sistem. Gentoo menyediakan beberapa kernel kepada para penggunanya. Pilihlah kernel anda dan instal menggunakan perintah emerge.
# emerge gentoo-sources

Mengganti link simbolik kernel


# ln -s linux-2.4.26-gentoo-r6 linux

konfigurasi kernel secara manual tampaknya adalah prosedur tersulit yang harus dijalankan oleh setiap pengguna Linux. Memang benar -- setelah mengkonfigurasi beberapa kernel, anda tidak akan lagi ingat bahwa cara tersebut sulit ;-) Bagaimanapun juga, satu hal selalu benar: anda harus tahu sistem anda sebelum mulai mengkonfigurasi kernel secara manual. Kebanyakan informasi dapat ditemukan dengan melihat isi /proc/pci (atau menggunakan perintah lspci jika tersedia). Anda dapat juga menjalankan lsmod untuk melihat modul kernel apa saja yang digunakan oleh LiveCD (tampilan tersebut mungkin memberi gambaran bagi anda apa saja yang harus diaktifkan). Sekarang, masuklah ke direktori kernel anda dan jalankan make menuconfig. Perintah ini akan menjalankan menu konfigurasi berbasis ncurses.
# cd /usr/src/linux # make menuconfig

Pilih konfigurasi secukupnya exit dan save. 9

Kompilasi kernel
(Untuk kernel 2.4) # make dep ; make bzImage ; make modules make modules_install (Untuk kernel 2.6) # make && make modules_install

Instalasi kernel
# cp arch/i386/boot/bzImage /boot/kernel-2.4.26-gentoo-r6 # cp System.map /boot/System.map-2.4.26-gentoo-r6

7.d. Alternatif: Menggunakan genkernel Jika anda membaca bagian ini, berarti anda memilih untuk menggunakan skrip genkernel kami untuk mengkonfigurasi kernel bagi anda. Setelah source kernel anda terinstal, sekarang saatnya untuk mengkompilasi kernel anda menggunakan skrip genkernel kami untuk membangun sebuah kernel secara otomatis bagi anda. genkernel bekerja dengan mengkonfigurasi sebuah kernel yang hampir sama dengan cara kernel LiveCD kami dikonfigurasi. Hal ini berarti, jika anda menggunakan genkernel untuk membangun kernel anda, sistem anda akan secara umum mendeteksi semua perangkat keras anda pada saat boot, seperti yang dilakukan oleh Live CD kami. Karena genkernel tidak memerlukan konfigurasi kernel secara manual, cara ini merupakan cara yang ideal bagi para pengguna yang tidak terbiasa mengkompilasi kernel mereka sendiri. Sekarang, marilah kita lihat cara menggunakan genkernel. Pertama, emerge paket genkernel:
# emerge genkernel

Lalu, kompilasilah kernel anda dengan menjalankan perintah genkernel all. Perlu anda ketahui juga, karena genkernel mengkompilasi sebuah kernel yang mendukung hampir semua perangkat keras, kompilasi ini akan berjalan cukup lama! Catat juga, jika partisi boot anda tidak menggunakan ext2,ext3,vfat,ntfs serta reiserfs sebagai filesystemnya, anda mungkin perlu mengkonfigurasi kernel anda secara manual menggunakan perintah genkernel --menuconfig all dan tambahkan dukungan terhadap filesystem anda di kernel (bukan sebagai modul).
# genkernel --menuconfig all

Sekarang, mari kita jalankan satu langkah lagi untuk membuat sistem kita lebih persis dengan LiveCD -- mari emerge hotplug. Jika initrd melakukan otodeteksi perangkat keras yang diperlukan pada saat sistem anda boot, hotplug melakukan otodeteksi sisanya. Ketikkan perintah berikut untuk me-emerge dan mengaktifkan hotplug:
# emerge hotplug # rc-update add hotplug default

10

Instalasi Modul-Modul Tambahan Jika sesuai, anda sebaiknya me-emerge ebuild-build bagi perangkat-perangkat tambahan pada sistem anda. Berikut ini adalah daftar ebuild yang berhubungan dengan kernel yang dapat anda emerge: Ebuild Kegunaan Perintah emerge nvidiakernel emerge nforce-net emerge nforceaudio emerge e100 emerge e1000

nvidia-kernel Grafis NVIDIA yang diakselerasi bagi xorg-x11 nforce-net Kontroler ethernet on-board pada mobo-mobo NVIDIA NForce(2)

nforce-audio Suara on-board pada mobo-mobo NVIDIA NForce(2) e100 e1000 emu10k1 ati-drivers ati-driversextra

Adaptor Ethernet Intel e100 Adaptor Ethernet Gigabit Intel e1000 Dukungan Creative Sound Blaster Live!/Audigy (hanya emerge emu10k1 untuk kernel 2.4) Grafis ATI Radeon 8500+/FireGL yang diakselerasi bagi emerge ati-drivers xorg-x11 emerge ati-driversUtilitas-utilitas Grafis ATI extra

Perlu anda waspadai, beberapa ebuild-ebuild ini mungkin memerlukan dependensi yang besar. Untuk memeriksa paket-paket apa saja yang akan diinstal ketika me-emerge sebuah ebuild, gunakan perintah emerge --pretend. Misalnya, untuk paket samba
# emerge --pretend samba Atau bisa juga # emerge search samba

Jika anda tidak menyukai paket-paket yang akan diinstal, gunakan perintah emerge --pretend --verbose untuk memeriksa flag-flag USE apa saja yang diperiksa ketika menghitung dependensi:
# emerge --pretend --verbose emu10k1 ... [ebuild N ] media-sound/aumix-2.8

+gpm +nls +gtk +gnome +alsa -gtk2

Konfigurasi Modul-Modul Anda harus menuliskan semua modul-modul yang ingin anda load secara otomatis di file /etc/modules.autoload.d/kernel-2.4 (atau kernel-2.6). Anda dapat juga menambahkan opsiopsi tambahan pada modul-modul tersebut jika anda mau.
(Contoh untuk kernel-kernel 2.4) # nano -w /etc/modules.autoload.d/kernel-2.4

Sekarang jalankan modules-update untuk menuliskan perubahan anda ke file /etc/modules.conf:

11

# modules-update

Lanjutkan proses instalasi dengan bab Mengkonfigurasi Sistem

8. Mengkonfigurasi Sistem
8.a. Informasi Filesystem /etc/fstab menggunakan sebuah sintaks khusus. Setiap baris memiliki 6 bagian, yang dipisahkan oleh spasi (spasi, tab, atau keduanya). Setiap bagian memiliki artinya tersendiri:

Bagian pertama menunjukkan partisi yang dijelaskan (path ke file device tersebut) Bagian ke dua menunjukkan mountpoin tempat partisi tersebut di-mount Bagian ke tiga menunjukkan filesystem yang digunakan oleh partisi tersebut Bagian ke empat menunjukkan opsi mount yang digunakan oleh mount ketika memount partisi tersebut. Karena setiap filesystem memiliki opsi-opsi mount mereka tersendiri, anda dianjurkan untuk membaca manual mount (man mount) untuk mendapatkan daftar yang lengkap. Opsi-opsi mount dipisahkan oleh koma. Bagian ke lima digunakan oleh dump untuk menentukan apakah sebuah partisi perlu di-dump atau tidak. Pada umumnya, anda dapat mengisi bagian ini dengan 0 (nol) Bagian ke enam digunakan oleh fsck untuk menentukan urutan dari filesystem yang akan diperiksa jika sistem tidak di shut down dengan benar. Filesystem root seharusnya berisi angka 1 dan sisanya berisi angka 2 (atau 0 jika pemeriksaan filesystem tidak diperlukan)

# nano -w /etc/fstab

Sebuah contoh baris /boot di /etc/fstab


/dev/hda1 / reiserfs defaults none /proc proc defaults none /dev/shm tmpfs defaults /dev/cdroms/cdrom0 /mnt/cdrom auto 1 2 0 0 0 0 noauto,user

0 0

8.b. Mengkonfigurasi Jaringan Salah satu pilihan yang harus dibuat oleh pengguna adalah memberi nama PC mereka. Hal ini tampaknya mudah, tetapi banyak pengguna menemui kesulitan untuk mencari sebuah nama yang tepat bagi komputer mereka. Untuk mempersingkat waktu, nama yang anda pilih dapat diubah-ubah nantinya. Anda dapat saja memberi nama sistem anda cnc dan nama domainnya pinguin. Kita akan menggunakan nama tersebut di contoh berikutnya. Pertama, kita akan mengeset hostname: Set hostname #echo cnc > /etc/hostname Set nama domain #echo penguin > /etc/dnsdomainname Sekarang tambahkan skrip domainname ke runlevel default:
# rc-update add domainname default

12

Pertama, bukalah file /etc/conf.d/net menggunakan editor favorit anda (nano di contoh ini):
# nano -w /etc/conf.d/net

Variabel pertama yang akan anda temui adalah iface_eth0. Variabel tersebut menggunakan sintaks berikut:
iface_eth0="<alamat ip anda> broadcast <alamat broadcast anda> netmask <netmask anda>"

Sekarang simpanlah konfigurasi tersebut dan keluar untuk melanjutkan.


# rc-update add net.eth0 default

Sekarang anda perlu menginformasikan Linux tentang jaringan anda. Ini didefenisikan di file /etc/hosts dan membantu dalam resolusi hostname ke alamat IP dari host yang tidak dapat diresolusi oleh nameserver anda.
127.0.0.1 192.168.0.5 192.168.0.6 192.168.0.7 localhost cnc.pinguin earth sun.homenetwork sun gentoo.homenetwork net

Simpan dan keluarlah dari editor untuk melanjutkan

8.c. Informasi Sistem Pertama-tama, kita set password root


# passwd

Menambah user baru


#useradd g wheel d /home/cnc cnc #passwd cnc

9. Menginstal Utilitas-utilitas Sistem yang Diperlukan


Jika filesystem yang anda gunakan adalah reiserfs, maka anda perlu menginstall reiserfsprogs
#emerge k reiserfsprogs

Tabel berikut menjabarkan utilitas-utilitas yang perlu anda instal jika anda menggunakan filesystem tertentu: File System Utilitas Perintah Instalasi XFS xfsprogs emerge k xfsprogs ReiserFS reiserfsprogs emerge k reiserfsprogs JFS jfsutils emerge k jfsutils

13

10. Mengkonfigurasi Bootloader


Sekarang setelah kernel anda terkonfigurasi dan dikompilasi, serta file-file konfigurasi sistem yang penting telah diisi dengan benar, ini saatnya untuk menginstal sebuah program yang akan menjalankan kernel anda sewaktu anda menghidupkan komputer anda. Program tersebut adalah bootloader. Untux arsitektur x86, Gentoo Linux menyediakan GRUB dan LILO. Jika anda mengkonfigurasi kernel anda dengan dukungan framebuffer (atau anda menggunakan konfigurasi kernel default genkernel), anda harus menambahkan argumen vga ke file konfigurasi bootloader anda jika anda menginginkan dukungan framebuffer. Tabel berikut ini menjabarkan nilai-nilai vga yang tersedia yang dapat anda gunakan. Di contoh file konfigurasi ini, kita menggunakan 800x600 @ 16bpp, yaitu 788. 640x480 800x600 1024x768 1280x1024 771 773 775 8 bpp 769 788 791 794 16 bpp 785 789 792 795 32 bpp 786 10.b. Default: Menggunakan GRUB Untuk menginstal GRUB, pertama marilah kita emerge paketnya:
# emerge k grub # nano -w /boot/grub/grub.conf

# Daftar ke berapa yang diboot secara default. 0 adalah pertama, 1 adalah ke dua, dll. default 0 # Berapa detik GRUB harus menunggu sebelum daftar default diboot. timeout 30 splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux 2.4.26-r6 # Partisi dimana imej kernel (atau sistem operasi) berada root (hd0,1) kernel /kernel-2.4.26-gentoo-r6 root=/dev/hda1 # Tiga baris berikutnya hanya digunakan jika anda melakukan dualboot dengan sebuah sistem Windows. # Di contoh ini, Windows berada di partisi /dev/hda6. title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1

14

Menjalankan shell GRUB


# grub grub> root (hd0,0) berada) grub> setup (hd0) grub> quit (tuliskan di manakah partisi /boot anda (Instal GRUB di MBR) (Keluar dari GRUB)

10.c. Alternatif: Menggunakan LILO Install lilo


# emerge --usepkg lilo

Konfigurasi LILO Untuk mengkonfigurasi LILO, anda harus menciptakan file /etc/lilo.conf. Jalankan editor favorit anda (di panduan ini, kami menggunakan nano untuk konsistensi) dan ciptakan file tersebut.
boot=/dev/hda # Instal LILO di MBR prompt # Berikan pengguna kesempatan untuk memilih seksi lain timeout=50 # Tunggu 5 (lima) detik sebelum boot seksi default default=gentoo # Setelah waktu tunggu selesai, boot seksi "gentoo" # Hanya jika anda menggunakan framebuffer. Sebaliknya, hapuslah baris berikut: vga=788 # Setting framebuffer. Sesuaikan dengan kebutuhan anda # Untuk pengguna non-genkernel image=/boot/kernel-2.4.26-gentoo-r6 label=gentoo # Nama dari seksi ini read-only # Mulai dengan root yang hanya dapat dibaca (read-only). Jangan diubah! root=/dev/hda3 # Lokasi filesystem root # Untuk pengguna genkernel image=/boot/kernel-2.4.26-gentoo-r6 label=gentoo read-only root=/dev/ram0 append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3" initrd=/boot/initrd-2.4.26-gentoo-r6 # Dua baris berikutnya hanya digunakan jika anda dualboot dengan sistem WIndows. # Di contoh ini, Windows berada di partisi /dev/hda6. other=/dev/hda6 label=windows

Save dan exit serta jalankan perintah berikut


# /sbin/lilo

15

10.d. Reboot Sistem

I.2 SISTEM FILE ( Filesystem )


Filesystem adalah metoda metoda dan struktur struktur data yang digunakan operating system untuk memelihara file file pada sebuah disk atau partisi agar tetap pada tracknya. Saat ini Linux menggunakan filesystem ext3. Linux memiliki dukungan terhadap beberapa filesystem lain sehingga kita dapat menggunakan atau mengakses filesystem yang berbeda tanpa harus melakukan konversi filesystem terlebih dahulu. Berikut adalah beberapa tipe filesystem yang didukung oleh Linux. Minix, minix merupakan filesystem Linux pertama dan saat ini masih banyak digunakan untuk boot disk dan beberapa format disket. NTFS , NTFS adalah filesystem yang digunakan oleh windows NT dan keluarganya. Redhat 8 keatas ( Pysche & Shrike ) secara default dapat membaca filesystem ini. ext & ext2, filesystem ini merupakan filesystem lama Linux sebelum menggunakan ext3. Secara default file yang ada pada filesystem ini dapat dibaca dan ditulisi, tapi tidak bisa dieksekusi. ISO9660, filesystem ini digunakan oleh cdrom FAT, FAT32, Jika anda memiliki partisi tipe ini anda tidak perlu khawatir, karena linux dapat membaca dan menulis pada partisi ini. I.3 ORGANISASI DIREKTORI dan FILE Secara umum struktur direktori Linux adalah sbb :

16

Penjelasan : Unix dan keluarganya menggunakan system direktori seperti tree ( pohon ) yang dibalik, sehingga direktori tertinggi adalah root ( akar ). / => Direktori root, Merupakan root ( akar ) dari seluruh direktori /bin ,berisi filefile utilitas yang bersifat executable ( perintah-perintah ) /sbin ,berisi file-file executable yang hanya dapat digunakan oleh user root /etc ,berisi file-file konfigurasi yang spesifik terhadap system yang bersangkutan /boot ,berisi segala sesuatu yang berkaitan dengan proses booting kecuali configuration files dan map installer /home ,merupakan induk dari direktori user /mnt ,berisi mounting point /lib ,berisi file library dan kernel module /proc ,berisi parameterparameter kernel dan informasi runtime system /tmp ,berisi file-file yang bersifat temporary /var ,berisi file-file yang menampung varying content /usr ,berisi file-file yang berhubungan langsung dengan user /root ,adalah home directory bagi user root

I.4 SYSTEM X WINDOW


Ada beberapa istilah yang perlu diketahui dalam mengenal X Window : Screen, menunjuk kepada keseluruhan desktop atau secara teknis berarti tampilan layar utama yang X lihat. Anda dapat mempunyai lebih dari 1 buah X server, bahkan sebenarnya anda dapat mempunyai lebih dari satu komputer menjalankan 1 buah X 17

server, tetapi hal ini tidak akan dibahas pada pelatihan first series mengingat topik pembahasannya yang cukup kompleks. Root Window, adalah latar belakang dari screen anda. Tidak mempunyai karakteristik seperti window lainnya, tetapi lebih ke sebuah tempat dimana anda menjalankan aplikasi atau menyimpan gambar atau hanya memberi warna padanya. Window Manager, adalah interface utama antara X Window System dengan user. Tanpa window manager, system akan lebih sulit digunakan dan tidak akan terlalu produktif. Window Manager menyediakan fungsi-fungsi pengontrolan dan kostumasi border, menu, icon, virtual desktop, button dan toolbar dari X Window. Pointer, adalah panah atau indicator penunjuk yang merepresentasikan lokasi mouse atau pointing device lainnya, yang berhubungan erat dengan screen. Window, adalah frame dimana semua aplikasi berjalan. Frame ini mempunyai property yang dikontrol oleh window manager. Active Window, adalah window yang sedang digunakan, window ini disebut mempunyai focus dapat menerima input dari console atau pointing device. Menu dan icon berlaku sama seperti pada window system lainnya. Window yang terdiri hanya text saja disebut terminal emulator.

I.5 DESKTOP
KDE Desktop Environment adalah hasil sebuah proyek untuk menciptakan desktop environment yang solid dan terintegrasi, bukan hanya sebuah window manager. Utiliti KDE sangat lengkap hingga seorang newbie dapat saja mengatakan bahwa KDE adalah sebuah Operating System. Semua tool untuk bekerja dalam sistem yang window-based. GNOME adalah proyek lainnya yang sama dengan KDE namun berbeda dalam system dan kemampuan. GNOME tidak saja merupakan sebuah window manager, tetapi system desktop yang interoperable antar komputer dan platform. Kemampuan ini diperoleh karena GNOME menggunakan Common Object Resource Broker Architecture (CORBA). GNOME lebih diterima di dunia Open Source karena GNOME dibuat dengan Gtk+ toolkit yang gratis dan Open Source berdasarkan GNU License. Menjalankan X-Window Mudah sekali, ketikkan perintah : [root@pelatihan root]#startx Pada console Linux, maka anda akan dibawa memasuki GUI based desktop environment GNOME sebagai default. Mengganti X Window System dengan KDE tidak sulit, lakukan langkah-langkah berikut : Ketikkan perintah : [root@pelatihan root]#switchdesk Pilih KDE [root@pelatihan root]#init 6 [root@pelatihan root]#startx

1.6 REPRESENTASI DEVICE

18

Linux memiliki cara yang unik dalam merepresentasikan suatu device, yaitu dengan menganggap device tersebut adalah file.Berikut adalah beberapa device yang dapat kita temui : Nama Jenis device /dev/hda Harddisk IDE pertama /dev/hdb Harddisk IDE kedua /dev/fd0 Floppy pertama /dev/fd1 Floppy kedua /dev/cdrom cdrom /dev/sda Harddisk SCSI pertama /dev/sdb Harddisk SCSI kedua /dev/aztcd cdrom aztech CDA268-01 /dev/cdsony cdrom sony CDU 31a /dev/mouse mouse /dev/logimouse mouse Logitech

LINUX TRAINING FIRST SERIES

19

pinguin.stttelkom.ac.id

MODUL II BASIC COMMAND, SHELL PROGRAMMING & BASH SCRIPTING

20

Dalam sistem Linux beberapa kategori file, yaitu : File teks, dalam format standar ASCII. File data, dalam format non-ASCII (berupa karakter khusus). File teks perintah, dalam format ASCII tetapi merupakan sekumpulan perintah otomatis (berupa script). File perintah (executable), dalam format binary. Direktori, merupakan kumpulan dari file-file bahkan direktori lainnya. Tanda . Menunjuk kepada direktory yang bersangkutan, .. menunjuk kepada direktori di atasnya. Hard Links, dapat dikatakan bukan merupakan tipe suatu file, akan tetapi nama lain dari suatu file tertentu. Hard links pada dasarnya merupakan alias dari file yang asli. Symbolic Links, menghubungkan pada suatu file dengan menunjuk pada nama file tersebut. Isi dari file dengan tipe ini adalah pathname dari file yang ditunjuk. Device driver khusus, terbagi menjadi dua yaitu character device dan block device.

II.1 PERINTAH-PERINTAH DASAR LINUX


Untuk berinteraksi dengan sistem, Linux menyediakan dua alternatif, yaitu CLI ( Command Line Interface ) dan GUI ( Graphical User Interface ). CLI menyediakan interfacing ke user dalam bertuk text, dimana user menginputkan sejumlah text tertentu untuk mendapatkan output yang diinginkan. Sedangkan GUI merupakan alternatif interfacing dalam bentuk grafis dan dilengkapi dengan petunjuk penggunaannya. Penggunaan CLI atau GUI ini terserah pada selera dan kebutuhan anda. Tetapi untuk tahap awal agar anda memiliki pemahaman yang baik tentang linux, maka pada pelatihan ini digunakan CLI. Sedangkan untuk penggunaan GUI secara mendalam akan dibahas pada pelatihan Linux SOHO yang akan menitik-beratkan pada penggunaan aplikasi office untuk rumah dan perkantoran pada linux. Pada interface CLI Linux menggunakan shell. Shell merupakan sebuah command interpreter yang berfungsi untuk menterjemahkan setiap perintah yang anda ketikkan. Shell banyak jenisnya, tetapi shell yang paling banyak disupport oleh distro linux dan yang paling banyak digunakan adalah bash. Anda dapat mengecek jenis shell yang anda gunakan dengan mengetik: $env | grep SHELL SHELL=/bin/bash ini artinya anda menggunakan bash Shell Prompt Sebelum mencoba perintah-perintah dasar pada Linux, ada baiknya kita mengenal shell prompt terlebih dahulu. Contoh : [pinguin@CnC pelatihan]$ Pinguin menunjukkan user aktif pada shell tersebut CnC menunjukkan nama mesin ( host ) dari bersangkutan Pelatihan menunjukkan current direktori

yang

21

$ berarti pinguin adalah user biasa # menunjukkan user root

Format umum perintah : Perintah [option] [argumen] Bisa merupakan input dan atau output Pilihan untuk mengatur hasil yang diinginkan Jenis perintah Berikut adalah beberapa perintah dasar yang dirasa perlu untuk diketahui : ls Perintah ini sama halnya seperti perintah dir pada MS-DOS yang sudah kita kenal sebelumnya, yang berfungsi untuk menampilkan isi dari suatu direktori beserta atributatribut file-nya. Contoh : [root@pelatihan root]#ls a /pelatihan cd Perintah ini berfungsi untuk berpindah dari satu direktori ke direktori yang lainnya. Contoh : [root@pelatihan root]#cd /pelatihan mkdir Perintah ini sama halnya seperti perintah md pada MS-DOS, yang berfungsi untuk membuat sebuah direktori dalam direktori yang sedang aktif. Contoh : [root@pelatihan root]#mkdir /pelatihan rm dan rmdir Perintah rm digunakan untuk menghapus file, sedangkan rmdir menghapus direktori. Contoh : [root@pelatihan root]#rm [nama.file] [root@pelatihan root]#rmdir [nama.direktori] find Perintah ini berfungsi untuk mencari file atau direktori. Contoh : [root@pelatihan root]#find direktori_pencarian nama_file_dicari print locate Fungsinya kurang lebih sama dengan perintah find, bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb) yang dapat di-update menggunakan perintah updatedb. Contoh :

22

[root@pelatihan root]#locate [sesuatu] whereis Berfungsi untuk mencari posisi direktori dari suatu file Contoh : [root@pelatihan root]#whereis nama.file which Berfungsi untuk mencari direktori dari suatu perintah Contoh : [root@pelatihan root]#which [nama.perintah] tail Berfungsi untuk menampilkan x baris terakhir dari suatu file Contoh : [root@pelatihan root]#tail 10 [nama.file] pwd Berfungsi untuk menampilkan posisi current direktori Contoh : [root@pelatihan root]#pwd shutdown Berfungsi untuk merestart dan men-shutdown komputer Contoh : [root@pelatihan root]#shutdown r now ( -r = restart ) [root@pelatihan root]#shutdown h now ( -h = halt ) poweroff Berbeda dengan shutdown, selain man-shutdown, poweroff juga mematikkan power komputer secara otomatis. Contoh : [root@pelatihan root]#poweroff df Berfungsi untuk menampilkan informasi tentang pemakaian partisi yang dimounting Contoh : [root@pelatihan root]#df -h touch Berfungsi untuk membuat file berukuran 0 KB Contoh : [root@pelatihan root]#touch coba.coba grep Perintah ini digunakan untuk pencarian data di dalam file, penggunakan grep akan lebih mengefisienkan waktu dibandingkan harus membaca file satu per satu. 23

Contoh : [root@pelatihan root]#grep sesuatu nama.file cat Perintah cat ini akan menampilkan isi dari suatu file ke standart output (stdout). Contoh : [root@pelatihan root]#cat [nama.file] more Sama seperti cat, tapi tampilan akan berhenti setiap satu layar. Contoh : [root@pelatihan root]#more [nama.file] cp Perintah ini mirip dengan perintah copy pada MS-DOS, yang berfungsi untuk mengkopi suatu file ke tempat tertentu. Contoh : [root@pelatihan root]#cp [sumber] [tujuan] mv Perintah ini mirip dengan perintah move pada MS-DOS, yang berfungsi untuk memindahkan suatu file ke tempat lain atau bisa juga untuk mengganti nama file. Contoh : [root@pelatihan root]#mv [file1] [file2]

tar Berfungsi untuk mengumpulkan banyak file atau direktori menjadi satu kesatuan. Perintah ini tidak melakukan kompresi pada outputnya. Contoh : [root@pelatihan root]#tar nama.tar [file1] [file2] gzip dan gunzip Perintah untuk mengkompres dan men-dekompres sebuah file. Contoh : [root@pelatihan root]#gzip nama.gz file [root@pelatihan root]#gunzip nama.gz bzip2 dan bunzip2 Perintah ini tergolong baru diimplementasikan. Dari pengamatan penulis, bzip2 mampu mengkompres file lebih baik dari gzip. Contoh : [root@pelatihan root]#bzip2 nama.bz2 file [root@pelatihan root]#bunzip2 nama.bz2

24

tar + gzip Anda dapat menggabungkan perintah tar dan gzip Contoh :
[root@pelatihan root]#tar czvf nama.tar.gz file1 file2 [root@pelatihan root]#tar xzvf nama.tar.gz coba/

tar + bzip2 Anda tentu bisa menggabungkan dua perintah ini Contoh :
[root@pelatihan root]#tar cjvf nama.tar.bz2 file1 file2 [root@pelatihan root]#tar xjvf nama.tar.bz2 coba/

rdev Berfungsi untuk menampilkan posisi root partition Contoh : [root@pelatihan root]#rdev

II.2 REDIRECTION dan PIPE


Redirection Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input Redirection). Komponen-komponen dari redirection adalah < , > , << , >> Output Redirection Untuk me-redirect standar output, kita gunakan simbol >. Penempatan tanda > setelah perintah cat akan mengarahkan/direct output ke nama file yang mengikuti tanda >. Contoh : [root@pelatihan root]#cat > nama.file Percobaan ^D Melihat isi file nama.file [root@pelatihan root]#cat latih Percobaan Menambah isi file [root@pelatihan root]#cat >> [nama.file] tambahan ^D Berbeda dengan >, >> berfungsi menambahkan text ke file yang bersangkutan Lihat kembali isi dari file latih [root@pelatihan root]#cat [nama.file] Percobaan tambahan Anda juga dapat menggunakan output dari suatu perintah 25

[root@pelatihan root]#find /* > file1 Input Redirection Untuk me-redirect standar input, kita gunakan simbol redirect <. Artinya kita meminta shell untuk membaca file sebagai inputan bagi command/perintah. Prinsip penggunaannya sama seperti output redirection. Contoh : [root@pelatihan root]#mail root < latih maka dengan kata lain, isi file latih tadi akan menjadi inputan bagi perintah mail. Dengan begitu sekarang kita memiliki mail dengan isi berupa file latih tadi. Pipeline Pipeline ( | ) merupakan fasilitas di shell UNIX yang berfungsi untuk memberikan input suatu proses dari output proses yang lain. Contoh : [root@pelatihan root]#find * maka akan ditampilkan keseluruhan pencarian, dan setelah kita gunakan pipeline : [root@pelatihan root]#find * | grep latih maka hanya akan ditampilkan hasil pencarian yang menemukan kata latih. Dengan kata lain, output dari perintah find akan menjadi input dari perintah grep yang kemudian hanya mengambil kata latih dari output find.

II.3 EDITOR
Seperti juga pada Ms-Windows, untuk Linux maupun semua varian UNIX terdapat editor file yang dinamakan vi atau vim (vi improved with syntax color highlighting). Selain vi terdapat program editor lain yang lebih mudah pemakaiannya seperti pico, joe, jove, mc (midnight commander), dll. Pada bab ini, akan dikenalkan bagaimana menggunakan editor vi, joe, pico dan mc. 1. Vi Vi merupakan editor yang paling terkenal di dunia UNIX. vi adalah kepanjangan dari Visual editor. vi mendukung penggunaan warna untuk menandakan kode program dan juga penanda teks seperti penggunaan huruf normal, tebal maupun cetak miring. Untuk menjalankan perintah vi, kita gunakan sintaks sebagai berikut : [root@cnc root]#vi [nama.file] Editor vi mempunyai tiga mode : Input Mode, dengan mengetikkan perintah-perintah yang spesifik seperti a i u Contoh : terlebih dahulu buatlah file dengan mengetik vi nama.file tekan i sehingga muncul tulisan INSERT pada bagian bawah layar. Ketikkan sesuatu pada layar. tekan esc lalu tekan u, u digunakan untuk mengundo suatu perubahan setelah save terakhir. Ketikan lagi sesuatu.

26

tekan Esc lalu ketikkan de, maka satu baris setelah posisi kursor akan didelete.

Command Mode, untuk menggunakannya tekan Esc terlebih dahulu. Contoh : tekan Esc, :wq, enter, digunakan untuk menyimpan dan keluar dari editor tekan Esc, :q, digunakan untuk keluar dari dari vi tanpa melakukan editing tekan Esc, :q!, berfungsi untuk keluar tanpa menyimpan dari vi tekan Esc, :w, digunakan jika kita ingin men-save tanpa keluar dari vi Line Mode, suatu keadaan setelah ada proses input : ? / ! Contoh : tekan Esc lalu i, ketik kata coba tekan Esc lalu /coba, perintah ini akan menyebabkan kursor men-select kata bersangkutan.

Selain tiga mode ini anda dapat juga memadukan vi dengan interface grafis Linux, cobalah dan rasakan bedanya. 2. Pico Pico adalah teks editor jenis lain yang berdasarkan pada program compose email pine. Navigasi untuk perintahnya diletakkan di bawah dari layar. Semua karakter yang diketik langsung disisipkan ke dalam teks. Perintah untuk menjalankan editor pico adalah sbb : [root@cnc root]#pico [nama.file]

Tombol ^G ^W ^R ^O ^X ^K ^C ^U

Fungsi Help Mencari kata Membuka file Menyimpan file Keluar dari Pico Menghapus satu baris Menampilkan posisi kursor Undo untuk perintah menghapus

3. Joe Perintah-perintah dalam editor joe saat ini mirip dangan perintah-perintah pada WordStar. Jika kita telah terbiasa dengan perintah pada WordStar, maka tidak akan kesulitan dalam menggunakannya. Untuk menjalankan Joe ketikkan perintah berikut : joe nama.file

27

Tombol ^C ^KD ^KX ^KB ^KK ^KC ^KY ^KM ^Y ^X ^Z ^KU ^KV ^A ^E ^U ^V

Fungsi Keluar tanpa menyimpan Simpan file dan kembali ke menu edit Simpan file dan keluar Memberikan tanda awal untuk memblok Memberikan tanda akhir untuk memblok Mengkopi daerah yang telah diblok Menghapus daerah yang telah diblok Memindahkan daerah yang telah diblok Menghapus satu baris Memindahkan kursor ke kata berikutnya Memindahkan kursor ke kata sebelumnya Memindahkan kursor ke tempat paling awal file Memindahkan kursor ke tempat paling akhir file Memindahkan kursor ke awal baris Memindahkan kursor ke akhir baris Menggulung layar ke layar sebelumnya Menggulung layar ke layar berikutnya

4. Mc MC atau Midnight Commander merupakan aplikasi yang sangat berguna. Kemampuan mc sebagai editor hanya salah satu dari kemampuan-kemampuan lainnya. Syntax : [root@cnc root]#$ mc e nama.file atau mc kemudian insert file yang akan diedit lalu tekan F4 untuk mengedit. Perintah-perintah yang dapat digunakan dapat dilihat berikut ini :

Masing-masing editor ini mempunyai kelebihan dan kekurangan. Contohnya pada editor pico yang sangat baik berjalan di terminal apapun, termasuk pada terminal bila kita sedang telnet dengan menggunakan client dari windows. Sedangkan vi digunakan karena banyak feature-feature yang sangat menarik sehingga membantu kita untuk lebih cepat dalam mengedit file. Editor joe dan mc, digunakan karena sederhana dan tampilannya yang menarik.

II.4 MENGAKSES DISK

28

Berbeda dengan Windows yang mengenal mekanisme drive ( A, B ,C ,dst ), Linux memiliki mekanisme sendiri yaitu mounting. Mekanisme ini deperlukan agar disk yang anda miliki, seperti floppy, cdrom dan harddisk dapat diakses. 1. Manual Gunakan cara ini untuk melakukan mounting yang bersifat insidentil. Syntack : root@pelatihan root]#mount [device] [directory] penjelasan : [device] : adalah representasi disk yang anda miliki [directory] : direktori tempat mounting point Contoh : root@pelatihan root]#mount /dev/cdrom /mnt/cdrom Perintah ini akan memounting cdrom ke /mnt/cdrom root@pelatihan root]#mount /dev/fd0 /mnt/floppy Perintah ini akan memounting floppy ke /mnt/floppy root@pelatihan root]#mount /dev/hda5 /mnt/drive_D Perhatikan /dev/hda5 merepresentasikan disk anda, yaitu harddisk. hd berarti bahwa anda menggunakan hasrddisk IDE, jika anda menggunakan SCSI, maka gunakan sd . huruf a pada hda menunjukkan ini adalah harddisk pertama ( dimulai dari a, b, c, dst ) angka 5 pada hda5 menunjukkan bahwa ini adalah partisi ke lima ( dimulai dari 1, 2, 3, dst ) Buatlah direktory /mnt/drive_D terlebih dahulu 2. Otomatis Gunakan cara ini jika anda menginginkan disk tersebut secara otomatis di mounting pada saat booting. Edit file /etc/fstab root@pelatihan root]#vi /etc/fstab Format isinya : [device] [direktori] [fstype] [option] [dump] [fsck] [fstype] : Untuk menentukan tipe dari filesystem yang akan di mount. Set = auto jika agar ditentukan secara otomatis. [option] : digunakan untuk memberikan advanced setting terhadap suatu meounting. Contoh aplikasinya adalah quota dan setiing keamanan. [dump] : digunakan agar mounting yang anda buat dapat digunakan oleh dump untuk fasilitas backup data. Set = 1 jika anda menginginkannya dan = 0 jika tidak [fsck] : digunakan agar mounting yang anda buat diperiksa oleh program fsck pada saat reboot. jika anda menginginkannya set = 1 untuk filesystem / (root) dan 2 untuk lainnya. Jika tidak set = 0. Contoh :
/dev/hda5 /mnt/windows auto defaults 0 2

29

II.5 PEMROGRAMAN SHELL ( BASH SCRIPTING )


1. Pendahuluan Apa itu shell ? shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi). Umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintahperintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file program (eksternal command). Selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program. 2. Macam-macam shell Tidak seperti sistem operasi lain yang hanya menyediakan satu atau dua shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain : Bourne shell (sh) C shell (csh) Korn shell (ksh) Bourne again shell (bash), dsb Masing masing shell mempunyai kelebihan dan kekurangan tersendiri yang lebih didasarkan kepada kebutuhan pemakai yang makin hari makin meningkat. Untuk pelatihan ini digunakan bash shell dari GNU, yang merupakan pengembangan dari Bourne Shell dan mengambil beberapa feature dari C shell serta Korn shell. Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan. 3. Pemrograman Shell Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal ataupun eksternal) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan pembuatannya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan I/O, menyeleksi kondisi, looping, membuat fungsi, dsb adalah proses-proses yang umumnya dilakukan oleh suatu bahasa pemrograman, jadi dengan shell di linux kita dapat membuat program seperi halnya bahasa pemrograman. Pemrograman shell unix atau linux mempunyai istilah tersendiri, yaitu script shell. Sebelum memulai balajar shell programing terlebih dahulu anda harus memantapkan pemahaman mengenai perintah-perintah dasar yang telah diberikan. Simple bash script Langkah awal sebaiknya periksa dulu shell aktif anda, gunakan perintah ps (report proses status) [root@pelatihan root]#ps PID TTY TIME CMD 219 tty1 00:00:00 bash

30

301

tty1

00:00:00

ps

bash adalah shell aktif di system saya, jika di sistem anda berbeda misalnya csh atau ksh ubahlah dengan perintah change shell [root@pelatihan root]# chsh Password: New shell [/bin/csh]:/bin/bash Shell changed dengan atau mengetikkan bash [root@pelatihan root]# bash sekarang coba anda ketikkan perintah dibawah ini pada prompt shell echo Script shell pertamaku di linux
[root@pelatihan root]# echo Script shell pertamaku di linux

Script shell pertamaku di linux String yang diapit tanda kutip ganda (double quoted) akan ditampilkan pada layar anda, echo adalah statement (perintah) built-in bash yang berfungsi menampilkan informasi ke standard output yang defaultnya adalah layar. jika diinginkan mengulangi proses tersebut, anda akan mengetikkan kembali perintah tadi, tapi dengan fasilitas history cukup menggunakan tombol panah kita sudah dapat mengulangi perintah tersebut, bagaimana jika berupa kumpulan perintah yang cukup banyak, tentunya dengan fasilitas hirtory kita akan kerepotan juga mengulangi perintah yang diinginkan apalagi jika selang beberapa waktu mungkin perintah-perintah tadi sudah tertimpa oleh perintah lain karena history mempunyai kapasitas penyimpanan yang ditentukan. untuk itulah sebaiknya perintah-perintah tsb disimpan ke sebuah file yang dapat kita panggil kapanpun diinginkan. Coba ikuti langkah - langkah berikut: Masuk ke editor anda, apakah memakai vi,pico,emacs,dsb... ketikkan perintah berikut: #!/bin/bash echo Hello, apa khabar simpan dengan nama file tes ubah permission file tes menggunakan chmod [root@pelatihan root]# chmod 755 tes jalankan [root@pelatihan root]# ./tes Hello, apa khabar Environment Variable Variabel lingkungan yang digunakan khusus oleh shell atau system linux kita untuk proses kerja system seperti variabel PS1, PS2, HOME, PATH, USER, SHELL,dsb...jika digunakan akan berdampak pada system, misalkan variabel PS1 yang digunakan untuk mengeset prompt shell pertama yaitu prompt tempat anda mengetikkan perintah - perintah shell (defaultnya \s-\v\$), PS2 untuk prompt pelengkap perintah, prompt ini akan ditampilkan jika perintah yang dimasukkan dianggap belum lengkap oleh shell (defaultnya >). anda dapat mengeset PS1 dan PS2 seperti berikut. 31

Simpan dahulu isi PS1 asli sistem anda, sehingga nanti dapat dengan mudah dikembalikan [root@pelatihan root]# PS1LAMA=$PS1 Sekarang masukkan string yang diinginkan pada variabel PS1 [root@pelatihan root]# PS1=Hi ini Promptku! Hi ini Promptku!PS2=Lengkapi dong ? Maka prompt pertama dan kedua akan berubah, untuk mengembalikan PS1 anda ke prompt semula ketikkan perintah [root@pelatihan root]# PS1=$PS1LAMA Jika anda ingin mengkonfigurasi prompt shell, bash telah menyediakan beberapa backslash karakter diantaranya adalah: \a \d \e \H \n \w \t dll ASCII bell character (07) date dengan format Weekday Month Date (misalnya Tue May 26) ASCII escape character (033) hostname (namahost) newline (karakter baru) Direktory aktif time dalam 24 jam dengan format HH:MM:SS man bash:-)

Contoh pemakaiannya: [root@pelatihan root]# PS1=[\t][\u@\h:\w]\$ agar prompt shell hasil konfigurasi anda dapat tetap berlaku (permanen) sisipkan pada file .bashrc atau .profile Positional Parameter Parameter posisi yaitu variabel yang digunakan shell untuk menampung argumen yang diberikan terhadap shell baik berupa argumen waktu sebuah file dijalankan atau argumen yang dikirim ke subrutin. variabel yang dimaksud adalah 1,2,3,dst..lebih jelasnya lihat contoh script berikut : #!/bin/bash #argumen1 echo $1 adalah salah satu $2 populer di $3 Hasilnya [root@pelatihan root]#./argumen1 bash shell linux bash adalah salah satu shell populer di linux

User Defined Variable User Defined Variable adalah variabel yang didefinisikan sendiri oleh pembuat script sesuai dengan kebutuhannya. Ada beberapa hal yang perlu diperhatikan dalam mendefinisikan variabel, yaitu: Dimulai dengan huruf atau underscore

32

Hindari pemakaian spesial karakter seperti *,$,#,dll... Bash bersifat case sensitive, maksudnya membedakan huruf besar dan kecil, a berbeda dengan A, nama berbeda dengan Nama, NaMa,dsb.. Untuk mengeset nilai variabel gunakan operator assignment (pemberi nilai)=, contohnya : myos=linux #double-quoted nama=pinguin #single-quoted hasil=ls l; #back-quoted angka=12 Kalau anda perhatikan ada 3 tanda kutip yang kita gunakan untuk memberikan nilai string ke suatu variabel, adapun perbedaannya adalah: Dengan kutip ganda (double-quoted), bash mengizinkan kita untuk menyisipkan variabel di dalamnya. contohnya: #!/bin/bash nama=Pinguin kata=Hi $nama, apa khabarmu #menyisipkan variabel nama echo $kata; Hasilnya: Hi Pinguin, apa khabarmu Dengan kutip tunggal (single-quoted), akan ditampilkan apa adanya. contohnya: #!/bin/bash nama=Pinguin kata=Hi $nama, apa khabarmu #menyisipkan variabel nama echo $kata; Hasilnya: Hi $Piunguin, apa khabarmu Dengan kutip terbalik (double-quoted), bash menerjemahkan sebagai perintah yang akan dieksekusi, contohnya: #!/bin/bash hapus=clear; isi=ls l; #hasil dari perintah ls -l disimpan di variabel isi #hapus layar echo $hapus #ls -l echo $isi; Hasilnya: silahkan dicoba sendiri Output dengan printf #!/bin/bash #pr1 url=pelatihan.linux.edu; angka=32; printf Hi, Pake printf ala C \n \t \a di bash \n; printf My url %s \n %d decimal = %o octal \n $url $angka $angka; printf %d decimal dalam float = %.2f \n $angka $angka Hasilnya: [root@pelatihan root]# ./pr1 Hi, Pake printf ala C 33

di bash My url pelatihan.linux.edu 32 decimal = 40 octal 32 decimal dalam float = 32.00 untuk menggunakan format kontrol sertakan simbol %, bash akan mensubtitusikan format tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih dari satu variabel, \n \t \a adalah karakter sekuen lepas newline,tab, dan bell, Format control keterangan %d untuk format data integer %o octal %f float atau decimal %x Hexadecimal pada script diatas %.2f akan mencetak 2 angka dibelakang koma, defaultnya 6 angka, informasi lebih lanjut dapat dilihat via man printf

Input dengan read Setelah echo dan printf untuk proses output telah anda ketahui, sekarang kita menggunakan statement read yang cukup ampuh untuk membaca atau menerima masukan dari input standar syntax : $ read -opsi [nama_variabel...] berikut contoh scriptnya: #!/bin/bash #rd1 echo -n Nama anda : read nama; echo Hai $nama, apa khabarmu; echo Pesan dan kesan :; read echo kata $nama, $REPLY; Hasilnya: [root@pelatihan root]# ./rd1 Nama anda : Pinguin Hai Pinguin, apa khabarmu Pesan & kesan : pake linux pasti asyik-asyik aja kata Pinguin, pake linux pasti asyik-asyik aja Opsi Keterangan 34

-p -s -n -d

memungkinkan kita membuat prompt sebagai informasi pengisian membuat input yang dimasukkan tidak di echo ke layar (seperti layaknya password di linux) Menentukan banyak karakter yang diinput Menentukan karakter pembatas masukan

informasi secara lengkap lihat man bash

Pengaturan Warna Untuk pewarnaan tampilan di layar, Anda dapat menggunakan konstanta ANSI (salah satu badan nasional amerika yang mengurus standarisasi). Syntaxnya: \033[warnam Dimana: m menandakan setting color contohnya: [root@pelatihan root]# echo -e \033[31m HELLO\033[0m HELLO konstanta 31m adalah warna merah dan 0m untuk mengembalikan ke warna normal (none), tentunya konstanta warna ansi ini dapat dimasukkan ke variabel PS1 untuk mengatur tampilan prompt shell anda, contohnya: [root@pelatihan root]# PS1=\033[34m [root@pelatihan root]# Menggunakan utility tput untuk penempatan posisi kursor kita dapat pula mengatur penempatan posisi kursor di layar dengan memanfaatkan utility tput. Syntaxnya: tput cup baris kolom contohnya: #!/bin/bash clear tput cup 5 10 echo HELLO tput cup 6 10 echo PAKE TPUT jika dijalankan Anda akan mendapatkan string HELLO di koordinat baris 5 kolom 10, dan string PAKE TPUT dibaris 6 kolom 10. informasi selengkapnya tentang tput gunakan man tput, atau info tput

35

LINUX TRAINING FIRST SERIES

36

pinguin.stttelkom.ac.id

MODUL III USER and PROCESS MANAGEMENT


Administrasi sistem adalah mengenai mengontrol linux dan komputer secara komplet. Pada sebuah lingkungan perusahaan besar dimana setiap orang memiliki tugas

37

yang spesifik,komputer users diasumsikan memiliki pengetahuan yang cukup untuk menjalankan yang dibutuhkan oleh tugas mereka itu, memanajemen file-file, atau mungkin merancang sendiri desktop mereka. Users juga diharuskan memiliki kemampuan untuk memiliki kemampuan untuk menemukan informasi dari waktu ke waktu, sehingga mereka tidak benar-benar kepada administrator sistem. Administrator sistem mempunyai banyak tanggung jawab dan diasumsikan menjadi seperti pengatur bagi perusahaan atau departemen yang bersangkutan.Tanggung jawab dari administrator sistim antara lain seperti di bawah ini : Membuat dan mengatur account users. Menginstall dan mengkonfigurasi hardware dan software. Membuat dan memlihara backups. Mount devices. Mematikan sistem (apabila users tidak diberi wewenang ini). Log dan mengawasi perubahan pada sistem. Memastikan keamanan sistem. Melatih dan menjawab pertanyaan users.

III.1 MANAJEMEN USER dan GROUP


User pada sistem Linux dapat mengontrol akses ke file-file mereka dengan mengatur ijin-ijin untuk diri mereka sendiri, group mereka, dan orang lain di dunia ini. Sebagai contoh, user lia dari suatu divisi departemen membuat suatu dokumen dan menyimpannya. Ia memberikan ijin ke dirinya sendiri agar dapat membaca dan merubah file tersebut. Ia ingin orang lain yang bekerja satu departemen dengannya untuk membaca file tersebut tapi tidak merubahnya. Untuk orang lain di luar departemen tersebut ia putuskan tidak memiliki akses pada file tersebut, baik membaca maupun merubahnya. Itulah mengapa penting untuk mengadministrasi sistem pada Linux. Sistem administrator melakukan beberapa hal penting berkaitan dengan user dan group antara lain: Pendaftaran nama login Pembekuan nama login dan user Penghapusan nama login user Pembuatan grup baru Pengaturan direktori home Pengamanan file-file password Dalam sistem Linux, nama login dapat diberikan pada: Superuser atau root User biasa Contoh : Ita, Lia,Dhanang dll.

Aplikasi Contoh : Bind, Mysql, Squid,dll Device Contoh : lp Service Contoh : cron, ftp

38

Tujuan pemberian nama login adalah untuk memberikan identitas pada tiap entity agar dapat memiliki file, direktori dan proses sendiri. Bagi user biasa, nama login dapat digunakan untuk memasuki sebuah shell yang disiapkan sistem melalui proses otentifikasi password dan melakukan pekerjaan dalam sistem tersebut. 1. Pencatatan User dan Group Pada Linux RedHat , sebuah nama login valid terdapat dalam sistem apabila : Data-datanya terdapat pada file /etc/passwd Password yang telah dienkripsi berada pada file /etc/shadow Nama login berada pada group yang terdapat pada /etc/group Dengan menambah, merubah atau menghapus data-data pada file-file diatas maka anda telah dapat menambah, merubah atau menghapus user atau group. Namun untuk memudahkan pekerjaan, sistem Linux telah menyiapkan beberapa binary yang merupakan front-end dari file-file diatas, binary-binary tersebut antara lain: useradd, digunakan untuk menambahkan user ke sistem. userdel, digunakan untuk menghapus user ke sistem. usermod, digunakan untuk memodifikasi user dalam sistem. passwd, digunakan untuk memberikan & merubah password user. groupadd, digunakan untuk menambahkan group ke sistem. groupdel, digunakan untuk menghapus group dalam sistem. groupmod, digunakan untuk memodifikasi group dalam sistem. Untuk melihat info dari user, kita dapat mempergunakan perintah-perintah di bawah ini : who, menampilkan semua user yang sedang logged, console tempat mereka bekerja, serta tanggal serta jam mereka login. users, hanya menampilkan nama semua user yang sedang logged in w, hampir mirip dengan who hanya lebih detail lagi whoami, menampilkan id dari user yang menjalankan perintah itu sendiri groups, menampilkan group tempat kita berada id, menampilkan id dari semua user dan group last, menampilkan daftar dari user yang logged history, menampilkan daftar perintah yang dimasukkan. Untuk mengetahui daftar user, group, serta direktorinya kita dapat melihat isi daripada file /etc/passwd yang seperti terlihat di bawah ini : [root@pelatihan root]# vi /etc/passwd
root:x:0:0:root:root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:root: games:x:12:100:games:/usr/games:

39

gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/var/ftp: nobody:x:99:99:Nobody:/: xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false gdm:x:42:42::/home/gdm:/bin/bash rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/bin/false rpc:x:32:32:Portmapper RPC user:/:/bin/false mailnull:x:47:47::/var/spool/mqueue:/dev/null tamu:x:500:500:user1:/home/tamu:/bin/bash lia:x:501:501:user2:/home/lia:/bin/bash ita:x:502:502:user3:/home/ita:/bin/bash

sebagai contoh, kita lihat empat baris terakhir dari daftar di atas yang menunjukkan user biasa yaitu : tamu:x:500:500:user1:/home/tamu:/bin/bash lia:x:501:501:user2:/home/lia:/bin/bash ita:x:502:502:user3:/home/ita:/bin/bash cnc:x:503:503:user4:/home/cnc:/bin/bash Dari empat baris terakhir tersebut kita dapat mengetahui data-data dari user yang bersangkutan. Sebagai contoh kita lihat data-data user lia : lia : nama login user tersebut x : password yang dienkripsi, disimpan di /etc/shadow 501 : nomor UID (User ID) 501 : nomor GID (Group ID) user2 : komentar atau deskripsi nama login /home/lia : direktori home untuk user lia /bin/bash : default login shell Sistem Linux yang anda pergunakan, yaitu Redhat 9 memiliki shadow passwords. Ini merupakan suatu alternatif di dalam menyimpan password. Password yang dienkripsi akan disimpan di file bernama /etc/shadow, dimana hanya root yang bisa membacanya. Tampilan file /etc/shadow : [root@pelatihan root]# vi /etc/shadow
root:$1$2WGkLSii$69TVMXkLJbThXv.iGxxkt/:11461:0:99999:7::: bin:*:11455:0:99999:7::: daemon:*:11455:0:99999:7::: adm:*:11455:0:99999:7::: lp:*:11455:0:99999:7::: sync:*:11455:0:99999:7::: shutdown:*:11455:0:99999:7::: halt:*:11455:0:99999:7::: mail:*:11455:0:99999:7::: news:*:11455:0:99999:7::: uucp:*:11455:0:99999:7::: ftp:*:11455:0:99999:7::: nobody:*:11455:0:99999:7::: xfs:!!:11455:0:99999:7::: apache:!!:11455:0:99999:7::: named:!!:11455:0:99999:7::: tamu:$1$VlFTU4s4$si1KMMuH0Rg9.dxnSu/6l/:11455:0:99999:7::: lia:$1$Md0G2DI6$UC6CYHlQ22RphEUV6DzTW0:11459:0:99999:7::: ita:$1$RQQRij40$91eC0KCSdsb60DooU2MrE0:11466:0:99999:7::: cnc:$1$SjhVHTK2$boWS2WTfNJFyuvrp2xWQW.:11466:0:99999:7:::

40

Baris pada /etc/shadow mengandung serangkaian karakter yang tidak dapat diartikan yang merupakan password dari user-user yang dienkripsi untuk alasan keamanan. Angka-angka yang mengikuti dibelakangnya merupakan nilai waktu expired atau masa aktif password dan nama login. Cara lain untuk mengetahui group-group yang ada adalah dengan melihat file di bawah : [root@pelatihan root]# vi /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon disk:x:6:root lp:x:7:daemon,lp games:x:20: gopher:x:30: ftp:x:50: users:x:100: utmp:x:22: xfs:x:43: apache:x:48: named:x:25: tamu:x:500: lia:x:501: ita:x:502: cnc:x:503: Pada etc/group hanya terdapat nama group, GID dan user-user yang menjadi anggota group tersebut.

2. Binary Administrasi User dan Group Berikut ini adalah binary yang digunakan untuk memodifikasi /etc/shadow, /etc/passwd, dan /etc/group.

/usr/sbin/useradd Fungsi : menambahkan user ke sistem atau mengupdate informasi user. Syntax : useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] login useradd -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell] Jika kita menggunakan perintah useradd dengan D option, perintah ini akan mengcreate user dengan nilai default yang diberikan sistem.

41

Keterangan : -c comment info atau deskripsi nama login -d home_dir direktori home untuk user -e expire_date tanggal nama login berakhir, formatnya : yyyy-mm-dd -f inactive_days jumlah hari sebelum account tersebut berakhir bila password telah expired -g initial_group nomor GID (Group ID). -G group,[...] group tambahan -m direktori home akan dibuat bila tidak ada -p passwd memberikan password -s shell merupakan user login shell -u UID nomor UID (user id)

/usr/sbin/userdel Fungsi : menghapus user account dan file-file yang berhubungan Syntax : userdel [-r] login Dengan perintah userdel, akan menghapus semua entri berdasarkan nama login dari user. -r bila parameter ini disertakan maka direktori home user turut di hapus. /usr/bin/passwd Fungsi : merubah password user Syntax : passwd [username]

Untuk usermod, groupadd, groupdel, dan groupmod dapat Anda selidiki sendiri cara penggunaannya dengan mengetik perintah berikut : [root@pelatihan root]# man [item] item diganti sesuai yang kita inginkan misal groupadd,groupmod dll.

3. Mode Perijinan dan Kepemilikan Anda dapat mengecek perijinan dan kepemilikan file / direktori dengan perintah : [root@pelatihan root]#ls l -rwxr-xr-r 1 root root 1002 Feb 23 2003 zebra nama file Tgl terakhir dimodifikasi Ukuran file Group

42

Owner Jumlah link Mode file

Mode file : menunjukkan hak akses terhadap file bersangkutan Formatnya : abcdefghij contoh : -rwxr-xr-x a : Menentukan jenis dari entry yang bersangkutan. Pada contoh di atas berarti file biasa. Berikut adalah karakter yang mungkin mengisi posisi a beserta artinya. Karakter Arti File biasa d Direktori l Simbolik link b Block special file c Character special file s Socket link p FIFO bcd : option ini menunjukkan hak akses pemilik. Pada contoh di atas berarti pemilik berhak untuk read (baca), write (tulis), execute (eksekusi) efg : option ini menunjukkan hak akses group. Pada contoh di atas berarti user satu group hanya bisa membaca dan mengeksekusi hij : option ini menunjukkan hak akses orang lain ( other ). Pada contoh di atas berarti orang lain bisa membaca dan mengeksekusi Jumlah link : menunjukkan jumlah link buat file ini Owner : menunjukkan pemilik dari file ini Group : menunjukkan group dari pemilik file ini Ukuran file : menunjukkan ukuran dari file bersangkutan Tgl terakhir dimodifikasi : menunjukkan kapan terakhir file ini diakhir Nama file : adalah nama dari file ini

Mengubah kepemilikan file anda juga dapat mengubah kepemilkan dan hak akses terhadap suatu file dengan perintah berikut : [root@pelatihan root]#chown cnc pinguin.server perintah ini mengubah kepemilikan file pinguin.server menjadi milik user cnc.

Mengubah mode akses dengan huruf [root@pelatihan root]#chmod ogu-w,ogu+r file.txt perintah ini menyebabkan pemilik (user), group dan other tidak bisa menulis (-w) tapi bisa membaca(+r). selain tiga karakter o u dan g, kita dapat menggunakan a (all) untuk menyatakan ketiga karakter yang lain. Mengubah mode akses dengan angka Untuk mempermudah administrasi, kita dapat menggunakan angka sebagai pengganti karakter-karakter tersebut.

43

Cara mengkonvert :

r = 1 w = 2 x = 3 Untuk mengkombinasikan ketiga karakter tersebut kita tinggal menambahkan angkaangkanya. Contoh : rw = 1+2 = 3 Penempatan angka berdasarkan urutan ugo (user group other) Contoh : [root@pelatihan root]#chmod 700 file.txt Perintah tersebut akan menyebabkan file.txt dapat dibaca, ditulis, dieksekusi oleh user ( 7 ) dan tidak dapat dibaca, ditulis, dieksekusi uleh selain pemilik ( 00 ). 4. Setting Password Kemudian kita tentukan password bagi pinguin, ketikkan: [root@pelatihan root]#passwd pinguin Masukkan kata yang mudah untuk diingat karena password adalah sesuatu yang sangat penting, apabila kita lupa harus mengontak sistem administrator agar diberi password baru. Untuk menguji apakah sudah benar tahapan-tahapan yang kita lakukan login-lah sebagai user yang baru kita buat. Jika berhasil masuk coba buat file kosong pada home direktori, lihat mode perijinan pada file tersebut serta kepemilikannya [root@pelatihan root]#vi coba mencoba pelatihan [root@pelatihan root]#ls -l 5. Quota User dan Group Langkah pertama untuk memberlakukan quota bagi user dan atau bagi group adalah dengan mengeset sebuah partisi dengan option usrquota dan atau grpquota pada /etc/fstab. Jika option tersebut digunakan, maka kernel secara periodik menginventarisir penggunaan ruang harddisk oleh user-user yang terdaftar pada /etc/passwd melalui binary quotacheck. Binary quotacheck akan mencatat hasil scan file sistem atau partisi yang diaktifkan quotanya dalam bentuk file, yaitu : quota.user : untuk catatan penggunaan oleh user quota.group : untuk catatan penggunaan oleh group beberapa tool quota berikut dapat digunakan untuk mengkonfigurasi quota, antara lain: quota, digunakan untuk melihat quota yang dimiliki oleh user atau group edquota, digunakan untuk mengedit quota user dan group repquota, digunakan untuk melaporkan pemakaian ruang harddisk pada partisi yang diaktifkan usrquota dan grpquota. lakukan perintah man untuk quota, edquota dan repquota untuk melihat opsi-opsi yang dimiliki masing-masing binari. Langkah-langkah untuk melakukan pengQuotaan adalah sebagai berikut : 1. Tentukan jatah tiap user 2. Tentukan harddisk yang akan diquota 3. Edit file /etc/fstab 4. Buat file untuk menampung informasi quota 5. Merubah mode perijinan file tersebut 6. Mengaktifkan quota Misalnya saja ada beberapa user yang tergabung dalam beberapa group. Group mahasiswa terdiri dari pinguin, ita, lia dan dhanang. Masing-masing mendapat jatah 2 MB. Berarti

44

group mahasiswa mendapat jatah 8 MB. Lalu kita tambah group asisten dan mendapat jatah 10 MB. Harddisk yang akan kita quota adalah hda1. Lalu edit file /etc/fstab [root@pelatihan root]#vi /etc/fstab
/dev/hda1 / ext3 defaults,usrquota,grpquota 1 1

buat file penampungan informasi quota di direktori root : [root@pelatihan root]#touch /quota.user [root@pelatihan root]#touch /quota.group [root@pelatihan root]#chmod 600 /quota.user [root@pelatihan root]#chmod 600 /quota.group aktifkan quota : [root@pelatihan root]#/sbin/quotacheck guva [root@pelatihan root]#/sbin/quotaon guva pertama kita quota group asisten dengan mengetikkan perintah : [root@pelatihan root]#edquota g asisten kemudian akan muncul informasi yang harus kita edit menggunakan editor kesayangan anda.
Quotas for group asisten /dev/hda1 : blocks in use : 799, limits (soft = 10000, hard = 10000) inodes in use : 454, limits ( soft = 3000, hard = 3000 )

save seperti biasa, berikan quota pada user yang lain. [root@pelatihan root]#edquota u pinguin
quotas for user pinguin /dev/hda1 : blocks in use 2000) inodes in use : 14, limits (soft = 200, hard = 200) : 100, limits (soft = 2000, hard =

untuk user lain cukup ketikkan : [root@pelatihan root]#edquota p pinguin u ita lia akibatnya user ita dan lia mempunyai quota yang sama dengan pinguin sebesar 2 MB. untuk melihat quota user lakukan perintah : [root@pelatihan root]#quota u ita untuk group : [root@pelatihan root]#quota g mahasiswa

III.2 MANAJEMEN PROCESS


Dengan berjalannya sistem dan berbagai program dieksekusi maka diperlukan suatu management dalam mengotrol dan memonitor setiap proses. Proses di linux tercatat dalam bentuk bilangan angka (PID), sehingga setiap proses dapat diamati dari bilangan memory yang dipakai, user yang menjalankannya (process owner), lamanya proses tersebut dijalankan dan lain sebagainya. Proses-proses yang berlangsung dapat berupa daemon, user aplication, utilities dan lain-lain.

45

Proses yang dijalankan di console, shell, xterm, dll disebut foreground process. Sedangkan background process adalah proses yang dijalankan secara background dan bisanya dijalankan dengan menambahkan & pada akhir dari baris perintah. Contoh : [root@pelatihan root]#ping localhost & perintah ini menyebabkan mesin melakukan ping ke alamat lokal secara kontinyu dan bekerja di background. 1. Monitoring proses Untuk memonitor proses-proses yang dijalankan oleh sistem dapat digunakan perintah ps dan top. ps perintah ps ini digunakan untuk melihat secara sekilas proses apa saja yang sedang dijalankan sistem. Option yang umum digunakan adalah -aux, untuk option lengkapnya dapat dilihat dengan mengeksekusi ps help. Syntax : [root@pelatihan root]# ps [option] contoh : [root@pelatihan root]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 0.8 1324 532? S 14:18 0:06 init [3] root 2 0.0 0.0 0 0 ? SW 14:18 0:00 [kflushd] root 3 0.0 0.0 0 0 ? SW 14:18 0:00 [kupdate] root 4 0.0 0.0 0 0 ? SW 14:18 0:00 [kpiod] root 5 0.0 0.0 0 0 ? SW 14:18 0:00 [kswapd] root 6 0.0 0.0 0 0 ? SW< 14:18 0:00 [mdrecoveryd] root 61 0.0 0.0 0 0 ? SW 14:18 0:00 [khubd] root 274 0.0 0.8 1384 560 ? S 14:18 0:00 syslogd -m 0 root 284 0.0 1.2 1652 772 ? S 14:18 0:00 klogd root 315 0.0 0.0 0 0 ? SW 14:18 0:00 [lockd] root 316 0.0 0.0 0 0 ? SW 14:18 0:00 [rpciod] rpcuser 326 0.0 1.1 1564 724 ? S 14:18 0:00 rpc.statd root 341 0.0 0.6 1308 420 ? S 14:18 0:00 /usr/sbin/apmd -p nobody 395 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -o nobody 398 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -o nobody 399 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -o nobody 401 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -o nobody 402 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -o daemon 414 0.0 0.5 1356 364 ? S 14:18 0:00 /usr/sbin/atd lp 451 0.0 0.9 2360 580 ? S 14:19 0:00 lpd Waiting root 515 0.0 0.5 1348 372 ttyS0 S 14:19 0:00 gpm -t ms root 530 0.0 1.0 1552 644 ? S 14:19 0:00 crond xfs 563 0.0 4.6 4368 2976 ? S 14:19 0:00 xfs -droppriv -da root 595 0.0 0.5 1300 364 ? S 14:19 0:00 rhnsd --interval root 612 0.0 1.7 2252 1116 tty1 S 14:19 0:00 login -- root root 620 0.0 2.0 2280 1304 tty1 S 14:19 0:00 -bash root 654 0.0 1.4 1992 912 tty1 T 14:20 0:00 sh -c /bin/gunzip root 656 0.0 1.2 1772 768 tty1 T 14:20 0:00 /usr/bin/less -is

46

root root root root root root

907 920 956 966 975 993

0.0 0.0 0.0 0.0 0.0 0.0

2.0 2.0 2.0 2.0 2.0 1.2

2340 1332 pts/0 2340 1332 pts/1 2344 1332 pts/2 2340 1332 pts/4 2344 1332 pts/5 2588 784 ?

S S S S S R

14:56 0:00 /bin/bash 14:57 0:00 bash 14:58 0:00 bash 14:58 0:00 bash -rcfile .bas 14:58 0:00 bash 15:10 0:00 ps aux

keterangan : USER : Process owner PID : Process ID %CPU : Penggunaan CPU oleh proses %MEM : Penggunaan memori (dalam kB) oleh proses VSZ : Penggunaan virtual memori dalam proses RSS : Penggunaan memori yang resident oleh proses TTY : Terminal (tty), tempat asal proses tersebut dijalankan STAT : Keadaan dari suatu proses R Running proses S Sleeping proses I Idle proses Z Zombie proses D Uninterruptible sleep (biasanya IO) < proses dengan prioritas tinggi N proses dengan prioritas rendah dan lain-lain START : waktu dimana proses dijalankan TIME : lamanya proses dijalankan COMMAND : baris perintah yang dijalankan top Perintah ini secara mendasar fungsinya sama dengan ps, hanya saja top lebih aktual karena setelah kita eksekusi, top akan update proses yang dijalankan secara berkala. Juga top lebih spesifik dalam menjelaskan keadaan sistem. perintah ini memperlihatkan aktivitas prosesor secara real time, menampilkan daftar kegiatan-kegiatan CPU yang paling intensif pada sistem dan menyediakan antarmuka interaktif untuk memanipulasi proses-proses yang ada. Kelemahannya adalah proses top ini lebih memakan banyak memori, CPU, dan runtime. Syntax : # top contoh : [root@pelatihan root]# top
9:37am up 2:33, 2 users, load average: 0.68, 1.27, 1.09 78 processes: 76 sleeping, 1 running, 0 zombie, 1 stopped CPU states: 12.3% user, 11.1% system, 0.0% nice, 76.4% idle Mem: 54760K av, 53340K used, 1420K free, 31148K shrd, buff Swap: 68504K av, 40232K used, 28272K free 28132K cached PID 1706 941 1665 1 USER root root root root PRI 6 5 4 0 NI SIZE RSS SHARE STAT %CPU %MEM 0 488 488 392 S 6.9 0.8 0 18256 13M 1840 S 3.0 26.1 0 2828 2048 1680 S 2.8 3.7 0 116 76 56 S 0.0 0.1 TIME 0:14 3:25 0:02 0:05 COMMAND esd X kvt init

1144K

47

2 3 4 5 6 61 303 313 328 344 345 355 370 421 474 477 478 480 481 493 524 539 563 611 627 775 790

root root root root root root root root rpc root root rpcuser root root nobody nobody nobody nobody nobody daemon root root lp root root root root

0 0 0 0 0 0 0 0 -20 -20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 216 540 92 0 0 112 64 128 128 128 128 128 128 76 212 228 124 628 96 2680 168

0 0 0 0 0 0 168 184 0 0 0 0 0 48 24 24 24 24 24 0 16 0 0 316 48 48 104

0 0 0 0 0 0 120 156 0 0 0 0 0 28 16 16 16 16 16 0 0 0 0 276 32 36 72

SW SW SW SW SW< SW S S SW SW SW SW SW S S S S S S SW SW SW SW S S S S

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.1

0:00 0:00 0:00 0:09 0:00 0:00 0:01 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:02 0:06 0:00

kflushd kupdate kpiod kswapd mdrecoveryd khubd syslogd klogd portmap lockd rpciod rpc.statd apmd automount identd identd identd identd identd atd xinetd sshd lpd sendmail gpm httpd crond

Dari perintah ps dan top diatas dikenal sebutan zombie proses, merupakan suatu proses (biasanya proses anak) yang telah mati/dimatikan tetapi tetap ada. Hal ini dikarenakan proses ibunya (parent process) tidak mematikan proses anaknya dengan sempurna. Zombie proses ini akan mati apabila parent prosesnya mati.

kill Perintah ini akan mengirimkan signal tertentu untuk proses yang tertentu pula. apabila tidak ada sinyal yang terspesifikasi, sinyal TERM akan dikirimkan. Sinyal TERM ini akan mematikan proses-proses yang tidak mendapatkan sinyal tersebut. Untuk proses-proses lainnya, dapat digunakan sinyal KILL apabila sinyal TERM tersebut tidak dapat ditangkap. Setiap proses yang dijalankan di Linux dapat di deteksi dan kemudian dimatikan, seperti yang telah dijelaskan sebelumnya dalam perintah-perintah dasar Linux. Ketikkan : [root@pelatihan root]# kill [- nomor sinyal] PID silahkan kill salah satu PID.lihat hasilnya ketikan kembali perintah # ps -aux Pilihlah nomor sinyal yang terpenting : No sinyal Nama Deskripsi 1 SIGHUP Hangup, sinyal dikirim bila proses terputus. 2 SIGINT Sinyal interupt 3 SIGQUIT Sinyal quit 9 SIGKILL Sinyal kill, menghentikan proses 15 SIGTERM Sinyal terminasi software 48

Untuk keterangan lebih lanjut silahkan lihat manualnya. 2. Booting dan Init Proses Ada beberapa tahapan proses booting dalam sistem operasi Linux. Pertama Lilo akan meload kernel, kemudian kernel akan memeriksa setiap device yang ada di mesin, dan selanjutnya akan menjalankan script init, Init adalah proses pertama yang dijalankan oleh sistem, init sendiri kemudian menjalankan proses-proses lain yang dijalankan pada saat booting. Init menjalankan semua proses berdasarkan /etc/inittab. Dalam init dikenal istilah run level. Dalam Linux dikenal run level 0-6 dan level S. masing-masing run level dijalankan berdasarkan keadaan sistem,runlevel 0, 1 dan 6 sudah disiapkan secara default (0 untuk halt, 1 untuk single user, 6 untuk reboot sistem, 2,3,4,5 untuk multi user), selain itu dapat disesuaikan dengan keinginan dari SysAdmin. Init sebenarnya adalah seperti parent dari semua proses. fungsi utamanya adalah menciptakan proses-proses dari script yang disimpan dalam file /etc/inittab. file ini biasanya memiliki masukan-masukan yang menyebabkan init untuk menghasilkan getty pada tiap baris dimana tiap users dapat login. Init juga mengontrol proses-proses autonomous yang dibutuhkan oleh sistem partikuler. Setelah init diketahui sebagai langkah terakhir sebagai urutan boot kernel, kemudian akan melihat file /etc/inittab untuk mengetahui adakah masukan untuk initdefault yang akan menginisialisasi run level dari sistem tersebut. Berikut adalah isi dari file /etc/inittab [root@pelatihan root]# vi /etc/inittab
# # inittab # # # Author: # # This file describes how the INIT process should set up the system in a certain run-level. Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> Modified for RHS Linux by Marc Ewing and Donnie Barnes

# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:5:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc l1:1:wait:/etc/rc.d/rc l2:2:wait:/etc/rc.d/rc l3:3:wait:/etc/rc.d/rc l4:4:wait:/etc/rc.d/rc l5:5:wait:/etc/rc.d/rc l6:6:wait:/etc/rc.d/rc 0 1 2 3 4 5 6

if

you

do

not

have

# Things to run in every runlevel.

49

ud::once:/sbin/update # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemon

Dalam UNIX dikenal istilah single user. Single user biasanya dieksekusi pada saat maintenance sistem, dimana kondisi sistem di haruskan tanpa ada gangguan dari luar (network). Selain menggunakan file /etc/inittab, kita juga dapat menggunakan perintah init untuk langsung mengeksekusi mode init tertentu ( 0, 1, 2, 3, 4, 5, 6 ). Contoh : [root@pelatihan root]#init 0 Perintah ini mirip dengan poweroff, dimana setelah shutdown power komputer juga dimatikan. Untuk penggunaan init lainnya silahkan lihat manualnya. 3. Log & Message Di dalam Linux dikenal dua cara logging, yaitu dengan syslogd dan klogd. Syslogd digunakan oleh berbagai macam program yang menggunakan fungsi syslog untuk memasukkan catatan (log) ke dalam log file yang di sediakan fasilitasnya oleh syslogd. File konfigurasi Syslogd terletak di /etc/syslog.conf, dari syslog.conf sysadmin dapat menentukan dimana log fle diletakkan. Secara default log file akan diletakkan di /var/log. Berikut adalah contoh dari file /etc/syslog.conf [root@pelatihan root]# vi /etc/syslog.conf
# Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;news.none;authpriv.none # The authpriv file has restricted access.

/var/log/messages

50

authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* /var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages, plus log them on another # machine. *.emerg * # Save mail and news errors of level err and higher in a # special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # # INN # news.=crit /var/log/news/news.crit news.=err /var/log/news/news.err news.notice /var/log/news/news.notice

Setelah syslogd hal yang perlu diketahui adalah klogd. Klogd adalah sistem daemon yang mencatat segala aktifitas kernel dan kemudian mendokumentasikannya ke dalam file. File /etc/rc/d/rc.local File ini merupakan tempat untuk menuliskan perintah-perintah tambahan yang sifatnya optional yang akan dieksekusi pada waktu booting, yaitu dilakukan setelah mengeksekusi inittab. Isi dari file ini adalah :
#!/bin/bash # #This script will be executed after all the other init scripts. #You can put your own initialization stuff ini here if you dont #want to do the full Sys V style init stuff. Touch /var/lock/subsys/local

Untuk menambahkan perintah-perintah tembahan tersebut kita tinggal menuliskan perintahnya disertai dengan shell yang akan mengeksekusinya. Contoh :
/bin/ping/ localhost

perintah ini akan menyebabkan pada waktu selesai booting akan melakukan perintah ping ke localhost secara otomatis. 4. Penjadwalan Proses Linux memiliki utilitas penjadwalan suatu proses. Dimana suatu proses atau pekerjaan dapat dilakukan pada waktu yang ditentukan secara otomatis atau juga suatu pekerjaan yang rutin dilakukan. Utilitas tersebut adalah at dan cron. Utilitas at Utilitas ini memungkinkan administrator untuk menjadwalkan pekerjaan pada waktu tertentu. Misalnya saja untuk melihat spasi harddisk yang digunakan pada pukul 12:00 siang [root@pelatihan root]#at 12:00 at>du a > /tmp/du.out at>at>ctrl-D

51

Perintah diatas akan menyimpan hasil proses du a ke file /tmp/du.out. Untuk melihat proses apa saja yang dijadwalkan oleh at, gunakan perintah : [root@pelatihan root]# atm 1 ini akan menghapus proses penjadwalan nomor satu. Administrator dapat membatasi user-user mana saja yang dapat melakukan utilitas at ini dan mana yang boleh. File ada di /etc/at.deny dan file /etc/at.allow yang diijinkan menggunakan utilitas at. Sebaiknya gunakan saja salah satu dari file tersebut. Misalnya saja kita ketikkan user-user yang tidak boleh menggunakan utilitas at pada file /etc/at.deny sebagai berikut :
dhanang Anto

Kedua user diatas tidak bisa menggunakan utilitas at. Perlu diketahui bahwa suatu proses atau pekerjaan yang telah dikerjakan tidak akan diulangi kemballi kecuali telah diperintahkan kembali.untuk mengatasinya gunakan utilitas crontab atau cron. Utilitas Crontab Dalam menggunakan crontab ketikkan perintah : [root@pelatihan root]# crontab -e maka akan muncul editor teks vi, dan kita akan mengeditnya disini. Format penulisan crontab sebagai berikut:
minute hour day month weekday username command argument

sekarang kita mencoba menggunakannya dengan terlebih dahulu membuat file script hallo.sh :
#! /bin/sh wall Selamat Datang, anda berada di lab CnC

kemudian kita edit crontab dengan menambahkan sebagai berikut :


0,10,20,30,40,50 * * * * /bin/hallo.sh

maka setiap sepuluh menit script tersebut akan dijalankan sampai dengan menit ke 50. Penjadwalan yang kita edit akan disimpan pada direktori /var/spool/cron. Sama seperti utilitas at, administrator dapat membatasi siapa-siapa saja user yang dapat menjalankan utilitas ini dan siapa saja yang tidak boleh. File nya terdapat di /etc/cron.deny bagi yang dilarang dan file /etc/cron.allow bagi yang diperbolehkan. Daftar pekerjaan-pekerjaan yang akan dilakukan, ada pada file /etc/crontab.

52

LINUX TRAINING FIRST SERIES

pinguin.stttelkom.ac.id

53

MODUL IV SYSTEM UPGRADING, BASIC SECURITY & TROUBLESHOOTING

IV.1 REDHAT PACKAGES MANAGER (RPM)


Redhat memberikan kemudahan untuk para pengguna yang ingin melakukan pengaturan paket dalam sistemnya dengan menggunakan utilitas rpm (redhat packages manager). Utilitas ini cukup powerful, kita dapat dengan mudah melakukan instalasi, uninstalasi, upgrade, query, maupun verify satu atau lebih paket. Paket software rpm merupakan sebuah arsip dengan beberapa informasi yang berhubungan dengan file tersebut, tetapi berbeda dengan sistem kompresi tradisional yang menggunakan tar.zip, dengan rpm kita tidak dipusingkan masalah manajemen file seperti letak file dan direktori file misalnya. File rpm ditandai dengan penamaan unik yaitu memiliki ekstension .rpm. Seluruh paket rpm memiliki standar nama sebagai berikut nama-versi-rilis.arsitektur.rpm Misal suatu paket memiliki nama sebagai berikut apache-2.0-39.i386.rpm apache : paket apache (WebServer), 2.0 : versi filenya 39 : rilisnya i386 : khusus paket untuk arsitektur Intel 386. Syntax untuk perintah rpm # rpm [--option] [nama_paket] Beberapa kombinasi switches yang penting e Menghapus/uninstal paket h Menampilkan tanda # sebagai pengukur progress/kemajuan i install paket q menanyakan paket 54

U v F

Upgrade paket Memverifikasi dan menampilkan apa yang terjadi. Memperbaharui file yang telah ada

Option yang penting: --replacefiles : Mengizinkan mengganti file yang lama dengan yang baru. --percent : Persentase kemajuan proses instalasi. --replacekgs : Mengizinkan mengganti paket yang lama dengan yang baru.

IV.2 KOMPILASI KERNEL


Kernel adalah program yang dimuat saat boot yang berfungsi sebagai interface antara user-level program dengan hardware. Fungsinya seperti layaknya sistem operasi, menangani task switching dalam multitasking, menangani permintaan membaca atau menulis peralatan disk, melakukan tugas-tugas network seta mengatur penggunaan memory. Ada beberapa hal yang harus dilakukan dalam kompilasi kernel, yaitu : 1. Download Source Kernel Setiap CD Distribusi telah dilengkapi dengan kernel yang mungkin versinya kurang up-todate. Kernel terbaru dari masing-masing distribusi dapat diperoleh dengan cara mendownload dari berbagai usmber di internet seperti; http://www.kernel.org ftp://ftp.cdrom/pub/linux/sunsite/kernel ftp://sunsite.unc.edu/pub/linux/kernel ftp://tsx-11.mit.edu/pub/linux/source/system Source kernel tersebut bisaanya dalam format linux-x.x.x.x.tar.gz diamana x.x.x.x menunjukkan versi kernel, misalnya 2.4.7-10. Nomor kernel tersebut terdiri dari 3 bagian, yang masing-masingnya dipisahkan oleh tanda titik : Major Number. Minor Number. Revision Number. Setiap dikeluarkannya kernel versi baru juga dikeluarkan sebuah file patch. File patch ini jauh lebih kecil dari file source kernel sehingga jauh lebih cepat bila digunakan untuk upgrade kernel. File patch hanya bekerja untuk meng-upgrade satu versi kernel dibawahnya. Misalnya, versi kernel 2.0.27 hanya bisa di-upgrade dengan file patch 2.0.28 menjadi kernel 2.0.28. 2. Konfigurasi Kernel Untuk memulai Kompilasi Kernel maka kita perlu meng-unpack source kernel yang telah kita download tadi misalnya linux 2.4.7-10. Source kernel bisaanya di unpack di direktori /usr/src/. Untuk meng-unpack file tadi kita gunakan perintah: [root@pelatihan root]# cd /usr/src [root@pelatihan root]# tar xvzf linux-2.4.7-10.tar.gz

55

Perintah tersebut akan menguraikan file-file ke dalam direktori /usr/src/linux. Kemudian untuk lebih jelasnya untuk langkah-langkah kompilasi kita perlu membaca file /usr/src/linux-2.4.7-10/README. Untuk meng-unpack versi patch-nya digunakan perintah: [root@pelatihan linux-2.4.7-10]# gzip cd patch-2.4.7-11.tar.gz | path p0 Setelah itu perikasa apakah ada file yang berkhiran .rej di direktori /usr/src/linux. Bila ditemukan file seperti itu maka patch yang dilakukan tidak berhasil, periksa kembali apakah file patch yang dipakai sudah benar. Konfigurasi Linux dimulai dari direktori /usr/src/linux. Untuk pindah ke direktori tersebut lakukan perintah: [root@pelatihan root]# cd /usr/src/linux-2.4.7-10 Sebelum kita memulai kompilasi sebaiknya kita lakukan perintah sebagai berikut: [root@pelatihan linux-2.4.7-10]# make mrproper Perintah ini akan menghapus seluruh jejak kompilasi yang pernah dilakukan sebelumnya. Ini memastikan agar tidak ada feature versi lama yang tersisa. Kemudian kita bisa langsung memulai konfigurasi kernel kita. Ada tiga cara untuk memulai konfigurasi kernel linux, yaitu: make config, berupa text base interface, cocok untuk user yang memiliki terminal model lama dan tidak memiliki setting termcap. make menuconfig, berupa text base juga tapi memiliki puldown menu berwarna, digunakan untuk user yang memilki standar console. make xconfig, interface menggunakan layar grafik penuh, untuk user yang sudah memilki Xwindow. Bila berhasil layar Linux Kernel Configuration akan ditampilkan setelah perintah diatas dijalankan. Ada sekitar 14 menu pilihan dimulai dari Code Maturity level Options sampai Kernel Hacking. Masing-masing memiliki submenu bila dipilih dan pilihan yes(y), module(m) atau no(no). Setiap pilihan untuk dimuat/kompile ke dalam kernel atau y akan memperbesar ukuran kernel nantinya. Jadi pilih feature-feature yang sering digunakan yang dimuat ke dalam kernel atau jadikan module untuk feature yang tidak sering digunakan, misalnya PPP support. 3. Kompilasi Kernel Proses inilah yang terpenting dalam seluruh proses kompilasi kernel, dimana Mesin komputer akan mengkompile semua file atau library yang ada dalam source kernel yang telah kita download tadi. Tahap kompilasi ini sangat potensial menimbulkan kesalahan dan kadang membuat frustasi bila teris-terusan mengalami kegagalan. Sebelum mengalami masalah tersebut, mempersiapkan emergency bootdisk adalah langkah yang tepat karena pada umumnya kesalhan akan mengakibatkan sistem mogok. Kompilasi bisa menghabiskan waktu sekitar 10 menit pad mesin dengan prosesor Pentium yang cepat hingga samapi 1,5 jam pada mesin Intel 386. Waktu kompilasi juga bertambah bila sistem digunakan untuk menjalankan proses lain pada saat itu. Untuk memulainya kita lakukan perintah sebagai berikut ( dengan direktori masih pada direktori /usr/src/linux-2.4.7-10) :

56

[root@pelatihan linux-2.4.7-10]# make dep perintah ini akan membaca file konfigurasi dan membentuk dependency tree. Proses ini mengecek apa yang dikompile dan apa yang tidak dikompile. [root@pelatihan linux-2.4.7-10]# make bzImage Perintah ini merupakan proses kompilasi sesungguhnya. Bila tidak ada pesan kesalahan, akan terbentuk kernel yang terkompresi dan siap di instalasi. 4. Kompilasi Modul Sebelum instalasi kernel, modul-modul yang berhubungan perlu dikompile juga dengan perintah: [root@pelatihan linux-2.4.7-10]# make modules 5. Instalasi Modul Kernel Untuk melakukan instalasi modul Kernel yang telah kita buat tadi, dapat dilakukan dengan perintah : [root@pelatihan linux-2.4.7-10]# make modules_install 6. Editing Bootloader Lilo Jika anda menggunakan Lilo gunakanlah langkah berikut. Cek direktori kernel Anda, bisaanya nama kernel dimulai dengan vmlinuz, bisaanya ada di direktori /boot. Atau bisa juga dengan membuka file /etc/lilo.conf untuk memastikannya. Setelah itu copy file /usr/src/linux/arch/i386/boot/zimage ke direktori /boot dengan nama lain misalnya: [root@pelatihan linux-2.4.7-10]# cp /usr/src/linux-2.4.710/arch/i386/ boot/bzImage /boot/vmlinuz-2.4.7-10-baru Untuk menjalankan Kernel baru dalam sistem pada saat Booting Anda perlu mengubah konfigurasi LILO. Konfigurasi in terdapat dalam file /etc/lilo.conf.anaconda. Masukan kernel loader terbaru anda pada option lilo.conf, dengan menambah baris berikut:
image = /vmlinuz-2.4.7-10-baru root = /dev/hda3 label = linux-baru

Kemudian aktifkan konfigurasi lilo dengan perintah : [root@pelatihan root]# lilo atau [root@pelatihan sbin]# ./lilo C /etc/lilo.conf.anaconda Grub Bagian ini anda gunakan jika menggunakan GRUB sebagi bootloadernya. Tambahkan baris berikut ke /etc/grub.conf. (asumsi partisi root terletak di hda2 atau (hd0,1))
title kernel_baru root (hdo,1) kernel /boot/bzimage ro root=/dev/hda2

57

Kemudian langkah terakhir adalah me-reboot sistem.

7. Meload Modul Kernel Modul-modul dalam kernel agar dapat digunakan harus terlebih dahulu dimuatkan ke sistem. Beberapa perintah yang perlu kita ketahui dalam memuatkan modul kernel contohnya depmod, yang berguna untuk memeriksa dependency modul-modul yang akan digunakan pada /etc/conf.modules, Contoh perintah selengkapnya: [root@pelatihan linux-2.4.7-10]# depmod [option] module.o module1.o modprobe, perintah ini akan memuatkan modul ke sistem. Sintaks; [root@pelatihan linux-2.4.7-10]# modprobe [option] module [irq=Y io=0xZZZ] insmod, berguna untuk menambahkan suatu modul ke dalam /lib/modules agar nantinya dapat dimuatkan ke sistem. [root@pelatihan linux-2.4.7-10]# insmod [option] module rmmod, berfungsi untuk menon-aktifkan modul dari system. [root@pelatihan linux-2.4.7-10]# rmmod [option] module lsmod, berfungsi untuk melihat modul-modul apa saja yang telah di load ke sistem.

File /etc/conf.modules File ini adalah merupakan konfigurasi dari modul-modul yang akan dimuatkan ke kernel. Berikut adalah contoh dari isi /etc/modules.conf
# alias net-pf-1 off # Unix # alias net-pf-2 off # Ipv4 alias net-pf-3 off # Raw sockets alias net-pf-4 off # IPX alias net-pf-5 off # DDP / appletalk alias net-pf-6 0ff # Amateur Radio NET/ROM alias net-pf-10 off # Ipv6 alias net-pf-11 off # ROSE / Amateur Radio X.25 PLP alias net-pf-19 off # Acorn Econet alias cahr-major-10-130 softdog alias cahr-major-10-175 agpgart alias cahr-major-108 ppp_generic alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate alias loop-xfer-gen-0 lop_gen alias loop-xfer-3 loop_fish2 alias loop-xfer-gen-10 loop_gen alias cipher-2 des alias cipher-3 fish2 alias cipher-4 blowfish alias cipher-6 idea

58

alias cipher-7 serp6f alias cipher-8 mars6 alias cipher-11 rc62

IV.3 DASAR-DASAR SEKURITI SISTEM


1. PAM (Pluggable Authentification Modules ) Dalam distribusi RedHat Linux yang terbaru, dilengkapi dengan skema autentifikasi yang unified, yang disebut PAM. PAM memperbolehkan kita untuk merubah metode authentifikasi yang ada dan mengenkapsulasi metode authentifikasi lokal tanpa harus mengkompile ulang source tersebut ke dalam mesin kita. Beberapa hal yang dapat dilakukan oleh PAM, yaitu : Menggunakan metode enkripsi password selain DES sehingga semakin sulit untuk di-hack. Menentukan batas penggunaan resource oleh user. Menggunakan password bayangan (shadow password) untuk user yang sedang aktif / login. Hanya mengijinkan user tertentu untuk login di waktu dan tempat yang ditentukan. Dengan menginstall dan menkonfigurasi sistem yang ada, kita dapat mencegah penyerangan (hacking) yang ingin merusak mesin kita. Kasus : Apabila kita ingin membatasi user yang dapat login dari mesin kita, maka kita perlu mengedit file /etc/security/access.conf dan tentukan user yang bisa login di console tertentu, dengan menambahkan baris :
-: ALL EXCEPT root console: tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11 ty12 xconsole

kemudian untuk mengaktifkan aturan tersebut tambahkan baris berikut pada file
/etc/pam.d/login : Account required /lib/security/pam_access.so

Apabila kita ingin membatasi user baik dari jumlah login, penggunaan ruang hardisk, maupun jumlah file, kita dapat menggunakan file etc/security/ limits.conf dan

berikan batasan yang anda inginkan, misalnya :


* hard maxlogins 2

Kemudian pada file /etc/pam.d/login tambahkan baris seperti berikut :


Session required /lib/security/pam_limits.so

2. TCP WRAPPER TCP wrapper merupakan program yang digunakan untuk mengamankan server dari intrusi dari luar system kita terhadap layanan yang kita sediakan yang tidak kita harapkan. Layanan-layanan tersebut merupakan layanan yang diatur oleh xinetd. TCP Wrapper diatur oleh dua buah file yaitu :
/etc/hosts.allow /etc/hosts.deny

Urutan pengecekan file tersebut, yaitu dari hosts.deny baru host.allow. Misalnya kita ingin menolak sekuruh koneksi telnet ke system kita maka kita tinggal menambahkan baris berikut pada file /etc/hosts.deny :
In.telnetd:0.0.0.0/0.0.0.0

59

Jadi seluruh orang yang ingin mengakses layanan telnet akan ditolak. Jika kita ingin supaya fasilitas telnet boleh dilakukan dari system kita sendiri maka kita perlu menambahkan baris tersebut pada file /etc/hosts.allow :
In.telnetd:127.0.0.1

IV.4 TROUBLESHOOTING
1. Melepas dan memasang Hardware baru Untuk melakukan pendeteksian adanya perubahan hardware baik dilepas maupun dipasang, kita bisa lakukan dengan bantuan program kudzu. Caranya mudah yaitu jika kita selesai melepas atau memasang hardware baru lakukan perintah tersebut dengan mengetikkannya pada shell : [root@pelatihan sbin]# kudzu Jika memang ada perubahan hardware, maka kudzu akan mengkonfigurasi ulang hardware tersebut. Jika tidak ada, kudzu tidak akan melalukan hal tersebut. 2. Lupa Password Root Apabila kita lupa password untuk root maka kita tidak akan mampu untuk melakukan pengaturan pada mesin kita. Oleh karena itu kita harus berusaha agar kita tetap bisa masuk ke dalam system kita tersebut walaupun kita lupa password root-nya. Cara yang paling sederhana yaitu dengan menggunakan single user mode pada saat booting. a. boot loader tanpa password a.1 LILO Booting mesin anda Jika layar yang muncul adalah GUI, tekan ctrl-X agar masuk ke CLI Lakukan ketikkan linux s pada prompt LILO lalu tekan enter LILO : linux s Mount seluruh partisi yang tercatat pada /etc/fstab #mount a Masukkan password root yang baru #passwd root Reboot mesin anda #init 6 Dengan demikian kita sudah dapat masuk ke dalam system dengan mode single user. a.2 GRUB Booting mesin anda Setelah masuk ke login GUI, pilih Linux yang ingin anda masuki, lalu tekan e Carilah baris dengan kata kernel, tekan e, lalu di akhir baris tambahkan kata single dengan spasi di depannya, tekan enter Tekan b

b. boot loader dengan password

60

Sebelum bagian ini dimulai kami tekankan terlebih dahulu tutorial ini bukan dimaksudkan untuk mengajari anda menjadi hacker/cracker, tetapi untuk digunakan sebagai bahan pendidikan. Ada beberapa cara untuk mengatasi kasus ini, namun kita hanya membahas satu cara yang kira-kira susah untuk diimplementasikan jika anda tidak memilki akses langsung secara fisik dengan mesin yang bersangkutan. Prinsip yang kita gunakan adalah menghapus password terenkripsi pada file /etc/shadow. Hal ini dapat dilakukan dengan cara memboot harddisk anda sebagai slave pada mesin lain yang telah terinstal linux. Kemudian carilah file shadow pada direktori /etc pada harddisk anda dan hapus passwordnya Contoh :
Root:$gfdsgfdshshfsdfssgfds#fds/:12276:0:88888:7:::

Hapus bagian yang ditebalkan, lalu kembalikan harddisk anda kemudian bootinglah seperti biasa.

61

LINUX TRAINING FIRST SERIES

pinguin.stttelkom.ac.id

62