Upload
wilda-deswita
View
65
Download
3
Embed Size (px)
Citation preview
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 1/62
1
MODUL IPengenalan LINUX
I.1 PROSES INSTALASI
1. Sejarah L inux
Anda mungkin tidak percaya bahwa pembuatan Linux dimulai dari hobi seorangmahasiswa Finlandia bernama Linuz Torvalds yang terinspirasi oleh ketidak-puasannyaterhadap kinerja Minix. Minix sendiri adalah sistem operasi yang dikembangkan oleh AndyTanenbaum. Versi resmi pertama Linux, yaitu 0.02 diumumkan oleh Linus pada tanggal 5Oktober 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 programdengan hardware, yaitu melakukan tugas seperti sistem operasi, menangani task switchingdalam multitasking, menangani permintaan membaca dan menulis peralatan disk, melakukantugas-tugas network seta mengatur penggunaan memori. Program lain seperti kompiler,editor, window manager hanyalah distribusi yang melengkapi kernel menjadi sebuah sistemoperasi yang lengkap.
Salah satu pendorong perkembangan Linux yang cepat adalah sifat-open sourcenyayang 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 diantaranyaadalah : Slackware, Debian, Caldera, Redhat, Mandrake, Suse ,Gento, dll. Semua distro inimenggunakan Linux sebagai kernelnya, sedangkan letak perbedaan dari mereka adalahaplikasi 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 L inux ?
Anda pasti telah mendengar masalah penegakkan HAKI yang katanya akandilaksanakan oleh pemerintah secara konsekwen. Bagi anda yang begitu mendewakan
windows ini adalah berita buruk, betapa tidak windows yang selama ini anda dapatkandengan cara membajak tidak bisa didapat secara bebas lagi. Bukan hanya itu selain membeliOS-nya andapun harus mengeluarkan kocek tambahan untuk mendapatkan aplikasi-aplikasilainnya seperti office.
Sifat gratis Linux, menjadi daya tarik tersendiri bagi perusahaan menengah danmenengah kebawah. Ditambah lagi kenyataan bahwa sifat user friendly dan kompabilitasLinux semakin lama semakin baik. Bagi perusahaan menengah keatas daya tarik Linuxterletak pada kestabilan dan keamanannya. Dua kelebihan ini ( stabil dan aman )adalah karena Linux dikembangkan oleh begitu banyak orang sehingga setiap kekurangandan bug dapat cepat ditemukan dan diperbaiki. Coba anda bandingkan dengan Windowsyang hanya dikembangkan oleh ribuan orang.
Hal-hal di atas kemudian memberikan peluang bisnis, khususnya yang berkaitandengan jasa dan sdm, serta memberikan peluang kerja.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 2/62
2
1. Pra-i nstalasi
Sebelum melakukan instalasi, ada baiknya dilakukan planning terlebih dahulu khususnyayang 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 denganmanfaatnya atau secara manual memilih sendiri paket yang akan diinstal melaluicostum. Penggolongannya terdiri dari empat kelas, yaitu :
a Personal DesktopKelas ini dikhususkan bagi anda yang baru mencoba Linux. GUI langsungdiinstal pada option ini.
b. Kelas WorkstationPilihlah kelas ini jika anda hanya ingin memanfaatkan GUInya saja. Pada option
ini software development tools juga ikut diinstal. Jika nantinya memilih partisisecara otomatis, maka untuk kelas ini semua partisi yang berhubungan denganlinux akan dihilangkan dan diganti dengan partisi swap, root dan boot secaraotomatis. Jika terdapat partisi windows, maka kelas ini akan secara otomatismengkonfigurasi dual boot.
c. Kelas Server Kelas ini digunakan jika kita ingin menggunakan linux sebagai server dan kitatidak ingin berpusing ria mengkonfigurasi system. Jika dipilih partisi secaraotomatis, maka semua partisi yang ada akan dihapus. Space harddisk minimaladalah 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. Kitadapat 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 harusmelakukan 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 pointContoh : /dev/hda1 = /
Memory : besar memoryContoh : 128 MB
CD Room : jenis interfaceContoh : IDE
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 3/62
3
Adapter SCSI : merk, jenis, nomor Contoh : BusLogic SCSI
Kartu Jaringan : nomor, merk dan jenisContoh : 3COM 3C590 , DLink 650
Mouse : jenis, jumlah button, com
Contoh : generic 3 button, MouseMan 2 button serialCOM1
Monitor : merek, model, spesifikasi manufaktur Contoh : TECO TE551
VGA Card : merek, nomor model, besarnya RAMContoh : Creative Labs Graphics 3D 8 MB
Sound Card : merek, chipset, nomor modelContoh : Sound Blaster 32/64 AWE
IP Address & netmask : hubungi admin jaringan anda
IP Server DNS, Gateway : hubungi admin jaringan anda
Hostname : nama komputer andaContoh : Penyusup, Executor
Spek ini dapat dilihat di :
♪ Manual book device♪ BIOS komputer♪ Dari windows : klik kanan pada My Computer,
Propertis, Device Manager
2. Pre I nstallasi 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 L iveCD
Gentoo Linux dapat diinstal menggunakan salah satu dari tiga stage tarbal. Stageyang anda pilih tergantung pada seberapa jauh sistem yang ingin anda kompilasi sendiri.stage1 tarbal digunakan jika anda ingin melakukan proses bootstrap dan membangun seluruh
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 4/62
4
sistem dari awal. stage2 tarbal digunakan untuk membangun seluruh sistem dari keadaan"semi-compiled" ter-bootstrap. stage3 tarbal telah memiliki sistem Gentoo Linux dasar yangtelah dibangun bagi anda. Seperti yang akan kami jelaskan nanti, anda dapat juga menginstalGentoo tanpa proses kompilasi (kecuali kernel anda dan beberapa paket-paket opsional). Jikaanda menginginkan cara ini, anda harus menggunakan tarbal stage3.
Instalasi stage1 dan 2 hanya dapat dilakukan jika anda memiliki koneksi internet. Sehinggauntuk computer yang tidak terhubung ke jaringan internet akan menggunakan instalasi stage3.
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 cylindersUnits = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System/dev/hda1 1 14 105808+ 83 Linux/dev/hda2 15 49 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): dPartition 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 perubahananda. Jika anda melakukan kesalahan dan ingin membatalkan tanpa menyimpan perubahananda, segera ketik q dan tekan Enter, partisi anda tidak akan dihapus.
Sekarang, anggap anda benar-benar ingin menghapus seluruh partisi-partisi anda, secaraterus-menerus ketikkan p untuk menampilkan tabel partisi lalu diikuti oleh d dan nomor
partisi untuk menghapusnya. Pada akhirnya, anda akan berakhir dengan sebuah tabel partisikosong:
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 5/62
5
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 sistemLinux.
ext2 adalah filesystem yang asli dan telah dicoba/dipakai tetapi tidak memiliki journalmetadata, yang berarti waktu yang diperlukan untuk memeriksa filesystem ext2 kadang bisasangat lama. Saat ini telah ada beberapa filesystem journal generasi baru yang dapatdiperiksa konsistensinya dengan cepat dan karena itu lebih dipilih daripada partisi non-
journal. Journal filesystem menghindari waktu tunda sewaktu anda boot dari sistem dimanafilesystem anda kebetulan berada pada saat inkonsisten.
ext3 adalah filesystem ext2 versi journal, memiliki journal metadata untuk pemulihan sistemyang cepat dan juga beberapa tambahan modus journal seperti journal data terstruktur dandata penuh. ext3 adalah filesystem yang sangat bagus dan dapat dihandalkan. Filesystem inimemiliki opsi "hashed b-tree indexing" tambahan yang menghasilkan performa yang tinggidi 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 berskalasangat bagus dan memiliki journal metadata. Setelah kernel 2.4.18+, ReiserFS telah mapandan 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 partisinon-boot.
XFS adalah filesystem dengan journal metadata yang datang dengan fungsi fungsi mapandan teroptimasi untuk skalabilitas. Kami hanya merekomendasikan anda menggunakanfilesystem 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 denganagresif ke dalam RAM, data-data mungkin hilang pada saat program yang tidak didisaindengan benar (program-program yang tidak mengambil langkah yang aman sewaktu menuliske 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 inimenjadi 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.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 6/62
6
Untuk menciptakan filesystem di sebuah partisi, anda dapat menggunakan beberapa utilitas
yang tersedia untuk setiap filesystem:
Filesystem Perintah
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs
Sebagai contoh, untuk menciptakan filesystem reiserfs di partisi /dev/hda1
LiveCD /# mkreiserfs /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 danmemperbaharuinya. Jam yang tidak terkonfigurasi dengan benar dapat menyebabkan hasilyang 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 7/62
7
mengekstrak tarbal stage stage3-<subarch>-2004.2.tar.bz2. Gantikan nama tarbal tersebutdengan 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 portageyang disediakan oleh salah satu LiveCD Gentoo. Hal ini secara otomatis menganggap andamenginstal dari tarbal stage3 (karena stage tersebut merupakan satu-satunya tarbal yangdidukung untuk instalasi tanpa-jaringan). Jika anda ingin menggunakan paket-paket prebuiltnantinya untuk mempersingkat proses instalasi, anda harus menggunakan snapshot portage
dari LiveCD.
Snapshot Portage tersedia di LiveCD Universal. Karena anda membaca bagian ini, kamianggap 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/portage-20040710.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 mengendalikantingkah 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 menentukansource paket.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 8/62
8
6. Menginstal Sistem Dasar Gentoo
Mount filesystem /proc ke /mnt/gentoo/proc agar proses instalasi dapat menggunakaninformasi 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 instalasilain) 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, kitaakan menciptakan sebuah lingkungan baru menggunakan perintah env-update, yang akanmenciptakan variabel-variabel lingkungan. Terakhir, kita akan me-load variabel-variabeltersebut 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 jauhdari selesai, karena itu proses instalasi masih memiliki beberapa bagian lagi :-)
Konfigurasi Variabel USE
USE merupakan salah satu variabel yang paling mengagumkan yang disediakan oleh Gentoountuk para penggunanya. Beberapa program dapat dikompilasi dengan atau tanpa dukungantambahan terhadap beberapa hal. Sebagai contoh, beberapa program dapat dikompilasidengan dukungan gtk, atau dengan dukungan qt. Program-program lainnya dapatdikompilasi dengan atau tanpa dukungan SSL. Beberapa program bahkan dapat dikompilasidengan 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. -Xakan 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 andasimpan di file /etc/make.conf dikalkulasi terhadap setting default. Jika anda menambahkansebuah keyword ke setting USE, keyword tersebut akan ditambahkan ke daftar default. Jika
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 9/62
9
anda menghapus sebuah keyword dari setting USE (dengan menambahkan tanda minus didepannya), keyword tersebut akan dihapus dari daftar default (tentu saja, jika sebelumnyakeyword tersebut berada di daftar default). Jangan pernah mengubah sesuatu di dalamdirektori /etc/make.profile; isi direktori tersebut ditimpa setiap kali anda mengupdatePortage!
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 beberapakernel 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 dijalankanoleh 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 mulaimengkonfigurasi kernel secara manual. Kebanyakan informasi dapat ditemukan denganmelihat isi /proc/pci (atau menggunakan perintah lspci jika tersedia). Anda dapat jugamenjalankan 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 iniakan menjalankan menu konfigurasi berbasis ncurses.
# cd /usr/src/linux# make menuconfig
Pilih konfigurasi secukupnya exit dan save.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 10/62
10
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 genkernelkami untuk mengkonfigurasi kernel bagi anda.
Setelah source kernel anda terinstal, sekarang saatnya untuk mengkompilasi kernel andamenggunakan skrip genkernel kami untuk membangun sebuah kernel secara otomatis bagianda. genkernel bekerja dengan mengkonfigurasi sebuah kernel yang hampir sama dengancara kernel LiveCD kami dikonfigurasi. Hal ini berarti, jika anda menggunakan genkerneluntuk membangun kernel anda, sistem anda akan secara umum mendeteksi semua perangkatkeras anda pada saat boot, seperti yang dilakukan oleh Live CD kami. Karena genkerneltidak 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 andaketahui 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 sebagaifilesystemnya, anda mungkin perlu mengkonfigurasi kernel anda secara manualmenggunakan 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 11/62
11
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 yangdapat anda emerge:
Ebuild Kegunaan Perintah
nvidia-kernel Grafis NVIDIA yang diakselerasi bagi xorg-x11emerge nvidia-kernel
nforce-netKontroler ethernet on-board pada mobo-mobo NVIDIA
NForce(2)emerge nforce-net
nforce-audio Suara on-board pada mobo-mobo NVIDIA NForce(2)emerge nforce-audio
e100 Adaptor Ethernet Intel e100 emerge e100
e1000 Adaptor Ethernet Gigabit Intel e1000 emerge e1000
emu10k1Dukungan Creative Sound Blaster Live!/Audigy (hanyauntuk kernel 2.4)
emerge emu10k1
ati-driversGrafis ATI Radeon 8500+/FireGL yang diakselerasi bagixorg-x11
emerge ati-drivers
ati-drivers-extra
Utilitas-utilitas Grafis ATIemerge ati-drivers-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 sebuahebuild, gunakan perintah emerge --pretend. Misalnya, untuk paket samba
# emerge --pretend sambaAtau 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 menghitungdependensi:
# 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 opsi-opsi 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:
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 12/62
12
# 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, yangdipisahkan 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 me-
mount 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 perludi-dump atau tidak. Pada umumnya, anda dapat mengisi bagian ini dengan 0 (nol)
Bagian ke enam digunakan oleh fsck untuk menentukan urutan dari filesystem yangakan diperiksa jika sistem tidak di shut down dengan benar. Filesystem rootseharusnya berisi angka 1 dan sisanya berisi angka 2 (atau 0 jika pemeriksaanfilesystem tidak diperlukan)
# nano -w /etc/fstab
Sebuah contoh baris /boot di /etc/fstab
/dev/hda1 / reiserfs defaults 1 2none /proc proc defaults 0 0none /dev/shm tmpfs defaults 0 0/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
8.b. Mengkonfigurasi Jaringan
Salah satu pilihan yang harus dibuat oleh pengguna adalah memberi nama PC mereka. Halini tampaknya mudah, tetapi banyak pengguna menemui kesulitan untuk mencari sebuah
nama yang tepat bagi komputer mereka. Untuk mempersingkat waktu, nama yang anda pilihdapat diubah-ubah nantinya. Anda dapat saja memberi nama sistem anda cnc dan namadomainnya 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 13/62
13
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 localhost
192.168.0.5 cnc.pinguin earth192.168.0.6 sun.homenetwork sun192.168.0.7 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 menggunakanfilesystem tertentu:
File System Utilitas Perintah Instalasi
XFS xfsprogs emerge – k xfsprogs
ReiserFS reiserfsprogs emerge – k reiserfsprogs
JFS jfsutils emerge – k jfsutils
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 14/62
14
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 andamenggunakan konfigurasi kernel default genkernel), anda harus menambahkan argumen vgake 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
8 bpp 769 771 773 775
16 bpp 785 788 791 794
32 bpp 786 789 792 795
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, 1adalah ke dua, dll.default 0# Berapa detik GRUB harus menunggu sebelum daftar default diboot.timeout 30splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.4.26-r6# Partisi dimana imej kernel (atau sistem operasi) beradaroot (hd0,1)kernel /kernel-2.4.26-gentoo-r6 root=/dev/hda1
# Tiga baris berikutnya hanya digunakan jika anda melakukandualboot dengan sebuah sistem Windows.# Di contoh ini, Windows berada di partisi /dev/hda6.title=Windows XProotnoverify (hd0,5)makeactivechainloader +1
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 15/62
15
Menjalankan shell GRUB
# grubgrub> root (hd0,0) (tuliskan di manakah partisi /boot andaberada)grub> setup (hd0) (Instal GRUB di MBR)
grub> quit (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 filetersebut.
boot=/dev/hda # Instal LILO di MBRprompt # Berikan pengguna kesempatan untuk memilihseksi laintimeout=50 # Tunggu 5 (lima) detik sebelum boot seksidefaultdefault=gentoo # Setelah waktu tunggu selesai, boot seksi"gentoo"# Hanya jika anda menggunakan framebuffer. Sebaliknya, hapuslah barisberikut:vga=788 # Setting framebuffer. Sesuaikan dengan
kebutuhan anda
# Untuk pengguna non-genkernelimage=/boot/kernel-2.4.26-gentoo-r6
label=gentoo # Nama dari seksi iniread-only # Mulai dengan root yang hanya dapat dibaca
(read-only). Jangan diubah!root=/dev/hda3 # Lokasi filesystem root
# Untuk pengguna genkernelimage=/boot/kernel-2.4.26-gentoo-r6
label=gentooread-only
root=/dev/ram0append="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 sistemWIndows.# Di contoh ini, Windows berada di partisi /dev/hda6.other=/dev/hda6
label=windows
Save dan exit serta jalankan perintah berikut
# /sbin/lilo
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 16/62
16
10.d. Reboot Sistem
I.2 SISTEM FILE ( Filesystem )
Filesystem adalah metoda – metoda dan struktur – struktur data yang digunakanoperating 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 dapatmenggunakan atau mengakses filesystem yang berbeda tanpa harus melakukan konversifilesystem terlebih dahulu. Berikut adalah beberapa tipe filesystem yang didukung olehLinux.
♪ 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 dankeluarganya. Redhat 8 keatas ( Pysche & Shrike ) secara default dapatmembaca filesystem ini.
♪ ext & ext2, filesystem ini merupakan filesystem lama Linux sebelummenggunakan ext3. Secara default file yang ada pada filesystem ini dapatdibaca 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 :
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 17/62
17
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 file – file 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 parameter – parameter 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, bahkansebenarnya anda dapat mempunyai lebih dari satu komputer menjalankan 1 buah X
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 18/62
18
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 andamenjalankan 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 yangterdiri hanya text saja disebut terminal emulator.
I.5 DESKTOP
KDE Desktop Environment adalah hasil sebuah proyek untuk menciptakan desktopenvironment yang solid dan terintegrasi, bukan hanya sebuah window manager. Utiliti KDEsangat lengkap hingga seorang newbie dapat saja mengatakan bahwa KDE adalah sebuahOperating System. Semua tool untuk bekerja dalam sistem yang window-based.
GNOME adalah proyek lainnya yang sama dengan KDE namun berbeda dalam systemdan kemampuan. GNOME tidak saja merupakan sebuah window manager, tetapi system
desktop yang interoperable antar komputer dan platform. Kemampuan ini diperoleh karenaGNOME menggunakan Common Object Resource Broker Architecture (CORBA). GNOMElebih diterima di dunia Open Source karena GNOME dibuat dengan Gtk+ toolkit yang gratisdan 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 19/62
19
Linux memiliki cara yang unik dalam merepresentasikan suatu device, yaitu denganmenganggap device tersebut adalah file.Berikut adalah beberapa device yang dapat kitatemui :
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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 20/62
20
pinguin.stttelkom.ac.id
MODUL IIBASIC COMMAND, SHELL PROGRAMMING & BASHSCRIPTING
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 21/62
21
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 perintahotomatis (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 diatasnya.
▪ Hard Links, dapat dikatakan bukan merupakan tipe suatu file, akan tetapi nama laindari suatu file tertentu. Hard links pada dasarnya merupakan alias dari file yang asli.
▪ Symbolic Links, menghubungkan pada suatu file dengan menunjuk pada nama filetersebut. 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 menyediakaninterfacing ke user dalam bertuk text, dimana user menginputkan sejumlah text tertentuuntuk 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 inidigunakan 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 commandinterpreter 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 denganmengetik:
$env | grep SHELLSHELL=/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 yangbersangkutan
▪ Pelatihan menunjukkan current direktori
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 22/62
22
▪ $ berarti pinguin adalah user biasa
# menunjukkan user root
Format umum peri ntah : Perintah [option…] [argumen…]
Bisa merupakan input dan atau output
Pilihan untuk mengatur hasil yang diinginkanJenis perintah
Berikut adalah beberapa peri ntah dasar yang dir asa per lu untuk diketahui :
▪ lsPerintah ini sama halnya seperti perintah dir pada MS-DOS yang sudah kita kenalsebelumnya, yang berfungsi untuk menampilkan isi dari suatu direktori beserta atribut-atribut file-nya.
Contoh :[root@pelatihan root]#ls –a /pelatihan
▪ cdPerintah ini berfungsi untuk berpindah dari satu direktori ke direktori yang lainnya.
Contoh :
[root@pelatihan root]#cd /pelatihan
▪ mkdirPerintah 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 rmdirPerintah rm digunakan untuk menghapus file, sedangkan rmdir menghapus direktori.
Contoh :
[root@pelatihan root]#rm [nama.file][root@pelatihan root]#rmdir [nama.direktori]
▪ findPerintah ini berfungsi untuk mencari file atau direktori.
Contoh :
[root@pelatihan root]#find direktori_pencarian
nama_file_dicari print
▪ locateFungsinya kurang lebih sama dengan perintah find, bedanya locate menggunakan sebuahdatabase (biasanya terletak di /var/lib/locatedb) yang dapat di-update menggunakan
perintah updatedb.Contoh :
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 23/62
23
[root@pelatihan root]#locate [sesuatu]
▪ whereisBerfungsi untuk mencari posisi direktori dari suatu file
Contoh :
[root@pelatihan root]#whereis nama.file
▪ whichBerfungsi untuk mencari direktori dari suatu perintahContoh :[root@pelatihan root]#which [nama.perintah]
▪ tailBerfungsi untuk menampilkan x baris terakhir dari suatu file
Contoh :
[root@pelatihan root]#tail –10 [nama.file]
▪ pwdBerfungsi untuk menampilkan posisi current direktori
Contoh :
[root@pelatihan root]#pwd
▪ shutdownBerfungsi untuk merestart dan men-shutdown komputer Contoh :[root@pelatihan root]#shutdown –r now ( -r = restart )[root@pelatihan root]#shutdown –h now ( -h = halt )
▪ poweroffBerbeda dengan shutdown, selain man-shutdown, poweroff juga mematikkan power komputer secara otomatis.
Contoh :
[root@pelatihan root]#poweroff
▪ dfBerfungsi untuk menampilkan informasi tentang pemakaian partisi yang dimounting
Contoh :
[root@pelatihan root]#df -h
▪ touchBerfungsi untuk membuat file berukuran 0 KBContoh :[root@pelatihan root]#touch coba.coba
▪ grep
Perintah ini digunakan untuk pencarian data di dalam file, penggunakan grep akan lebihmengefisienkan waktu dibandingkan harus membaca file satu per satu.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 24/62
24
Contoh :
[root@pelatihan root]#grep “sesuatu” nama.file
▪ catPerintah cat ini akan menampilkan isi dari suatu file ke standart output (stdout).
Contoh :
[root@pelatihan root]#cat [nama.file]
▪ moreSama seperti cat, tapi tampilan akan berhenti setiap satu layar.
Contoh :
[root@pelatihan root]#more [nama.file]
▪ cpPerintah ini mirip dengan perintah copy pada MS-DOS, yang berfungsi untuk mengkopi
suatu file ke tempat tertentu.
Contoh :
[root@pelatihan root]#cp [sumber] [tujuan]
▪ mvPerintah 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]
▪ tarBerfungsi 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 gunzipPerintah untuk mengkompres dan men-dekompres sebuah file.
Contoh :
[root@pelatihan root]#gzip nama.gz file[root@pelatihan root]#gunzip nama.gz
▪ bzip2 dan bunzip2Perintah ini tergolong baru diimplementasikan. Dari pengamatan penulis, bzip2 mampumengkompres file lebih baik dari gzip.
Contoh :
[root@pelatihan root]#bzip2 nama.bz2 file
[root@pelatihan root]#bunzip2 nama.bz2
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 25/62
25
▪ tar + gzipAnda 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 + bzip2Anda 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/
▪ rdevBerfungsi 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 redirectionadalah < , > , << , >>
▪ Output RedirectionUntuk 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.filePercobaan^D
♪ Melihat isi file nama.file[root@pelatihan root]#cat latihPercobaan
♪ 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 26/62
26
[root@pelatihan root]#find /* > file1
▪ Input RedirectionUntuk me-redirect standar input, kita gunakan simbol redirect <. Artinya kita memintashell untuk membaca file sebagai inputan bagi command/perintah. Prinsip
penggunaannya sama seperti output redirection.
Contoh :
♪ [root@pelatihan root]#mail root < latihmaka 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 hanyamengambil 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 viterdapat 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 uContoh : terlebih dahulu buatlah file dengan mengetik vi nama.file
♪ tekan i sehingga muncul tulisan INSERT pada bagianbawah layar. Ketikkan sesuatu pada layar.
♪ tekan esc lalu tekan u, u digunakan untuk mengundo
suatu perubahan setelah save terakhir. Ketikan lagisesuatu.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 27/62
27
♪ 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 dankeluar dari editor
♪ tekan Esc, :q, digunakan untuk keluar dari dari vitanpa melakukan editing
♪ tekan Esc, :q!, berfungsi untuk keluar tanpamenyimpan dari vi
♪ tekan Esc, :w, digunakan jika kita ingin men-savetanpa 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, cobalahdan 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 Fungsi
^G Help
^W Mencari kata
^R Membuka file
^O Menyimpan file
^X Keluar dari Pico
^K Menghapus satu baris^C Menampilkan posisi kursor
^U 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 dalammenggunakannya. Untuk menjalankan Joe ketikkan perintah berikut :
joe nama.file
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 28/62
28
Tombol Fungsi
^C Keluar tanpa menyimpan
^KD Simpan file dan kembali ke menu edit
^KX Simpan file dan keluar
^KB Memberikan tanda awal untuk memblok
^KK Memberikan tanda akhir untuk memblok ^KC Mengkopi daerah yang telah diblok
^KY Menghapus daerah yang telah diblok
^KM Memindahkan daerah yang telah diblok
^Y Menghapus satu baris
^X Memindahkan kursor ke kata berikutnya
^Z Memindahkan kursor ke kata sebelumnya
^KU Memindahkan kursor ke tempat paling awal file
^KV Memindahkan kursor ke tempat paling akhir file
^A Memindahkan kursor ke awal baris
^E Memindahkan kursor ke akhir baris^U Menggulung layar ke layar sebelumnya
^V Menggulung layar ke layar berikutnya
4. Mc
MC atau Midnight Commander merupakan aplikasi yang sangat berguna. Kemampuan mcsebagai 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 padaeditor pico yang sangat baik berjalan di terminal apapun, termasuk pada terminal bila kitasedang telnet dengan menggunakan client dari windows. Sedangkan vi digunakan karena
banyak feature-feature yang sangat menarik sehingga membantu kita untuk lebih cepatdalam mengedit file. Editor joe dan mc, digunakan karena sederhana dan tampilannya yangmenarik.
II.4 MENGAKSES DISK
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 29/62
29
Berbeda dengan Windows yang mengenal mekanisme drive ( A, B ,C ,dst ), Linuxmemiliki mekanisme sendiri yaitu mounting. Mekanisme ini deperlukan agar disk yang andamiliki, 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/floppyPerintah 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 padasaat 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 programfsck 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 30/62
30
II.5 PEMROGRAMAN SHELL ( BASH SCRIPTING )
1. Pendahu luan
Apa itu shell ? shell adalah program (penterjemah perintah) yang menjembatani user
dengan sistem operasi dalam hal ini kernel (inti sistem operasi). Umumnya shellmenyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-
perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file program (eksternal command). Selain itu shell memungkinkanuser menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusisebagai program.
2. Macam-macam shell
Tidak seperti sistem operasi lain yang hanya menyediakan satu atau dua shell, sistemoperasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shelldengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilihshell 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 yangada 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 lebihdidasarkan kepada kebutuhan pemakai yang makin hari makin meningkat. Untuk pelatihanini 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 yangcukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintahyang disediakan.
3. Pemrograman Shell
Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal ataupuneksternal) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan
pembuatannya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell dilinux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa
pemrograman (interpreter language), melakukan I/O, menyeleksi kondisi, looping, membuatfungsi, 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 prosesstatus)
[root@pelatihan root]#psPID TTY TIME CMD219 tty1 00:00:00 bash
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 31/62
31
301 tty1 00:00:00 ps
bash adalah shell aktif di system saya, jika di sistem anda berbeda misalnya csh atau kshubahlah dengan perintah change shell
[root@pelatihan root]# chshPassword:New shell [/bin/csh]:/bin/bashShell changed
dengan atau mengetikkan bash[root@pelatihan root]# bash
sekarang coba anda ketikkan perintah dibawah ini pada prompt shellecho “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 kestandard output yang defaultnya adalah layar. jika diinginkan mengulangi proses tersebut,anda akan mengetikkan kembali perintah tadi, tapi dengan fasilitas history cukupmenggunakan tombol panah kita sudah dapat mengulangi perintah tersebut, bagaimana jika
berupa kumpulan perintah yang cukup banyak, tentunya dengan fasilitas hirtory kita akankerepotan juga mengulangi perintah yang diinginkan apalagi jika selang beberapa waktumungkin perintah-perintah tadi sudah tertimpa oleh perintah lain karena history mempunyaikapasitas penyimpanan yang ditentukan. untuk itulah sebaiknya perintah-perintah tsbdisimpan 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/bashecho “Hello, apa khabar”
simpan dengan nama file tes ubah permission file tes menggunakan chmod
[root@pelatihan root]# chmod 755 tes
jalankan
[root@pelatihan root]# ./tesHello, apa khabar
Environment Var iable
Variabel lingkungan yang digunakan khusus oleh shell atau system linux kita untuk proses kerja system seperti variabel PS1, PS2, HOME, PATH, USER, SHELL,dsb...jikadigunakan akan berdampak pada system, misalkan variabel PS1 yang digunakan untuk mengeset prompt shell pertama yaitu prompt tempat anda mengetikkan perintah - perintahshell (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.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 32/62
32
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 Promptk u!PS2=”Lengkapi dong ?”
Maka prompt pertama dan kedua akan berubah, untuk mengembalikan PS1 anda ke promptsemula ketikkan perintah[root@pelatihan root]# PS1=$PS1LAMA
Jika anda ingin mengkonfigurasi prompt shell, bash telah menyediakan beberapa backslashkarakter diantaranya adalah:
\a ASCII bell character (07)
\d date dengan format “Weekday Month Date” (misalnya “Tue May 26”)
\e ASCII escape character (033)\H hostname (namahost)
\n newline (karakter baru)
\w Direktory aktif
\t time dalam 24 jam dengan format HH:MM:SS
dll 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
Posit ional Parameter
Parameter posisi yaitu variabel yang digunakan shell untuk menampung argumen yangdiberikan terhadap shell baik berupa argumen waktu sebuah file dijalankan atau argumenyang dikirim ke subrutin. variabel yang dimaksud adalah 1,2,3,dst..lebih jelasnya lihatcontoh 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 sesuaidengan kebutuhannya. Ada beberapa hal yang perlu diperhatikan dalam mendefinisikanvariabel, yaitu:
Dimulai dengan huruf atau underscore
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 33/62
33
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-quotedhasil=„ls –l„; #back-quotedangka=12Kalau anda perhatikan ada 3 tanda kutip yang kita gunakan untuk memberikan nilai string kesuatu variabel, adapun perbedaannya adalah:
Dengan kutip ganda (double-quoted), bash mengizinkan kita untuk menyisipkanvariabel di dalamnya. contohnya:#!/bin/bashnama=”Pinguin”
kata=”Hi $nama, apa khabarmu” #menyisipkan variabel namaecho $kata;Hasilnya:Hi Pinguin, apa khabarmu
Dengan kutip tunggal (single-quoted), akan ditampilkan apa adanya. contohnya:#!/bin/bashnama=”Pinguin”
kata=‟Hi $nama, apa khabarmu‟ #menyisipkan variabel namaecho $kata;Hasilnya:Hi $Piunguin, apa khabarmu
Dengan kutip terbalik (double-quoted), bash menerjemahkan sebagai perintah yang
akan dieksekusi, contohnya:#!/bin/bashhapus=„clear„;
isi=„ls –l„; #hasil dari perintah ls -l disimpan di variabel isi#hapus layarecho $hapus#ls -lecho $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]# ./pr1Hi, Pake printf ala C
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 34/62
34
di bashMy url pelatihan.linux.edu32 decimal = 40 octal32 decimal dalam float = 32.00untuk menggunakan format kontrol sertakan simbol %, bash akan mensubtitusikan format
tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih darisatu 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
I nput dengan read
Setelah echo dan printf untuk proses output telah anda ketahui, sekarang kita menggunakanstatement read yang cukup ampuh untuk membaca atau menerima masukan dari inputstandar
syntax :
$ read -opsi [nama_variabel...]
berikut contoh scriptnya:
#!/bin/bash#rd1echo -n “Nama anda :” read nama;echo “Hai $nama, apa khabarmu”;
echo “Pesan dan kesan :”; readecho “kata $nama, $REPLY”; Hasilnya:
[root@pelatihan root]# ./rd1Nama anda : PinguinHai Pinguin, apa khabarmuPesan & kesan :pake linux pasti asyik-asyik ajakata Pinguin, pake linux pasti asyik-asyik aja
Opsi Keterangan
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 35/62
35
-p memungkinkan kita membuat prompt sebagai informasi pengisian
-s membuat input yang dimasukkan tidak di echo ke layar (seperti layaknya password dilinux)
-n Menentukan banyak karakter yang diinput
-d Menentukan karakter pembatas masukaninformasi 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[warnamDimana:
m menandakan setting color contohnya:[root@pelatihan root]# echo -e “\033[31m HELLO\033[0m” HELLOkonstanta 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 u til ity tput untuk penempatan posisi ku rsor
kita dapat pula mengatur penempatan posisi kursor di layar dengan memanfaatkan utilitytput.Syntaxnya:
tput cup baris kolom
contohnya:#!/bin/bashcleartput cup 5 10echo “HELLO” tput cup 6 10echo “PAKE TPUT”
jika dijalankan Anda akan mendapatkan string HELLO di koordinat baris 5 kolom 10, danstring PAKE TPUT dibaris 6 kolom 10. informasi selengkapnya tentang tput gunakan mantput, atau info tput
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 36/62
36
LINUX TRAINING FIRST SERIES
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 37/62
37
pinguin.stttelkom.ac.id
MODUL IIIUSER and PROCESS MANAGEMENT
Administrasi sistem adalah mengenai mengontrol linux dan komputer secarakomplet. Pada sebuah lingkungan perusahaan besar dimana setiap orang memiliki tugas
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 38/62
38
yang spesifik,komputer users diasumsikan memiliki pengetahuan yang cukup untuk menjalankan yang dibutuhkan oleh tugas mereka itu, memanajemen file-file, atau mungkinmerancang sendiri desktop mereka. Users juga diharuskan memiliki kemampuan untuk memiliki kemampuan untuk menemukan informasi dari waktu ke waktu, sehingga merekatidak benar-benar kepada administrator sistem.
Administrator sistem mempunyai banyak tanggung jawab dan diasumsikan menjadiseperti pengatur bagi perusahaan atau departemen yang bersangkutan.Tanggung jawab dariadministrator 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. Iamemberikan ijin ke dirinya sendiri agar dapat membaca dan merubah file tersebut. Ia inginorang 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 groupantara 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.
AplikasiContoh : Bind, Mysql, Squid,dll
DeviceContoh : lp
ServiceContoh : cron, ftp
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 39/62
39
Tujuan pemberian nama login adalah untuk memberikan identitas pada tiap entityagar dapat memiliki file, direktori dan proses sendiri. Bagi user biasa, nama login dapatdigunakan 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 andatelah 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/bashbin: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/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail: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:
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 40/62
40
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/falsegdm:x:42:42::/home/gdm:/bin/bashrpcuser:x:29:29:RPC Service User:/var/lib/nfs:/bin/false
rpc:x:32:32:Portmapper RPC user:/:/bin/falsemailnull:x:47:47::/var/spool/mqueue:/dev/nulltamu:x:500:500:user1:/home/tamu:/bin/bashlia:x:501:501:user2:/home/lia:/bin/bashita: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/bashlia:x:501:501:user2:/home/lia:/bin/bashita:x:502:502:user3:/home/ita:/bin/bashcnc: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 tersebutx : password yang dienkripsi, disimpan di /etc/shadow501 : 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. Inimerupakan 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/shadowroot:$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:::
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 41/62
41
Baris pada /etc/shadow mengandung serangkaian karakter yang tidak dapatdiartikan 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/grouproot:x:0:rootbin:x:1:root,bin,daemondaemon:x:2:root,bin,daemondisk:x:6:rootlp:x:7:daemon,lpgames: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 Admini strasi User dan Group
Berikut ini adalah binary yang digunakan untuk memodifikasi /etc/shadow, /etc/passwd,
dan /etc/group.
/usr/sbin/useraddFungsi : 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 akanmengcreate user dengan nilai default yang diberikan sistem.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 42/62
42
Keterangan :-c comment
info atau deskripsi nama login-d home_dir
direktori home untuk user
-e expire_datetanggal nama login berakhir, formatnya : yyyy-mm-dd
-f inactive_days jumlah hari sebelum account tersebut berakhir bila password telah expired
-g initial_groupnomor GID (Group ID).
-G group,[...]group tambahan
-m direktori home akan dibuat bila tidak ada-p passwd
memberikan password
-s shellmerupakan user login shell
-u UIDnomor UID (user id)
/usr/sbin/userdelFungsi : menghapus user account dan file-file yang berhubunganSyntax : userdel [-r] loginDengan perintah userdel, akan menghapus semua entri berdasarkan nama login dariuser.-r bila parameter ini disertakan maka direktori home user turut di hapus.
/usr/bin/passwdFungsi : 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 Per ij inan dan Kepemil ikan
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 fileTgl terakhir dimodifikasi
Ukuran fileGroup
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 43/62
43
Owner Jumlah link
Mode file
Mode file : menunjukkan hak akses terhadap file bersangkutan
Formatnya : abcdefghijcontoh : -rwxr-xr-xa : 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 satugroup hanya bisa membaca dan mengeksekusihij : 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 kepemili kan f ile
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 penggantikarakter-karakter tersebut.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 44/62
44
Cara mengkonvert : r = 1w = 2x = 3
Untuk mengkombinasikan ketiga karakter tersebut kita tinggal menambahkan angka-angkanya. Contoh : rw = 1+2 = 3
Penempatan angka berdasarkan urutan ugo (user group other)Contoh : [root@pelatihan root]#chmod 700 file.txtPerintah 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 sebagaiuser 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 adalahdengan mengeset sebuah partisi dengan option usrquota dan atau grpquota pada /etc/fstab.Jika option tersebut digunakan, maka kernel secara periodik menginventarisir penggunaanruang harddisk oleh user-user yang terdaftar pada /etc/passwd melalui binary quotacheck.Binary quotacheck akan mencatat hasil scan file sistem atau partisi yang diaktifkan quotanyadalam 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 yangdiaktifkan usrquota dan grpquota.lakukan perintah man untuk quota, edquota dan repquota untuk melihat opsi-opsi yangdimiliki 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 quota5. Merubah mode perijinan file tersebut6. Mengaktifkan quota
Misalnya saja ada beberapa user yang tergabung dalam beberapa group. Group mahasiswaterdiri dari pinguin, ita, lia dan dhanang. Masing-masing mendapat jatah 2 MB. Berarti
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 45/62
45
group mahasiswa mendapat jatah 8 MB. Lalu kita tambah group asisten dan mendapat jatah10 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 pinguinquotas for user pinguin/dev/hda1 : blocks in use : 100, limits (soft = 2000, hard =
2000)inodes in use : 14, limits (soft = 200, hard = 200)
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 suatumanagement dalam mengotrol dan memonitor setiap proses. Proses di linux tercatat dalam
bentuk bilangan angka (PID), sehingga setiap proses dapat diamati dari bilangan memoryyang dipakai, user yang menjalankannya (process owner), lamanya proses tersebutdijalankan dan lain sebagainya. Proses-proses yang berlangsung dapat berupa daemon, user
aplication, utilities dan lain-lain.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 46/62
46
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. Moni toring proses
Untuk memonitor proses-proses yang dijalankan oleh sistem dapat digunakan perintah psdan top.
ps perintah ps ini digunakan untuk melihat secara sekilas proses apa saja yang sedangdijalankan sistem. Option yang umum digunakan adalah “-aux”, untuk option lengkapnyadapat dilihat dengan mengeksekusi ps – help.
Syntax : [root@pelatihan root]# ps [option]
contoh :[root@pelatihan root]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 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 0root 284 0.0 1.2 1652 772 ? S 14:18 0:00 klogdroot 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.statdroot 341 0.0 0.6 1308 420 ? S 14:18 0:00 /usr/sbin/apmd -pnobody 395 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -onobody 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 -onobody 401 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -onobody 402 0.0 0.7 7604 488 ? S 14:18 0:00 identd -e -odaemon 414 0.0 0.5 1356 364 ? S 14:18 0:00 /usr/sbin/atdlp 451 0.0 0.9 2360 580 ? S 14:19 0:00 lpd Waitingroot 515 0.0 0.5 1348 372 ttyS0 S 14:19 0:00 gpm -t msroot 530 0.0 1.0 1552 644 ? S 14:19 0:00 crondxfs 563 0.0 4.6 4368 2976 ? S 14:19 0:00 xfs -droppriv -daroot 595 0.0 0.5 1300 364 ? S 14:19 0:00 rhnsd --intervalroot 612 0.0 1.7 2252 1116 tty1 S 14:19 0:00 login -- rootroot 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/gunziproot 656 0.0 1.2 1772 768 tty1 T 14:20 0:00 /usr/bin/less -is
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 47/62
47
root 907 0.0 2.0 2340 1332 pts/0 S 14:56 0:00 /bin/bashroot 920 0.0 2.0 2340 1332 pts/1 S 14:57 0:00 bashroot 956 0.0 2.0 2344 1332 pts/2 S 14:58 0:00 bashroot 966 0.0 2.0 2340 1332 pts/4 S 14:58 0:00 bash -rcfile .basroot 975 0.0 2.0 2344 1332 pts/5 S 14:58 0:00 bash
root 993 0.0 1.2 2588 784 ? R 15:10 0:00 ps aux
keterangan :USER : Process owner PID : Process ID%CPU : Penggunaan CPU oleh proses%MEM : Penggunaan memori (dalam kB) oleh prosesVSZ : Penggunaan virtual memori dalam prosesRSS : Penggunaan memori yang resident oleh prosesTTY : Terminal (tty), tempat asal proses tersebut dijalankanSTAT : 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 dijalankanTIME : lamanya proses dijalankanCOMMAND : baris perintah yang dijalankan
topPerintah 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 toplebih 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 yangada.Kelemahannya adalah proses top ini lebih memakan banyak memori, CPU, dan runtime.
Syntax : # top contoh :[root@pelatihan root]# top9:37am up 2:33, 2 users, load average: 0.68, 1.27, 1.0978 processes: 76 sleeping, 1 running, 0 zombie, 1 stoppedCPU states: 12.3% user, 11.1% system, 0.0% nice, 76.4% idleMem: 54760K av, 53340K used, 1420K free, 31148K shrd, 1144KbuffSwap: 68504K av, 40232K used, 28272K free 28132K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND1706 root 6 0 488 488 392 S 6.9 0.8 0:14 esd941 root 5 0 18256 13M 1840 S 3.0 26.1 3:25 X
1665 root 4 0 2828 2048 1680 S 2.8 3.7 0:02 kvt1 root 0 0 116 76 56 S 0.0 0.1 0:05 init
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 48/62
48
2 root 0 0 0 0 0 SW 0.0 0.0 0:00 kflushd3 root 0 0 0 0 0 SW 0.0 0.0 0:00 kupdate4 root 0 0 0 0 0 SW 0.0 0.0 0:00 kpiod5 root 0 0 0 0 0 SW 0.0 0.0 0:09 kswapd6 root -20 -20 0 0 0 SW< 0.0 0.0 0:00 mdrecoveryd61 root 0 0 0 0 0 SW 0.0 0.0 0:00 khubd
303 root 0 0 216 168 120 S 0.0 0.3 0:01 syslogd313 root 0 0 540 184 156 S 0.0 0.3 0:00 klogd328 rpc 0 0 92 0 0 SW 0.0 0.0 0:00 portmap344 root 0 0 0 0 0 SW 0.0 0.0 0:00 lockd345 root 0 0 0 0 0 SW 0.0 0.0 0:00 rpciod355 rpcuser 0 0 112 0 0 SW 0.0 0.0 0:00 rpc.statd370 root 0 0 64 0 0 SW 0.0 0.0 0:00 apmd421 root 0 0 128 48 28 S 0.0 0.0 0:00 automount474 nobody 0 0 128 24 16 S 0.0 0.0 0:00 identd477 nobody 0 0 128 24 16 S 0.0 0.0 0:00 identd478 nobody 0 0 128 24 16 S 0.0 0.0 0:00 identd480 nobody 0 0 128 24 16 S 0.0 0.0 0:00 identd481 nobody 0 0 128 24 16 S 0.0 0.0 0:00 identd
493 daemon 0 0 76 0 0 SW 0.0 0.0 0:00 atd524 root 0 0 212 16 0 SW 0.0 0.0 0:00 xinetd539 root 0 0 228 0 0 SW 0.0 0.0 0:00 sshd563 lp 0 0 124 0 0 SW 0.0 0.0 0:00 lpd611 root 0 0 628 316 276 S 0.0 0.5 0:00 sendmail627 root 0 0 96 48 32 S 0.0 0.0 0:02 gpm775 root 0 0 2680 48 36 S 0.0 0.0 0:06 httpd790 root 0 0 168 104 72 S 0.0 0.1 0:00 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 prosesibunya (parent process) tidak mematikan proses anaknya dengan sempurna. Zombie proses
ini akan mati apabila parent prosesnya mati.
killPerintah ini akan mengirimkan signal tertentu untuk proses yang tertentu pula.
apabila tidak ada sinyal yang terspesifikasi, sinyal TERM akan dikirimkan. Sinyal TERM iniakan mematikan proses-proses yang tidak mendapatkan sinyal tersebut. Untuk proses-proseslainnya, 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] PIDsilahkan 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 proses15 SIGTERM Sinyal terminasi software
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 49/62
49
Untuk keterangan lebih lanjut silahkan lihat manualnya.
2. Booting dan I ni t 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, danselanjutnya akan menjalankan script init, Init adalah proses pertama yang dijalankan olehsistem, 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 sudahdisiapkan secara default (0 untuk halt, 1 untuk single user, 6 untuk reboot sistem, 2,3,4,5untuk 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-prosesautonomous 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 yangakan menginisialisasi run level dari sistem tersebut.
Berikut adalah isi dari file /etc/inittab
[root@pelatihan root]# vi /etc/inittab## inittab This file describes how the INIT process should set up# the system in a certain run-level.
## Author: Miquel van Smoorenburg, <[email protected]># 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, if you do not havenetworking)# 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 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Things to run in every runlevel.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 50/62
50
ud::once:/sbin/update
# Trap CTRL-ALT-DELETEca::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 ShuttingDown"
# If power was restored before the shutdown kicked in, cancel it.pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; ShutdownCancelled"
# Run gettys in standard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5# xdm is now a separate servicex:5:respawn:/etc/X11/prefdm -nodaemon
Dalam UNIX dikenal istilah single user. Single user biasanya dieksekusi pada saatmaintenance 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 0Perintah ini mirip dengan poweroff, dimana setelah shutdown power komputer jugadimatikan.Untuk penggunaan init lainnya silahkan lihat manualnya.
3. Log & Message
Di dalam Linux dikenal dua cara logging, yaitu dengan syslogd dan klogd. Syslogddigunakan 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 /var/log/messages# The authpriv file has restricted access.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 51/62
51
authpriv.* /var/log/secure# Log all the mail messages in one place.mail.* /var/log/maillog# Log cron stuffcron.* /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.loglocal7.* /var/log/boot.log## INN#news.=crit /var/log/news/news.critnews.=err /var/log/news/news.errnews.notice
/var/log/news/news.notice
Setelah syslogd hal yang perlu diketahui adalah klogd. Klogd adalah sistem daemon yangmencatat segala aktifitas kernel dan kemudian mendokumentasikannya ke dalam file.
Fi le /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 setelahmengeksekusi 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 don‟t #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 kelocalhost secara otomatis.
4. Penj adwalan Proses
Linux memiliki utilitas penjadwalan suatu proses. Dimana suatu proses atau pekerjaan dapatdilakukan pada waktu yang ditentukan secara otomatis atau juga suatu pekerjaan yang rutindilakukan. Utilitas tersebut adalah at dan cron.
Uti li tas at
Utilitas ini memungkinkan administrator untuk menjadwalkan pekerjaan pada waktutertentu. Misalnya saja untuk melihat spasi harddisk yang digunakan pada pukul 12:00 siang
[root@pelatihan root]#at 12:00
at>du –a > /tmp/du.outat>at>ctrl-D
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 52/62
52
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 diijinkanmenggunakan 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 :
dhanangAnto
Kedua user diatas tidak bisa menggunakan utilitas at. Perlu diketahui bahwa suatu proses
atau pekerjaan yang telah dikerjakan tidak akan diulangi kemballi kecuali telahdiperintahkan kembali.untuk mengatasinya gunakan utilitas crontab atau cron.
Uti li tas Crontab
Dalam menggunakan crontab ketikkan perintah :[root@pelatihan root]# crontab -e
maka akan muncul editor teks vi, dan kita akan mengeditnya disini. Format penulisancrontab sebagai berikut:
minute hour day month weekday username command argument
sekarang kita mencoba menggunakannya dengan terlebih dahulu membuat file script hallo.sh:
#! /bin/shwall ”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 sepertiutilitas 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.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 53/62
53
LINUX TRAINING FIRST SERIES
pinguin.stttelkom.ac.id
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 54/62
54
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 berhubungandengan file tersebut, tetapi berbeda dengan sistem kompresi tradisional yang menggunakantar.zip, dengan rpm kita tidak dipusingkan masalah manajemen file seperti letak file dandirektori file misalnya. File rpm ditandai dengan penamaan unik yaitu memiliki ekstension.rpm.
Seluruh paket rpm memiliki standar nama sebagai berikutnama-versi-rilis.arsitektur.rpmMisal suatu paket memiliki nama sebagai berikut
apache-2.0-39.i386.rpmapache : paket apache (WebServer),2.0 : versi filenya39 : rilisnyai386 : khusus paket untuk arsitektur Intel 386.
Syntax untuk perintah rpm# rpm [--option] [nama_paket]Beberapa kombinasi – switches yang pentinge Menghapus/uninstal paketh Menampilkan tanda # sebagai pengukur progress/kemajuani install paketq menanyakan paket
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 55/62
55
U Upgrade paketv Memverifikasi dan menampilkan apa yang terjadi.F 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 interfaceantara user-level program dengan hardware. Fungsinya seperti layaknya sistem operasi,menangani task switching dalam multitasking, menangani permintaan membaca ataumenulis 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-to-date. Kernel terbaru dari masing-masing distribusi dapat diperoleh dengan cara men-download 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.xmenunjukkan 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 56/62
56
Perintah tersebut akan menguraikan file-file ke dalam direktori /usr/src/linux. Kemudianuntuk 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. Biladitemukan file seperti itu maka patch yang dilakukan tidak berhasil, periksa kembali apakahfile patch yang dipakai sudah benar.
Konfigurasi Linux dimulai dari direktori /usr/src/linux. Untuk pindah ke direktoritersebut 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. Inimemastikan agar tidak ada feature versi lama yang tersisa.Kemudian kita bisa langsung memulai konfigurasi kernel kita. Ada tiga cara untuk memulaikonfigurasi 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 diatasdijalankan. 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 akanmemperbesar ukuran kernel nantinya. Jadi pilih feature-feature yang sering digunakan yangdimuat ke dalam kernel atau jadikan module untuk feature yang tidak sering digunakan,misalnya PPP support.
3. Kompi lasi Kernel
Proses inilah yang terpenting dalam seluruh proses kompilasi kernel, dimana Mesinkomputer akan mengkompile semua file atau library yang ada dalam source kernel yangtelah kita download tadi. Tahap kompilasi ini sangat potensial menimbulkan kesalahan dankadang membuat frustasi bila teris-terusan mengalami kegagalan. Sebelum mengalamimasalah 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 padadirektori /usr/src/linux-2.4.7-10) :
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 57/62
57
[root@pelatihan linux-2.4.7-10]# make dep perintah ini akan membaca file konfigurasi dan membentuk dependency tree. Proses inimengecek apa yang dikompile dan apa yang tidak dikompile.
[root@pelatihan linux-2.4.7-10]# make bzImagePerintah ini merupakan proses kompilasi sesungguhnya. Bila tidak ada pesan kesalahan,akan terbentuk kernel yang terkompresi dan siap di instalasi.
4. Kompilasi M odul
Sebelum instalasi kernel, modul-modul yang berhubungan perlu dikompile juga dengan perintah:[root@pelatihan linux-2.4.7-10]# make modules
5. Instalasi M odul 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. Edi ting Bootloader
Li lo
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 lainmisalnya:
[root@pelatihan linux-2.4.7-10]# cp /usr/src/linux-2.4.7-10/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-baruroot = /dev/hda3label = linux-baru
Kemudian aktifkan konfigurasi lilo dengan perintah :[root@pelatihan root]# liloatau[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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 58/62
58
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.
F il e /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 # Ipv4alias net-pf-3 off # Raw socketsalias net-pf-4 off # IPXalias net-pf-5 off # DDP / appletalkalias net-pf-6 0ff # Amateur Radio NET/ROMalias net-pf-10 off # Ipv6alias net-pf-11 off # ROSE / Amateur Radio X.25 PLPalias net-pf-19 off # Acorn Econetalias cahr-major-10-130 softdogalias cahr-major-10-175 agpgartalias cahr-major-108 ppp_genericalias ppp-compress-21 bsd_compalias ppp-compress-24 ppp_deflatealias ppp-compress-26 ppp_deflatealias loop-xfer-gen-0 lop_genalias loop-xfer-3 loop_fish2alias loop-xfer-gen-10 loop_genalias cipher-2 desalias cipher-3 fish2alias cipher-4 blowfishalias cipher-6 idea
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 59/62
59
alias cipher-7 serp6falias cipher-8 mars6alias cipher-11 rc62
IV.3 DASAR-DASAR SEKURITI SISTEM
1. PAM (Pluggable Authenti fi cation M odules ) Dalam distribusi RedHat Linux yang terbaru, dilengkapi dengan skema autentifikasiyang unified, yang disebut PAM. PAM memperbolehkan kita untuk merubah metodeauthentifikasi yang ada dan mengenkapsulasi metode authentifikasi lokal tanpa harusmengkompile 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 diconsole tertentu, dengan menambahkan baris :
-: ALL EXCEPT root console: tty1 tty2 tty3 tty4 tty5 tty6 tty7tty8 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 intrusidari 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 60/62
60
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 H ardware baru
Untuk melakukan pendeteksian adanya perubahan hardware baik dilepas maupun dipasang,kita bisa lakukan dengan bantuan program kudzu. Caranya mudah yaitu jika kita selesaimelepas 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 palingsederhana 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
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 61/62
61
Sebelum bagian ini dimulai kami tekankan terlebih dahulu tutorial ini bukandimaksudkan untuk mengajari anda menjadi hacker/cracker, tetapi untuk digunakan sebagai
bahan pendidikan. Ada beberapa cara untuk mengatasi kasus ini, namun kita hanyamembahas satu cara yang kira-kira susah untuk diimplementasikan jika anda tidak memilkiakses 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 passwordnyaContoh :
Root:$gfdsgfdshshfsdfssgfds#fds/:12276:0:88888:7:::
Hapus bagian yang ditebalkan, lalu kembalikan harddisk anda kemudian bootinglah seperti biasa.
7/15/2019 Modul Pelatihan Linux Basic
http://slidepdf.com/reader/full/modul-pelatihan-linux-basic 62/62
LINUX TRAINING FIRST SERIES
pinguin.stttelkom.ac.id