Selasa, 03 Januari 2012

Proses Startup and Shutdown


Memahami proses yang berlangsung pada saat startup dan shutdown akan memudahkan dalam mencari kesalahan (troubleshooting) ketika terjadi masalah yang berhubungan dengan startup dan shutdown komputer.

Proses Startup
Proses startup pada sistem Linux dapat dilihat pada gambar di bawah:
Keterangan:
1.Pertama kali mesin melakukan power on self test (pemeriksaan hardware).
2.Program BIOS yang ada di ROM akan dieksekusi.
3.Boot Loader yang ada di MBR akan dieksekusi.
4.Load Kernel Linux ( /boot/vmlinuz ) ke RAM.
5.Menjalankan program init.




1.init
init merupakan proses level user yang pertama kali dijalankan oleh kernel dan mempunyai nomor proses (PID)=1. Selanjutnya init akan membaca file /etc/inittab dan menjalankan perintah didalamnya.

2.File /etc/inittab
Format umum isi file /etc/inittab adalah sbb:

      id:runlevel:action:process

Keterangan :
id          :Menunjukkan identitas setiap baris
runlevel :Menunjukkan di run level berapa saja akan diterapkan
action    :Menunjukkan action apa yang harus dilakukan
process :Program atau perintah yang harus dijalankan

3.Run Level
Run level menggambarkan keadaan sistem yang mendefinisikan layanan apa yang sedang berjalan. Run level ditunjukkan dengan angka. Seluruh baris di file /etc/inittab akan diproses sesuai dengan run level yang berlaku. Baris yang tidak mempunyai run level, berarti proses pada baris tersebut dijalankan pada setiap run level.

4.Tabel Run Level

5.Jenisjenis Action

Contoh isi file /etc/inittab:
       
       id:3:initdefault:

Keterangan :
Baris di atas menunjukkan bahwa pada saat dijalankan sistem akan masuk ke run level 3.

       1:2345:respawn:/sbin/getty 9600 tty1


Keterangan :
Kolom pertama menunjukkan bahwa baris ini untuk /dev/tty1
Kolom kedua menunjukkan bahwa baris ini diterapkan untuk run level 2,3,4,dan 5.
Kolom ketiga berarti bahwa perintah /sbin/getty akan dijalankan lagi apabila berhenti.
Kolom terakhir menunjukkan program /sbin/getty akan dijalankan pada virtual console yang pertama.


6.Script Inisialisasi
Script yang akan dijalankan sesuai dengan run level. Disimpan di direktori sesuai run level, di bawah direktori /etc/rc.d/rc[x].d berupa file symbolic link.
Script asli disimpan di /etc/rc.d/init.d.


Shutdown
Sebelum mesin dimatikan (power off), sebaiknya sistem di shutdown dulu dengan perintah /sbin/shutdown . Perintah tersebut akan melakukan halhal berikut :
1.Memberitahukan kepada user yang login bahwa sistem akan dimatikan.
2.Menghentikan seluruh proses yang masih berjalan.
3.Melakukan unmount filesystem.
4.Menyimpan seluruh file yang masih di memori ke harddisk.

Sintaks :
       shutdown [pilihan] [waktu] [pesan]

Contoh :
# shutdown -h now
# shutdown -h +10 "Sistem akan diperbaiki"

Contoh Reboot :
# shutdown -r

manajemen user

User adalah bagian yang sangat penting dari sebuah sistem opreasi, karena user adalah komponen dari sistem komputer yang dihubungkan oleh sistem operasi agar dapat mengerjakan perintah-perintah atau instruksi-instruksi yang diberikan oleh user.User berperan penting karena user adalah pemegang kekuasaan penuh terhadap sistem operasi, apabila terjadi kesalahan instruksi maka sebuah sistem operasi bisa mengalami crash atau kerusakan. Dalam linux user terbagi menjadi dua bagian, yaitu super user (root) dan user biasa yang termasuk dalam golongan/group users. User root adalah Super User dalam sebuah sistem linux, setiap mesin linux pasti mempunyai user root, user ini sangat tidak dianjurkan untuk pemakaian sehari-hari dikarenakan user ini memiliki semua akses ke semua system file dalam linux. Ini akan sangat berbahaya apabila terjadi kesalahan dalam pemakaiannya.


Untuk mengidentifikasi user root biasanya ditandai dalam shell/bash linux dengan tanda #, sedangkan user biasa ditandai dengan $. User biasa memiliki hak terbatas terhadap direktory file dan system file terkecuali jika permition file nya diperbolehkan oleh root (ini berkaitan dengan ‘chmod’ akan dibahas di edisi mendatang), user ini memiliki hak tidak terbatas pada home direktorynya sendiri; (misalnya: /home/dendy) dan temporary directory (/tmp).
mengubah user hanya bisa dilakukan di dalam root dan tidak bisa di lakukan di tempat user.
Jika dibandingkan dengan sistem operasi windows root adalah Administrator Account sedangkan user biasa adalah user-user lain yang merupakan Limited Account. Dalam linux daftar user dapat dilihat di sebuah file /etc/passwd disana dapat dilihat user-user yang sudah ada beserta UID dan groupnya dengan perintah : ~# more /etc/passwd sebagai root.

Membuat User di Linux
Untuk membuat sebuah user di linux (dalam hal ini menggunakan distro slackware 12) kita dapat  mengetikkan syntax di bash/shell linux useradd namauser contohnya :

     # useradd dendy
     #

Namun pada distro slackware 12 sudah diberikan sebuah tools yang mempermudah pembuatan user, yaitu adduser. Dengan menggunakan tools ini untuk membuat user cukup dengan mengetikkan adduser namauser kemudian setelah itu akan ada insturksi-instruksi untuk melengkapi pembuatan user hingga passwordnya, pembuatan contohnya :
Tidak semua form harus diisikan, seperti contoh diatas ada beberapa form yang dibiarkan default, setelah memasukkan username tinggal enter sampai pembuatan account selesai.
Set/Reset Password User di Linux

Lupa password adalah hal yang sering terjadi pada user, ini biasanya disebabkan oleh kelalaian user. Namun hal ini bisa diatasi oleh root, user root dapat mereset password user-user yang ada di mesin linux itu sendiri. Hal yang paling berbahaya adalah lupa password root, walaupun ini bisa diatasi tapi akan lebih sulit untuk dilakukan.

Untuk mereset dan mengeset password di linux digunakan perintah passwd. Nah untuk mengeset dan mereset password sendiri cukup dengan perintah diatas tanpa dibubuhi atribut/opsi dibelakangnya. Hanya saja apabila root ingin mereset password user lain setelah passwd ditambah dengan namauser yang akan di set/reset. Contohnya :

      $ passwd set/reset password user yang sedang login 

      # passwd dendy set/reset password user dendy

Setelah mengetikkan syntax diatas maka akan keluar form password dan ikuti petunjuknya sehingga password berhasil diganti dan mengeluarkan pesan “password changed.”

Modifikasi User di Linux
Untuk memodifikasi user di linux cukup dengan menggunakan perintah usermod, namun ada beberapa opsi yang terdapat pada usermod antara lain; user id (UID), group user, home direktory, shell login, comment (description), login name dll. Pada kesempatan ini hanya akan dibahas beberapa opsi diatas.

      # usermod -u 2008 dendy

Ini akan mengganti user ID fadhly menjadi 1024, user ID merupakan identitas sebuah user yang berupa angka yang uniq.

      # usermod -g root dendy

Ini akan mengganti user group fadhly menjadi root, user group adalah kelompok user yang memiliki privilage tertentu.

       # usermod -d /home/dendy dendy

Ini akan mengganti home directory dendy ke /home/dendy, home direktori adalah direktori kerja pada sebuah user. Jika diibaratkan pada windows, home direktory adalah My Documents.

      # usermod -c “aryandie” dendy

Ini akan mengganti comment user fadhly menjadi aryandie Comment adalah description atau Full Name dari sebuah user.

      # usermod -s /bin/bash dendy

Ini akan mengganti shell login user fadhly menjadi /bin/bash. Shell login adalah terminal console program pada linux.


       # usermod –l ridha dendy

Ini akan mengganti login name user fadhly menjadi ridha, login name adalah nama yang dipakai untuk login ke sebuah mesin linux, login name bukan merupakan description atau full name.
Login name dapat berupa sesuatu yang tidak berhubungan dengan full name user

manajemen user merupakan sesuatu yang penting, karena jika salah sistem kita bisa down karena itu.

Menambah user baru :
#adduser
atau
#useradd

Mengeset Password user:
#passwd nama_user

Mereset password sendiri
#passwd
$passwd

Mengganti / mengedit user
# usermod

Mengganti Group
# chgrp

Mengganti login user
# usermod -l nama_baru nama_lama

Mengganti Keterangan / Comment user
# usermod -c keterangan nama_user

Menghapus user dan home direktorinya
# userdel -r nama_use




Minggu, 01 Januari 2012

Perintah Dasar Linux


Seperti halnya bila kita mengetikkan perintah di DOS,
command line atau baris perintah di Linux juga diketikkan di
prompt dan diakhiri dengan menekan tombol Enter pada keyboard
untuk mengeksekusi perintah tersebut.
Baris perintah merupakan cara yang lebih efisien untuk
melakukan sesuatu pekerjaan. Oleh karena itu pemakai Linux
tetap mengandalkan cara ini untuk bekerja. Sebaiknya pemula
juga harus mengetahui dan sedikitnya pernah menggunanakan
perintah baris ini karena suatu saat pengetahuan akan
perintah-perintah ini bisa sangat diperlukan.
Berikut akan dijelaskan beberapa perintah dasar yang
mungkin kelak akan sering digunakan :


  •  & 

Perintah & digunakan untuk menjalan perintah di belakang
(background)
  Contoh:
  wget http://id.wikibooks.org &
Perintah & dipakai dibelakang perintah lain untuk
menjalankannya di background. Apa itu jalan di background?
Jalan dibackground maksudnya adalah kita membiarkan sistem
untuk menjalankan perintah sendiri tanpa partisipasi kita,
dan membebaskan shell/command prompt agar bisa dipergunakan
menjalankan perintah yang lain.

  • adduser

Perintah adduser digunakan untuk menambahkan user.
Biasanya hanya dilakukan oleh root untuk menambahkan user
atau account yg baru. Setelah perintah ini bisa dilanjutkan
dengan perintah passwd, yaitu perintah untuk membuat password
bagi user tersebut.
Contoh:
# adduser udin
# passwd udin
Perhatikan bahwa semua perintah yang membutuhkan akses root,
di sini saya tulis dengan dengan menggunakan tanda #, untuk
memudahkan Anda membedakannya dengan perintah yang tidak
perlu akses root.
Jika Anda menjalankan perintah adduser, Anda akan diminta
memasukkan password untuk user yang Anda buat. Isikan
password untuk user baru tersebut dua kali dengan kata yang
sama.

  •  alias

Digunakan untuk memberi nama lain dari sebuah perintah.
Misalnya bila Anda ingin perintah ls dapat juga
dijalankandengan mengetikkan perintah dir, maka buatlah
aliasnya sbb:
$ alias dir=ls
Kalau Anda suka dengan tampilan berwarna-warni, cobalah
bereksperimen dengan perintah berikut:
$ alias dir=ls -ar –color:always
Untuk melihat perintah-perintah apa saja yang mempunyai nama
lain saat itu, cukup ketikkan alias saja (tanpa argumen).
Lihat juga perintah unalias.

  •  bg

Untuk memaksa sebuah proses yang dihentikan
sementara(suspend) agar berjalan di background. Misalnya Anda
sedang menjalankan sebuah perintah di foreground (tanpa
diakhiri perintah &) dan suatu saat Anda membutuhkan shell
tersebut maka Anda dapat memberhentikan sementara perintah
tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk
menjalakannya di background. Dengan cara ini Anda telah
membebaskan shell tapi tetap mempertahankan perintah lama
berjalan di background.
Lihat juga perintah fg.

  • cat

Menampilkan isi dari sebuah file di layar. Contoh:
$ cat /nama/suatu/file

  •  cd

Change Directory atau untuk berpindah direktori dan saya kira
Anda tidak akan menemui kesulitan menggunakan perintah ini
karena cara penggunaanya mirip dengan perintah cd di DOS.


  •  chgrp

Perintah ini digunakan untuk merubah kepemilikan kelompok
file atau direktori. Misalnya untuk memberi ijin pada
kelompok atau grup agar dapat mengakses suatu file. Sintaks
penulisannya adalah sbb:
# chgrp <grup baru> <file>

  •  chmod

Digunakan untuk menambah dan mengurangi ijin pemakai untuk
mengakses file atau direktori. Anda dapat menggunakan sistem
numeric coding atau sistem letter coding. Ada tiga jenis
permission/perijinan yang dapat dirubah yaitu:

1. r untuk read,
2. w untuk write, dan
3. x untuk execute.
Dengan menggunakan letter coding, Anda dapat merubah
permission diatas untuk masing-masing u (user), g (group), o
(other) dan a (all) dengan hanya memberi tanda plus (+) untuk
menambah ijin dan tanda minus (-) untuk mencabut ijin.
Misalnya untuk memberikan ijin baca dan eksekusi file coba1
kepada owner dan group, perintahnya adalah:
$ chmod ug+rx coba1
Untuk mencabut ijin-ijin tersebut:
$ chmod ug-rx coba1
Dengan menggunakan sitem numeric coding, permission untuk
user, group dan other ditentukan dengan menggunakan kombinasi
angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1
(execute).
Misalnya untuk memberikan ijin baca(4), tulis(2) dan
eksekusi(1) file coba2 kepada owner, perintahnya adalah:
$ chmod 700 coba2
Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file
coba3 kepada user, baca(4) saja kepada group dan other,
perintahnya adalah:
$ chmod 644 coba3
Perhatian: Jika Anda hosting di server berbasis Linux,
perintah ini sangat penting sekali bagi keamanan data Anda.
Saya sarankan semua direktori yang tidak perlu Anda tulis di
chmod 100 (jika Apache jalan sebagai current user (Anda))
atau di chmod 501 jika Apache jalan sebagai www-data atau
nobody (user lain).
chown
Merubah user ID (owner) sebuah file atau direktori
$ chown <user id> <file>

  •  cp

Untuk menyalin file atau copy. Misalnya untuk menyalin file1
menjadi file2:
$ cp <file1> <file2>

  • fg

Mengembalikan suatu proses yang dihentikan sementar(suspend)
agar berjalan kembali di foreground. Lihat juga perintah bg
diatas.

  •  find

Untuk menemukan dimana letak sebuah file. Perintah ini akan
mencari file sesuai dengan kriteria yang Anda tentukan.
Sintaksnya adalah perintah itu sendiri diikuti dengan nama
direktori awal pencarian, kemudian nama file (bisa
menggunakan wildcard, metacharacters) dan terakhir menentukan
bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan
dicari semua file yang berakhiran .doc di current direktori
serta tampilkan hasilnya di layar:
$ find . -name *.doc -print
Contoh hasil:
. /public/docs/account.doc
. /public/docs/balance.doc
. /public/docs/statistik/prospek.doc
./public/docs/statistik/presconf.doc

  •  grep

Global regular expresion parse atau grep adalah perintah
untuk mencari file-file yang mengandung teks dengan kriteria
yang telah Anda tentukan.
Format perintah:
$ grep <teks> <file>
Misalnya akan dicari file-file yang mengandung teks marginal
di current direktori:
$ grep marginal <file>
diferent.doc: Catatan: perkataan marginal luas dipergunakan
di dalam ilmu ekonomi prob.rtf: oleh fungsi hasil marginal
dan fungsi biaya marginal jika fungsi prob.rtf: jika biaya
marginal dan hasil marginal diketahui maka biaya total

  •  gzip

ini adalah software kompresi zip versi GNU, fungsinya untuk
mengkompresi sebuah file. Sintaksnya sangat sederhana:
$ gzip <namafile>
Walaupun demikian Anda bisa memberikan parameter tertentu
bila memerlukan kompresi file yang lebih baik, silakan
melihat manual page-nya. Lihat juga file tar, unzip dan zip.

  •  halt

Perintah ini hanya bisa dijalankan oleh super useratau Anda
harus login sebagai root. Perintah ini untuk memberitahu
kernel supaya mematikan sistem atau shutdown.

  •  hostname

Untuk menampilkan host atau domain name sistem dan bisa pula
digunakan untuk mengesset nama host sistem.
Contoh pemakaian:
[user@localhost mydirectoryname] $ hostname
localhost.localdomain

  •  kill

Perintah ini akan mengirimkan sinyal ke sebuah proses yang
kita tentukan. Tujuannya adalah menghentikan proses. Format
penulisan:
$ kill <sinyal> <pid>
PID adalah nomor proses yang akan di hentikan. Tidak tahu PID
proses mana yang mau dibunuh? Cobalah bereksperimen dengan
perintah:
ps aux | grep <myusername>
less
Fungsinya seperti perintah more.



  • login

Untuk masuk ke sistem dengan memasukkan login ID atau dapat
juga digunakan untuk berpindah dari user satu ke user
lainnya.

  •  logout

Untuk keluar dari sistem.

  •  ls

Menampilkan isi dari sebuah direktori seperti perintah dir di
DOS. Anda dapat menggunakan beberapa option yang disediakan
untuk mengatur tampilannya di layar. Bila Anda menjalankan
perintah ini tanpa option maka akan ditampilkan seluruh file
nonhidden(file tanpa awalan tanda titik) secara alfabet dan
secara melebar mengisi kolom layar. Option -la artinya
menampilkan seluruh file/all termasuk file hidden(file dengan
awalan tanda titik) dengan format panjang.

  •  man

Untuk menampilkan manual page atau teks yang menjelaskan
secara detail bagaimana cara penggunaan sebuah perintah.
Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau
tidak mengetahui fungsi dan cara menggunakan sebuah perintah.
$ man <perintah>

  •  mesg

Perintah ini digunakan oleh user untuk memberikan ijin user
lain menampilkan pesan dilayar terminal. Misalnya mesg Anda
dalam posisi y maka user lain bisa menampilkan pesan di layar
Anda dengan write atau talk.
$ mesg y atau mesg n
Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan
pesan-pesan dari user lain.

  •  mkdir

Membuat direktori baru, sama dengan perintah md di DOS. a

  •  more

Mempaging halaman, seperti halnya less

  •  mount

Perintah ini akan me-mount filesystem ke suatu direktori atau
mount-point yang telah ditentukan. Hanya superuser yang bisa
menjalankan perintah ini. Untuk melihat filesystem apa saja
beserta mount-pointnya saat itu, ketikkan perintah mount.
Perintah ini dapat Anda pelajari di bab mengenai filesystem.
Lihat juga perintah umount.
$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type vfat (rw)
/dev/hda4 on /usr type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)

  •  mv

Untuk memindahkan file dari satu lokasi ke lokasi yang lain.
Bila argumen yang kedua berupa sebuah direktori maka mv akan
memindahkan file ke direktori tersebut. Bila kedua argumen
berupa file maka nama file pertama akan menimpa file kedua.
Akan terjadi kesalahan bila Anda memasukkan lebih dari dua
argumen kecuali argumen terakhir berupa sebuah direktori.

  •  passwd

Digunakan untuk mengganti password. Anda akan selalu diminta
mengisikan password lama dan selanjutnya akan diminta
mengisikan password baru sebanyak dua kali. Password
sedikitnya terdiri dari enam karakter dan sedikitnya
mengandung sebuah karakter.

  •  pwd

Print working directory, atau untuk menampilkan nama
direktori dimana Anda saat itu sedang berada.

  •  rm

Untuk menghapus file dan secara default rm tidak menghapus
direktori. Gunakan secara hati-hati perintah ini terutama
dengan option -r yang secara rekursif dapat mengapus seluruh
file.
Sekali lagi: Hati-hati dengan perintah ini!

  •  rmdir

Untuk menghapus direktori kosong.

  •  shutdown

Perintah ini untuk mematikan sistem, seperti perintah halt.
Pada beberapa sistem anda bisa menghentikan komputer dengan
perintah shutdown -h now dan merestart sistem dengan perintah
shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del.

  •  su

Untuk login sementara sebagai user lain. Bila user ID tidak
disertakan maka komputer menganggap Anda ingin login
sementara sebagai super user atau root. Bila Anda bukan root
dan user lain itu memiliki password maka Anda harus
memasukkan passwordnya dengan benar. Tapi bila Anda adalah
root maka Anda dapat login sebagai user lain tanpa perlu
mengetahui password user tersebut.

  •  tail

Menampilkan 10 baris terakhir dari suatu file. Default baris
yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri
berapa baris yang ingin ditampilkan:
$ tail <jumlah baris> <file file ….>

  •  talk

Untuk mengadakan percakapan melalui terminal. Input dari
terminal Anda akan disalin di terminal user lain, begitu
sebaliknya.

  •  tar

Menyimpan dan mengekstrak file dari media seperti tape drive
atau hard disk. File arsip tersebut sering disebut sebagai
file tar. Sintaknya sebagai berikut:
$ tar <aksi> <option> <file atau direktori>
Contoh:
$ tar -czvf namaFile.tar.gz /nama/direktori/*
Perintah di atas digunakan untuk memasukkan semua isi
direktori, lalu dikompres dengan format tar lalu di zip
dengan gzip, sehingga menghasilkan sebuah file bernama
namaFile.tar.gz
$ tar -xzvf namaFile.tar.gz
Perintah di atas untuk mengekstrak file namaFile.tar.gz

  •  umount

Adalah kebalikan dari perintah mount, yaitu untuk mengunmount
filesystem dari mount-pointnya.
Setelah perintah ini
dijalankan
direktori yang menjadi mount-point
tidak lagi bisa
digunakan.

#
umount <filesystem>


  •  unalias

Kebalikan dari perintah alias, perintah ini akan membatalkan
sebuah alias. Jadi untuk membatalkan alias dir seperti telah
dicontohkan diatas, gunakan perintah:
$ unalias dir

  • unzip 

Digunakan untuk mengekstrak atau menguraikan file yang
dikompres dengan zip. Sintaknya sederhana dan akan
mengekstrak file yang anda tentukan:

$ unzip <namafile>
Lihat juga perintah-perintah gzip dan unzip.

  •  wall

Mengirimkan pesan dan menampilkannya di terminal tiap user
yang sedang login. Perintah ini berguna bagi superuser atau
root untuk memberikan peringatan ke seluruh user, misalnya
pemberitahuan bahwa server sesaat lagi akan dimatikan.
# wall Dear, everyone….. segera simpan pekerjaan kalian,
server akan saya matikan 10 menit lagi.

  •  who

Untuk menampilkan siapa saja yang sedang login. Perintah ini
akan menampilkan informasi mengenai login name, jenis
terminal, waktu login dan remote hostname untuk setiap user
yang saat itu sedang login. Misalnya:
$ who
root ttyp0 May 22 11:44
flory ttyp2 May 22 11:59
pooh ttyp3 May 22 12:08

  •  xhost +

Perintah ini digunakan untuk memberi akses atau menghapus
akses(xhost -) host atau user ke sebuah server X.

  •  xset

Perintah ini untuk mengeset beberapa option di X Window
seperti bunyi bel, kecepatan mouse, font, parameter screen
saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse
dapat Anda set menggunakan perintah ini:
$ xset b <volume> <frekuensi> <durasi dalam milidetik>
$ xset m <akselerasi> <threshold>

  •  zip

Perintah ini akan membuat dan menambahkan file ke dalam file
arsip zip. Lihat juga perintah gzip dan unzip.