setup dan kontrol loop devices

Untuk melakukan setup dan kontrol loop device bisa dengan mengunakan losetup, yang digunakan untuk mengabungkan loop device dengan file biasa atau block devices. Biasanya digunakan untuk meng-enkripsi pada sebuah media penyimpanan (misal flashdisk).
Bentuk perintah yang digunakan oleh losetup adalah:


losetup [{-e|-E} encryption] [-o offset] [-p pfd] {-f[-s]|loop_device} file

OPTIONS
-a, –all
lihat semua status dari devices

-d, –detach
menugaskan file atau device untuk bergabung dengan cara loop device

-e, -E, –encryption encryption_type
menyediakan data enkripsi dengan nama atau nomor yang khusus.

-f, –find
Temukan pertama loop device yang tidak digunakan. jika file argument disediakan gunakan device ini.

-h, –help
print help

-k, –keybits num
set the number of bits to use in key to num.

-N, –nohashpass
Do not hash the password. By default, Debian systems run the password through a hash function, non-Debian systems tend not to.

-o, –offset offset
The data start is moved offset bytes into the specified file or device.

-p, –pass-fd num
Read the passphrase from file descriptor with number num instead of from the terminal

-r, –read-only
setup read-only loop device

-s, –show
print device name if the -f option and a file argument are present

-v, –verbose
verbose mode

contoh perintah :

# dd if=/dev/zero of=/file bs=1k count=100
#losetup -e aes /dev/loop0 /dev/sda1

opsi -e digunakan untuk memilih metode enkripsi anda bisa mengunakan des,aes,blowfish dan chips. Kemudian anda akan diminta untuk mengisikan password, silahkan isi password ini.

# losetup -e des /dev/loop0 /file
Password:
Init (up to 16 hex digits):

# mkfs -t ext2 /dev/loop0 100
# mount -t ext2 /dev/loop0 /mnt
# umount /dev/loop0
# losetup -d /dev/loop0



Memperbaiki Bootloader Ubuntu

Jika terjadi masalh pada bootloader ubuntu, misal tiba-tiba bootloader tidak muncul atau anda melakukan kesalahan instalasi atau mungkin bootloader tertimpa oleh sistem yang baru.
caranya mudah :
1. Masukan live cd ubuntu
2. Pada terminal ketikan perintah sudo grub sehingga tampil grub>
3.Lakukan perintah find /boot/grub/stage1 (gunanya untuk memastikan partisi boot anda). biasanya akan tampil
[...]



Daftar perangkat keras pada direktori dev



Kernel dan Modul

Kernel dan Modul

Dalam bahasan ini kita akan mengkompilasi kernel dengan patch openwall dan grsecurity. Alasan kita melakukan patching adalah untuk meningkatkan keamanan. Untuk meanggunakannya anda harus mendownload patch kernel di http://www.kernel.org.

Sebagai contoh akan digunakan kode sumber atau sorce kode kernel linux-2.4.30.tar.gz dan patchingnya linux-2.4.30-ow3.tar.gz. Kemudian salin kedua kode sumber tersebut ke direktori /usr/src, dengan perintah :
# cp linux-2.4.30.tar.gz /usr/src/
# cp linux-2.4.30-ow3.tar.gz /usr/src/

Kemudian masuklah kedalam direktori /usr/src/, ikuti langkah-langkah dibawah ini :
# cd /usr/src/
# tar -xzvf linux-2.4.30.tar.gz
# tar -xzvf linux-2.4.30-ow3.tar.gz

Kemudian masuklah kedalam direktori /usr/src/linux-2.4.30 dan lakukan patching kernel
# cd linux-2.4.30
# patch -p1 < ../linux-2.4.30-ow3/linux-2.4.30-ow3.diff

Konfigurasi kode sumber dengan menyalin terlebih dahulu konfigurasi kode sumber kernel yang sudah berjalan. Kemudian copy file config yang ada didalam /boot/ kedalam direktori /usr/src/linux-2.4.30 seperti dibawah ini :
# cp /boot/config .config

Setelah itu jalankan perintah menuconfig
# make menuconfig
Tunggu sebentar akan tampil menu konfigurasi kernel carilah bagian “Security Option” dengan menekan tombol panah bawah kemudian tekan enter, aktifkan semua pilihan dan keluar. Kemudian pilihlah pilihan save untuk menyimpan file konfigurasi.

Kemudian mulailah proses kompilasi kernel diawali dengan mendeteksi dependensi.
# make dep
# make bzImage
# make modules
# make modules_install

Proses ini memerlukan waktu yang cukup lama apabila sudah selesai kemudian jalankan perintah :
# make install

Untuk mengecek apakah file telah berubah dapat dilihat dengan menggunakan :
less Makefile
Dibawah ini sebagian isi dari Makefile yang menunjukan versi dari kernel yang kita pakai dan kita dapat melihat extraversion = -ow3. Extraversion merupakan tambahan karena kita menggunakan openwall
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 30
EXTRAVERSION = -ow3

GRSECURITY

Dalam bahasan tentang grsecurity kita menggunakan kernel versi 2.4.31 dan juga grsecurity-2.1.6-2.4.31-200506141150.patch. Apabila anda mempunyai kernel versi 2.4.30 yang dipakai sebelumnya diatas, anda dapat merubahnya dengan melakukan patching.

Langkah pertama yaitu mendownload file yang diperlukan yaitu linux-2.4.31.tar.gz dan grsecurity-2.1.6-2.4.31-200506141150.patch.gz Kemudian salinlah patch tersebut kedalam /usr/src/ . Kemudian ekstaklah file-file tersebut kemudian masuklah kedalam direktori linux-2.4.31.
#tar -xzvf linux-2.4.31.tar.gz
# gunzip grsecurity-2.1.6-2.4.31-200506141150.patch.gz
# cd linux-2.4.31
# patch -p1 < ../ grsecurity-2.1.6-2.4.31-200506141150.patch

Konfigurasi kode sumber dengan menyalin terlebih dahulu konfigurasi kode sumber kernel yang sudah berjalan. Kemudian copy file config yang ada didalam /boot/ kedalam direktori /usr/src/linux-2.4.31 seperti dibawah ini :
# cp /boot/config .config

Setelah itu jalankan perintah menuconfig
# make menuconfig
Tunggu sebentar akan tampil menu konfigurasi kernel carilah bagian “grsecurity Option“, aturlah ukuran keamanan yang hendak dipakai apakah itu low, medium, high. Kemudian pilihlah pilihan save untuk menyimpan file konfigurasi.

Kemudian mulailah proses kompilasi kernel seperti yang dilakukan ketika menggunakan openwall diawali dengan mendeteksi dependensi.
# make dep
# make bzImage
# make modules
# make modules_install

Proses ini memerlukan waktu yang cukup lama apabila sudah selesai kemudian jalankan perintah :
# make install

Untuk mengecek apakah file telah berubah dapat dilihat dengan menggunakan :
# less Makefile
Dibawah ini sebagian isi dari Makefile yang menunjukan versi dari kernel yang kita pakai dan kita dapat melihat extraversion = -grsec. Extraversion merupakan tambahan karena kita menggunakan grsecurity
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 31
EXTRAVERSION = -grsec



MAKEDEV

MAKEDEV

Makedev adalah sebuah program yang akan membuat file-file piranti di direktori /dev yang akan digunakan sebagai antar muka untuk driver-driver di kernel.

Contoh :
# makedev /dev/hdb
Perintah ini akan membuat file piranti hdb

Program ini juga berfungsi sebagai sebuah skrip yang akan memanggil program mknod, jadi user yang menggunakannya harus mempunyai previligw root. Konfigurasinya terletak di direktori /etc/makedev.d.

MKNOD

Mknod merupakan bagian dari MAKEDEV karena di dalam MAKEDEV akan menjalan perintah mknod untuk membuat file piranti.
contoh :
# mknod /dev/hdb b 3 64
Perintah ini akan membuat file dev/hdb, b diatas merupakan blok device, 3 merupakan major dari device dan 64 merupakan minor dari device.

Dibawah ini adalah contoh pengerjaannya :

Pertama-tama tentukan file piranti yang hendak dibuat filenya, sebagai contoh disini yang digunakan adalah hda1. Ketikan perintah untuk membuat filenya :
# mknod /dev/hda1 b 3 1

Kemudian buatlah file sebagai tempat pembuatan file diatas sebagai contoh di /mnt.
# mount /dev/hda1 /mnt
Setelah melakukan perintah ini maka isi dari hardisk atau hda1 yang kita buat filenya diatas dapat dilihat di /mnt.

Dalam hal ini saat kita membuka /mnt tidak akan terdapat /floopy atau /cdrom karena tertimpa file piranti yang kita buat diatas, tetapi /floppy dan /cdrom tidak hilang. Untuk mengembalikan lagi seperti semula kita harus meng-umount perintah mount /dev/hda1 /mnt.



sleep dan at

sleep

perintah sleep digunakan untuk suspend atau diam dalam jangka wanktu yang di tentukan

sleep number of second

contoh

sleep 10; xmessage saatnya istirahat!

sleep 10; mp123 /home/mp3/ayunik.mp3

sleep 10s = detik  sleep 10h = jam

sleep 10m =menit   sleep 10d = hari

at

Digunakan untuk mengeksekusi sebuah atau lebih program diwaktu yang akan datang. Program yang berkaitan dengan at:

1.at, mendaftarkan perintah yang akan dijalnkan dimasa yang akan datang

2.atq, list atau tampilan daftar perintah yang akan di jalankan

3.atrm, menghapus perintah yang telah di jadwalkan (atrian)

4.batch, menjalankan program jika tingkat beban sistem memungkinkan.

fasilitas penjadulan dengan at berjalan di background, yang serign disebut daemon yaitu atd

/etc/init.d/atd status

contoh

at now + 2 minutes

at>fetchmail

at> (hasil dari perintah penyimpanan ctrl-d)

Spesifikasi waktu

selain now, bisa today, tomorrow, 4am, 4pm dll.

contoh:

jam 8.30 dinyatakn dengan 830

jam 1.45 dinyatakn  dengan 1345

jam 8 malam dinyatakan dengan 20

am dan pm

jam 8.30 dinyatakan 8:30am

jam 1.45 dinyatakan 1:45pm

jam 8 malam dinyatakan 8pm

jam 12 siang dinyatakn 12noon

jam 12 malam dinyatakan 12midnight

atau bisa jugan dengan mengunakan

at 4am fri + 1 week

at now + 1 year

at now + 1 hour

at 4 jun 20

at 12midnight jul 4,2006

at 7:30pm today

contoh:

jika hari ini senin  tanggal 24 juni 2006 ingin menjalankan sebuah program pada pukul 4 sore pada hari kamis atau 3 hari kemudian cara penulisanya ada 2 cara:

at 4pm + 3 day

atau

at 4pm juni 27

at 0330pm today + 3 days

at>echo "ingat jam 4 ada meeting"| wall efrizal@nurulfikri.com

hak akses mengunakan at

/etc/at.allow

/etc/at.deny


Quota

 

Quota
check kernel apakah sudah mendukung quota
#grep -i quota  /boot/config-2.6.13-15-default
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
ubah /etc/fstab
bila / dan /home SATU partisi
LABEL=/         /       ext3    defaults,usrquota,grpquota 1 1
bila / dan /home BEDA partisi
LABEL=/home     /home   ext3    defaults,usrquota,grpquota 1 1
atau
/dev/hda2       /home   ext2    default,usrquota,grpquota 1 1
buat file data base quota
/ dan /home 1 partisi                 / dan /home beda partisi
#touch aquota.user                      #touch /home/aquota.user
#touch aquota.group                     #touch /home/aquotag.group
#mount -oremount /                      #mount -oremount /home
#quotacheck -vug / / -m                 #quotacheck -vug /home -m
#quotaon -vug /                         #quotaon -vug /home
#repquota -a
Pemberian quota
setquota -u nama user block soft hard inode soft hard
contoh:
#setquota -u very 100000 110000 0 0 -a
atau
#edquota -u very
block=total kapasitas hardisk yang telah dipakai suatu user/group dlm kilobyte
inode=total jumlah file/direktory yang telah dibuat user/group yang bersangkutansoft=batas minimum limit penguna
hard=batas maximun limit penguna
UNTUK GROUP
#edquota -g namagroup
#edquota -qu accounting
laluisikan sot dan hardnya
quota -v --> melihat quota hardisk yang sedang digunakan
edquota -t


NFS

Konfigurasi NFS Server
Server
pada /etc/export
contoh:
/home/very/     192.168.1.32(rw) localhost(ro)
jalankan portmap dan nfs dan yakinkan semua firewall mati dulu
setia perubahan pada /etc/export lakukan perintah
exportfs -ra
untuk melakukan tes coba pada localhost dulu
mount -t nfs localhost:/home/very /mnt/data
dari client
jalankan portmap dan nfs kemudian
mount -t nfs 192.168.1.32:/home/very /mnt/data
kalau ada error coba cek di /var/log/message atau /var/log/syslog
izin akses
pada file /etc/export 192.168.1.0/24(ro), dengan syarat ini kita memberi
izin akses hanya readonly(ro) untuk membaca dan menulis (rw). jika ingin
menulis sekelompok nama host dengan tanda bintang (*)
contoh:
/home *.pilp.nurulfikri.com(rw)
option no_root_squash mendisable perlakuan khusus nfs terhadap file yang
dimilik root. Option ini berguna untuk sistem seperti diskless atau LTSP
yang memerlukan akses root secara penuh terhadap file system.
contoh:
/ 192.168.1.0/24(rw,no_root_squash)
* Setelah itu anda jika perlu mengkonfigurasi file /etc/hosts.allow dan /etc/hosts.deny seperti berikut :
# hosts.allow
portmap: 192.168.0.2
lockd: 192.168.0.2
rquotad: 192.168.0.2
mountd: 192.168.0.2
statd: 192.168.0.2
# hosts.deny
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
* Kemudian jalankan portmap dan nfs, dengan cara sebagai berikut :
/etc/rc.d/init.d/portmap start
/etc/rc.d/init.d/nfs start
Perhatikan urutan tersebut di atas.
* Periksalah konfigurasi NFS server anda dengan cara :
rpcinfo -p
Berikut ini adalah contoh hasil tampilan perintah di atas :
# rpcinfo -p
program vers proto   port
100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp   1024  status
100024    1   tcp   1024  status
100011    1   udp    655  rquotad
100011    2   udp    655  rquotad
100005    1   udp   1025  mountd
100005    1   tcp   1025  mountd
100005    2   udp   1025  mountd
100005    2   tcp   1025  mountd
100005    3   udp   1025  mountd
100005    3   tcp   1025  mountd
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100021    1   udp   1026  nlockmgr
100021    3   udp   1026  nlockmgr
100021    4   udp   1026  nlockmgr
Jika sistem anda telah dapat memberikan tampilan yang serupa, maka sekarang kita dapat melanjutkan dengan melakukan konfigurasi di sisi client.
Konfigurasi NFS Client
NFS swap
NFS Swap patch akan mengijinkan workstation untuk menggunakan swapfile yang berada pada NFS server. Konsep ini akan sangat berguna jika workstation tidak memiliki memori yang cukup untuk melakukan swapping, pada beberapa komputer yang cukup tua tidaklah mudah untuk menambahkan memori dengan jenis memori yang sudah tidak diproduksi lagi. Kemampuan swap over NFS tersebut dapat menggunakan kembali komputer yang sebelumnya sudah tidak dapat difungsikan sebagai akibat keterbatasan memory.
Jika direktori yang digunakan adalah /usr/src/linux-2.6.x dan patch berada di /usr/src, gunakan perintah berikut untuk memeriksa patch tersebut :
patch -p1 -dry-run < ../linux-2.4.9-nfs-swap.diff
Perintah tersebut akan memeriksa apakah patch tersebut dapat difungsikan dengan benar. Jika tidak terdapat kesalahan maka hilangkah option -dry-run dan ulangi perintah tersebut :
patch -p1 < ../linux-2.4.9-nfs-swap.diff


Serba serbi backup

Backup Dilihat dari cara membackup ada 3 cara :

1. Full backup, bakcup keseluruhan data

2. Differential backup, membakup data yang telah mengalami perubahan

3.incremental backup, membakup file-file data yang mengalami perubahan dari proses Full backup dan differential backup.

macam-macam strategi backup.

Strategi Father/son

Strategi siklus ten-tape

Strategi granfather/father/son

Strategi incremental rotation

Strategi tower of honey tar,gz, dan bz2 Yang merupakan program standart untuk file bakup di *nix.

beberapa opsi yang ada:

-A menambah sebuah file tar ke file tar yang lain,

-c membuat file arsi baru,

-d meliha perbedaan antara file arsip dan file disistem –delete menghapus dari file arsip,

tidak bisa dipakai untuk file tar yang disimpan di dalam tape.

-r menambah file di akhir file tar

-t melihat daftar isi sebuah file tar

-u update file yang lebih baru yang ada di file arsip

-x menguraikan file arsip opsi tambahan

-C pindah direktori

-g melihat daftar file incremental backup

-j untuk bz2 -M membuat, menguraikan dan melihat daftar file arsip yang terpisah –remove-file hapus file dari file sistem setelah i arsip

-W file akan di ferifikasi setelah selesai

-z kompresi dan dekompresi contoh:

#tar -czvf bakup.tar.gz /home

#tar -cjvf backup.tar.bz2 /home -C /var/www/html

#tar -cjvf /tmp/u01.tar.bz2 /u01 perintah ini akan merangkum isi direktori /u01 kedalam arsip bernama u01.tar.

kemudian mengcompress lagi ukuran dari file u01.tar dengan metode bz2 kedalam file u01.tar.bz2

 

cpio

cpio mempunyai tiga modus operasi

1.modus copy-ut cipo akan menyalin file-file arsip.

Dalam modus ini cpio akan membaca daftar file satu persatu dari standar inout dan akan menulis arsip ke standar ouput,

2.Modus copy-in cpio akan menyalin file-file ddari arsip ke file sistem atau menampilkan daftar file dari arsip.

Arsip dibaca dari standar input.

3.Modus copy-pass cpio akan menyalin sebuah struktur direktori yang lain. Dalam modus ini cpio menyatukan proses copy-out dan copy in dalam satu perintah tanpa memakai file arsip sama sekali .

sebahgian opsi dari cpio:

-o create (menjalankan modus copy-out)

-i extract (menjalankan modus copy-in)

-p pass-trough (menjalankan modus copy-pass) mengkopi struktur dir secara komplit

-I mengunakan arsip alih2 mengunakan standart input

-F Archive nama archive yang akan di bongkar

-t menampilkan dgn

-i file archieve -u overwrite data yg sudah ada. contoh:

#find data/ -print -name data*|cpio -o > data.cpio untuk melihat data yang sudah terarsip

#cpio -i -t < data.cpio mengurai file2 dengan nama file yang mengandung kata linux dan sekaligus memuat

direktori jika dir tsb tidak ada

#cpio -i -v –make-directories *Linux* < ../ppdt.cpio Untuk memeriksa data2 mana direktori bisa mengunanakan perintah tsb.

#cpio -itF home.cpio Untuk emmbongkar archieve:

#cpio -iF home.cpio Untuk mengextrak satu2 data sama dengan proses tar

#cpio -iF home.cpio myfile.txt contoh lain:

#ls -l | cpio -ov > directory.cpio mengambil semua file yang ada di current direktori, kemudian akan membentuk

sebuah archive tree.cpio

#find . -print -depth | cpio -ov > tree.cpio mengambil file archive fayyad.cpio dan meletekanya di curent direktori.

# cpio -iv < fayyad.cpio mengambil isi dari arsip tree.cpio dan di uraikan di current direktori.

#cpio -idv < tree.cpio ““`

# find . -depth -print0 | cpio –null -pvd new-dir

rsync

rsync mengunakan protokol yang disebut dengan rsync remote update protokol. protokol ini mampu mengirim

perbedaan dua file yang sama tetapi di komputer yang berbeda dalam satu jaringan. beberapa opsi rsync -v

menyampaikan informasi lebih detail ketika proses tranfer

-a menyalin eluruh data secara recursive dan mempertahankan semua atribut

-r menyalin data secara recursive

-R path yang dipakai di sisi pengirim akan dipakai juga sisi penerima

-u tidak akan menyalin file jika tujuansudah terdapat file yang sama

-p mempertahankan hak akses tujuan

-o mempertahankan kepemilikan file tujuan

-g mempertahankan kepemilikan group file tujuan

–delete menghapus file di sisi tujuan yang sudah tidak terdapat di sisi pengirim

-e mengunakan program shell alternatif untuk proses standart

-z rsync akan memadatkan file sebelum dikirim ke komputer tujuan

contoh:

rsync -r -R test/ /tmp/ menyalin direktori test ke /tmp

#rsync –rsh=”ssh” test very@192.168.1.23:/home/very menyalin ke komputer lain

#rsync - r -R rsync://fayyad@192.168.1.32/squid /tmp menyalin modul squid dari mesin 192.168.1.32 ke direktori tmp

cp -a /sumber/* /tujuan/ ->sama dengan-> rsync -av /sumber/ /tujuan/ Perbedaan akan terasa,

jika melakukan perubahan/penambahan isi direktori /sumber/. Perintah “cp” akan menyalin ulang SEMUA berkas,

namun “rsync” lebih cepat karena hanya akan menyalin berkas yang ditambah/diubah.

Apa bila ingin menghapus berkas di /tujuan/ yang tidak ada di /sumber/, gunakan:

#rsync -av –delete /sumber/ /tujuan/ Jika penghapusan hanya boleh setelah penyalinan sukses:

rsync -av –delete –delete-after /sumber/ /tujuan/ Terkadang ada berkas yang kita tidak ingin salin (umpama *.bak):

rsync -av –exclude ‘*.bak’ /sumber/ /tujuan/ Melihat daftar modul yang tersedia pada situs nurulfikri.org:

rsync nurulfikri.org Untuk menyalin isi direktori ke tujuan

rsync -av –delete nurulfikri.org::ppsdms.org/data/ /tujuan/

# mounting dan memutar balik tape :

[root@kenshin]# mt -f /dev/rmt/2m rew

# buat arsipnya : [root@kenshin]# tar -cvf /dev/rmt/2m /u01/*

# merestore arsipnya : [root@kenshin

]# tar -xvf /dev/rmt/2m

dd perintah dd ini sangat mirip penggunaannya dengan tar :

# mounting dan memutar balik tap.

[root]# mt -f /dev/rmt/2m rew # buat arsip :

[root]# dd if=/u01/* of=/dev/rmt/2m bs=32k

# merestore arsipnya : [root]# dd if=/dev/rmt/2m of=/u01/ bs=32k



run level

Runlevel

From Wikipedia, the free encyclopedia

The term runlevel refers to a mode of operation in one of the computer operating systems that implement Unix System V-style initialization. Conventionally, seven runlevels exist, numbered from zero to six, though up to ten, from zero to nine, may be used.

In standard practice, when a computer enters runlevel zero, it halts, and when it enters runlevel six, it reboots. The intermediate runlevels (1-5) differ in terms of which drives are mounted, and which network services are started. Lower run levels are useful for maintenance or emergency repairs, since they usually don’t offer any network services at all. The particular details of runlevel configuration differ widely among operating systems, and slightly among system administrators.

The runlevel system replaced the traditional /etc/rc script used in Version 7 Unix.

Standard runlevels

Standard runlevels
ID Name Description
0 Halt Halts—or shuts down—the system.
S Single-User Mode Does not configure network interfaces or start daemons.[1]
6 Reboot Reboots the system.

^  = Almost all systems use runlevel 1 for this purpose. This mode is intended to provide a safe environment to perform system maintenance. Originally this runlevel provided a single terminal (console) interface running a root login shell. The increasing trend towards physical access to the computer during the boot process has led to changes in this area.

Linux

The Linux operating system can make use of runlevels through the programs of the sysvinit project. After the Linux kernel has booted, the init program reads the /etc/inittab file to determine the behavior for each runlevel. Unless the user specifies another value as a kernel boot parameter, the system will attempt to enter (start) the default runlevel.

On most systems users can check the current runlevel with either of the following commands:

$ runlevel   # as root
$ who -r   # as any user

Typical Linux runlevels

Most Linux distributions, in addition to the standard runlevels, define the following additional runlevels:

Typical Linux runlevels
ID Name Description
1 Single-User Mode Does not: configure network interfaces, start daemons, or allow non-root logins.[2]
2 Multi-User Mode Does not: configure network interfaces or start daemons.[3]
3 Multi-User Mode with Networking Starts the system normally.[4]
4 Unused in special purpose
5 X11 As runlevel 3 + display manager.

^  = The additional behavior of this runlevel varies greatly. All distributions provide at least one virtual terminal. Some distributions start a login shell as the superuser; some require correctly entering the superuser’s password first; others provide a login prompt, allowing any user access.

^  = In some cases, runlevels 2 and 3 function identically; offering a Multi-User Mode with Networking.

Debian Linux

Debian, as well as most of the distributions based on it, like early Ubuntu, does not make any distinction between runlevels 2 to 5. See also the Debian FAQ on booting.

Debian Linux runlevels
ID Description
0 Halt
1 Single user mode
2-5 Full multi-user with console logins and display manager if installed
6 Reboot

Ubuntu

Ubuntu 6.10 (Edgy Eft) and later contain Upstart as a replacement for the traditional init-process but they still use the traditional init scripts and Upstart’s SysV-rc compatibility tools to start most services and emulate runlevels.

Red Hat Linux[5] and Fedora

Red Hat as well as most of its derivatives uses runlevels like this:

Red Hat Linux/Fedora runlevels
ID Description
0 Halt
1 Single user
2 Not used/User definable
3 Full multi-user, console logins only
4 Not used/User definable
5 Full multi-user, with display manager as well as console logins
6 Reboot

Which services are started in which runlevels can be managed with the chkconfig tool, which keeps its configuration settings under /etc/rc.d/. /sbin/chkconfig –list lists all the services controlled by chkconfig and whether they are on/off for each runlevel. Setting a service A controlled by chkconfig, for levels X, Y and Z is as simple as /sbin/chkconfig –level XYZ A

 SUSE Linux

SUSE uses a similar setup to Red Hat:

SUSE Linux runlevels
ID Description
0 Halt
1 Single
2 Full multi-user with no networking
3 Full multi-user without display manager
4 Not used/User definable
5 Full multi-user with display manager
6 Reboot

Slackware Linux[6]

Slackware Linux uses runlevel 1 for maintenance, as on other Linux distributions; runlevels 2, 3 and 5 identically configured for a console (with all services active); and runlevel 4 adds the X Window System.

Slackware Linux runlevels
ID Description
0 Halt
1 Single
2 Full multi-user NO display manager
3 Full multi-user NO display manager
4 Full multi-user with display manager
5 Not used/User definable
6 Reboot

Gentoo Linux[7]

Gentoo Linux runlevels
ID Description
0 Halt
1 Single
2 Multi-user, no network
3 Full multi-user with display manager
4 Aliased for runlevel 3 (Full multi-user with display manager)
6 Reboot

Unix

[edit] System V Releases 3 and 4

System V runlevels
ID Description
0 Shut down system, power-off if hardware supports it (only available from the console)
1 Single-user mode, all filesystems unmounted but root, all processes except console processes killed
2 Multi-user mode
3 Multi-user mode with RFS (and NFS in release 4) filesystems exported
4 Multi-user, user-defined
5 Halt the operating system, go to firmware
6 Halt the system, reboot to default runlevel
s, S Identical to 1 (Single-user mode, all filesystems unmounted but root, all processes except console processes killed) except current terminal acts as the system console

Solaris

Solaris runlevels
ID Description
0 Operating system halted; (SPARC only) drop to OpenBoot prompt
S Single-user with only root filesystem mounted (as read-only)
1 Single-user mode with all local filesystems mounted (read-write)
2 Multi-user with most daemons started.
3 multi-user, identical to 2 (runlevel 3 runs both /sbin/rc2 and /sbin/rc3), with filesystems exported, plus some other network services started.
4 Alternative multi-user, user-defined
5 Shut down, power-off if hardware supports it
6 Reboot

HP-UX

HP-UX runlevels
ID Description
0 System halted
S Single-user, booted to system console only, with only root filesystem mounted (as read-only)
s Single user, identical to S except the current terminal acts as the system console
1 Single-user with local filesystems mounted (read-write)
2 Multi-user with most daemons started and Common Desktop Environment launched
3 Multi-user, nearly identical to runlevel 2 with NFS exported
4 Multi-user with VUE started instead of CDE
5, 6 user-defined

AIX[8]

AIX does not follow the System V R4 (SVR4) run level specification, with run levels from 0 to 9 available, as well as from a to c. 0 and 1 are reserved, 2 is the default normal multiuser mode and run levels from 3 to 9 are free to be defined by the administrator. Run levels from a to c allow the execution of processes in that run level without killing processes started in another.

AIX runlevels
ID Name Description
0 reserved
1 reserved
2 Normal multiuser mode default mode

On AIX you can check the current runlevel with the following command:

$ who -r