MEMBANGUN  SERVER  DENGAN  UNIX  FREEBSD
SERTA
PENGOPERASIAN SISTEM OPERASI UNIX

Disusun oleh :
MEICSY  E. I.  NAJOAN  (83299038)
&
MONA  ARIF  MUDA  BATUBARA  (23299063)

Menyediakan suatu tuntunan dalam membangun server dengan menggunakan sistem operasi Unix FreeBSD dimulai dari konfigurasi, persiapan, instalasi, sistem administrasi, komunikasi jaringan serta pengoperasian sistem operasi Unix.

KATA  PENGANTAR

Dalam rangka memasyarakatkan TI kepada seluruh masyarakat Indonesia serta kepedulian dalam bidang TI khususnya dibidang Komputer dan Internet, maka buku ini dibuat dengan maksud agar dapat dibaca oleh pembaca yang masih baru dibidang TI .
Adapun penyusunan buku ini, berdasarkan uji coba yang dilakukan oleh penulis dan juga beberapa referensi seperti handbook dan tulisan-tulisan yang ada kaitannya. Kemudian dikemas dengan suatu bahasa yang mudah dimengerti dan diharapkan pembaca dapat langsung mempraktekan langsung.
Kami juga mengucapkan terima kasih kepada bapak Onno W. Purbo yang sudah memberikan tugas ini kepada kami, yang nantinya dapat memberikan rangsangan terus bagi kami untuk terus menerus menulis buku-buku dibidang komputer dan internet yang mudah dipahami. Untuk terus mewujudkan misi serta visi memasyarakatkan teknologi informasi, agar bangsa kita tidak ketinggalan dari bangsa-bangsa yang lain.
Tugas yang dikerjakan ini, merupakan bagian dari mata-kuliah Jaringan Komputer (EL-592), yang dikerjakan berkelompok (2 orang). Dan dari hasil pengerjaan ini, terasa sangat perlu untuk bekerja secara kelompok, dimana bisa saling memberikan kontribusi.
Sebagai penutup, kami menyadari buku ini masih belum sempurna, oleh karena itu, sebelum buku ini diluncurkan kelak, kami sangat memohon Pak Onno, untuk mengoreksi bagian-bagian yang ada, untuk diperpaiki selanjutnya.

Bandung,    Juni 2000

Penulis (Meksy dan Mona)

DAFTAR  ISI

										     Halaman
KATA  PENGANTAR  …………………………………………………………	ii
DAFTAR  ISI  …………………………………………………………………..	iii
BAB  I.  PENDAHULUAN  ……………………………………………………	1
	1.1. Apakah Unix FreeBSD itu?  ………………………………………..	1
	1.2. Struktur Unix  ……………………………………………………….	4
	1.3. Sistem File  ………………………………………………………….	5
	1.4. Direktory Unix, File dan Inodes  ……………………………………	5
	1.5. Unix Program  ……………………………………………………….	6
	1.6. Konsep Sistem Pemrosesan Data  ……………………………………	6
	1.7. Mengapa Perlu Membangun Server?  ………………………………..	7
	1.8. Mengenai Buku Ini   ………………………………………………….	7

BAB  II.  INSTALASI  UNIX  FREEBSD   ……………………………………... 	8
	2.1. Konfigurasi Yang Mendukung  ……………………………………… 	8
	2.2. Persiapan Instalasi  ……………………………………………………	8
	2.3. Menginstall  FreeBSD  ………………………………………………..	13

BAB  III. SISTEM  ADMINISTRASI  …………………………………………...	25
	3.1. Konfigurasi Kernel FreeBSD  ………………………………………..	25
	3.2. Keamanan  ……………………………………………………………	26
	3.3. Disk  …………………………………………………………………..	32
	3.4. Backup  ………………………………………………………………..	33
	3.5. Disk Quotas  …………………………………………………………..	33
	3.6. Kompatibel Perangkat Keras  …………………………………………	36

BAB  IV. KOMUNIKASI  JARINGAN  …………………………………………	37
	4.1. Komunikasi  Jaringan  ………………………………………………..	37
		4.1.1. Dasar-dasar  Serial ………………………………………….	37
		4.1.2. Terminal  ……………………………………………………	38
	4.2. PPP dan SLIP   ………………………………………………………..	43
		4.2.1. Seting PPP User   ……………………………………………	43
		4.2.2. Seting Kernel PPP  ………………………………………….	47
		4.2.3. Seting SLIP Client  ………………………………………….	55
		4.2.4. Seting SLIP Server  …………………………………………	58
	4.3. Gateway dan Router  ………………………………………………….	62
	4.4. Electronic Mail  ……………………………………………………….	64
		4.4.1. Informasi Dasar  …………………………………………….	64
		4.4.2. Program User  ………………………………………………	65
		4.4.3. Daemon Server Mailhost  …………………………………..	65
		4.4.4. DNS – Name Service  ………………………………………	65
		4.4.5. Server POP  ………………………………………………… 	66
		4.4.6. Konfigurasi E-Mail  …………………………………………	66

BAB  V :  PENGOPERASIAN  UNIX   ………………………………………….	70
	5.1. Shell  ………………………………………………………………….	70
	5.2. Memulai Dengan UNIX  ……………………………………………..	71
		5.2.1. Nama Pemakai dan Password  ……………………………..	71
		5.2.2. Masuk ke Sistem  …………………………………………..	72
		5.2.3. Prompt Shell  ……………………………………………….	73
		5.2.4. Mengganti Password  ………………………………………	74
		5.2.5. Mengubah Prompt  …………………………………………	75
		5.2.6. Keluar dari Sistem  …………………………………………	75
	5.3. System Resource dan Pencetakan  ……………………………………	76
		5.3.1. System Resource  …………………………………………..	76
		5.3.2. Perintah Mencetak  …………………………………………	85
	5.4. Kelebihan Khusus UNIX  …………………………………………….	88
		5.4.1. File Descriptor  ……………………………………………..	89
		5.4.2. File Redirection  ……………………………………………	89
		5.4.3. Simbol-simbol Perintah Khusus yang Lain  ………………..	92
		5.4.4. Wild Cards  ………………………………………………..	93
	5.5. Perintah-perintah yang sering dijumpai  …………………………….	93
		5.5.1. Struktur Perintah  …………………………………………..	93
		5.5.2. Pilihan  ……………………………………………………..	95
		5.5.3. Argumen  ……………………………………………………	96
		5.5.4. Beberapa Perintah Dasar  …………………………………...	96
		5.5.5. Translasi Karakter dengan tr ………………………………..	104
	5.6. Editor  ……………………………………………………………….…	107
	       Dasar-dasar Penggunaan Editor vi  ……………………………………	107
		5.6.1. Pengantar  ……………………………………………………	107
		5.6.2. Dua Modus Pada Editor vi  ………………………………….	107
		5.6.3. Memulai Editor vi …………………………………………..	107
		5.6.4. Keluar dari Editor vi ………………………………………...	108
		5.6.5. Beberapa Perintah Pada Modus Perintah  …………………..	108
		5.6.6. Penutup   ……………………………………………………	111

KEPUSTAKAAN   ………………………………………………………………	112

--------------------------------------

BAB  I
PENDAHULUAN

1.1.	  Apakah  Unix  Freebsd Itu?
  Unix FreeBSD adalah sebuah sistem operasi berbasis UNIX yang asal mulanya dikembangkan pada Laboratorium Bell, AT&T. Sistem Operasi adalah perangkat lunak komputer yang mengatur dan mengendalikan operasi dasar dari sistem komputer. Unix FreeBSD terdiri dari sejumlah program  (daftar instruksi untuk memperoleh hasil tertentu) yang dirancang untuk mengontrol interaksi antara fungsi-fungsi pada mesin yang beraras rendah dengan program aplikasi. Tugas dari sistem operasi di antaranya :
•	Melakukan fungsi manajemen sistem file.
•	Mengendalikan berbagai sesumber pada sistem, seperti disk dan printer.
•	Mengatur sejumlah pemakai yang menggunakan sistem secara bersamaan.
•	Membentuk penjadwalan proses-proses di dalam sistem.
Beberapa sifat dan keistimewaan yang terdapat pada UNIX ditunjukkan pada gambar 1.

UNIX

Multiuser

Multitasking

Portabilitas

Lain-lain

Dukungan Utilitas

Sistem File hirirkikal

Gambar 1.1  Sifat & Keistimewaan Unix FreeBSD

Portabilitas
	Sistem operasi Unix FreeBSD mudah dioperasikan ke sistem komputer yang lain Sifat portabilitas ini membuat Unix FreeBSD ini dpaat dipakai pada berbagai jenis komputer, seperti komputer mikro, super komputer, dan mainframe.
Bagi pemakai, hal seperti ini sangatlah menguntungkan. Sebab portabilitas berarti ketidak bergantungan pada suatu perangkat keras. Ini berarti pemakai tidak perlu terpaku pada satu vendor. Untuk beralih dari suatu sistem Unix ke sistem Unix yang lainnya dapat dilakukan dengna mudah. Hal ini tidak hanya terbats pada sistemnya saja, melainkan juga pada aplikasinya. Program aplikasi yang berjalan pada suatu sistem Unix dapat dipindahkan ke sistem Unix lainnya dengan mentransfer program sumber dan kemudian melakukan kompilasi lagi pada sistem Unix yang baru.

Multiuser
	Mutliuser berarti sejumlah orang (pemakai) dapat menggunakan sistem secara bersamaan dan berbagi sumber (disk, printer dan seabagainya). Keuntungan dengan sifat multiuser adalah :
•	Penghematan perangkat keras, karena perangkat keras (seperti printer, disk) dapat dipakai oleh banyak orang.
•	Data dapt diakses oleh banyak orang secara serentak, sehingga tidak ada penduplikasi data. Selain itu konsistensi data lebih terjamin.

Multitasking
	Seorang pemakai dapat melakukan beberapa pekerjaan dalam waktu yang bersamaan dari sebuah terminal. Pekerjaan-pekerjaan yang tidak memerlukan interaksi dari pemakai (seperti melakukan pengurutan data, pengecekan kosa kata) bisas dilaksana-kan di latar belakang. Pemrosesan ini memungkinkan di saat suatu pekerjaan sedang dilaksanakan oleh sistem, pemakai dapat melakukan tugas-tugas yang lain.
	Kemampuan sistem operasi yang memungkinkan seseorang dapat melaksanakan beberapa tugas pada saat bersamaan biasa dinamakan multitasking.

Sistem File yang Hirarkikal
	Sistem file yang hirarkikal memungkinkan pemakai mengorganisasikan informasi atau data dalam bentuk yang mudah untuk diingat dan mudah untuk mengaksesnya. Informasi-informasi yang ada dapat diatur, misalnya dikelompokkan per pemakai atau berdasarkan suatu departemen.

Shell UNIX FreeBSD
	Shell pada Unix FreeBSD menjadi jembatan antara pemakai dan sistem, dan bertindak sebagai penterjemah perintah yang sangat bermanfaat bagi pemakai. Kemampuan shell mencakup dua hal, yaitu:
•	Modus interaktif, dan
•	Modus pemrograman
Pada mode interaktif, pemakai dapat memberikan perintah dan kemudian shell akan mengerjakan perintah yang diberikan. Hal ini dapat diulang-ulang sebab begitu shell telah selesai menjalankan perintah, shell tersebut akan menunggu perintah berikutnya.
Pada modus pemrograman, pemakai dapat menyusun suatu program yang berupa sejumlah perintah. Selanjutnya shell akan mengerjakan perintah-perintah tersebut secara berurutan. Hal seperti ini sangat bermanfaat untuk menangani pekerjaan yang bersifat rutin. Pada modus ini, pemakai dapat membuat suatu prototipe suatu kegiatan tanpa harus menggunakan bahasa pemrograman.

Utilitas
	Sistem operasi Unix FreeBSD tersusun atas sejumlah program, yang diantaranya berupa utilitas. Ratusan utilitas yang tersedia pada Unix mempunyai tugas yang bermacam-macam; diantaranya berhubungan dengan :
•	Manajemen file,
•	Penyuntingan file,
•	Pendukung komunikasi,
•	Pendukung pengembangan perangkat lunak.
Dengan mengkombinasikan utilitas-utilitas yang ada pemakai dapat membuat program baru untuk melaksanakan tugas seperti yang diharapkan.
1.2.	 Struktur Unix
Seperti sudah dijelaskan bahwa Unix FreeBSD adalah suatu lapisan sistem operasi. Lapisan yang paling dalam adalah perangkat keras (hardware) yang menyediakan pelayanan untuk sistem operasi. Sistem operasi yang diacu oleh Unix FreeBSD dikenal sebagak kernel, yang berinteraksi secara langsung dengan hardware dan menyediakan pelayanan kepada program pemakai. Program pemakai tidak membutuhkan pengetahuan tentang perangkat keras.  Jadi program pemakai hanya perlu mengetahui bagaimana berinteraksi dengan kernel dan meminta pelayanan yang diinginkan.
	Program pemakai berinteraksi dengan kernel melalui sekumpulan system calls.  System call meminta pelayanan yang disediakan oleh kernel. Pelayanan termasuk dalam akses file; open, close, read, write, link, atau file eksekusi; memulai atau mengupdate akunting rekord; mengubah pengubah dari file atau direktor; mengubah ke suatu direktori baru; membuat, menunda atau mematikan proses; mengaktifkan akses ke perangkat keras; dan mengatur pembatasan resource dari sistem.
	Karena Unix adalah sistem operasi yang multiuser dan multitasking, maka setiap user dapat masuk kedalam sistem secara bersamaan dan dapat menjalankan beberapa program. Kernel akan menjaga masing-masing proses dan pemisahan user untuk mengatur akses ke sistem hardware termasuk CPU, memori, disk dan peralatan I/O lain.
	Struktur dari Unix adalah seperti pada gambar berikut ini :

Gambar 1.2. Struktur Sistem Unix
1.3.	  Sistem File
       Sistem file pada unix dapat dilihat seperti struktur pohon, yang dapat dimulai dari root direktory yang dinyatakan dengan simbol ‘/ ‘ pada bagian atas dan terus kebawah.
Sisterm file unix dapat diperlihatkan pada gambar dibawah ini :

Gambar 1.3. Struktur File Unix

1.4.	 Direktori Unix, File dan Inodes
      Setiap direktori dan file adalah didaftar  pada induk direktori. Pada root direktori, parent itu adalah root itu sendiri. Suatu direktori adalah  suatu file yang berisi daftar tabel dari isi file itu sendiri, yang diberikan nama pada sejumlah inode dalam daftar. Inode adalah file khusus yang didisain untuk dibaca oleh kernel untuk dipelajari informasi dari masing-masing file.  Inode sangat spesifik karena memiliki izin untuk file, pemakai, tanggal dibuat dan terakhir akses/perubahan serta lokasi fisik dari blok data pada disk yang berisi file tersebut.

1.5.	 Unix Program
       Suatu program atau perintah, berinteraksi dengan kernel untuk menyediakan lingkungan dan unjuk kerja dari fungsi pemanggil untuk pemakai. Suatu program dapat berupa suatu shell file eksekusi, yang dikenal sebagai script; perintah shell yang ada dalam Unix itu sendiri; atau suatu sumber yang dikompile menjadi kode objek file.
Shell  adalah command line interpreter (interpreter perintah baris). Pemakai berinteraksi dengan kernel melalui shell. Juga untuk menulis text (ASCII) script dapat dilakukan melalui shell.
       Sistem Program biasanya berupa file binar yang sudah dikompile dari kode bahasa C. Ini ditempatkan seperti pada /bin, /usr/bin, /usr/local/bin, /usr/ucb, dan lain-lain. Semua-nya menyediakan fungsi yang disediakan oleh Unix.  Beberapa diantaranya adalah sh, csh, date, who, more dan  masih banyak lagi yang akan dibahas pada bab selanjutnya.

1.6.	  Konsep Sistem Pemrosesan Data
       Pada awalnya perkembangan sisterm komputer hanya dikenal satu jenis sistem yaitu sistem komputer dengan proses terpusat. Sisterm seperti ini hanya menggunakan sebuah CPU yang akan melaksanakan semua tuags yang diperintahkan kepadanya. Hal ini berlaku bai untuk sisterm yang diguankan oleh seorang pemakai (single user), maupun bila digunakan oleh banyak pemakai (multi user). Semua peralatan pendukung yang digunakan seperti printer, plotter, termianl dan sebagainya semuanya juga dihubungkan melalui controller atau interface langsung ke CPU tersebut. Jelas siterm in mempunyai kerugian yaitu bila CPU tidak berfungsi karena satu dan lain hal, maka semua pemakai dan peralatan lain juga tidak berfungsi. 
       Perkembangan pesat teknologi komunikasi data dan perangkat lunak yang terjadi menimbulkan apa yang dikenal sebagai sistem komputer dengan proses terbagi (distributed processing). Sistem ini tidak tergantung pada sebuah CPU atau sisterm komputer. Rusak atau tidak berfungsinya sebuat CPU tidak menyebabkan berhentinya seluruh proses dennag sistem komputer, tetapi hanya sebagian saja yang akan terganggu.

1.7.	  Mengapa Perlu Membangun Server?
        Dari konsep sistem pemrosesan data diatas, ternyata ada satu mesin yang berfungsi sebagai pusat pemrosesan, yang bertugas untuk melayani semua terminal/komputer yang terhubung baik secara fisik maupun logic. Untuk bisa melakukan semua ini maka mesin harus didukung oleh sistem operasi yang bisa menangani setiap permintaan dari user.
Mesin yang dimaksud diatas, dikenal sebagai Server .  Dan sistem operasi yang mendukung mesin tersebut ada banyak, tetapi yang lebih populer adalah Unix. Seperti yang akan dibahas selanjutnya bagaimana membangun server dengan menggunakan salah satu versi dari sisterm operasi Unix yaitu FreeBSD.
     Beberapa pelayanan yang sangat penting dari server yang akan dibangun adalah FTP server dan Web Server. Dua buah service yang sangat banyak dipakai di Internet. 

1.8.	  Mengenai Buku Ini.
        Buku ini dimaksudkan, bagaimana sebenarnya membangun Server dengan menggunakan sistem operasi Unix FreeBSD, beserta langkah-langkah yang ditulis berdasarkan hasil percobaan langsung. Kemudian ditulis juga bagaimana cara mengoperasikan sistem yang sudah terpasang, baik digunakan dari sisi server itu sendiri, maupun dari terminal. Juga beberapa hal yang perlu dilakukan oleh administrasi jaringan dalam mengatur/mengolah sisterm yang dibangun. Kemudian bagaimana bentuk komunkasi jaringan.

BAB  II
INSTALASI  UNIX  FREEBSD

Pada bagian ini akan membahas instalasi FreeBSD pada sistem komputer. Suatu tuntunan yang cepat yang dapat digunakan untuk melakukan instalasi. FreeBSD dapat diinstall dari melalui berbagai median seperti : CD-ROM, Floppy Disk, Magnetik Tape, Partisi MS-DOS dan jika mempunyai hubungan ke jaringan dapat dilakukan melalui ftp (file transfer protocol) anonyomous atau NFS (Network File System).
	
2.1. Konfigurasi yang mendukung
	FreeBSD mendukung sistem bus seperti, ISA, VLB, EISA dan PCI dengan based PC dengan prosesor mulai dari 386sx sampai prosesor kelas pentium. (untuk 386sx tidak direkomendasikan). Dukungan untuk konfigurasi generic IDE dan ESDI drive, beberapa controller SCSI, Card Jaringan dan serial juga disediakan.
	Minimum RAM yang digunakan 4 MB untuk bisa menjalankan FreeBSD. Dan untuk menjalankan sistem X Window-nya dibutuhkan RAM dengan kapasitas 8 MB. Ini semua adalah persyaratan minimum yang direkomendasikan.
	Beberapa controller dari disk dan ethernet card yang dikenal oleh FreeBSD tersedia dalam daftar yang akan diberikan pada saat kita memulai instalasi.

2.2. Persiapan Instalasi.
	Disini ada beberapa metode yang berbeda yang dapat dipakai dalam instalasi FreeBSD. Berikut akan dijelaskan persiapan dan langkah-langkah yang dapat dilakukan untuk masing-masing metode diatas:

1.	Mencatat semua dukungan konfigurasi yang didukung oleh FreeBSD seperti : SCSI Controler, Ethernet Adapter, Sound Card dan sebagainya.
2.	Jika install dari CDROM aad beberapa pilihan instalasi:
- CD bisa diboot. (Komputer harus mendukung boot dari CDROM drive)
– dari DOS, kemudian ketik “install.bat”
– buat “boot-floppy”
3.	Jika tidak mempunya distribusi CDROM, dapat dibaca “Instalasi boot image information” untuk mendapatkan file yang diperlukan
4.	Buat instalasi disk-boot dari image file:
Untuk membuat instalasi disk atau disk yang akan dipakai pada saat boot, diperlukan sebuah file yang namanya kern.flp  dan mfsroot.flp. File ini dapat diambil dari source FreeBSD pada directory floppies/kern.flp dan floppies/mfsroot.flp.  
- Jika menggunakan MS-DOS, gunakan file fdimage.exe dapat diambil dari source  
   FreeBSD pada CD-ROM di directory tools\fdimage.exe dan jalankan dengan :
 			E:\tools>fdimage floppies\kern.flp A:
  Program “fdimage” akan memformat drive A: dan meng-copy-kan “kern.flp” image.
- Jika menggunakan UNIX system, untuk membuat floppy images :
 			# dd if=kern.flp of=disk_device
   disk_device adalah /dev untuk drive floppy. Pada system FreeBSD ini adalah  
   /dev/rfd0 untuk drive A: dan /dev/rfd1 untuk drive B:
Proses yang sama dapat dilakukan dengan membuat disk yang kedua yakni “mfsroot.flp”.
5.	Setelah “kern.flp” berada dalam drive A: , boot komputer. Berikut diperlukan “mfsroot.flp” floppy, setelah instalasi akan dijalankan dengan normal. Jangan mengetik sesuatu pada saat boot/selama proses proses ini, FreeBSD akan secara otomatis memboot dengan konfigurasi default setelah penundaan selama 5 detik. Pada saat FreeBSD diboot, maka akan memeriksa komputer untuk menentukan hardware apa yang akan diinstall. Hasil dari pemeriksaan ini akan ditampilkan dilayar.
6.	Bila proses boot telah selesai, menu utama instalasi FreeBSD akan ditampilkan.

Bila terjadi masalah, periksa dikunagn hardware yang didukung oleh FreeBSD. Jika hardware didukung, reset komptuer dan bila pemilihan konfigurasi visual kernel ditampilkan, lakukan pemilihan. Ini akan meletakkan FreeBSD ke dalam suatu mode konfigurasi dimana dapat memberi petunjuk tentang hardware. Kernel FreeBSD pada instalasi disk dikonfigurasikan dengan asumsi berupa hardware device terpasang pada default konfigurasi seperti IRQ, I/O address dan saluran DMA. Jika hardware sudah dikonfigurasikan, akan lebih enak bila menggunakan konfigurasi editor dari FreeBSD.
Perhatian :    Jangan disable beberapa device yang diperlukan selama instalasi, seperti 
screen (sc0). Jika instalasi mendapat masalah/terjadi kesalahan yang tidak dikehendaki, cek kembali konfigurasi, mungkin ada kesalahan. Setelah itu boot kembali.

Pada mode konfigurasi, kita dapat :
-	daftar device driver yang diinstall dalam kernel
-	menon-aktifka-kan device driver untuk hardware yang tidak ada dalam sistem.
-	Mengubah IRQ, DMA dan address I/O port dengan menggunakan device driver.

Setelah mengatur kernel dan mencocokannya, perubahan yang dibuat  dalam mode konfigurasi akan menjadi permanen. Jadi kita tidak dapat meng-konfigurasi ulang pada saat boot. Meskipun demikian, ini seperti yang akan kita inginkan untuk mengembangkan suatu custom kernel untuk mengoptimalkan sistem.

Ada beberapa cara untuk menginstall FeeBSD:
-  Sebelum menginstall dari CDROM
    Jika CDROM tidak mendukung, maka hal-hal ini harus dilakukan :
    * Persiapan MS-DOS sebelu instalasi dari partisi DOS.
       Untuk mempersiapkan instalasi dari partisi MS-DOS, copy file distribusi kedalam  
       directory “C:\FREEBSD. File-file distribusi berada dalam CDROM. 
        Untuk melakukan ini dapat dilakukan dengan :
  		C:\>MD C:\FREEBSD
		C:\>XCOPY /S E:\BIN C:\FREEBSD\BIN\
		C:\>XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES
        Asumsi bahwa di C: drive masih mempunya space/ruang kosong
     * Memboot langsung dari CDROM dan menjalankan file “install.bat”
     * Membuat disk boot dengan perintah “makeflp.bat”
Setelah kita mempunyai disk boot dari DOS atau Floppy, maka akan tersedia menu-menu pilihan dari CDROM dan dapat di ”load” dari distribusi CDROM
	Setelah sistem terinstall semuanya dan dapat diboot dari harddisk, maka dilakaukan pengaktifan CDROM dengan mengetik : “mount /cdrom” . Dan untuk menon-aktif-kan CDROM dapat dilakukan dengan : “umount /cdrom”.
	Akhirnya, jika menginginkan tersedianya layanan FTP, dapat dilakukan langsung dari CDROM ke mesin. 

-	Sebelum Install dari Floppy.
Floppy harus diformat dengan menggunakan MS-DOS format, jika menggunakan windows, guanakn perintah Windows File Manager, Format.
Jika akan membuat floppy dari mesin FreeBSD lain, usakah floppy tidak terdapat “bad”. Dapat digunakan perintah “disklabel” dan “newfs”  untuk meletakkan file-system (UFS). Caranya :
 	#fdformat –f 1440 fd0.1440
 	#disklabel –w –r fd0,1440 floppy3
 	#newfs –t 2 –u 18 –l  1 –I 65536/dev/rfd0
   	Catatan: gunakan fd0.1200 dan floppy5  untuk 5,25” 1,2 MB disk.
Setelah ini disk dapat dikaitkan dan ditulis seperti beberrapa file sistem lainnya. Copy-kan file-file distribusi ke dalam disk-disk dengan direktory yang akan ditampilkan sbb: a:\bin\bin.aa, a:\bin\bin.ab dan seterusnya.

-	Sebelum install dari QIC/SCSI Tape
Instalasi program yang berupa file-file harus berada dalam tape, jadi setelah semua file-file distribusi diperoleh lakukan perintah berikut ini :
 	# cd /freebsd/distdir
 	# tar cvf /dev/rwt0 dist … dist2
Bila akan melakukan instalasi, harus dipastikan mempunyai cukup urang untuk temporary directory untuk memuat semua isi dari tape yang akan dibuat. Juga harus dipastikan tape berada dalam drive sebelum boot dari floopy.

-	Sebelum install dari Jaringan.
Disini dapat dilakukan instalasi dari jaringan melalui 3 saluran komunikasi:
Serial port: 	SLIP or PPP
Parallel port :	PLIP (laplink cable)
Ethernet:		Standar ethernet controller (termasuk PCMCIA)
Pilihan terbaik dari semua di atas adalah ethernet adapter dan men-support ethernet card yang umum digunakan. Untuk hal di atas, maka anda perlu untuk menentukan IP address, masking, gateway (IP ISP, jika anda menggunakan PPP) yang digunakan disamping nama komputer.

Persiapan untuk instalasi NFS (Network File System)
Instalasi NFS adalah sangat baik dan sederhana, yakni dengan mengcopy file-file distribusi FreeBSD yang diinginkan dari suatu server yang berada file tersebut lalu dengan media pilihan NFS diarahkan ke server tersebut.
Jika server ini hanya mendukung “priveleged port” (port yang mempunyai hak-hak istimewa) akses, akan membutuhkan set pilihan ini dalam menu piihan sebelum instalasi dapat diproses
Pada instalasi NFS, server harus mendukung subdir yang terkait, seperti jika distribusi directory berada di: ziggy:/usr/archive/stuff/FreeBSD, maka ziggy harus dikaitkan langsung dalam directory : /usr/archive/stuff/FreeBSD, bukan /usr  atu /usr/archive/stuff. Pada FreeBSD untuk file /etc/exports, ini diatur oleh pilihan –alldirs. Jika mendapatkan pesan ‘Permission Denied’ dari server, ini berarti tidak diinginkan disebabkan karena tidak mengaktifkan sebagaimana mestinya.

Persiapan untuk instalasi FTP (File Transfer Protocol)
Untuk instalasi ini maka perlu untuk menentukan FTP server yang menyediakan fasilitas ini. Sebagai contoh nama server:
ftp://maxwell.itb.ac.id/pub/.0/4.0-RELEASE

Ada dua jenis instalasi FTP yang dapat digunakan, yaitu :
1.	FTP Aktif
Adalah ftp tanpa melalui firewall
2.	FTP Pasif
Jenis ini memperbolehkan user melewati firewall yang tidak menutup koneksi pada beberapa port address.

3. Menginstall FreeBSD
Setelah langkah-langkah persiapan instalasi, maka langkah selanjutnya adalah memulai menginstall FreeBSD. Ada beberapa tahap yang akan dilewati, secara garis besar adalah :

Boot komputer denagn floppy boot pertama (kern.flp), bila aad pertanyaan, ganti floppy disk pertama dengan yang kedua (mfsroot.flp) dan tekan enter. Setelah urutan boot berlangsung selang waktu 30 detik sampai 3 menit, (tergantung dari hardware yang dipakai) maka akan ditampilkan menu konfigurasi kernel. Perhatikan pada saat boot, semua perangkat keras akan terdeteksi, terutama perangkat keras yang penting seperti ethernet card dan harddisk.

/boot.config: -p
Keyboard: yes
-
BTX loader 1.00 BTX  version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1

FreeBSD/i386 bootstrap loader, Reviison 0,7   640/15360KB.
(jkh@time.cdrom.com, Mon Dec 20 05:13:59 GMT 1999)
/kernel text=0x19e6f6 data=0x1cf0c+0x20070 syms=[0x4+0x25ef0+25ef0+0x4+0x2619c]

Please Insert MFS root floppy and press enter

Hit [enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 5 seconds …

Gambar 2.1. Tampilan awal floppy boot kern.flp
Pada Kernel Configuration Menu terdapat 3 pilihan
-	Skip kernel configuration and contiune with installataion
-	Start kernel configuration in full-screen visula mode
-	Start kernel configuration in CLI mode
Pilihan pertama akan masuk ke konfigurasi kernel, untuk membuat beberapa perubahan yang mungkin dibutuhkan sebagai mana mestinya untuk mencocokan dengan konfigurasi hardware.
Pilihan kedua digunakan bila instalasi FreeBSD yang pertama kali dengan pilihan mode visual.
Pilihan ketiga diperlukan untuk melakukan konfigurasi kernel lebih khusus dan dipakai oleh pengguna yang sudah perpengalaman dengan pilihan mode CLI.
Jika tidak membutuhkan perubahan dari konfigurasi kernel, maka tekan ENTER atau Q.
Berikut adalah tampilan dari menu konfigurasi:

Kernel Configuration Menu

	Skip kernel configuration and continue with installation
	Start kernel configuration in full-screen visual mode
	Start kernel configuration in CLI mode

Here you have the chance to go into kernel configuration mode, making any changes which may be necessary to properly adjust the kernel to match your hardware configuration

If you are installing FreeBSD for the first time, select visual mode
(press Down-Arrow then Enter)

If you need to do more specialized kernel configuration and are an experienced FreeBSD user, select CLI mode.

If you are certain that you do not need to configure your kernel
Then simply press ENTER or Q now

Gambar 2.2. Tampilan Menu Konfigurasi Kernel
Karena baru pertama kali akan menginstall FreeBSD, maka dipilih pada pilihan kedua. Pada tampilan selanjutnya akan memperlihatkan Seting Editor UserConfig Kernel dalam bentuk visual mode. Pada layout, layar akan menampilkan daftar drive yang tersedia, dibagi kedalam 2 daftar: Active Driver dan Inactive Drivers, seperti diperlihatkan pada gambar 2.3 :

---Active-Drivers---------------------------------------------------13 Conflicts-------Dev—IRQ----Port----
  Storage :	(Collapsed)
  Network:	(Collapsed)
  Communications:   	(Collapsed)
  Input :	(Collapsed)
  Multimedia:
  PCI :	(Collapsed)
  Miscellaneous :

---Inactive-Drivers------------------------------------------------------------------------Dev-----------------
  Storage :
  Network :
  Communications:	(Collapsed)
  Input :
  Multimedia :
  PCI :
  Miscellaneous :

[Enter] Edit devices parameters		[DEL] Disable device
[TAB] Change Edit fields			[Q] Save and Exit			[?] Help

 

---Active-Drivers--------------------------------------------------13 Conflicts---------Dev—IRQ---Port---
  Storage :	(Collapsed)
  Network :
	IBM EtherJet, CS89x0-based Ethernet adapter              		CONF                cs0               0x300
	NE1000,NE2000,3C503,WD/SMC80xx Ethernet adapter  	CONF                ed0     10     0x280
	3C509 Ethernet adapter			             	CONF	            ep0      10     0x300
	Intel EtherExpress Pro/10 Ethernet adapter			            ex0     
	Fujitsu MD86960A/MB869685A Ethernet adapters	CONF	            fe0                0x300
	AT&T Starlan 10 and EN100, 3Ct07,NI5210 Etherne adap	CONF                ie0       10     0x300

---Inactive-Drivers------------------------------------------------------------------------Dev--------------------
  Storage :
  Network :
  Communications:	(Collapsed)
  Input :
  Multimedia :
  PCI :
  Miscellaneous :
  Port address : 	0x280	Memory address  :  0xd800
  IRQ number :	10
  Flags :	0x0
------------------------------------------------------------------------------------------------------------------------
[Enter] Edit devices parameters		[DEL] Disable device
[TAB] Change Edit fields			[Q] Save and Exit			[?] Help

Gambar 2.3. Tampilan Seting Editor User Config Kernel

Gambar 2.4. Tampilan Seting Editor User Config Kernel dengan Conflict
Tiap daftar terdapat semua driver yang tersedia pada masing-masing kategori. Parameter dari driver yang dipilih ditunjukan dibagian bawah layar.
Gunakan tombol UP dan DOWN untuk memilih item (item yang dipilih akan di tampilkan terang). Jika item adalah sebuah nama kategori, pilihlah dalam daftar driver untuk kategori dan tekan ENTER. Setelah kategori diperluas, maka dapat memilih masing-masing driver.
-	mengubah parameter tekan ENTER
-	memindahkan ke daftar tidak aktif (inactive) tekan DEL.
-	Beralih dari daftar aktif ke tidak aktif dan sebaliknya tekan TAB.
-	Jika hendak memindahkan driver dari daftar aktive ke tidak active, tekan ENTER dan sebaliknya.
Beberapa driver untuk device yang tidak akan diinstall ke dalam sistem akan dipindahkan kedaftar tidak aktif sampai tidak ada lagi parameter yan gkonflik antar driver yang tandanya dibagian atas.
Setelah daftar driver yang aktif berisi device-device yang ada pada sistem, selanjutnya dapat diatur  parameter-parameter dari driver seperti Interrupt (IRQ), DMA channel dan I/O address. Untuk melakukan ini pilih driver dan tekan ENTER. Edit seting yang ada pada layar bagian bawah. Gunakan TAB untuk mengubah field-field yang ada dan bila selesai gunakan tekan ‘Q’ untuk kembali ke daftar.
Bila semua seting sudah betul, dan ingin memproses pemeriksaan kernel device dan mem-boot, teakn ‘Q’, kemudian pada pilihan konfirmasi pilih “Y”.
Proses boot kernel dilakukan dengan semua driver yang dipilih. Kemudian akn masuk dalam menu utama instalasi seperti pada gambar 2.5.
Pada menu utama ini digunakan instalasi dan tool konfigurasi. Untuk memulai instalasi FreeBSD dapat dipilih Standard, Express, atau Custom. Bagi pemula dapat dimulai dengan menu Standard dan untuk menu-menu yang lain dipakai untuk konfigurasi bila sistem sudah terpasang.
Menu Standard:
Akan dimulai dengan mempartisi harddisk seperti “fdisk” pada DOS. Bila diinginkan untuk membuat semua ruang pada disk untuk dijadikan partisi FreeBSD pilih “A”ll.
Untuk memilih default paritis pilih “Q”uit.

/stand/sysinstall Main Menu

Welcome to the FreeBSD installation and configuration tool. Please select one of the options below by using the arrow keys or typing the first character of the option name you’re interested in invoke an option by pressing [ENTER] or [TAB-ENTER] to exit the installation.

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

  Usage	Quick start – How to use this menu system

Standard	Begin a novice installation (for beginners)
Express	Begin a quick installation (for the impatient)
  Custom	Begin a custom installation (for experts)
Configure	Do post-install configuration of FreeBSD
Doc		Installation instructions, README, etc
Keymap	Select keyboard type
Options		View/Set various installation options
Fixit		Enter repair mode with CDROM/floppy or start shell
Upgrade	Upgrade an existing system
Load Config	Load default install configuration
Index		Glossary of functions

Gambar 2.5.Menu Utama Instalasi

Jika menginginkan alokasi hanya ruang bebas untuk FreeBSD, pindahkan ke partisi yang ditandai dengan ‘unused’ dan tekan tombolj ‘C’reate. Pada gambar 2.6. menunjukkan tampilan Editor FDISK Partisi.. Setelah itu FreeBSD memberikan pilihan instalasi Boot Manager (gambar 2.7) untuk drive yang ada. Bila mempunyai Sistem Operasi lain pada mesin, pemilihan ini akan menentukan apakah akan boot ke FreeBSD atau sistem operasi lain. (misalnya Win 95/98/2000).
Jika tidak menginginkan pemilihan boot, atau ingin mengganti yang sudah ada pilih ‘Standard’. Jika MBR tidak diinginkan untuk ditulis pilih “Now”.

Disk name :	wd0						             FDISK  Partition Editor

Disk Geometry : 622 cyls/255 heads/63  sectores = 9992430 sectors.

    Offset	       Size	       End        Name     Ptype         Desc   Subtype      Flags
            0	          63	          62             --		6     unused		0
          63	6008247	6008309	wd0s1		2	    fat	         11
6008310	3984120	9992429	wd0s2		3     freebsd           165         C
9992430	     10395     10002824	       -- 		6     unused               0
 	
	The following commands are supported (in upper or lower case) :

	A = Use Entire Disk	B = Bad Blok Scan		C = Create Slice
	D = Delete Slice		G = Set Drive Geometry	S = Set Bootable
	T = Change Type	U = Undo All Change	Q = Finish.

	Use F1 or ? to get more help, arrow keys to select

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

Gambar 2.6. Tampilan Editor FDISK Partisi

Install  Boot Manager for drive wd0?

FreeBSD comes with a boot selector that allows you to easily 
select between FreeBSD and any other operating systems on your machine at boot itme. If you have more than one drive and want to boot from the second one, the boot selector will also make it possible to do so (limitations ini the PC BIOS usually prevent this otherwise). If you do not want a boot selector, or wish to replace an existing one, select “standard”. If you  would prever you Master Boot Record to remain untouched then selct “None”.

	NOTE: PC-DOS users will almost certainly reuire “None”!

[ Ok ]			Cancel

[Press F1 to read about drive setup]

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

      (*) BootMgr	Install the FreeBSD Boot Manager
      (  ) Standard 	Install a standard MBR (no boot manager)
      (  ) None		Leave the Master Boot Record untouched

Gambar 2.7. Tampilan Install Boot Manager

Pada gambar berikut adalah untuk membuat BSD partisi.

FreeBSD DiskLabel Editor

Disk name :	wd0		Partition name : wd0s2	Free: 0 blocks (0 MB)

  Parts            Mount          Size       Newfs   Parts            Mount            Size         Newfs
wd0s1		<none>       2933MB  DOS
wd0s2a	/	          800MB  UFS Y
wd0s2b	swap	          100MB  SWAP
wd0s2e	/usr	            96MB  UFS Y

The following commands are valid here (upper or lower case)
	C = Create	D = Delete			M = Mount pt		W = write
	N = Newfs Opts	T = Newf Toggle		U = Undo		Q = Finish
	A = Auto Defaults for all

Use F1 or ? to get more help, arrow keys to select

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

Gambar 2.8. Menu FreeBSD DiskLabel Editor

Jika diinginkan membuat partisi secara otomatis ketik ‘A’.
Jika ingin membuat paritisi secara manual, arahkan pilihan ke FreeBSD partisi yang ditampilkan diatas layar. Ketik ‘C’ reate dan tentukan ukuran partisi dan satuan blok atau ‘M’ untuk megabytes datau C untuk cylender.
Selanjutnya pilih type partisi : FS untuk file-system dan SWAP untuk ruan swap.
Kemudian tentukan spesifikasi mount point untuk partisi. Misalnya ‘/’ untuk root, /usr untuk direktori user.
Bila sudah menentukan pilihan, tekan “Q” untuk keluar.
Catatan : Untuk angka-angka pada gambar diatas, adalah yang digunakan pada saat menginstall di mesin penulis. Angka ini bisa berubah untuk mesin yang lain.

Pemilihan Distribusi
Berikut adalah pemilihan distribusi (gambar 2.9) yang menyediakan beberapa distribusi untuk default system yang dibicarakan. Bila menginginkan daftar distribusi yang diinginkan pilih ‘Custom’. Distribusi yang diberikan/disediakan adalah :

Choose Distribution

As a convenience, we provide several “canned” distribution sets.
These select what we consider to be the must reasonable defaults for the type of system in question. If you would prefer to pick and choose the list of distributions yourself, simply select “custom”. You can also pick a canned distribution set and then fine-tune it with the Custom item.

Choose an item by pressing [SPACE]. When you are finished, choose the Exit item or press [ENTER].

[  Ok  ]			Cancel
	
[Press F1 for more information on these option ]

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

<<< X Exit			Exit this menu (returning to previous)
       All		      	All system sources, binaries and X Window system
       Reset			Reset selected distribution list to nothing
[    ] 4 Developer		Full Sources, binary and doc but no games
[    ] 5 X-Developer		Same as above + X Window System
[    ] 6 Kern-Developer	Full binaries and doc, kernel source only
[    ] 7 X-Kern-Developer	Same as above + X Windows System
[    ] 8 User			Average user – binaries and doc only

Gambar 2.9. Tampilan Pemilihan Distribusi

Developer:	Base (“bin”) distribusi, man pages, dictionary files, profiling libraries dan complete source tree.	
Kern-Developer:	Seperti diatas, tapi hanya kernel source sebagai pengganti dari complete source tree.
User :	Base distribusi, man pages, dictionary file & kumpulan kompatibilitas dari FreeBSD 1.x, 2.0, 2.1.x dan 2.2.x.
Minimal :	Hanya untuk base distribusi
Everything :	Base distribusi, man pages, dictionary files, profiling libraries, kompatibilitas library FreeBSD, complete source tree, game dan pilihan untuk komponen distribusi Xfree86.
Custom :	Mengijinkan membuat atau memodifikasi distribusi yang ada pada suatu basis piece-by-piece.
Reset :	Memberikan semua distribusi yang dipilih.

Pemilihan Media Instalasi
FreeBSD dapat diinstall dari media instalasi yang berbeda, mulai dari floppy sampai ke internet FTP server. Pada gambar 2.10 memperlihatkan pemilihan media instalasi. 

Choose Installation Media

FreeBSD can be installed from a variety of defferent installation media, ranging from floppies to an Internet FTP server. If you’re installing FreeBSD from a support CDROM drive then this is generally the best media to use if you have no overriding reason for using other media.

[  Ok  ]			Cancel
	
[Press F1 for more information on these option ]

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

1	CDROM		Install from a FreeBSD CDROM
2	FTP		Install from a FTP server
3	FTP Passive    	Install from an FTP server through firewall
3b  HTTP		Install from an FTP server through a http proxy
4	DOS		Install from a DOS partition
5	NFS		Install over NFS
6	File System	Install from an existing filesystem
7	Floppy		Install from a floppy disk set
8	Tape		Install from SCSI or QIC tape
9	Option		Go to the Options screen

Gambar 2.10. Tampilan Pemilihan Media Instalasi

Beberapa pilihan yang ditawarkan sebagai berikut:
- CDROM :	harus mendukung/tersedia CDROM drive.
- DOS :	suatu partisi utama DOS dengan file-file distribusi FreeBSD yang terdapat dalam direktori C:\FREEBSD\
- FS :	apabila disk atau paritisi terdapat file sistem dan distribusi dari FreeBSD, maka distribusi file dapat diambil di file sistem tersebut.
- Floppy :	mendapatkan distribusi file dari floppy dengan format DOS atau UFS (Unix File System). Masing-masing floppy sudah berisi potongan-potongan dari distribusi.
- FTP :	mendapatkan distribusi file dari anonymous ftp server.
- NFS :	mendapatkan distribusi file dari NFS server.
- Tape :	meng-extract file-file distribusi dari tape ke dalam temporari direktori dan menginstallnya dari direktori tersebut.
- HTTP :	install dari FTP server melalui http-proxy.

Setelah ini, maka pross instalasi akan dimulai dengan terlebih dahulu meminta konfirmasi dari user, karena proses ini akan menimpa semua data yang ada pada disk.
Prosese instalasi akan berlangsung secara otomatis bila tidak ada masalah.

Konfigurasi Jaringan
Bila proses instalasi selesai, maka akan dilanjutkan dengan konfigurasi jaringan. Beberapa option yang harus diisi di menu seperti nama komputer, domain, IP address dari Gateway, Name Server dan nama komputer itu sendiri, serta netmasknya. Pilih interface yang akan digunakan untuk instalasi, misalnya ed0.
Pada gambar 2.11 adalah tampilan pelayanan jaringan, yang akan dilakukan untuk mengkonfigurasi beberapa pilihan diatas.

Network Service Menu

You may have already configured one network device (and the other varoius hostname/gateway/nameserver parameters) in the process of installing FreeBSD. This menu allows you to configure other aspects of your system’s network configuration.

[  Ok  ]			Cancel

<<< X Exit			Exit this menu (returning to previous)
[    ]    Interfaces		Configure additional network interfaces
[    ]    AMD 			This machine wants to run the auto-mounter service
[ X ]    AMD Flags		Set flags to AMD service (if enable)
[    ]    Anon FTP		This machine wishes to allow anonymous FTP
[ X ]    Gateway		This machine will route packets between interfaces
[ X ]    NFS Client		This machine will be an NFS client
[ X ]    NFS server		This machine will be an NFS server
[    ]    Ntpdate		Select a clock-synchronization server
[    ]    PCNFSD		Run authentication serer for clients with PC-NFS
[ X ]    Routed		Select routing daemon (default : routed)
[    ]    Rwhod			This machine wants to run the rwho daemon
[ X ]    Sendmail		This machine wants to run the sendmail daemon
[ X ]   Sshd			This machine wants to run the ssh daemon
[ X ]  TCP Extensions	Average user – binaries and doc only

Gambar 2.11. Menu Pelayanan Jaringan

Sorot ke interface dan tekan [SPACE], akan ditampilkan informasi yang dibutuhkan untuk network interface, seperti pada gambar dibawah ini.

Network interface information required

If you are using PPP over a serial devices, as opposed to a direct ethernet connection, then you may first need to dial you Internet Service Provider using the PPP utility we provide for that purpose. If you’re using SLIP over a serial device then the expectation is that you have a HARDWIRED connection.

You can install over a parallel port using a special “laplink” cable to another machine running a fairly recent (2.0R or later) version of FreeBSD.

[  Ok  ]			Cancel
	
[Press F1 to read network configuration manual]

		      [Select]		X  Exit Install

[Press F1 for Installation Guide ]

ed0		Novell NE1000/2000; 3C503; NE2000-Compatible PCMCIA
lp0		Parallel Port IP (PLIP) peer connection
gif0		<unknown interface type>
stf0		<unknown interface type>
faith0		<unknown interace type>
sl0		SLIP interface on device /dev/cuaa0 (COM1)
PPP0		PPP interface on device /dev/cuaa0 (COM1)

Gambar 2.12. Tampilan Informasi Network Interface

Sorot ed0 dan tekan [SPACE]. Jawab No, untuk tidak mencoba mengkonfigurasi DHCP pada interace. Kemudian  pada konfigurasi jaringan, isilah nama host, nama domain dari mesin, Gateway (IP address dari host yang akan meneruskan paket ketujuan bukan lokal, Name Server (IP address dari lokal DNS server), konfigurasi untuk interace ed0 dengan IP address yang digunakan untuk interface ini, Netmask untuk interface dan beberapa pilihan untuk spesifikasi interface yang ingin ditambahkan.
Pilih Ok, Dan bila ada konfirmasi untuk mengaktifkan interface jawab Yes.
Jika semua konfigurasi dilakukan dengan benar, maka pilihlan Commit. Selanjutnya proses instalasi jaringan akan dilakukan. Jika telah selesai, maka boot kembali komputer. Selanjutnya mesin yang berbasis UNIX dengan FreeBSD-nya siap dijalankan.

BAB  III
SISTEM   ADMINISTRASI

Pada bab ini akan diperkenalkan beberapa bagian yang perlu dilakukan sebagai seorang administrasi sistem jaringan dengan UNIX FreeBSD. Penjelasan berikut hanya menunjukaan, hal-hal yang mendasar dari sistem administrasi. Tentunya ini sebenarnya dikhususkan bagi pengguna-pengguna yang sudah berpengalaman.

3.1.	Konfigurasi Kernel FreeBSD
 	  Mengembangkan suatu kernel yang sesuai dengan keinginan (Custom Kernel) adalah satu dari beberapa langkah-langkah penting yang harus ditangani oleh seorang sistem adminstrator Unix. Custom  Kernel diatur sesuai dengan dukungan dari perangkat keras yang ada pada komputer kita. 
Kernel sebenarnya dipakai untuk memboot sistem Unix. Kernel mendukung konfigurasi hardware. Kernel mendukung modul dimana semua driver devais dapat diload/dimuatkan pada saat dibutuhkan. Driver untuk mengakses file sistem root harus berada dalam kernel.
Konfigurasi seperti ini ada beberapa keuntungan :
-	Akan mengurangi waktu boot karena komputer tidak harus memeriksa hardware 
yang tidak dimilikinya.
-	Custom kernel mengurangi penggunaan memori, karena kernel akan selalu berada 
dalam memori. Kernel yang tidak digunakan tidak perlu dimuat ke memori.
-	Akhirnya, ada beberapa pilihan kernel yang dapat dioptimalkan sesuai kebutuhan, 
misalnya kita dapat menambahkan  device driver yang tidak ada pada Generic kernel, seperti sound card dan lainnya.
Berikut akan ditunjukan bagaimana membangun kernel.  Semua direktori dari kernel berada di /usr/src/sys atau dapat diakses pada direktori /sys. Direktori yang akan dipakai untuk mengedit konfiugrasi custom kernel pada i386/conf, dan dikompile untuk menjadi suatu modul. Jika direktori diatas tidak ada, maka source kernel tidak diinstall. Untuk menginstall jalankan /stand/sysinstall untuk memilih konfigurasi. 
Untuk memulainya pindahkan direktori i386/conf dan meng-copy konfigurasi Generic ke nama yang diinginkan untuk kernel yang akan dibuat. Sebagai contoh :
	# cd /usr/src/sys/i386/conf
	# cp GENERIC MYKERNEL
Selanjutnya edit MYKERNEL dengan text editor yang ada, dan ubah sesuai konfigurasi yang dinginkan . Bila sudah selesai, kompile dan install kernel yang baru dengan cara:
	# /usr/sbin/config MYKERNEL
	# cd ../../compile/MYKERNEL
	# make depend
	# make
maka kernel baru akan di-copy-kan ke-root direktori sebagai /kernel dan kernel yang lama akan dipindahkan ke /kernel.old. 
Boot kembali komputer untuk mengaktifkan kernel yang baru.

3.2.	Keamanan.
         Untuk keamanan melindungi sistem Unix digunakan password. Password biasanya suatu kata yang diacak (scrambler). Ada beberapa algoritma yang digunakan seperti DES (Data Encryption Standard), MD5 dan Crpt.
Perbedaan string password dibuat dengan DES atau MD5 adalah string password MD5 selalu dimulai dengan karakter $1$. Sedangkan string password DES tidak mempunyai karakteristik identitas khusus, tetapi yang lebih pendek adalah password MD5 dan dikodekan daalm 64-karakter alfabet tidak termasuk karakter $. Jadi relatif lebih pendek string dan tidak dimulai dengan tanda dolar ($) seperti pada password DES.
Contoh penggunaan versi DES :
%cd /usr/lib
% ls -l /usr/lib/libcrypt*
lrwxr-xr-x  1 bin  bin  13 Sep  5 12:50 libcrypt.a -> libdescrypt.a
lrwxr-xr-x  1 bin  bin  18 Sep  5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0
lrwxr-xr-x  1 bin  bin  15 Sep  5 12:50 libcrypt_p.a -> libdescrypt_p.a

S/Key adalah bagian standard dari semua distribusi FreeBSD yang merupakan skema password satu kali (one-time password). Disini ada 3 jenis password, pertama adalah UNIX-style atau Kerberos password atau sering disebut “UNIX password”, kedua adalah one-time password yang akan dibangkitkan oleh S/Key  program key. Ketiga adalah “secret password”.
Jenis password yang ketiga ini tidak bisa bekerja sama dengan UNIX password yang dibatasi hanya 8 karakter sedangkan secret password bisa lebih panjang.
Dalam inisialisasi S/Key, mengubah password bila sudah bisa masuk (login). Gunakan perintah keyinit tanpa beberapa parameter, seperti :
% keyinit
Updating wollman:           ) these will not appear if you
Old key: ha73895                ) have not used S/Key before
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
Enter secret password:           ) I typed my pass phrase here
Again secret password:           ) I typed it again ID
    
wollman s/key is 99 ha73896     ) discussed below SAG
HAS FONT GOUT FATE BOOM             )

Waktu memasukkan password maka dibutuhkan untuk membangkitkan login key. Baris awal ‘ID’ diberikan parameter-parameter khusus untuk S/Key, seperti nama login, hitungan pengulangan, dan password. 
Login prompt pada S/Key :
% telnet himalia
Trying 18.26.0.186...
Connected to himalia.lcs.mit.edu.
Escape character is '^]'.
s/key 92 hi52030
Password:

Sebelum password, program login akan mencetak jumlah interasi yang dibutuhkan sebagai kunci yang cocok.
Untuk membangkitkan one-time password, dibutuhkan untuk menjawab login prompt, disini digunakan oleh mesin dan program key. Baris perintah dari key program :
% key 92 hi52030            ) pasted from previous section
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:       ) I typed my secret password
ADEN BED WOLF HAW HOT STUN

Dan pada jendela lain :
s/key 92 hi52030               ) from previous section
Password:
  (turning echo on)
Password:ADEN BED WOLF HAW HOT STUN
Last login: Wed Jun 28 15:31:00 from halloran-eldar.l
[etc.]

Kadang-kadang bila berada dalam remote mesin yang tersedia, dalam kasus ini kemungkinan menggukanan perintah key untuk membangkitkan sejumlah one-time passwords dalam perintah yang sama. Sebagai contoh :
% key -n 25 57 zz99999
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:
33: WALT THY MALI DARN NIT HEAD
34: ASK RICE BEAU GINA DOUR STAG
...
56: AMOS BOWL LUG FAT CAIN INCH
57: GROW HAYS TUN DISH CAR BALM

parameter –n 25 dibutuhkan untuk 25 key berurutan; dan 57 menandakan akhir dari sejumlah pengurangan dan akan berhenti sebelumnya. 

Pembatasan penggunaan password pada UNIX
File konfigurasi /etc/skey.access  dapat diguanakn untuk mengatur pembatasan penggunaan password pada host name, user name, terminal port atau IP address pada saat login. Jika file diatas tidak ada (keadaan default dari FreeBSD), maka semua user akan diijinkan untuk menggunakan UNIX password. Jika file ini ada, maka semua user akan membutuhkan penggunaan S/Key dan mengkonfigurasi statement pada file skey.access. 
Berikut konfigurasi file sederhana :
permit internet 18.26.0.0 255.255.0.0 
permit user jrl 
permit port ttyd0

Pada baris pertama (permit internet) mengijinkan user dengan sumber IP address yang sesuai spesifikasi nilai dan mask untuk menggunakan password UNIX.Ini tidak akan memperhatikan mekanisme keamanan. 
Pada baris kedua (permit user) mengijinkan nama user yang ditentukan untuk mengguna-kan password Unix kapan saja.
Baris ketiga (permit port) mengijinkan semua user untuk masuk pada spesifikasi line terminal untuk menggunakan password Unix.

Kerberos
Kerberos adalah suatu  jaringan yang ditambahkan pada sistem/protokol dimana mengijinkan user untuk membuktikan sendiri melalui pelayanan dari keamanan server. Pelayanan seperti remote login, remote copy, keamanan copy file antar sistem dan tugas-tugas yang beresiko tinggi yang dibuat dengan pertimbangan keamanan dan dapat diataur. Beberapa instruksi berikut dapat diguanakn untuk menuntun bagaimana melaku-kan setup pada Kerberos pada distribusi untuk FreeBSD. 
Membuat initial databse :
Ini hanya bisa pada server Kerberos.  Ubahlah direktory /etc/kerberosIV dan cek hanya file-file berikut ini:
# cd /etc/kerberosIV 
# ls 
README 	krb.conf 	krb.realms 

Sekarang edit file krb.conf dan krb.realms untuk mendefinisikan bidang Kerveros. Dalam kasus ini bidang akan terdapat GRONDAR.ZA dan server grunt.grondar.za. Edit dan buat file krb.conf seperti :
# cat krb.conf
GRONDAR.ZA
GRONDAR.ZA grunt.grondar.za admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.gov

Baris pertama menunjukkan bahwa sistem bekerja, baris lain berisi nama host, dimana keduanya beraksi sebagai pusat kestribus kunci (key distribution centre). 

Firewall
Firewall adalah istilah yang biasa digunakan untuk suatu komponen atau sekumpulan komponen jaringan yang berfungsi membatasi akses antara dua jaringan, atau antara jaringan internal dengan jaringan global Internet.
Fungsi dari firewall adalah :
1.	Harus mengimplementasikan kebijaksanaan sekuriti di jaringan, jalur ilegal tidak dibolehkan.
2.	Melakukan filter, artinya mewajibkan semua lalulintas yang ada untuk dilewatkan melalui firewall, bagi semua proses pemberian dan pemanfaatan layanan informasi.
3.	Firewall juga harus dapat merekam/mencatat kejadian-kejadian mencurigakan serta memberitahu administrator terhadap segala usaha menembus kebijaksanaan sekuriti.

Saat ini ada 2 type firewall yang sering digunakan dalam internet. Tipe pertama dikenal sebagai router packet filtering, dimaan kerene pada mesin multi-homed akan memilih apakah paket akan diteruskan atau diblok sesuai denga aturan yang dibuat. Tipe kedua dikenal sebagai proxy server, bergantung pada daemon yang menyediakan keabsahan dan meneruskan paket.
Ada juga yang merupakan gabungan dari kedua tipe diatas, yakni hanya mesin tertentu saja yang diijinkan mengirim paket melalui router paket filtering ke jaringan internet. 

Paket filtering routers
Router adalah suatu mesin yang meneruskan paket antara dua atau lebih jaringan. Suatu paket filtering router mempunyai potongan kode tambahan didalam kernel, yang akan membandingkan masing-masing paket ke suatu daftar aturan sebelum memutuskan jika paket tersebut akan diteruskan atau tidak. Beberapa IP routing yang modern, mempunyai kode paket filtering yang defaultnya meneruskan semua pesan. Untuk mengaktifkan filter perlu didefinisi sejumlah aturan untuk kode filter. Jadi ini dapat menentukan jika paket akan dilewatkan atau tidak, dengan melihat kode melalui sekumpulan aturan yang sesuai dengan ini dari header paket. Bila aturan ini cocok, aturan ini akan ditaati. 

Proxy Server
Proxy server adalah mesin yang mempunyai sistem daemon (telnetd, ftpd,etc) normal diganti dengan server khusus. Server ini disebut dengan proxy server dimana secara biasa hanya mengijinkan untuk membuat koneksi kedepan.  Proxy server biasanya mempunyai keamanan lebih dari server biasa, dan sering mempunyai variasi mekanisme keabsahan yang luas termasuk adalah “one-shot” sistem password.
Proxy server mempunyai kemampuan untuk pembatasan akses. Jadi hanya host tertentu yang dapat mengakses server, sehingga dapat membatasi user dapat berkomunikasi denagn mesin tujuan.

IPFW
IPFW adalah software pelengkap dari FreeBSD yang adalah paket filtering dan sistem akunting yang diam dikernel dan mempunyai utiliti untuk mengatur password user.
Untuk mengaktifkan IPFW pada FreeBSD yang sudah berada dalam kernel,  perlu untuk menambahkan satu atau beberapa piliham dari konfigurasi kernel, tergantung dari fasilitas apa yang diingikan kemudian kernel dikompile. Berikut ada 3 pilihan konfigurasi kernel yang berkaitan dengan IPFW yaitu :
-	IPFIREWALL : mengkompile kedalam kernel denga n kode untuk filetering packet.
-	IPFIREWALL_VERBOSE : membuka kode untuk mengijinkan login ke paket melalui syslogd(8). Tanpa pilihan ini, jika akan menspesifikasi paket akan masuk ke aturan filter, hal yang tidak perlu terjadi.
-	IPFIREWALL_VERBOSE_LIMIT=10 : batas jumlah paket yang login ke paket melalui syslogd(8) pada per entri basis. Ini mungkin diingikna menggunakan pilihat ini dalam lingkungan hostile yang mana diinginkan untuk log pada aktifitas firewall. 
Contoh perintah-perintah untuk IPFW.
Perintah untuk menolak semua paket dari host evil.crackers.org ke port telnet pada host nice.people.org yang diteruskan melalui router :
   # ipfw add deny tcp from evil.crackers.org to nice.people.org 23

Contoh berikut menolak dan login beberapa  trafik TCP yang masuk dari jaringan crackers.org (class C) ke mesin nice.people.org (beberapa port).
      # ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org

Jika tidak menginkan seseorang mengirim X session ke internal jaringan kita ( subnet pada kelas C), perintah berikut ini akan melakukan filtering :
      # ipfw add deny tcp from any to my.org/28 6000 setup 

Untuk meilihat rekord accounting :
     # ipfw -a list
atau bentuk singkat :
      # ipfw -a l

3.3.	DISK
            Bila menginginkan menambah suatu disk SCSI baru ke mesing yang hanya mempunyai satu drive. Pertama komputer dimatikan dan pasang drive kedalam komputer beserta kontroller dan drive manufaktur. 
Karena FreeBSD berjalan pada IBM-PC kompatibel, maka akan mengenali sebagai  PC BIOS partisi, atau dikenal dengan slices.  Pada slice ini drive akan ditambahkan sebagai /dev/sdlsle. Ini akan membaca SCSI disk, unit number 1 (disk SCSI kedua), slice 1 (paritsi  1 dari PC BIOS), dan partisi BSD. Untuk kasus dedicate, drive akan ditambahkan sebagai /dev/sdle.
Untuk membuat partisi dan label pada disk baru, dapat menggunakan menu yang mudah pemakaiannya yaitu :
root # /stand/sysinstall
Perintah ini hanya bisa dilakukan oleh user root. Bila sysinstall sudah terbuka, pilih Configure  pada menu, dan pilih item Partition. Selanjutnya akan ditampilkan daftar dari hard-drive yang terpasang pada sistem. Pilih sd1 untuk masuk dalam FDISK Partition Editor. Pilih ‘A’ untuk menggunakan semua disk untuk FreeBSD. Bila ada pertanyaan “remain cooperative with any future possible operating system”, jawab YES. Tulis semua perubahan dennga menggunakan ‘W’. Sekarang keluar dari FDISK editor menggunakan ‘q’,. Selanjutnya akan ditanya untuk membuat Master Boot Record. Karena sudah pernaha dibuat sebelumnya, pilih ‘None’.
Berikutnya masuk dalam Disk Label Editor. Ini akan membuat partisi BSD. Sebuah disk dapat mempunyai 8 partisi yang dilabelkan dengan a-h. Beberapa label partisi digunakan untuk penggunaan khusus. Partisi a digunakan untuk root partisi (/). Jadi hanya sistem disk (yang bisa boot) yang harus berada pada partisi tersebut. Partisi b digunakan untuk swap, partisi c untuk semua dedikasi mode dan partisi lain untuk penggunaan umum.
Juga dalam Label editor ini, dapat dibuat sistem file dengan perintah ‘C’, dan akan memberikan pilihan FS (file system) atau swap. Pilih FS dan berikan titik pengait (mount point) dengan /mnt . 
3.4.	BACKUP
            Beberapa media backup pada FreeBSD seperti, Tape Media dengan ukuran 4mm, 8mm, QIC, mini-cartrideg dan DLT. Beberapa program yang dipakai untuk backup seperti :
- dump and restore : yang beroperasi pada drive sebagai suatu kumpulan dari blok disk, 
  dibawah abstraksi dari file, link dan direktori yang dibuat dalm sistem file.
– tar : beroperasi dengan kerjasamadengan sistem file. Tari menulis file dan direktori ke  
   tape.
-  cpio : program tape untuk media magnetik, mempunyai piliahan untuk melakukan byte-
    swaping, menulis pada sejumlah format archive yang berbeda dan pipe data ke 
    program-program yang lain.

3.5.	DISK  QUOTAS
            Quotas atau penjatahan space adalah kelebihan tambahan dari sistem operasi FreeBSD yang mengijinkan pembatasn sejumlah ruang disk atau sejumlah file seorang user atau group, yang boleh dialokasi pada basis file sistem. Quotas juag digunakan pada sistem-sistem dengan timesharing dimana quotas akan menyediakan batas sejumlah sumber pada satu atau beberapa user atau group dari user yang bisa dialokasikan. Ini akan mencega konsumsi dari semua ruang disk yang tersedia.
Konfigurasi sistem untuk mengaktifkan Disk Quotas
Sebelum mencoba untuk menggunakan quotas disk dibutuhkan konfigurasi kernel. Ini dilakukan dengan menambah baris dalam konfigurasi kernel file:
 	options QUOTA
Pada kernel yang masih GENERIC tidak mempunyai default untuk disk quota, jadi harus dikonfigurasi dengan mengembangkan dan menginstall kernel sesuai dengna disk quota yang akan dipakai. Berikut car untuk mengaktifkan disk quota pada /etc/sysconfig, yakni dengan mengubah baris :
quotas=NO
ke
	quotas=YES
Setelah itu edit file terdapat pada /etc/fstab untuk mengaktifkan disk quotas pada basis sistem per-file. Ini akan mengaktifkan juga quota untuk user atau group atau kedua-duanya untuk semua sistem file.
Untuk mengaktifkan quota untuk tiap user pada sistem file, tambahakn pilihan userquota ke bagian pilihan dari /etc/fstab entry untuk sistem file yang ingin diaktifkan quota-nya. Sebagai contoh :
	/dev/sdls2g	home	ufs rw, userquota 1 2
Untuk mengaktifkan quota group, gunakan pilihan groupquota sebagai pengganti dari keyword userquotas. 
Untuk mengaktifkan kedua-duanya (quota untuk user dan group) ubah entri dibawah ini:
			/dev/sdls2g	home	ufs rw,userquota,groupquota 1 2
Default file quota disimpan pada root direktory pada sistem file dengan nama quota.group untuk user dan group. 
Setelah itu, boot kembali komputer dengan kernel yang baru, /etc/rc akan otomatis dijalankan sesuai perintah untuk membuat quota dari disk.
Setting Batas Quota.
Setelah sistem dengan quota diaktifkan, dapat diuji apakah benar-benar aktif, dengan :
	# quota –v
maka akan terlihat satu baris ringkasan dari sistem yang digunakan dan batas quota yang aktif untuk masing-masing sistem file. Sekarang perlu untuk menetapkan batas quota dengan perintah edquota.

Disini terdapat beberapa pilihan untuk membatasi sejumlah ruang space untuk mengalo-kasikan pada user atau group, dan berapa banyak file yang dapat dibuat. Perlu juga untuk membatasi space pada disk (blok quota) atau jumlah file (inode quota) atau kombinasi dari keduanya. Masing-masing pembatasan dapat dibagi menjadi 2 kategori, yakni hard limit dan soft limit.
Hard limit tidak bisa dilewati. Apabila user telah mencapai hard limit, user tersebut tidak bisa membuat beberapa alokasi pada sistem file.  Sebagai contoh, jika user mempunyai hard limit 500 blok pada sistem file dan sekarang ini menggunakan 490 blok,  user hanya dapat mengalokasi dengan menambah 10 blok. Apabila lebih dari itu akan gagal.
Soft limit dapat dilewati untuk sejumlah pembatasan waktu. Periode waktu ini dikenal sebagai periode perpanjangan waktu, dengan default adalah satu minggu. Jika user melewati periode perpanjangan waktu ini, soft limit akan di pindahkan ke hard limit dan tidak ada alokasi yang akan diijinkan. Bila user jatuh kedalam soft limit, periode perpanjangan waktu akan di reset.
Berikut ini adalah contoh menggunakan perintah edquota. Gunakan text editor untuk mengedit batas quota:
	# edquota -u test

    	Quotas for user test:
	/usr: blocks in use: 65, limits (soft = 50, hard = 75)
         	inodes in use: 7, limits (soft = 50, hard = 60)
	/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
            	inodes in use: 0, limits (soft = 50, hard = 60)

Pada baris pertama untuk pembatasan menyatakan pembatasan blok, dan baris berikutnya untuk pembatasan inode. Jadi misal akan mengubah pembatasan blok dari soft limit 50 dan hard limit 75 menjadi soft limit 500 dan hard limit 600, ubah bagian berikut ini:
	/usr: blocks in use: 65, limits (soft = 50, hard = 75)
ke :
     	/usr: blocks in use: 65, limits (soft = 500, hard = 600)

Batas quota baru akan ditempatkan ketika keluar dari text editor.
Kadang-kadang tidak diinginkan untuk mengatur pembatasan quota, ini dapat dilakukan dengan mengguankan pilihan  -p pada perintah edquota. Pertama, tetapkan pembatasan quota yang diinginkan untuk user, lalu jalan edquota –p protouser startuid-enduid. Sebagai contoh, jika user akan menguji pembatasan quota yang diinginkan, perintah dibawah ini dapat digunakan untuk menduplikasi pembatasan quota untuk 10.000 sampai 19.999 ;
	# edquota –p test 10000-19999

Pengujian Pembatasan Quota dan penggunaan Disk.
Untuk melakukan pengujian pembatasan quota dan penggunaan disk dapat digunakan dengan perintah quota or repquota. Perintah quota dapat digunakan untuk menguji quota individual user dan group serta penggunaan disk. Hanya super-user yang boleh memeriksa quotas dan penggunaan untuk masing-masing user. Perintah repquota dapat digunakan untuk mengambil ringkasan dari semua quota dan penggunaan disk untuk sistem file pada quota yang diaktifkan.
Berikut ini adalah beberapa contoh keluaran dari perintah quota –v untuk user yang mempunyai batas quota pada dua sistem.
Disk quotas for user test (uid 1002): 
     Filesystem   blocks    quota     limit     grace   files    quota   limit    grace 
/usr 	   65*  	     50 	    75 	5days      7 	  50      60
       /usr/var 	    0 	     50 	    75 		  0 	  50      60 

Pada sistem file /usr contoh user diatas adalah sekarang ini ada 15 blok melalui soft limit pada 50 blok dan mempunyai periode pembatasan waktu 5 hari.	

3.6.	   KOMPATIBEL PERANGKAT  KERAS
          Persoalan kompatibilitas hardware merupakan beberapa masalah yang sama pada industri komputer saat ini. Untuk ini, FreeBSD menggunakan kesempatan ini untuk bisa berjalan pada bahan kebutuhan dari PC hardware yang murah dan mendukung komponen-komponen yang bervariasi dipasaran. 
FreeBSD adalah suatu proyek sukarela, yang bergantung pada user untuk beberapa informasi yang terkandung dalam katalog. 
            Beberapa konfigurasi hardware ada yang sama sekali tidak terdapat suatu dukungan  dari beberapa vendor atau produk pada proyek FreeBSD. Informasi ini disediakan hanya sebagai public service

BAB  III
KOMUNIKASI  JARINGAN

4.1. Komunikasi Serial
4.1.1. Dasar-dasar Serial
Bagian ini akan memberikan Anda informasi umum tentang port-port serial. Jika Anda tidak menemukan apa yang Anda inginkan disini, lihat bagian Terminal dan Dialup dari buku ini.
	Device ttydX ( atau cuaaX) adalah device yang tetap Anda untuk dibuka pada aplikasi Anda. Ketika sebuah proses membuka divece tersebut, ia akan memiliki seting default pada seting terminal I/O. Anda dapat melihat perintah seting-nya sbb :
	# stty -a -f /dev/ttyd1
Ketikan Anda merubah seting trhadap device ini, seting tersebut akan berfungsi sampai device tersebtu ditutup. Ketika ia dibuka kembali, ia akan kembalike seting default-nya. Untuk membuat perubahan tersebut menjadi seting yang default-nya, Anda dapat membuka dan mengatur setting pada “initial state” device. Sebagai contoh, untuk turn on ke mode CLOCAL, 8 bit, dan flow control XON/XOFF dengan default untuk ttyd5, lakukan :
	# stty -f /dev/ttyid5 clocal cs8 ixon ixoff

Lokasi yang baik unutk melakukan ini adalah pada /etc/rc.serial. Sekarang sebuah aplikasi akan mempuyai seting ini ketika ia membuka ttyd5.
	Anda juga dapat melindungi seting tersebut dari perubahan dengan sebuah aplikasi dengan mengatur ”lock state” device.  Sebagai contoh, untuk mengunci kecepatan dari  ttyd5 menjadi 57600 bps, lakukan 
	# stty -f /dev/ttyld5 57600

Sekarang sebuah aplikasi yang membuka ttyd5 dan mencoba untuk merubah kecepatan port, maka akan tetap pada 57600 bps.
	Biasanya, Anda harus membuat device-device state inisial dan state lock writeable hanya oleh root. Script MAKEDEV  tidak akan melakukan ini ketika ia membuat entri-entri device.

4.1.2. Terminal 
	Terminal menyediakan cara akses yang menyenangkan dan biaya yang murah pada sistem FreeBSD Anda saat Anda tidak pada konsol komputer atau pada jaringan yang terhubung. Bagian ini menggambarkan bagaimana untuk menggunakan terminal pada FreeBSD.

4.1.2.1. Tipe dan Fungsi Terminal
	Sistem dasar dari Unix tidak mempunyai consoles. Malahan orang dapat login dan menjalankan program melalui terminal ayng terhubung ke serial port komputer. Hal ini hampir sama dengan menggunakan sebuah modem dan beberapa software terminal untuk dial ke dalam sistem remote untuk melakukan pekerjaan yang hanya berbasiskan teks.
	Saat ini PC telah memiliki consoles yang mampu pada modus grafik kualitas tinggi, tetapi kemampuan untuk melakukan login pada port serial masih seperti cara-cara OS saat ini yang berbasis Unix., FreeBSD jiga bukan pengecuanliannya. Dengan menggunakan terminal yang terhubung ke pada port serial yang tidak digunakan, Anda dapat login dan menjalankan beberapa program text seperti yang dapat Anda jalankan seperti biasa pada console tersebut atau dalam sebuah sistem Xwindows.
	Untuk para pemakai dari kalangan bisnis, Anda dapat menghubungkan banyak terminal pada sebuah sistem FreeBSD dan menempatkannya pada desktop-desktop karyawan Anda. Untuk penggunaan di rumah, sebuah komputer yang lebih hemat seperti IBM PC atau Macintosh dapat menjadi sebuah terminal yang terhubung ke dalam sistem komputer yang lebih besar yang berjalan dengan FreeBSD. Sehingga Anda dapat merubah dari sebuah komputer single-user menjadi sistem komputer yang multi-user lebih powerful.
	Pada FreeBSD, ada tiga jenis terminal :
•	Dumb terminal
Dumb terminal perangkat khusus dari hardware yang memungkinkan Anda untuk terhubung ke komputer melalui line serial. Disebut “dumb” karena ia hanya mempunyai kemampuan komputasi untuk melakukan tampilan, mengirim, dan menerima teks. Anda tidak dapat menjalankan program. Jadi ia adalah komputer yang Anda hubungkan yang semua kemampuannya untuk menjalankan teks editor, compiler, email, games, dan seterusnya.
Ada banyak jenis dari dumb terminal yang dikenal di kalangan pekerja yang membutuhkan aplikasi grafik seperti yang disediakan oleh sistem Xwindows.

•	PCs acting as terminal
Jika dumb terminal hanya mempunyai kemampuan untuk menampilkan, mengirim, dan menerima teks, maka beberapa komputer yang lebih hemat dapat menjadi sebuah dumb terminal. Apa yang Anda butuhkan adalah kabel yang sesuai dan beberapa software terminal emulation untuk berjalan pada komputer tersebut.
Konfigurasi yang demikian itu sangat populer di pakai di rumah-rumah. Sebagai contoh, jika isteri/suami Anda sibuk bekerja pada console sistem FreeBSD, Anda dapat melakukan beberapa pekerjaan yang hanya berbasiskan teks pada saat yang bersamaan dari PC yang lebih kecil yang terhubung sebagai terminal terhadap sistem FreeBSD tersebut.

•	X terminal
X terminals adalah jenis terminal paling lengkap yang ada. Walau ia terhubung ke serial port, tetapi biasanya ia terhubung ke jaringan seperti Ethernet. Walau dibuat unutk aplikasi-aplikasi berbasis teks, ia dapat menampilkan aplikasi X.
X terminals dikenalkan untuk menambah lebih komplit. Tetapi bagian bab ini tidak membahas setup, konfigurasi, atau bagaimana menggunakan X terminal.

 4.1.2.2. Kabel dan Port
Untuk menghubungkan sebuah terminal ke sistem FreeBSD Anda, Anda membutuhkan jenis kabel yang tepat dan port serial untuk menghubungkannya. Bagian ini akan menjelaskan kepada Anda bagaimana melakukannya.
•	Kabel
Karena termina-terminal menggunakan port-port serial, Anda membutuhkan standard serial kabel yang dikenal dengan RS-232C untuk menghubungkan terminal tersebut ke sistem FreeBSD.
Ada banyak jenis kabel serial. Yang mana yang akan Anda gunakan tergantung pada terminal yang akan Anda hubungkan. Jika Anda menghubungkan PC sebagai terminal, gunakan sebuah kabel null-modem. Sebuah kabel null-modem menghubungkan dua buah komputer atau terminal secara bersama. Jika Anda memilki terminal Aktual, sumber informasi terbaik Anda untuk kabel apa yang digunakan ada pada dokumentas yang ada pada terminal tersebut. Jika Anda tidak mempunyai dokumntasinya, coba kabel null-modem. Jika tidak juga berfungsi, gunakan kabel standard.
Dan juga serial port tersebut pada sistem FreeBSD Anda harus mempunyai konektor yang cocok dengan kabel yang akan Anda gunakan.
o	Kabel Null-modem
Kabel null-modem melewatkan beberapa sinyal secara langsung, seperti “signal ground” , tetapi menghubungkan ke sinyal-sinyal yang lain. Sebagai contoh, pin “send data” pada ujungnya ke pin “receive data”. 
Jika Anda ingin membuat kabel Anda sendiri, di bawah ini ditunjukkan cara yang direkomendasikan untuk membuat sebuah kabel null-modem untuk digunakan dengan terminal. Tabel di bawah ini menunjukkan nama-nama sinyal RS-232C dan nomer-nomer pin pada sebuah konektor DB-25.
Signal 	Pin # 	  	Pin # 	Signal 	
TxD 	2 	Connects to 	3 	RxD 	
RxD 	3 	Connects to 	2 	TxD 	
DTR 	20 	Connects to 	6 	DSR 	
DSR 	6 	Connects to 	20 	DTR 	
SG 	7 	Connects to 	7 	SG 	
DCD 	8 	Connects to 	4 	RTS 	
RTS 	4 		5 	CTS 	
CTS 	5 	Connects to 	8 	DCD 	

Catatan : Unutk DCD ke RTS, menghubungkan pin 4 ke 5 di dalam kap konektor tersebut, dan kemudian ke pin 8 dalam kap konektor yang lain.
o	Kabel standart RS-232
Kabel standard serial melewatkan semua sinyal RS-232C secara langsung. Karena itu pin “send data” pada ujung kabel menjadi  “end data” pada ujung yang lain dari kabel tersebut. Ini jenis kabel yang menghubungkan sebuah modem ke sistem FreeBSD Anda, dan tipe kabel yang dibutuhkan pada beberapa terminal.
•	Port
Port serial adalah device tempat lewatnya data yang ditrasferkan antara FreeBSD dan terminal. Bagian ini menjelaskan jenis-jenis port yang ada dan bagaimana pengalamatannya di FreeBSD.
o	Jenis-jenis port
Sebelum Anda membeli atau membangun kabel, Anda harus yakin ia akan cocok untuk terminal Anda dan sistem FreeBSD tersebut.
Kebanyakan terminal akan memiliki port DB25. Personal Computer, termasuk PC yang berjalan dengan sistem FreeBSD akan memiliki port –port DB25, atau DB9. Jika Anda memiliki sebuah card serial dengan banyak port pada PC Anda, bisa jadi Anda memiliki port-port RJ-12 atau RJ-45.
Coba lihat dokumentasi yang terlampir pada hardwarenya untuk spesifikasi jenis port yang digunakan. 
o	Nama-nama port
Pada  FreeBSD, Anda mengakses port serial melalui sebuah entri pada direktori /dev. Ada dua jenis entri :
1.	Port Callin dinamakan /dev/ttydX dimana X adalah nomer port, dimulai dari nol. Secara umum, Anda menggunakan port callin untuk terminal. Port callin memerlukan line serial yang menyatakan sinyal data carrier detect (DCD) untuk kerjanya.
2.	Port Callout yang dinamakan /dev/cuaaX. Anda biasanya tidak menggunakan port callout untuk terminal, hanya untuk modem. Anda boleh menggunakan port callout jika kabel serial tidak mendukung sinyal carrier detect tersebut.
Jika Anda telah menghubungkan sebuah terminal dengan serial port pertama (COM1 di sistem DOS), maka Anda menggunakan /dev/ttyd0 untuk mengacu ke terminal tersebut. Jika ia pada port serial kedua (yang dikenal dengan COM2),  maka ia menjadi /dev/ttyd1, dan seterusnya.
Catatan : Anda harus mengkonfigurasikan kernel Anda untuk mendukung setiap port serial, khusunya jika Anda memiliki card multiport.

4.1.2.3. Konfigurasi
Pada bagian ini dibahas apa yang Anda butuhkan untuk mengkonfigurasikan sistem FreeBSD Anda untuk bisa masuk pada sesi login pada terminal. Diasumsikan Anda telah selesai mengkonfigurasikan kernel Anda untuk mendukung ort serial tempat terminal terhubung dan Anda telah menghubungkannya.
Dalam nutshell, Anda harus memberitahukan proses init (yang bertanggung-jawab untuk mengontrol  dan menginisialisasi), untuk memulai sebuah proses getty (yang bertanggung-jawab untuk membaca nama login dan memulai program login tersebut).
Untuk melakukan itu, Anda harus mengedit file /etc/ttys. Pertama gunakan perintah su untuk menjadi root. Kemudian buat perubahan berikut terhadap /etc/ttys :
1.	Tambahkan sebuah baris pada /etc/ttys untuk entri dalam direktori /dev untuk port serial jika ia belum ada.
2.	Tentukan banwa /usr/libexec/getty dijalankan pada port, dan tentukan tipe getty yang sesuai dari file /etc/gettytab.
3.	Tentukan tipe terminal defaultnya.
4.	Set port tersebut “on”.
5.	Tentukan apakah port tersebut harus “secure”.
6.	Buat init untuk kembali membaca file /etc/ttys.

Sebagai langkah tambahan, Anda boleh merubah tipe getty yang digunakan pada langkah 2 dengan membuat sebuah entri dalam /etc/gettytab. Buku ini tidak menjelaskan bagaimana untuk melakukannya, Anda dianjurkan untuk melihat halaman manual dari getty(5) dan getty(8) untuk informasi lebih lanjut.
Bagian akhir dari sesi ini merinci bagaimana untuk melakukan langkah-langkahnya. Sebagai contoh, kita akan menghubungkan dua terminal ke sistem : sebuah Wyse-50 dan IBM PC 286 tua menjalankan software terminal Procomm menyamai sebuah terminal VT-100. Kita menghubungkan Wyse tersebut ke port serial kedua dan 286 ke port serial ke enam (pada card multiport).
Untuk informasi lebih lanjut tentang file /etc/ttys, dapat dilihat pada manual ttys(5).

4.2. PPP dan SLIP
	Jika koneksi Anda ke Internet melaui modem, atau Anda ingin memberikan orang lain koneksi dialup ke Internet menggunakan FreeBSD, Anda memiliki pilihan menggunakan PPP atau SLIP. Lebih jauh lagi dua variasi dari PPP telah tersedia: user ( kadang dikenal sebagai iijppp) dan kernel. Prosedur untuk mengkonfigurasikan kedua tipe PPP dan untuk melakukan seting SLIP dijelaskan pada bagian ini.
4.2.1. Seting PPP User
	User PPP  diperkenalkan pada FreeBSD pada release 2.0.5 sebagai tambahan terhadap implementasi kernel yang telah pada PPP. Jadi, apa yang menjadi perbedaan dari PPP yang baru ini adalah :
Yang ini adalah paket software user process PPP. Biasanya, PPP diimplementasikan sebagai bagian dari kernel dan ia kemudian menjadi agak susah untuk didebug dan/atau dimodifikasi. Namun demikian, dalam implementasi ini PPP dilakukan sebagai sebuah user process dengan bantuan dari device driver (tun).

Intinya, ini berarti bahwa daripada menjalankan PPP daemon, program ppp tersebut dapat dijalankan kapanpun diinginkan. Tidak ada interface PPP yang butuh di kompilasi dalam kernel tersebut, sebagai program dapat menggunakan jalur device yang umum untuk mendapatkan masuk dan keluar dari kernel.
Dari sini sampai seterusnya, user ppp akan diacu menjadi lebih simpel sebagai ppp kecuali sebuah perbedaaan yang butuh untuk dibuat antara dia dan software PPP client/server lain seperti pppd. Kecuali itu tadi, semua perintah dalam bagian ini dieksikusi sebagai root.
Ada banyak jumlah peningkatan dalam versi 2 dari ppp. Anda dapat memeriksa versi mana yang Anda punyai dengan menjalankan ppp dengan tidak memakai argumen dan mengetikkan show version pada prompt. Ini merupakan masalah yang sederhana untuk meng-upgrade ppp ke versi yang lebih baru dengan melakukan download arsi terbaru lewat www.Awfulhak.org. 
4.2.1.1. Membuat kernel ppp ready
Seperti yang dijelaskan, ppp menggunakan device kernel tun. Ia perlu memastikan bahwa kernel Anda mendukung untuk device ini dikompilasi.
Untuk memerikasanya, masuk ke direktori kompilasi kernel Anda (/sys/i386/conf of/sys/pc98/conf) dan periksa file konfigurasi kernel Anda. Ia harus memiliki baris :
	pseudo-device tun 1

di dalamnya. Isi dari kernel GENERIC memiliki ini sebagai standard, jadi jika Anda belum menginstal kernel yang biasa atau Anda tidak memiliki sebuah direktori /sys, Anda tidak perlu merubah apapun.
Jika file konfigurasi kernel Anda tidak memiliki baris ini di dalamnya, atau Anda harus mengkonfigurasi lebih dari satu device tun (sebagai contoh, bila Anda melakukan seting sebuah server dan dapat membuat koneksi 16 dialup ppp pada satu waktu maka Anda akan butuh untuk menggunakan 16 daripada 1), maka Anda harus menambahkan baris tersebut, kompilasi ulang, instal ulang dan boot kernel baru tersebut. 
Anda dapat memeriksa seberapa banyak jalur device yang dimiliki kernel Anda saat ini dengan mengetikkan :
# ifconfig -a
    tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
            inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff
    tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576
    tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
            inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff
    tun3: flags=8010<POINTOPOINT,MULTICAST> mtu 1500

Kasus diatas menunjukkan 4 jalur device, dua diantaranya sedang dikonfigurasikan dan digunakan. Yang harus diperhatikan adalah flag RUNNING diatas mengindikasikan bahwa interface-nya telah digunakan pada titik yang sama, dan bukanlah sebuah kesalahan bila interface Anda tidak menunjukkan running.
Jika Anda memiliki kernel tanpa device tun, dan Anda tidak dapat membangun ulang karena beberapa alasan, semuanya tidak hilang. Anda harus mampu untuk secara dinamis me-load kode tersebut.

4.2.1.2. Memeriksa device tun
Kebanyakan pemakai hanya akan membutuhkan satu device tun (/dev/tun0). Jika Anda menggunakan lebih maka rubah semua referensi di bawah tun0 untuk melihat jumlah device mana saja yang sedang Anda gunakan.
Cara paling mudah untuk memastikan bahwa device tun telah dikonfigurasikan adalah dengan membuatnya ulang. Unutk melakukan hal ini, eksekusi perintah-perintah berikut :
	# cd /dev
  	# ./MAKEDEV tun0
Jika Anda butuh 16 jalur device pada kernel Anda, Anda harus membuat lebih dari sekedar tun0 :
	# cd /dev
    	# ./MAKEDEV tun15

Juga untuk mengetahui bahwa kernel dikonfigurasi dengan benar, perintah berikut ini akan memberikan output yang ditunju:
	# ifconfig tun0
    tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500

Flag RUNNING bisa jadi belum diset, pada kasus ini Anda akan melihat :
	# ifconfig tun0
    	tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500

4.2.1.3. Konfigurasi resolusi nama
Resolver adalah bagian dari sistem yang mengganti IP address menjadi nama-nama host dan begitu juga sebaliknya. Ia dapat dikonfigurasikan untuk melihat pada peta yang menggambarkan pemetaan IP ke nama host sekaligus pada dua tempat. Pertama dinamakan /etc/hosts (man 5 hosts). Yang kedua adalah Internet Domain Name Service (DNS), sebuah database yang terdistribusi.
Bagian ini akan menggambarkan bagaimana mengkonfigurasikan resolver Anda.
Resolver adalah sekumpulan sistem pemanggilan yang melakukan pemetaan nama tersebut, tetapi Anda harus memberitahukannya dimana untuk menemukan informasi tersebut. Pertama yang Anda lakukan adalah dengan mengedit file /etc/host.conf. Jangan panggil file ini dengan /etc/hosts.conf (perhatikan tambahan s) yang hasilnya akan membingungkan.
•	Edit file /etc/host.conf
File ini harus mengandung dua baris berikut (dengan urutan seperti ini)
	hosts
    	bind

Hal ini menginstruksikan resolver untuk pertama sekali melihat file /etc/hosts, dan kemudian memeriksa pada DNS bila nam tersebut tidak ditemukan.

•	Edit file /etc/hosts(5)
File ini harus mengandung IP address dan nama-nam mesin pada jaringan Anda. Paling tidak ia harus mengandung entri-entri untuk mesin yang akan menjalankan ppp. Asumsikan bahwa mesin Anda dinamakan foo.bar.com dengan IP address 10.0.0.1, maka /etc/hosts harus mengandung :
		127.0.0.1    localhost
    	10.0.0.1     foo.bar.com          foo
Baris pertama mendefinisikan alias localhost sebagai sebuah sinonim untuk mesin tersebut. Tanpa menghiraukan IP address Anda, IP address pada baris ini harus selalu 127.0.0.1 . Baris kedua memetakan nama foo.bar.com ( dan singkatnya foo) ke IP address 10.0.0.1 .
Bila provider Anda mengalokasikan Anda sebuah IP address, maka tempatkan pada entri 10.0.0.1 tersebut.

•	Edit file /etc/resolv.conf
/etc/resolv.conf memberitahukan resolver tersebut bagaimana harus bertindak. Jika Anda menjalankan DNS Anda sendiri, Anda boleh membiarkan file ini kosong. Normalnya, Anda akan butuh untuk memasukkan baris-baris berikut :
	nameserver x.x.x.x
    	nameserver y.y.y.y
    	domain bar.com

Alamat x.x.x.x dan y.y.y.y adalah yang diberikan oleh ISP Anda. Tambahkan baris nameserver sebanyak yang ISP Anda sediakan. Baris domain default terhadap domain hostname Anda, dan bisa jadi tidak diperlukan. Untuk detail entri-entri yang mungkin pada file ini, lihat pada halaman manual dari resolv.conf .
Jika Anda menjalankan PPP versi 2 atau yang lebih tinggi, perintah enable dns akan memberitahukan PPP untuk meminta bahwa ISP Anda mengkonfirmasikan nilai-nilai nameserver. Jika ISP Anda memberikan alamat-alamat yang berbeda (atau bila disana tidak ada baris nameserver di /etc/resolv.conf), PPP akan menulis ulang  file tersebut dengan nilai-nilai yang diberikan ISP.

4.2.1.4. Konfigurasi PPP
Kedua user ppp dan pppd (implementasi level kernel pada PPP) menggunakan file-file konfigurasi yang ditempatkan pada direktori /etc/ppp. Contoh konfigurasi file-file yang diberikan tersebut merupakan acuan yang baik untuk user ppp, maka ia jangan dihapus.
Mengkonfigurasikan ppp memerlukan Anda untuk mengedit beberapa file, bergantung pada kebutuhan Anda. Apa yang Anda letakkan di dalamnya bergantung pada beberapa tingkat dimana ISP Anda mengalokasikan IP address secara statis (contohnya, Anda diberikan satu IP address, dan selalu menggunakannya) atau secara dinamis (contohnya, IP address Anda bisa berbeda untuk setiap sesi PPP).

4.2.2. Seting Kernel PPP
Sebelum Anda mulai melakukan seting PPP pada mesin Anda, pastikan bahwa pppd berada pada /usr/sbin/ dan direktori /etc/ppp telah ada.
pppd dapat bekerja pada dua mode :
1.	sebagai client, contohnya Anda ingin menghubungkan mesin Anda ke dunia luar dengan menggunakan koneksi serial PPP atau dengan modem.
2.	sebagai server, contohnya mesin Anda ditempatkan pada jaringan dan digunakan untuk berhubungan dengan komputer lain dengan PPP.
Pada kedua kasus diatas Anda harus melakukan seting dapa file option (/etc/ppp/options atau ~/ .ppprc jika Anda mempunyai lebih dari satu user pada mesin Anda yang menggunakan PPP).
Anda juga membutuhkan beberapa software modem/serial (seperti kermit), jadi Anda dapat membuat hubungan dengan remote host.

4.2.2.1. Bekerja sebagai PPP client
Biasanya digunakan /etc/ppp/options seperti yang beriku ini untuk berhubungan dengan jalur PPP  server terminal CISCO :
crtscts         # enable hardware flow control
    modem           # modem control line
    noipdefault     # remote PPP server must supply your IP address.
                    # if the remote host doesn't send your IP during IPCP
                    # negotiation , remove this option
    passive         # wait for LCP packets
    domain ppp.foo.com      # put your domain name here
    
    :<remote_ip>    # put the IP of remote PPP host here
                    # it will be used to route packets via PPP link
                    # if you didn't specified the noipdefault option
                    # change this line to <local_ip>:<remote_ip>
    
    defaultroute    # put this if you want that PPP server will be your
                    # default router

Untuk koneksi :
1.	Kontak remote host menggunakan kermit (atau program mode yang lain) masukkan nama user Anda dan password (atau apapun yang dibutuhkan untuk membuat PPP enable pada remote host)
2.	Keluar dari kermit 
3.	Masukkan :
	# /usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200

Gunakan kecepatan dan nama device yang sesuai.
Sekarang komputer Anda telah terhubung dengan PPP. Jika koneksi gagal karena beberapa alasan Anda dapat menambahkan option debug ke file /etc/ppp/options tersebut dan memeriksa pesan pada console untuk mencari permasalahannya.
Berikut ini script /etc/ppp/pppup akan membuat ketiga tahap semuanya secara outomatis :
#!/bin/sh
    ps ax |grep pppd |grep -v grep
    pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing pppd, PID=' ${pid}
            kill ${pid}
    fi
    ps ax |grep kermit |grep -v grep
    pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing kermit, PID=' ${pid}
            kill -9 ${pid}
    fi
    
    ifconfig ppp0 down
    ifconfig ppp0 delete
    
    kermit -y /etc/ppp/kermit.dial
    pppd /dev/tty01 19200

/etc/pppp/kermit.dial adalah script kermit yang menghubungi dan membuat semua otorisasi yang diperlukan pada remote host.
Gunakan script berikut ini untuk memutuskan hubungan dengan line PPP :
#!/bin/sh
    pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
    if [ X${pid} != "X" ] ; then
            echo 'killing pppd, PID=' ${pid}
            kill -TERM ${pid}
    fi
    
    ps ax |grep kermit |grep -v grep
    pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing kermit, PID=' ${pid}
            kill -9 ${pid}
    fi
    
    /sbin/ifconfig ppp0 down
    /sbin/ifconfig ppp0 delete
    kermit -y /etc/ppp/kermit.hup
    /etc/ppp/ppptest

Coba periksa apakah PPP masih running (/usr/etc/ppp/ppptest) :
#!/bin/sh
    pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
    if [ X${pid} != "X" ] ; then
            echo 'pppd running: PID=' ${pid-NONE}
    else
            echo 'No pppd running.'
    fi
    set -x
    netstat -n -I ppp0
    ifconfig ppp0

Cabut line mode (/etc/ppp/kermit.hup) :
set line /dev/tty01    ; masukkan device modem Anda disini
    set speed 19200
    set file type binary
    set file names literal
    set win 8
    set rec pack 1024
    set send pack 1024
    set block 3
    set term bytesize 8
    set command bytesize 8
    set flow none
    
    pau 1
    out +++
    inp 5 OK
    out ATH0\13
    echo \13
    exit

Dua file berikut ini bisa untuk menyelesaikan sebuah koneksi pppd :
/etc/ppp/options: 
    /dev/cuaa1 115200
    
    crtscts     # enable hardware flow control
    modem       # modem control line
    connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
    noipdefault # remote PPP serve must supply your IP address.
                # if the remote host doesn't send your IP during
                    # IPCP negotiation, remove this option
    passive         # wait for LCP packets
    domain <your.domain>  # put your domain name here
    
    :       # put the IP of remote PPP host here
                # it will be used to route packets via PPP link
                    # if you didn't specified the noipdefault option
                    # change this line to <local_ip>:<remote_ip>
    
    defaultroute    # put this if you want that PPP server will be
                # your default router
/etc/ppp/login.chat.script: 
(Ini harusnya berada pada satu baris.) 
    ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
      CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
      TIMEOUT 5 sword: <password>

Sekali hal tersebut diinstalasi dan dimodifikasi dengan benar, apa yang harus Anda kerjakan adalah :
#  pppd

4.2.2.2. Bekerja sebagai PPP server
/etc/ppp/options :
	crtscts                       # Hardware flow control
    netmask 255.255.255.0          # netmask ( not required )
    192.114.208.20:192.114.208.165 # ip's of local and remote hosts
                                  # local ip must be different from one
                            # you assigned to the ethernet ( or other )
                            # interface on your machine.
                            # remote IP is ip address that will be 
                            # assigned to the remote machine
    domain ppp.foo.com      # your domain
    passive                 # wait for LCP
    modem            	     # modem line

Script berikut /etc/ppp/pppserv ini akan mengaktifkan ppp server pad mesin Anda :
#!/bin/sh 
    ps ax |grep pppd |grep -v grep
    pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing pppd, PID=' ${pid}
            kill ${pid}
    fi
    ps ax |grep kermit |grep -v grep
    pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing kermit, PID=' ${pid}
            kill -9 ${pid}
    fi
    
    # reset ppp interface
    ifconfig ppp0 down
    ifconfig ppp0 delete
    
    # enable autoanswer mode
    kermit -y /etc/ppp/kermit.ans
    
    # run ppp
    pppd /dev/tty01 19200

Gunakan script /etc/ppp/pppservdown ini untuk menghentikan ppp server
#!/bin/sh 
    ps ax |grep pppd |grep -v grep
    pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing pppd, PID=' ${pid}
            kill ${pid}
    fi
    ps ax |grep kermit |grep -v grep
    pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
    if [ "X${pid}" != "X" ] ; then
            echo 'killing kermit, PID=' ${pid}
            kill -9 ${pid}
    fi
    ifconfig ppp0 down
    ifconfig ppp0 delete
    
    kermit -y /etc/ppp/kermit.noans

Script kermit berikut ini akan membuat enable/disable mode autoanswer pada modem Anda (etc/ppp/kermit.ans) :
set line /dev/tty01
    set speed 19200
    set file type binary
    set file names literal
    set win 8
    set rec pack 1024
    set send pack 1024
    set block 3
    set term bytesize 8
    set command bytesize 8
    set flow none
    
    pau 1
    out +++
    inp 5 OK
    out ATH0\13
    inp 5 OK
    echo \13
    out ATS0=1\13   ; change this to out ATS0=0\13 if you want to disable
                    ; autoanswer mod
    inp 5 OK
    echo \13
    exit

Script /etc/ppp/kermit.dial ini digunakan dan untuk melakukan menghubungi dan otorisasi pada remote host. Anda akan harus mengaturnya berdasarkan kebutuhan Anda. Masukkan login dan password Anda dalam script ini, dan Anda juga harus merubah statement input bergantung pada respon dari modem Anda dan remote host.
;
    ; put the com line attached to the modem here:
    ;
    set line /dev/tty01
    ;
    ; put the modem speed here:
    ;
    set speed 19200
    set file type binary            ; full 8 bit file xfer
    set file names literal
    set win 8
    set rec pack 1024
    set send pack 1024
    set block 3
    set term bytesize 8
    set command bytesize 8
    set flow none
    set modem hayes
    set dial hangup off
    set carrier auto                ; Then SET CARRIER if necessary,
    set dial display on             ; Then SET DIAL if necessary,
    set input echo on
    set input timeout proceed
    set input case ignore
    def \%x 0                       ; login prompt counter
    goto slhup
    
    :slcmd                          ; put the modem in command mode
    echo Put the modem in command mode.
    clear                           ; Clear unread characters from input buffer
    pause 1
    output +++                      ; hayes escape sequence
    input 1 OK\13\10                ; wait for OK
    if success goto slhup
    output \13
    pause 1
    output at\13
    input 1 OK\13\10
    if fail goto slcmd              ; if modem doesn't answer OK, try again
    
    :slhup                          ; hang up the phone
    clear                           ; Clear unread characters from input buffer
    pause 1
    echo Hanging up the phone.
    output ath0\13                  ; hayes command for on hook
    input 2 OK\13\10
    if fail goto slcmd              ; if no OK answer, put modem in command mode
    
    :sldial                         ; dial the number
    pause 1
    echo Dialing.
    output atdt9,550311\13\10               ; put phone number here
    assign \%x 0                    ; zero the time counter
    
    :look
    clear                           ; Clear unread characters from input buffer
    increment \%x                   ; Count the seconds
    input 1 {CONNECT }
    if success goto sllogin
    reinput 1 {NO CARRIER\13\10}
    if success goto sldial
    reinput 1 {NO DIALTONE\13\10}
    if success goto slnodial
    reinput 1 {\255}
    if success goto slhup
    reinput 1 {\127}
    if success goto slhup
    if < \%x 60 goto look
    else goto slhup
    
    :sllogin                        ; login
    assign \%x 0                    ; zero the time counter
    pause 1
    echo Looking for login prompt.
    
    :slloop
    increment \%x                   ; Count the seconds
    clear                           ; Clear unread characters from input buffer
    output \13
    ;
    ; put your expected login prompt here:
    ;
    input 1 {Username: }
    if success goto sluid
    reinput 1 {\255}
    if success goto slhup
    reinput 1 {\127}
    if success goto slhup
    if < \%x 10 goto slloop         ; try 10 times to get a login prompt
    else goto slhup                 ; hang up and start again if 10 failures
    
    :sluid
    ;
    ; put your userid here:
    ;
    output ppp-login\13
    input 1 {Password: }
    ;
    ; put your password here:
    ;
    output ppp-password\13
    input 1 {Entering SLIP mode.}
    echo
    quit
    
    :slnodial
    echo \7No dialtone.  Check the telephone line!\7
    exit 1
    
    ; local variables:
    ; mode: csh
    ; comment-start: "; "
    ; comment-start-skip: "; "
    ; end:

4.2.3. Seting SLIP Client 
Pada bagian ini adalah cara untuk melakukan seting sebuah mesin FreeBSD untuk SLIP pada jaringan host statik. Untuk hostname yang dinamik, Anda mungkin harus melakukan beberapa hal yang lebih menarik.
Pertama definisikan port serial yang mana yang terhubung. Ada simbolik link ke /dev/cuaa1, dan hanya menggunakan nama modem tersebut pada file konfigurasi ini. Akan menjadi agak tidak nyaman saat Anda harus membenarkan pada sekumpulan file-file /etc dan .kermit pada sejua sistem.
Catatan : /dev/cuaa0 adalah COM1, cuaa1 adalah COM2, dst.
Pastikan Anda memiliki :
	Pseudo-device	sl	1
pada file konfig kernel Anda. Ini telah tercakup dalam kernel GENERIC, jadi ini tidak akan menjadi masalah kecuali Anda menghapusnya.

4.2.3.1. Yang harus Anda lakukan
1.	Pada file /etc/host/ Anda, tambahkan home mesin, gateway dan nameserver Anda. Dan akan terlihat seperti ini :
127.0.0.      	localhost loghost
136.152.64.181     	silvia.HIP.Berkeley.EDU silvia.HIP silvia
136.152.64.1   	inr-3.Berkeley.EDU inr-3 slip-gateway
128.32.136.9   	ns1.Berkeley.edu ns1
128.32.136.12 	ns2.Berkeley.edu ns2

2.	Pastikan Anda memiliki host sebelum bind dalam /etc/host.conf Anda. Kalau tidak, akan terjadi hal-hal yang lucu.
3.	Edit file /etc/rc.conf. Dan malah Anda harus mengedit file /etc/sysconfig	jika Anda menjalankan FreeBSD versi sebelum 2.2.2.
a.	Set hostname Anda dengan mengedit baris yang tertulis :
hostname=myname.my.domain
Anda harus memasukkan hostname Internet Anda.
b.	Tambahkan s10 ke daftar interface jaringan dengan mengubah baris yang tertulis :
network_interfaces="lo0"
menjadi  :
			network_interfaces="lo0 sl0"

c.	Set flag-flag startup pada s10 dengan menambahkan sebuah baris :
ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"

d.	Atur default router dengan merubah baris :
defaultrouter=NO
menjadi :
defaultrouter=slip-gateway

4.	Buat sebuah file /etc/resolv.conf yang mengandung :
    domain HIP.Berkeley.EDU
    nameserver 128.32.136.9
    nameserver 128.32.136.12

Seperti yang dapat Anda lihat, hal ini men-seting hosts nameserver. Dan sudah barang tentu nama-nama domain dan alamat-alamat aktual tergantung pada jaringan Anda sendiri.
5.	Set password untuk root dan toor (dan beberapa account yang lain yang tidak memiliki password). Gunakan passwd unutk mengedit file-file /etc/passwd/ atau /etc/master !
6.	 Boot ulang mesin Anda dan pastikan ia memberikan hostname yang benar tersebut.

4.2.3.2. Membuat koneksi SLIP
1.	Lakukan dial up, ketik  slip pada prompt, masukkan nama dan password mesin Anda. Apa yang harus Anda lakukan tergantung pada jaringan sekitar Anda. Pada contoh ini menggunakan kermit dengan script seperti ini :
# kermit setup
    set modem hayes
    set line /dev/modem
    set speed 115200
    set parity none
    set flow rts/cts
    set terminal bytesize 8
    set file type binary
    # The next macro will dial up and login
    define slip dial 643-9600, input 10 =>, if failure stop, -
    output slip\x0d, input 10 Username:, if failure stop, -
    output silvia\x0d, input 10 Password:, if failure stop, -
    output ***\x0d, echo \x0aCONNECTED\x0a

(dan sudah pasti, Anda harus mengganti hostname dan password tersebut dengan yang Anda punya). Kemudian Anda tinggal ketikkan slip dari prompt kermit agar terhubung.
Catatan : Meninggalkan password Anda pada lembaran teks sembarangan pada sistem file merupakan tindakan yang buruk. 
2.	Keluarkan kermit tersebut dari sana (Anda dapat menghentikannya sementara dengan tombol z) dan sebagai root ketikkan :
# slattach -h -c -s 115200 /dev/modem
Jika Anda dapat melakukan ping host pada bagian lain di router, Anda telah terhubung! Jika tidak berfungsi, Anda mungkin harus mencoba mengganti –c menjadi –a sebagai argument pada slattach.

4.2.3.3. Bagaimana memutuskan hubungan
Ketikkan :

	# kill -INT `cat /var/run/slattach.modem.pid`

(sebagai root) untuk melakukan kill slattach. Kemudian kembali lagi ke kermit (gunakan fg bila Anda tadi menghentikannya sementara) dan keluar (q).
Halaman utama slattach memberitahukan Anda harus menggunakan ifconfig s10 down untuk memutuskan interface down, tetapi ini tidak akan membuat beda dengan ayng ada disini.  (ifconfig s10  melaporkan sama saja).
Kadang-kala, modem Anda bisa menolak untuk drop carrier. Dalam kasus ini, start kermit dan keluar lagi. Masalah tadi biasanya akan hilang setelah dicoba dua kali. 

4.2.4. Seting SLIP Server
Petunjuk ini aslinya dibuat untuk layanan-layanan SLIP server pada sistem FreeBSD 1.X. Dan etunjuk ini telah dimodifikasi untuk menghasilkan perubahan pada pathname dan menghapus flag-flag kompresi pada interface SLIP di versi-versi sebelum FreeBSD 2.X, yang muncul menjadi satu-satunya perubahan besar diantara versi-versi FreeBSD. 

4.2.4.1. Selayang pandang
Pada konfigurasi khususnya, menggunakan FreeBSD sebagai sebuah SLIP server bekerja seperti berikut ini : sebuah SLIP server dial-up sistem SLIP server FreeBSD Anda dan loging dengan ID login SLIP khusus yang menggunakan /usr/sbin/sliplogin sebagai shell special user. Program sliplogin tersebut mencari file /etc/sliphome/slip.hosts untuk menemukan baris yang tepat untuk special user tersebut, dan jika cocok, menghubungkan line serial tersebut ke interface SLIP yang tersedia dan kemudian menjalankan script shell /etc/sliphome/slip.login tersebut untuk mengkonfigurasikan interface SLIP-nya.
•	Contoh login sebuah SLIP server
Sebagai contoh, jika SLIP ID user adalah Shelmerg, entri Shelmerg dalam /etc/master.passwd akan terlihat seperti ini (semuanya harus dalam satu baris) :
Shelmerg:password:1964:89::0:0:Guy	Helmer SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
Saat Shelmerg logs in, sliplogin akan mencari /etc/sliphome/slip.host sebuah baris yang mempunyai ID user yang tepat, sebagai contoh mungkin sebuah baris dalam /etc/sliphome/slip.host akan terbaca :
Shelmerg        dc-slip sl-helmer       0xfffffc00       autocomp
Sliplogin akan menemukan baris yang cocok, mengaitkan line serial ke dalam interface SLIP yang tersedia selanjutnya, dan kemudian mengeksekusi /etc/sliphome/slip.login seperti ini :
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
Jika berjalan dengan mulus, /etc/sliphome/slip.login akan membuat ifconfig untuk interface SLIP tersebut dimana sliplogin dilampirkan padanya (interface slip 0, pada contoh diatas, yang merupakan parameter pertama dalam daftar yang diberikan ke sliplogin) untuk set IP address lokal (dc-slip), IP address remote (sl-helmer), mask jaringan untuk interface SLIP (0xfffffc00) , dan beberapa flag-flag tambahan (outocomp). Jika ada yang tidak beres, biasanya sliplogin memberikan pesan-pesan informasi melalui fasilitas syslog daemon, yang biasanya ada dalam /var/log/messages (lihat juga manual untuk syslogd(8), dan syslog.conf(5), dan mungkin cek pada /etc/syslog.conf untuk melihat file-file ssylogd yang mana yang sedang login). 

4.2.4.2. Konfigurasi kernel
Kernel-kernel default dari FreeBSD biasanya menjadi dua interface SLIP yang didefinisikan (s10 dan s11); Anda dapat menggunakan netstat –i untuk melihat apakah interfaces ini telah didefinisikan dalan kernel Anda.
Contoh output dari netstat –i :

Name  Mtu 	Network	Address   	Ipkts 	Ierrs	Opkts	Oerrs	Coll
ed0	1500	<Link>0.0.c0.2c.5f.4a	291311	0   	174209	0   	133
ed0   1500  138.247.224 ivory          	291311 	0   	174209	0   	133
lo0  	65535 <Link>                     	    79  	0       79 	0     0
lo0   65535 loop        localhost           79    0       79 	0     0
sl0*  296   <Link>                           0    0       0  	0     0
sl1*  296   <Link>                           0   	0   		0  0  	0

Interface s1o dan s11 menunjukkan dalam output netstat –I mengindikasikan bahwa ada dua interface SLIP dibangun dalam kernel tersebut. (Tanda bintang setelah s10 dan s11 mengindikasikan interface tersebut “down”).
Bagaimanapun, kernel default FreeBSD tidak dikonfigurasikan untuk menghantarkan paket-paket (sebagai contoh, mesin FreeBSD Anda tidak akan bertindak sebagai router) terhadap kebutuhan RFC internet untuk host-host internet, jadi jika Anda ingin SLIP server FreeBSD Anda bertindak sebagai router, Anda harus mengedit file /etc/rc.conf  (yang dinamai /etc/sysconfig pada FreeBSD sebelum relese 2.2.2) dan merubah seting pada variabel gateway menjadi YES. Jika Anda memiliki sebuah sistem yang lebih tua yang mendahului even file /etc/sysconfig tersebut, maka tambahkan perintah berikut ini :
sysctl -w net.inet.ip.forwarding = 1

ke dalam file /etc/rc.local
Anda kemudian harus melakukan booting ulang untuk memberikan efek pada setiung yang baru itu.
Anda akan memperhatikan di akhir dari file default konfigurasi kernel (/sys/i386/conf/GENERIC) ada baris yang terbaca :
	pseudo-device sl 2

Ini adalah baris yang mendefinisikan jumlah device SLIP yang tersedia dalam kernel; andka pada akhir baris adalah jumlah maksimum koneksi SLIP yang dapat beroperasi secara bersamaan.

4.2.4.3. Analisa Routing 
Jika Anda tidak menggunakan metode “proxy ARP”  untuk routing paket-paket diantara SLIP client-client Anda dan ujungnya dari jaringan Anda (dan mungkin Internet-nya), Anda mungkin juga harus menambahkan route statik ke default route terdekat Anda untuk me-route-kan subnet client SLIP Anda melalui server SLIP Anda, atau Anda harus menginstal dan konfigurasi gated pada server SLIP FreeBSD Anda maka ia akan memeritahu router-router Anda melalui protokol-protokol routing yang sesuai tentang subnet SLIP Anda.
•	Static routes
Menambahkan routes statik ke default routers terdekat Anda dapat menyusahkan (atau tidak mungkin, jika Anda tidak punya wewenga untuk melakukannya….). Jika Anda memiliki banyak jaringan router dalam organisasi Anda, beberapa router seperti Cisco dan Proteon, tidak hanya membutuhkan dikonfigurasi dengan route statik ke subnet SLIP tersebut, tapi juga harus diberitahukan routes statik yang mana saja yang lainya, jadi dibutuhkan keahlian dan kemampuan memecahkan masalah diperlukan untuk membuat base route statik berfungsi.
•	Menjalankan gated
Sebagai alternatif dalam menangani kebuntuan pada routes statik dengan menginstal gated dalam server SLIP FreeBSD Anda dan mengkonfigurasikannya untuk protokol-protokol routing yang sesuai (RIP/OSPF/BGP/EGP) untuk memberitahukan router-router yang lain tentang subnet SLIP Anda. Anda dapat menggunakan gated dari koleksi port-port atau mengambil dan membangunnya sendiri dari site anonymous ftp GateD. Kompilasi dan  instal, dan kemudian buat sebuah file /etc/gated.config untuk konfigurasi gated Anda; dibawah ini diberikan sebuah contohnya :
#
    # gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
    # Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
    #
    #
    # tracing options
    #
    traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
    
    rip yes {
      interface sl noripout noripin ;
      interface ed ripin ripout version 1 ;
      traceoptions route ;
    } ;
    
    #
    # Turn on a bunch of tracing info for the interface to the kernel:
    kernel {
      traceoptions remnants request routes info interface ;
    } ;
    
    #
    # Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
    #
    
    export proto rip interface ed {
      proto direct {
          xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
      } ;
    } ;
    
    #
    # Accept routes from RIP via ed Ethernet interfaces
              
    import proto rip interface ed {
      all ;
    } ;

Contoh file gated.config diatas melakukan broadcast informasi routing berkaitan dengan subnet SLIP xxx.xxx.yy lewat RIP ke Ethernet; jika Anda menggunakan sebuah driver Ethernet yang berbeda dengan driver ed-nya, Anda harus merubah referensi tersebut ke interface ed dengan sesuai. File contoh ini juga menset pencarian (tracing)ke /var/tmp/gated.output untuk debugging aktifitas gated; Anda dapat dengan yakin mematikan fungsi tracing jika gated berfungsi dengan baik pada Anda. Anda harus merubah xxx.xxx.yy tersebut ke dalam alamat jaringan dari subnet SLIP Anda (pastikan untuk merubah net mask-nya ke dalam kalimat proto direct).
Jika Anda memiliki gated telah terbangun dan diinstalasi dan membuat file konfigurasi untuknya, Anda harus menjalankan gated  di tempat routed dalam sistem FreeBSD Anda; rubah parameter-parameter routed/gated di /etc/netstart yang sesuai dengan sistem Anda. Lihatlah halaman manualnya gated untuk informasi parameter-paramater baris perintah untuk gated  tersebut.

4.3. Gateway dan Route
Agar sebuah mesin mampu menemukan mesin yang lain, harus ada mekanisme yang menjelaskan bagaimana mendapatkan dari yang satu ke yang lainnya. Inilah yang dinamakan Routing. Sebuah “route”  didefinisikan pasangan alamat: sebuah “destination” dan sebuah “gateway”. Pasangan tersebut menunjukkan saat Anda mencoba untuk meraih destination ini, mengirim melalui gateway ini. Ada tiga tipe dari detination: individual host, subnet, dan “default”. Route default ini digunakan jika tidak ada satupun yang digunakan. Kita akan akan bercerita sedikit tentang default routers nanti. Juga ada tiga tipe gateways: individual host, interface (juga disebut “link”), dan alamat-alamat hardware ethernet.

4.3.1. Contoh 
Untuk mengilustrasikan aspek-aspek perbedaan pada routing, kita akan menggunakan contoh berikut yang merupakan output dari perintah netstat –r :
Destination    	Gateway	Flags   	Refs 	Use 	Netif Expire
    
default          outside-gw         UGSc       37 	418  	ppp0
localhost        localhost          UH          0     181  	lo0
test0            0:e0:b5:36:cf:4f   UHLW        5    63288	ed0     77
10.20.30.255     link#1             UHLW        1     2421 
foobar.com       link#1             UC          0       0 
host1            0:e0:a8:37:8:1e    UHLW        3     4601 	lo0
host2            0:e0:a8:37:8:1e    UHLW        0       5  	lo0 =>
host2.foobar.com link#1             UC          0       0
224              link#1             UC          0       0

Dua baris pertama menunjukkan route default dan route localhost-nya.
Interface-nya (kolom Netif) yang menunjukkan untuk menggunakan localhost adalah 1o0, juga dikenal dengan sebagai device loopback. Hal ini juga memberitahu agar semua trafik internal untuk destination ini, dibandingkan dengan mengirimkannya melalui LAN, dimana ia hanya end back up sat ia dimulai.
Hal lain yang keluar adalah 0:e0:…alamat-alamat. Ini adalah alamat-alamat hardware ethernet. FreeBSD akan secara otomatis menidentifikasikan beberapa host (contohnya test0) pada ethernet lokal dan menambahkan menambahkan sebuah route untuk host itu, secara langsung melalui interface ethernet, ed0. Ada juga timeout (kolom Expire) yang berhubungan dengan tipe route ini. Host-host ini diidentifikasinakan menggunakan sebuah mekanisme yang dekenal sebagai RIP (Routing Information Protocol), yang menggambarkan routes ke hosts lokal dengan berbasis pada penentuan jalur terpendek.
FreeBSD juga akan menambahkan routes subnet untuk subnet lokal (10.20.30.255 adalah alamat broadcast untuk subnet 10.20.3. tersebut dan foobar.com  adalah nama domain yang ditujukkan oleh subnet tersebut. Penunjukkan pada link#1 mengacu pada card ethernet yang pertama di mesin tersebut. Anda akan melihat tidak ada interface tambahan yang dikhusukan untuk itu semua tadi.
Kedua group ini (jaringan host lokal dan subnets lokal) memiliki routes-nya secara otomatis dikonfigurasikan oleh sebuah demon yang dinamakan routed. Jika ia tidak berjalan, maka hanya routes yang didefinisikan scara statik yang akan ada.
Baris host1 itu mengacu pada host kita, yang dikenal dengan alamat ethernet. Saat kita merupakan host yang mengirim, FreeBSD mengetahui untuk menggunakan interface loopback (lo0) daripada mengirimnya keluar dari interface ethernet.
Kedua baris host2 adalah sebuah contoh apa yang terjadi bila kita menggunakan sebuah alias ifconfig. Simbol => setelah interface lo0 menyatakan bukan hanya kita yang menggunakan loopbask tersebut ( sejak address ini juga mengacu ke lokal host tersebut), tetapi secara spesifik ia merupakan sebuah alias. Begitu routes hanya menunjukkan host itu mendukung alias tersebut; semua host yang lain di jaringan lokal tersebut akan mudah memiliki baris link#1 yang demikian.
Baris akhirnya (destination subnet 224) berurusan dengan Multicasting, yang akan dicakup dalam bagian yang lain.
Kolom yang lain yang harus bidarakan adalah Flags. Setiap route memiliki atribut yang dijabarkan dalam kolom tersebut.

4.4. Electronic mail
Konfigurasi Electronic Mail adalah subjek pada banyak buku-buku System Administrasi. Jika Anda merencanakan melakukan sesuatu tentang seting lebihh dari satu mailhost pada jaringan Anda, Anda membutuhkan bantuan yang cukup.
Beberapa bagian dari konfigurasi E-Mail dikendalikan dalam Domain Name System (DNS). Jika Anda akan menjalankan server DNS Anda sendiri, coba cek /etc/namedb dan man –k untuk infomasi yang lebih lengkap.
4.4.1. Informasi Dasar
Dibawah ini adalah program utama yang terlibat dalam pertukaran E-Mail. Sebuah “mailhost” adalah sebuah server yang bertanggung-jawab untuk menghantarkan dan menerima semua email untuk host Anda, dan mungkin jaringan Anda.

4.4.2. Program user
Ini merupakan sebuah program seperti elm, pine, mail, atau sesuatu yang lebih bagus seperi browser WWW. Program ini akan secara sederhana menanganai semua transaksi e-mail ke mailhost lokal tersebut, juga dengan memanggil sendmail atau mengirimkannya lewat TCP.

4.4.3. Daemon server mailhost
Biasanya program ini merupakan sendmail atau smail yang berjalan pada background. Rubah ia menjadi off atau ganti options baris perintahnya di /etc/rc.conf (atau pada Freebsd 2.2.2 sebelumnya, /etc/sysconfig). Lebih baik membiarkannya on, kecuali Anda memiliki alasan khusu untuk membuatnya off. Contohnya Anda membangun sebuah Firewall.
Anda harus waspada karena sendmail adalah link yang lemah dalam sebuah site yang tertutup. Beberapa versi dari sendmail telah diketahui memiliki masalah-masalah keamanan. sendmail melakukan dua job. Ia mengawasi pengiriman dan penerimaan data.
Jika sendmail akan mengirim mail dari site Anda ia akan mengacu pada DNS untuk menentukan host yang aktual yang akan menerima mail sebagai tujuan.
Jika ia selaku agen pengiriman, sendmail akan mengambil pesan dari antrian lokal dan mengirimkannya melalui Internet ke sendmail yang lain pada komputer penerima.

4.4.4. DNS –Name service
Domain name system dan daemon-nya dinamakan, mengandung database yang memetakan hostname menjadi IP address, dan hostname menjadi mailhost. IP address tersebut ditetapkan dalam sebuah record. MX record menentukan mailhost tersebut yang akan menerima mail untuk Anda. Jika Anda tidak memiliki sebuah MX record mail pada hostname, mail terseut akan dikirim langsung ke host Anda.
Kecuali jika Anda menjalankan server DNS Anda sendiri, Anda tidak akan bisa merubah informasi dalam DNS Anda sendiri. Jika Anda menggunakan ISP, sampaikan kepada mereka.

4.4.5. Server-server POP
Program ini mengambil mail dari mailbox Anda dan memberikannya ke browser Anda. Jika Anda ingin menjalankan server POP pada komputer Anda, Anda akan memerlukan dua hal :
1.	Ambil software pop dari kumpulan port yang dapat ditemukan pada /usr/ports atau kumpulan paket-paket.
2.	Modifikasi /etc/inetd.conf untuk load server POP tersebut.
Pada program pop tersebut akan terdapat instruksi-instruksi. Silahkan baca.

4.4.2. Konfigurasi
4.4.2.1. Pendahuluan
Pada saat sistem FreeBSD Anda menjadi “out of the box” [TM], Anda harus bisa mengirim email ke host-host luar selama Anda memiliki setup /etc/resolv.conf menjalankan sebuah name server, Jika Anda ingin memiliki surat untuk host Anda dikirimkan ke host Anda yang khusus, ada dua metode :
•	Jalankan name server (man –k named) dan buat domaijn Anda sendiri smallminingco.com
•	Buat mail dikirimkan ke nama DNS yang ada untuk host Anda. Contoh : dorm6.ahouse.school..edu
Tidak masalah pilihan apa yang Anda pilih, unutk mendapatkan surat  yang langsung dikirimkan ke host Anda, Anda harus berupa host yang full internet. Anda harus memiliki IP address yang permanen, bukan PPP dinamik. Jika Anda berada di belakang firewall, firewall tersebut harus melewatkan traffik smtp untuk Anda. Dari /etc/service :
	smtp 	25/tcp mail	#Simple Mial Transfer
Jika Anda ingin menerima mail pada host Anda sendiri, Anda harus memastikan bahwa entri DNS MX menunjuk ke alamat host Anda, atau disana tidaka ada entri MX untuk DNS name Anda.
Coba seperti ini :
# hostname
newbsdbox.freebsd.org
# host newbsdbox.freebsd.org
newbsdbox.freebsd.org has address 204.216.27.xx

Jika semua itu muncul pada mesin Anda, kirimkan surat ke roo@newbsdbox.freebsd.org tidak akan menimbulkan masalah lagi.

Jika malahan Anda mendapatkan ini :
# host newbsdbox.freebsd.org
newbsdbox.FREEBSD.org has address 204.216.27.xx
newbsdbox.FREEBSD.org mail is handled (pri=10) by freefall.FREEBSD.org

Semua mail yang langsung dikirimkan ke host Anda akan berakhir di freefall, dengan username yang sama.
Informasi ini disetup dalam domain name server Anda. Ini akan menjadi host yang sama yang terdaftar sebagai name server primer Anda di /etc/resolv.conf
Record DNS yang membawa informasi routing mail tersebut adalah entri Mail eXchange. Jika entri MX tidak ada, mail akan langsung dikirimkan ke host tersebut dengan melalui record addressnya.

Entri MX unutk freefall.freebsd.org pada satu saat,
	freefall	MX	30	mail.crl.net
	freefall	MX	40	agora.rdrop.com
	freefall	HINFO	PENTIUM	FreeBSD
	freefall	MX	10	who.cdrom.com
	freefall	A	204.216.27.xx
	freefall	CNAME	www.FreeBSD.org

freefall memiliki benyak entri. Nomer MX yang terkecil mengambil mail tersebut pad ujungnya. Yang lainnya akan mengantrikan mail sementara waktu, jika freefall sedang sibuk atau down.
Untuk hasil yang maksimal bagian MX yang lain harus memiliki hubungan yang terpisah ke internet. Sebuah internet provider atau site yang sejenisnya dapat menyediakan layanan ini.

4.4.2.2. Mail untuk Domain (Network) Anda
Untuk setup sebuah jaringan mailhost, Anda harus mengatur mail tersebut saat tiba pada semua workstation. Dengan kata lain, Anda ingin membajak semua mail untuk *.smallminingco.com dan mengalihkannya ke satu mesin, mailhost Anda.
Pengguna-pengguna jaringan tersebut pada workstation mereka akan lebih suka mengambil mail mereka melalui POP atau telnet.
Sebuah account user dengan username yang sama harus berada pada kedua mesin. Silahkan gunakan adduser untuk melakukan seperti yang dibutuhkan. Jika Anda mengatur shell tersebut ke /nonexistent user tersebut tidak akan diijinkan untuk login.
Mailhost tersebut yang akan Anda gunakan harus didisain Mail aXchange-nya untuk setiap workstation. Ini harus diatur dalam DNS (contoh BIND, dinamai). Silahkan mengacu kepada sebuah buku jaringan untuk informasi yang lebih dalam.
Dasarnya Anda harus menambahkan baris-baris ini dalam server DNS Anda,
Pc24.smallmining.com A xxx.xxx.xxx.xxx 	; ip workstation
MX   10   smtp.smalmining.com	; mailhost Anda

Anda tidak dapat melakukan hal ini sendiri kecuali Anda menjalankan sebuah server DNS. Jika Anda tidak ingin menjalankan sebuah server DNS, biarkan orang lain seperti Internet Provider yang melakukannya.
Hal ini akan mengalihkan mail untuk workstation tersebut ke host Mail eXchange. Tidak masalah mesin apa yang ditunjukkan sebuah record-nya, mail tersebut akan dikirimkan ke host MX.
Fitur ini digunakan untuk mengimplementasikan Hosting Virtual E-Mail.
Contoh :

Saya mempunyai seorang pelanggan dengan domain foo.bar dan ingin semua mail untuk foo.bar dikirimkan ke mesin saya smtp.smalliap.com. Anda harus membuat sebuah entri dalam server DNS Anda seperti ini :
foo.bar	MX	10	smtp.smalliap.com	; mailhost Anda

Sebuah record tersebut tidak dibutuhkan jika Anda hanya ingin E-Mail untuk domain tersebut. Jangan mengharapkan ping foo.bar berfungsi kecuali jika sebuah record address untuk foo.bar telah ada.
Saat mailhost yang sebenarnya menerima mail  pada pengiriman akhir ke sebuah mailbox, sendmail harus di beritahukan host-host yang mana saja yang akan diterima mail-nya.
Tambahkan pc24.smalminingco.com  ke /etc/sendmail.cw (jika Anda menggunakan fitur (use_cw_file) ), atau tambahkan sebuah baris Cw myhost.smalliap.com ke /etc/sendmail.cf
Jika Anda merencanakan melakukan sesuatu yang serius dengan source sendmail. Source tersebut memiliki banyak dokumen tentang itu. Anda akan menemukan informasi untuk mendapatkan source sendmail dari UUCP information-nya.

BAB  V
PENGOPERASIAN  UNIX

5.1.	Shell
Shell adalah penterjemah pada sistem UNIX. Perangkat lunak inilah yang menjadi jembatan antara dan sistem UNIX. Pemakai cukup memberikan perintah dan shell yang akan menanganinya. Perintah dapat berupa :
•	Perintah buil-in
•	Perintah yang merupakan bagian terminal dari shell.
•	Perintah eksternal. Yaitu perintah yang bukan berupa bagian internal dari shell (dapat berupa utilitas atau program aplikasi).
Ada beberapa jenis shell yang beredar saat ini. Tiga di antaranya yang sangat menonjol adalah :
•	Bourne shell,
•	C shell dan,
•	Korn shell.
Bourne shell adalah jenis shell yang tertua. Nama shell ini didasarkan atas nama penciptanya, Stephen R Bourne, dari Laboratorium Bell, AT&T. Shell diperkenalkan pertama kali pada akhir 70-an dan dipakai sebagai shell utama pada UNIX yang berkiblat pada AT&T. 
	C shell diciptakan oleh Bill Joy. Shell ini menjadi standar pada sistem UNIX versi Berkeley. Format perintahnya menyerupai bahasa C.
Korn shell adalah shell yang diciptakan oleh David Korn di Laboratorium Bell, AT&T pada tahun 1983. Namun shell ini baru dipublikasikan pada tahun 1986. Shell ini kompatibel dengan Bourne shell; artinya, perintah yang didukung Bourne shell juga dapat dijalankan pada Korn shell.

5.2.	Memulai dengan UNIX

5.2.1. Nama Pemakai dan Password
Sebelum seseorang dapat memakai sistem UNIX, ada dua hal yang perlu diketahui. Kedua hal tersebut adalah :
1.	Nama pemakai (user name), dan
2.	Kata sandi (password).
Jika Anda bermaksud menggunakan sistem UNIX dan anda belum memiliki kedua hal tersebut, Anda dapat memintanya kepada administrator sistem untuk menciptakan nama pemakai dan password Anda.
	Seperti diketahui, UNIX adalah sistem yang multiuser (melibatkan banyak pemakai dalam sebuah sistem). Untuk mengelola semua pemakai yang menggunakan sistem, setiap pemakai diberikan identitas berupa nama pemakai, sehingga dalam operasinya seseorang yang sedang menggunakan sistem dengan mudah dapat diketahui. Nama pemakai biasanya dibuat oleh administrator dengan usulan dari si pemakai tersebut yang merupakan nama kecil, nama keluarga atau bisa jadi yang tidak berkaitan dengan nama Anda. Misalnya nama Anda adalah Imaida Noor Hasibuan, maka nama pemakai Anda yang terdaftar pada sistem dapat berupa Ima, Imaida, Imaida-hsb atau bisa jadi NIM kalau Anda adalah mahasiswa.
	Password adalah kata sandi yang harus diketikkan setelah Anda memberitahukan nama pemakai Anda kepada sistem. Sesuai dengan namanya, kode-kode yang diketikkan selama sistem meminta password Stidak tampak pada layar. Hal ini diterapkan pada sistem yang multiuser, untuk mencegah orang lain yang tidak berhak bisa masuk ke sistem melalui kata sandi dan nama pemakai Anda.
Catatan :
•	Salah satu nama pemakai yang selalu tercantum dalam sistem UNIX adalah root. Root adalah nama pemakai dari superuser, yaitu orang yang mempunyai wewenang tertinngi dalam sistem. Dia berhak melakukan hal-hal yang tidak dapat dilakukan oleh pemakai biasa.
•	Administrator sistemlah yang biasanya berkedudukan sebagai superuser.

5.2.2. Masuk ke Sistem
	Seandainya Anda telah mengetahui nama pemakai dan password untuk Anda , maka Anda siap untuk masuk ke dalam sistem UNIX yang ada tersebut. Anda dapat masuk ke dalam sistem UNIX dari terminal mana saja yang terhubung ke sistem tersebut. Kalau Anda bermaksud untuk mengakses sistem UNIX melalui PC yang berbasis Windows yang terhubung ke jaringan LAN ataupun Internet (remote access), maka Anda dapat menjalankan program telnet yang ada di PC Anda. Anda akan terhubung setelah Anda dengan benar mengetikkan nama mesin tujuan yang berbasis sistem UNIX tersebut. 
	Proses untuk masuk ke sistem UNIX biasa disebut login (logging in) atau sign-on. Proses ini diawali dengan tampilan prompt login semacam berikut :
	login : _
Pada keadaan seperti itu, Anda perlu mengetik nama pemakai Anda dan mengakhiri dengan menekan tombol <ENTER>.
	Pada sistem UNIX, huruf kecil dan huruf kapital dibedakan (case sensitive). Oleh karena itu jika Anda menggunakan huruf kecil pada nama pemakai Anda, maka ketik apa adanya. Karena dalam sistem UNIX, nama pemakai imaida dan Imaida mempunyai dua arti yang berbeda.
Contoh :
	login: ima<ENTER>
Berikut sistem UNIX akan menanyakan password Anda.
	login: ima
	Password: Madya
Pada saat Anda mengetikkan password, semua kode yang diketikkan tidak akan tampak pada layar. Bila Anda mengetikkan dengan benar maka biasanya Anda akan disuguhkan dengan menu selamat datang dan prompt shell. Dan bila sebaliknya Anda salah mengetikkan nama pemakai atau kata sandi Anda, maka sistem akan menampilkan pesan : login incorrect.
Selanjutnya Anda diminta untuk mengulang kembali memasukkan nama pemakai dan kata sandi Anda.

5.2.3. Prompt Shell
	Pada saatnya sistem UNIX akan menampilkan tanda semacam berikut :
$ _
Istilah untuk tanda tersebut adalah :
•	$ disebut prompt shell
•	_ disebut kursor
Bentuk kursor normal berupa karakter _ dalam keadaan berkedip. Namun bisa saja berupa karakter blok (kotak) dan tidak berkedip. Namun simbol prompt diatas dapat diganti oleh simbol lain atau bahkan tulisan lain. Sebab sesungguhnya prompt shell juga dapat diubah oleh pemakai itu sendiri.
	Munculnya prompt menandakan bahwa shell siap menerima perintah dari Anda. Seperti diketahui, shell adalah penterjemahan perintah. Segala sesuatu yang diketikkan oleh pemakai yang diakhiri dengan <ENTER> segera diproses oleh shell. Sesudah selesai dikerjakan, shell menunggu perintah berikutnya (pemakai inilah yang disebut pemakai interaktif). Sebagai contoh :
	$ date
	Sun May 21 20:54:13 GMT+7 2000
	$ _
Pada contoh di atas, date diketikkan dengan diakhiri <ENTER>. Begitu <ENTER> ditekan, perintah date tersebut dieksekusi. Hasilnya berupa informasi tanggal dan jam sistem pada terminal. Kemudian akan terlihat shell menampilkan prompt kembali. Oleh shell ketikan dari pemakai yang diakhiri dengan <ENTER> disebut perintah. Sebuah perintah dapat berupa perintah internal (built-in, yaitu perintah yang disediakan oleh shell secara internal) atau berupa sesuatu program (utilitas, program aplikasi atau skrip shell –program shell -). Perintah yang bersifat built-in dapat dilihat pada bagian 5.6. buku ini.

5.2.4. Mengganti Password
	Password adalah rahasia Anda. Jika ada orang lain yang tahu password Anda, maka orang itu dapat mengakses segala sesuatu yang semestinya milik Anda pribadi. Bahkan bisa saja orang yang tidak berhak tersebut menghapus file-file Anda. Ini berbahaya sekali. Itulah sebabnya ada baiknya Anda mengganti password Anda secara periodik. Misalnya sebulan sekali.
	Perintah yang digunakan untuk mengganti Password adalah passwd. Umumnya perintah passwd akan memberikan tanggapan sebagai berikut.
	$ passwd <ENTER>
Begitu tombol <ENTER> ditekan, maka program passwd akan menampilkan keterangan sebagai berikut :
	Setting password for user: nama_pemakai
	Old password: _
Program meminta pemakai mengetikkan passwd. Setelah passwd diberikan dan benar program akan menanyakan password pengganti. Terakhir kali passwd akan meminta pemakai untuk mengulangi password pengganti yang baru saja diberikan.
	Retype new password:
Konfirmasi seperti ini sangat penting. Dengan menanyakan password dua kali, akan menjamin bahwa kemungkinan pemakai lupa terhadap password yang baru saja diberikan sangatlah kecil. Perubahan password tersebut akan mulai efektif saat Anda akan melakukan login kembali. 
	Password yang baik yaitu :
•	menggunakan kombinasi huruf kecil dan kapital
•	mengandung angka atau karakter pungtuasi (seperti !)
•	panjang sekitar 6 hingga 8 karakter
•	mudah untuk mengetiknya
•	bukan nama atau panggilan Anda
•	bukan nama orang tua, pacar, saudara, atau orang dekat Anda
•	bukan sesuatu yang mudah ditebak seperti nama kota atau  jenis musik yang Anda sukai
Dan sesuatu yang harus diingat pad password adalah tidak ada yang mengetahui password pemakai selain pemakai itu sendiri. Maka bila Anda lupa password Anda, tidak ada jalan lain selain meminta kepada administrator sistem untuk menghapus password Anda yang terlupa itu dan membuat yang baru.

5.2.5. Mengubah Prompt
	Default prompt shell berupa $ (Bourne shell dan Korn shell), % (C shell) dan # (untuk superuser). Apabila Anda menghendaki, prompt shell tersebut dapat dirubah. Pada Bourne dan Korn shell Anda dapat memberikan perintah berbentuk :
	PS1=”string”
Pada C shell berupa :
	Set prompt = “string”
Sebagai contoh :
	$ PS1=”: )”
	: ) _
Tampak prompt shell tidak lagi $, tapi berupa : ). Untuk mengembalikan ke default-nya :
	: ) PS1=”$”
	$ _
	Namun perubahan prompt tadi hanya bersifat sementara saja. Jika Anda keluar dari sistem UNIX dan kemudian melakukan login kembali. Prompt semula (default) yang akan digunakan. Untuk membuat perubahan yang menetap, Anda perlu menuliskan :
•	PS1=”: )” pada file .profile untuk Bourne shell dan Korn shell
•	Set prompt = “: )” pada file .login pada C shell

5.2.6. Keluar dari Sistem
	Apabila Anda bermaksud meninggalkan terminal, entah karena pekerjaan sudah selesai atau Anda bermaksud ke kamar kecil, Anda sebaiknya keluar dari sistem agar tidak ada orang yang iseng mengakses sistem dengan memakai nama pemakai Anda. Selain itu, waktu pemakaian sistem yang tercatat pada sistem akan terus bertambah kalau Anda tidak keluar dari sistem, walaupun Anda tidak menggunakannya.
	Proses untuk keluar dari sistem UNIX biasa disebut logout (logging out). Perintah untuk logout berupa :
•	Untuk Bourne / Korn shell :
o	exit
o	<Ctrl-D>
•	Untuk C shell :
o	logout
o	<Ctrl-D>

5.3.	System Resources & Pencetakan

5.3.1.	System Resources
Perintah-perintah untuk laporan atau manajemen  sumber daya sistem.
Tabel Peritah-perintah sumber daya sistem
Perintah / Syntax	Keterangan	
chsh (passwd –e/-s) nama_pemakai	Mengganti login shell pemakai (oleh superuser)	
Date [option]	Melaporkan tanggal dan jam sekarang	
df [option] [resource]	Melaporkan ringkasan blok-blok disk yang terpakai dan yang tidak	
du [option] [directory or file]	Melaporkan sejumlah ukuran disk yang terpakai	
hostname/uname	Menampilkan atau set (hanya superuser) nama dari mesinnya saat itu	
kill [option] [-SIGNAL] [pid#] [%job]		
Man [option] command	Menampilkan halaman manual dari sebuah perintah	
paswwd [option]	Set atau mengganti password Anda	
ps [option]	Menampilkan satus dari device yang aktif	
script file	Menyimpan semuanya yang muncul di layar ke file sampai dieksekusi exit	
Stty [option]	Set atau menampilkan pilihan terminal kontrol	
whereis [option] command	Melaporkan binary, source dan lokasi halaman manual untuk perintah tersebut	
which command	Melaporkan path terhadap perintah atau alias dari shell yang sedang digunakan	
who atau w	Melaporkan siapa yang sedang login dan proses yang sedang dijalankannya	

5.3.1.1.	 df – ringkasan block disk dan pemakaian file
df digunakan untuk melaporkan jumlah dari blok-blok disk dan ukuran yang digunakan dan yang masih bebas untuk setiap sistem file. Format outputnya dan pilihannya sangat spesifik terhadap sistem operasi dan versi program yang sedang digunakan.

Syntax
	df [option] [resource]

Pilihan perintah
	-l	hanya sistem file lokal (SVR4)
	-k	melaporkan dalam kilobyte (SVR4)
Contoh 
[mamba@plc ~]> df
Filesystem           1k-blocks      Used    Available Use% Mounted on
/dev/hda9               497829        51667     420460   11%   /
/dev/hda1                 15522           7517        7204    51%   /boot
/dev/hda5             3960944       916792   2842940    24%   /home
/dev/hda6              2016016    1534244     379360    80%   /usr
/dev/hda7              1011928       206776    753748     22%  /var
5.3.1.2.	 du – laporan ukuran disk yang terpakai
du melaporkan jumlah dari ukuran disk yang digunakan untuk file-file atau direktori yang Anda tujukan.

Syntax
	du [option] [directory atau file]

Pilihan perintah 
	-a	menampilkan penggunaan disk untuk setiap file, bukan hanya subdirektori
	-s	hanya menampilkan total rangkuman
	-k	melaporkan dalam kilobyte (SVR4)
Contoh 
[mamba@plc ~]> du
4       ./.kde/share/applnk
4       ./.kde/share/apps/kdehelp
4       ./.kde/share/apps/kdisknav
4       ./.kde/share/apps/kfm/bookmarks
4       ./.kde/share/apps/kfm/tmp
12      ./.kde/share/apps/kfm
4       ./.kde/share/apps/kpanel/applnk
8       ./.kde/share/apps/kpanel
32      ./.kde/share/apps
24      ./.kde/share/config
4       ./.kde/share/icons/mini
8       ./.kde/share/icons
4       ./.kde/share/mimelnk
76      ./.kde/share
80      ./.kde
4       ./Desktop/Autostart
28      ./Desktop/Templates
4       ./Desktop/Trash
68      ./Desktop
420     ./mail
632     .    

5.3.1.3.	 ps – menampilkan status dari proses yang aktif
ps digunakan untuk melaporkan proses yang sedang berjalan pada sistem. Format output dan pilihannya sangat spesifik terhadap sistem operasi dan versi program yang digunakan.

Syntax
	BSD	SVR4
	-a	-e	semua proses, semua pemakai
	-e	           	sekitarnya / semuanya
	-g		leader dari group proses
	-l	-l	format panjang
	-u	-u user	laporan berorientasi ke pengguna
	-x	-e	proses-proses yang tidak dieksekusi dari terminal
		-f	full listing
	-w		melaporkan 132 karakter pertama setiap baris

Nb: Karena perintah ps adalah sistem berspesifikasi tiinggi, dianjurkan Anda untuk melihat halaman manual dari sistem Anda untuk ditail pada pilihan dan interpretasi dari output ps.

Contoh 
[mamba@plc ~]> ps -a
  PID TTY          TIME CMD
23369 pts/0    00:00:00 csh
23463 pts/1    00:00:00 csh
23526 pts/0    00:00:00 man
23528 pts/0    00:00:00 sh
23529 pts/0    00:00:00 gunzip
23530 pts/0    00:00:00 less
23532 pts/1    00:00:00 ps  

5.3.1.4.	 kill – menghentikan proses
kill mengirim sinyal untuk sebuah proses, biasanya untuk menghentikannya.

Syntax
	kill [-signal] process-id

Pilihan yang ada
	-l	menampilkan sinyal kill yang tersedia

Contoh
[mamba@plc ~]> kill -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
RTMIN RTMIN+1 RTMIN+2 RTMIN+3 RTMAX-3 RTMAX-2 RTMAX-1 RTMAX  

[mamba@plc ~]> kill -9 23526
	[1] + Killed	man

5.3.1.5.	 who – daftar user yang login
who melaporkan siapa yang sedang login pada saat itu.

Syntax
	who [am i]

Contoh
[mamba@plc ~]> who
  1:38am  up 1 day,  9:14,  3 users,  load average: 0.01, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
mamba    pts/0    kalman                  1:22am     0.00s    0.31s    0.02s    telnet
dix           pts/1    167.205.48.120    1:37am     43.00s   0.14s    0.05s    -csh
mamba    pts/2     plc                        1:38am      0.00s    0.15s    0.03s     w

[mamba@plc ~]> who am i
plc.ee.itb.ac.id!mamba    pts/0    May 24 01:22

5.3.1.6.	 whereis – laporan lokasi program
whereis melaporkan nama-nama file dari source, binary, dan file-file halaman manual yang berkaitan dengan perintah.

Syntax
	whereis [option] command(s)

Pilihan yang ada 
	-b	hanya melaporkan file-file binary
	-m	hanya melaporkan bagian manual
	-s	hanya melaporkan file-file source

Contoh
[mamba@plc ~]> whereis mail
mail: /bin/mail /usr/bin/mail.local /etc/mail.rc /etc/mail /usr/lib/mail.help /u
sr/lib/mail.tildehelp /usr/man/man1/mail.1.gz
[mamba@plc ~]> whereis -m mail
mail: /usr/man/man1/mail.1.gz
[mamba@plc ~]> whereis -b mail
mail: /bin/mail /usr/bin/mail.local /etc/mail.rc /etc/mail /usr/lib/mail.help /u
sr/lib/mail.tildehelp
5.3.1.7.	 which – laporan perintah yang ditemukan
which akan melaporkan nama dari file yang dieksekusi ketika perintah dijalankan. Ini akan menjadi full path namanya atau aliasnya yang ditemukan pertama pada path Anda.

Syntax
	which command(s)

Contoh
	[mamba@plc ~]> which mail
/bin/mail

5.3.1.8.	 hostname/uname – nama mesin
hostname (uname –n on SysV) melaporkan nama host dari mesin tempat user log
Contoh 
	[mamba@plc ~]> hostname
plc.ee.itb.ac.id
uname mempunyai pilihan tambahan untuk mencetak informasi tentang type sistem hardware dan versi software.

5.3.1.9.	 script – mencatat I/O layar Anda
script menghasilkan tulisan dari sesi tulisan input dan output Anda. Dengan menggunakan perintah script, Anda dapat menangkap semua transmisi data dari dan ke layar terminal Anda sampai Anda keluar dari program script. Ini dapat menjadi sangat berguna selama proses programming dan debuggin, untuk mendokumentasi kombinasi dari hal-hal yang pernah Anda coba, atau untuk mendapat salinan cetakan dari semua itu untuk bacaan kemudian nanti.

Syntax
	Script [-a] [file] <…> exit
Pilihan perintah
	-a	menambahkan outputnya ke file

typescript adalah nama dari file default yang digunakan oleh script.
Anda harus mengingat untuk mengetikkan exit ke akhir dari sesi dan menutup file typescript.

Contoh
	[mamba@plc ~]> script
Script started, file is typescript
%
%ps -a
  PID TTY          TIME CMD
23542 pts/0    00:00:00 csh
23693 pts/1    00:00:00 csh
23878 pts/0    00:00:00 script
23879 pts/0    00:00:00 script
23881 pts/2    00:00:00 ps
%
%date
Wed May 24 02:25:29 GMT+7 2000
%
%exit
exit
Script done, file is typescrip

[mamba@plc ~]> cat typescript
Script started on Wed May 24 02:25:20 2000
%
%ps -a
  PID TTY          TIME CMD
23542 pts/0    00:00:00 csh
23693 pts/1    00:00:00 csh
23878 pts/0    00:00:00 script
23879 pts/0    00:00:00 script
23881 pts/2    00:00:00 ps
%
%date
Wed May 24 02:25:29 GMT+7 2000
%
%exit
exit
Script done on Wed May 24 02:25:35 2000

5.3.1.10.	date – hari dan tanggal saat ini
date menampilkan data saat dan waktunya saat itu. Seorang superuser dapat mengatur data dan waktu tersebut.

Syntax
	date [option] [+format]

Pilihan perintah 
	-u	menggunakan waktu universal (GMT)
       +format	menentukan format output
	%a	singkatan hari kerja, Sun to Sat
	%h	singkatan bulan, Jan to Dec
	%j	hari dalam tahun, 001 to 366
	%n	<new-line>
	%t	<TAB>
	%y	dua digit akhir dari tahun, 00 to 99
	%D	MM/DD/YY tanggal
	%H	hour, 00 to 23
	%M	minute, 00 to 59
	%S	second, 00 to 59
	%T	HH:MM:SS jam
Contoh 
	[mamba@plc ~]> date
	Wed May 24 02:41:54 GMT+7 200

[mamba@ plc ~]> date -u
Wed May 24 09:42:19 UTC 2000

[mamba@ plc ~]> date +%a%t%D
Wed     05/24/00

[mamba@plc ~]> date '+%y:%j'
00:145

5.3.2.	Perintah Mencetak
Tabel Perintah-perintah pencetakan
Perintah/Syntax	Keterangan	
lpq (lpstat) [options]	Menampilkan status kerja pencetakan	
lpr (lp) [options] file	Mencetak pada printer yang dituju	
lprm (cancel) [options]	Menghapus sebuah job pencetakan dari antrian pencetakan tsb	
pr [options] [file]	Filter file dan mencetaknya pada terminal	

Perintah print ini memungkinkan kita untuk mencetak file ke output standard (pr) atau pada sebuah line printer (lp/lpr) saat memfilter outputnya. Perintah-perintah pencetakan BSD dan SysV menggunakan nama yang berbeda dan pilihan yang berbeda untuk mendapatkan hasil yang sama: lpr, lprm dan lpq versus lp, cancel dan lpstat untuk submit, batal, dan cek status dari sebuah job pencetakan pada BSD  dan SysV.

5.3.2.1.	 lp/lpr – meminta proses pencetakan
lp dan lpr submit file yang dituju, atau input standard, ke printer daemon untuk dicetak. Setiap job diberikan identitas yang dapat digunakan untuk meneruskan atau membatalkan job saat ia berada dalam antrian.
Syntax
	lp [options]  nama_file
	lpr [options]  nama_file

Pilihan perintah 
	lp	lpr	fungsi
	-n jumlah	-# jumlah	jumlah salinan
	-t nama	-T nama	nama job
	-d tujuan	-P printer	nama printer
	-c		(default)	menyalin file ke antrian sebelum dicetak
	(default)	-s		jangan menyalin file ke antrian sebelum dicetak
	-o option			pilihan tambahan, cth. Nobanner

File yang dimulai dengan string “%!” diasumsikan kepada mengandung perintah-perintah PostScript.

Contoh 
	Untuk mencetak file ssh.ps :
		% lp ssh.ps
		request id is lp-153 (1 file(s))

Hal ini 	memasukkan job tersebut ke dalam antrian pada default printer, lp, dengan identitas permintaannya lp-153.

5.3.2.2.	 lpstat/lpq – memeriksa status proses pencetakan
Anda dapat memeriksa status dari job pencetakan Anda dengan lpstat atau lpq.

Syntax
	lpstat [options]
	lpq [options] [job#] [username]

Pilihan perintah
	lpstat	lpq	fungsi
	-d	(default ke lp)	daftar default sistem tujuan
	-s		merangkum status pencetakan
	-t		cetak semua informasi status
	-u [login-ID-list]		daftar pemakai
	-v		daftar printeryang dikenal sistem
	-p printer_dest	-P printer_dest	daftar status dari printer, printer_dest

Contoh
	% lpstat
	lp-153	mamba	20868	May 24  3:20  on lp	

5.3.2.3.	 cancel/lprm – membatalkan proses pencetakan

Beberapa pemakai dapat hanya membatalkan job-job pencetakan mereka.

Syntax
	cancel [request-ID] [printer]
	lprm [options] [job#] [username]

Pilihan perintah
	cancel	lprm	fungsi
		-Pprinter	menentukan printer
		-	semua job-job untuk pemakai
	-u [login-ID-list]		daftar pemakai

Contoh 
Untuk membatalkkan job yang dibuat di atas	 :
	% cancel lp-153
5.3.2.4.	pr – mempersiapkan file untuk dicetak 
pr mencetak informasi header Idan Itrailer sekitar file yang diformat tersebut. Anda dapat menentukan nomer halaman, baris per halaman, kolom, spasi, lebar halaman, dll untuk dicetak dengan memakai informasi header dan trailer dan bagaimana memperlakukan karakter-karakter.

Syntax
	pr [options] file

Pilihan perintah
+page_number	memulai pencetakan dengan nomer_halaman file input yang  diformat
-kolom	jumlah kolom
-a	set pilihan –kolom untuk mengisi kolom dalam aturan round-robin
-e[char][gap]	spasi tab
-h header_string	header untuk setiap halaman
-l baris	baris per halaman
-t	jangan mencetak header dan trailer pada setiap halaman
-w lebar	lebar halaman

5.4.	Kelebihan Khusus Unix
	Salah satu kontribusi paling penting pada pada sistem operasi Unix adalah kelengkapannya akan banyaknya utilitas untuk melakukan tugas-tugas seperti untuk mendapatkan informasi yang diinginkan. Selain itu adalah pembakuan, dimana data disimpan dan dikirimkan dalam sistem-sistem Unix. Hal ini memungkinkan data untuk dikirimkan ke sebuah file, layar terminal, atau ke sebuah program, atau dari sebuah file, keyboard, atau dari sebuah program; selalu dalam cara yang sama. Penanganan data yang dibakukan ini mendukung dua hal penting dari utilitas Unix: pengalihan I/O dan piping.
	Tanpa pengalihan output, output dari perintah dialihkan ke sebuah file daripada ke layar. Tanpa pengalihan input, inputdari perintah diberikan melalui file daripada ke keyboard. Trik-trik lain adalah kemampuan dengan pengalihan input dan output seperti yang akan Anda lihat nanti. Dengan piping, output dari sebuah perintah dapat digunakan sebagai input (dipipakan) ke sebuah perintah yang berikutnya. Pada bagian ini kita membahas banyak keistimewaan dan utilitas yang tersedia kepada pengguna Unix.

5.4.1. File Descriptor
Ada tiga standard file descriptor :
•	stdin	0	Standard input ke program
•	stdout	1	Standard output dari program
•	stderr	2	Standard error output dari program
	Biasanya dari keyboard atau sebuah file. Kedua output stdout dan stderr, biasanya ke terminal, tetapi Anda dapat mengalihkan satu atau keduanya ke satu atau lebih file.
	Anda dapat juga menentukan file descriptor tambahan, mendisainnya menjadi sebuah bilangan 3 sampai 9, dan mengalihkan I/O kepadanya.

5.4.2. File Redirection
	Pengalihan output mengambil output dari sebuah perintah dan menempatkannya kedalam sebuah file yang telah dinamai. Pengalihan input membaca file tesebut sebagai input terhadap perintahnya. Tabel berikut ini merangkum pilihan pengalihan.

Tabel  Pengalihan File
Simbol	Pengalihan	
>	Pengalihan output.	
>!	Sama seperti diatas, tetapi menimpa pilihan noclobber pada csh	
>>	Menambahkan output.	
>>!	Sama seperti diatas, tetapi menimpa pilihan noclobber pada csh dan menghasilkan file bila belum ada.	
|	Pipe output ke perintah yang lain.	
<	Pengalihan input	
<<String	Mambaca dari input standard sampai hanya ”String” yang dijumpai pada baris.	
<<\String	Sama seperti diatas, tetapi tidak memperbolehkan pergantian shell.	

Sebuah contoh dari pengalihan output adalah :
	cat file1 file2 > file3
Perintah diatas menjalin file1 kemudian file2 dan mengalihkan output ke file3. Jika file 3 belum ada ia akan dibuat. Jika ia tidak ada ia akan juga akan dipotong menjadi zero length sebelum isi yang baru dimasukkan, atau perintahnya akan ditolak, jika pilihan noclobber dari csh diset. File-file asal, file1 dan file2 tetap utuh sebagai bagian yang terpisah.
Output ditambahkan ke sebuah file dalam bentuk :
	cat file1 >> file2
Perintah ini menambahkan isi dari file1 ke akhir dari apa yang telah ada dalam file2. (Tidak melakukan overwrite file2)

Input dialihkan dari sebuah file dalam bentuk :
	program < file
Perintah ini mengambil input untuk program dari file.

Untuk melakukan pipe output ke perintah yang lain menggunakan bentuk :
	command | command
Perintah ini membuat output pada perintah pertama menjadi input pada perintah kedua.

Tabel  Csh
Simbol	Keterangan	
>& file	Pengalihan stdout dan stderr ke file.	
>>&	Menambahkan stdout dan stderr ke file	
|& command	Melakukan pipe stdout dan stderr ke command	

Untuk mengalihkan stdout dan stderr menjadi dua file yang terpisah, Anda pertama butuh stdout dalam sebuah sub-shell, seperti pada :
	% (command > out_file) >& err_file

Tabel  Sh
Simbol	Keterangan	
2> file	Menujukan stderr ke file	
> file 2>&1	Menujukan kedua stdout dan stderr ke file	
>> file 2>&1	Menambahkan kedua stdout dan stderr ke file	
2>&1 | command	Melakukan pipe stdout dan stderr ke command	

Untuk mengalihkan stdout dan stderr menjadi dua buah file yang terpisah, Anda dapat melakukan :
	$ command 1> out_file 2> err_file
Atau sejak default dari pengalihan tersebut ke stdout :
	$ command > out_file 2> err_file

Pada shell Bourne Anda dapat menentukan file descriptor yang lain (3 sampai 9) dan mengalihkan output melaluinya. Hal ini dilakukan dengan format :
	n>&m		mengalihkan file descriptor n ke file descripto m
Kita gunakan format diatas untuk mengirim stderr (2) ke tempat yang sama seperti pada stdout (1), 2>&1, ketika kita ingin mendapatkan pesan error dan pesan normal ke file daripada ke terminal. Jika kita hanya ingin pesan error ke file, kita dapat melakukannya dengan menggunakan sebuah tempat penampungan file descriptor, (3). Kita mula-mula mengalihkan 3 ke 2, kemudian mengalihkan 2 ke 1, dan akhirnya kita mengalihkan 1 ke 3
	$ (command 3>&2 2>&1 1>&3) > file
Hal ini mengirim stderr ke 3 kemudian ke 1, dan stdout ke 3, dimana dialihkan ke 2. Jadi efeknya kita telah membalikkan file descriptor 1 dan 2 dari arti normalnya. Kita dapat menggunakan ini pada contoh berikut :
	$ (cat file 3>&2 2>&1 1>&3) > errfile
Jadi jika file membaca informasi ia dibuang dari perintah output, tetapi bila file tidak dapat membaca pesan error ia diletakkan dalam errfile untuk dapat Anda gunakan kemudian nanti.

Anda dapat menutup file descriptors saat Anda selesai dengannya :
	m<&-		menutup sebuah file descriptor input 
	<&-		menutup stdin
	m>&-		menutup sebuah file descriptor output
	>&-		menutup stdout

5.4.3. Simbol Simbol Perintah Khusus yang Lain
	Sebagai tambahan pada simbol-simbol pengalihan file, ada sejumlah dari simbol-simbol khusus yang lain yang dapat Anda gunakan pada baris perintah. Hal ini meliputi :
	;	pemisah perintah
	&	menjalankan perintah dengan latar-belakang
            &&	menjalankan perintah berikutnya ini jika perintah sebelumnya selesai dengan komplet contoh :
	grep string file && cat file
               ||	menjalankan perintah berikutnya hanya jika perintah sebelumnya tidak selesai dengan komplet contoh :
		grep string file || echo”String not found”
             ( )	perintah yagn berada dalam tanda kurung  dieksekusi dalam sebuah subshell. Output dari subshell dapat dimanipulasikan seperti diatas.
            ‘ ‘	jangan biarkan beberapa arti arti khusus ke beberapa karakter diantara tanda kutip ini.
	\	lepas dari karakter berikutnya 
          “ “	Memberikan pertukaran variabel dan perintah dengan tanda kutip ini ( tidak melumpuhkan fungsi $ dan \ dalam string).
‘command’	mengambil output dari perintah ini dan menggantinya sebagai argumen pada beris perintah.
	#	semua yang mengikutinya sampai baris baru adalah sebuah comment

Karakter | dapat juga digunakan untuk keluar karakter <newline>, jadi Anda dapat meneruskan sebuah perintah yang panjang pada lebih dari satu baris teks fisik.

5.4.4. Wild Cards
	Shell dan beberapa program text processing akan memberikan meta-characters, atau wild card, dan menggantikannya dengan pola yang sesuai. Untuk nama-nama file,  meta-cahacters dan penggunaanya :
	?	sesuai dengan karakter tunggal manapun pada posisi yang ditunjukannya
*	sesuai dengan string manapun dari nol atau bangnyak karakter
	[abc…]		sesuai dengan karakter-karakter yang terlampir
	[a-e]		sesuai dengan karakter yang ada di antara a,b,c,d,e
	[!def]		sesuai dengan karakter yang bukan seperti terlampir, hanya sh
{abc,bcd,cde}	sesuai dengan karakter manapun yang terpisah dengan koma (tidak ada spasi), hanya sh
	~		direktori home dari current user, hanya csh
	~user		direktori home dari user yang ditunjuk, hanya csh

5.5. Perintah-perintah yang sering dijumpai
5.5.1. Struktur Perintah
Struktur perintah UNIX berbentuk :
nama_perintah [pilihan] [argumen …]
Penjelasan :
•	Kurung siku menyatakan bahwa yang ada di dalamnya bersifat operasional. Bisa ada, bisa jga tidak ada.
•	Tanda titik tiga kali (…) menyatakan bahwa komponen di depan tanda ini bisa diulang beberapa kali.
•	nama_perintah dapat berupa perintah built-in ataupun program (utilitas, skrip shell dan aplikasi). Nama perintah ini menyatakan perintah yang akan dijalankan oleh shell.
•	pilihan (opsion) untuk mengubah atau menambah default tindakan dari perintah.
•	argumen menyatakan obyek yang akan diproses oleh perintah. Bagian ini umumnya berupa file; tetapi bisa juga berisi data yang akan diproses.
Sebagai contoh, suatu perintah mempunyai format sebagai berikut :
wc [-wcl] file …
Artinya, bentuk salah satu perintah berikut diperkenankan :
	wc –w file1
	wc –w –c file1 file2
	wc  file1 file2
	wc –wcl file1
Apabila Anda mengetikkan suatu perintah apapun dan Anda mengakhirinya dengan <ENTER>, baris yang akan Anda ketik disebut baris perintah (command line). Contoh beberapa baris perintah, baik yang melibatkan pilihan, argumen ataupun tidak melibatkan kedua komponen itu :
1.	ls
2.	ls -l
3.	ls –l /etc/passwd
4.	ls –l /etc/passwd/etc/group
Pada contoh pertama, tidak ada argumen maupun pilihan. Contoh kedua melibatkan pilihan maupuin argumen. Contoh terakhir melibatkan pilihan dan dua buah argumen.
	Pada saat mengetikkan perintah, antar bagian si dalam sebuah barus perintah harus dipisahkan oleh satu atau bebrapa karakter :
•	spasi
•	tab
Karakter-karakter tersebut bisa disebut spasi putih (whitespace). Sebagai contoh, untuk menuliskan perintah :
	ls –l /etc/passwd
penulisan-penulisan berikut akan memberikan hasil yang sama.
	ls<spasi>-l<spasi>/etc/passwd
	ls<spasi>-l<tab>/etc/passwd
	ls<tab>-l<spasi>/etc/passwd
	ls<tab>-l<tab>/etc/passwd
Setiap deretan karakter yang bukan spasi putih disebut kata (word). Jadi :
	ls –l /etc/passwd
terdiri dari 3 kata.

5.5.2. Pilihan (Option)
	Sebuah pilihan adalah bagian dari baris perintah, berupa sebuah kata yang diawali dengan tanda minus (-), yang mengontrol tindakan dari suatu perintah. Sebagai contoh, ls adalah utilitas yang digunakan untuk menampilkan isi direktori. Perintah ls bisa tidak mengandung pilihan maupun argumen. Hasilnya berupa nama-nama file pada direktori kerja (tindakan default-nya). Untuk mengubah tindakan default dari ls, pilihan seperti –l menampilkan informasi file dan pemilik file) dapat ditambahkan.
$ ls
blank
kosong
passwd
$ ls -l 
total 3
- rw-r--r-- 	1 mamba	group	      0 	May 21 	1:32 	blank
-rw-r--r-- 	1 mamba	group	      0 	May 21 	1:31 	kosong
-rw-rw-r- - 	1 mamba	group	1203 	May 21 	1:31 	passwd
$ _
	Adakalanya pilihan yang perlu diberikan ke suatu perintah tidak hanya sebuah. Sebagai contoh, pada ls terdapat pilihan -r yang akan menampilkan daftar file dengan urutan secara terbalik (descending).
$ ls -r
passwd
kosong
blank 
$ _
	Apabila diinginkan untuk memadukan opsion -r dan -l, Anda dapat memberikan perintah sebagai berikut :
$ ls -l -r
total 3
-rw-rw-r- - 	1 mamba	group	1203 	May 21 	1:31 	passwd      
-rw-r--r-- 	1 mamba	group	      0 	May 21 	1:31 	kosong
-rw-r--r-- 	1 mamba	group	      0 	May 21 	1:32 	blank
$ _
	Selain menggunakan cara di depan, pilihan -l dan -r dapat digabungkan menjadi sebuah kata. Dengan demikian penulisan menjadi :
	ls -lr
	ls -rl
ekivalen dengan ls  -l  -r. Urutan pilihan yang dikombinasikan seperti itu dapat dibolak-balik.

5.5.3. Argumen
	Argumen mempunyai istilah lain berupa parameter. Argumen adalah bagian dari baris perintah yang digunakan untuk menyebutkan informasi - data, file, dan sebgainya - yang akan dikenai tindakan oleh perintah. Berbeda dengan pilihan, argumen tidak mempunyai tanda khusus yang digunakan untuk mengawalinya.
	Untuk melihat efek pemberian argumen, ls dapat digunakan. Sebagaimana contoh di depan, ls -l menampilkan informasi file-file (nama beserta atributnya). Tetapi jika Anda memberikan perintah seperti :
	ls -l /etc/passwd
maka file yang akan diroses hanyalah /etc/passwd.
$ ls -l -r
-rw-rw-r- - 	1 bin	auth	1203 	May 21 	1:31 	/etc/passwd
$ _

5.5.4. Beberapa Perintah Dasar
	Selain perintah yang bersifat built-in bagi shell, UNIX menyediakan banyak utilitas yang sangat bermanfaat bagi pemakai. Pada bagian ini, beberapa perintah UNIX (built-in maupun utilitas) akan diperkenalkan. Beberapa di antaranya hanya berupa suatu ringkasan.
Tabel  Perintah lingkungan sistem
Perintah	Keterangan	
Exit	Keluar dari shell pada Bourne shell dan Korn shell.	
Id	Menampilkan nama pemakai beserta nomor identitas dari pemakai serta nama group dan nomor identitas group.	
logname	Menampilkan nama pemakai.	
Logout	Keluar dari shell pada C shell.	
Man	Menampilkan dokumentasi online dari suatu perintah UNIX.	
newgrp	Mengubah group efektif.	
passwd	Memberikan password atau mengubah password	
Set	Menampilkan variabel lingkungan pada shell pemakai.	
Tty	Menampilkan nama identitas (port) terminal.	
Uname	Menampilkan nama simpul dari sistem UNIX	
Who	Menampilkan pemakai yang sedang menggunakan sistem.	

Tabel  Perintah manajemen file
Perintah	Keterangan	
Cat	Menampilkan isi file.	
Cp	Menyalin satu atau beberapa file.	
Find	Mencari file-file tertentu pada suatu direktori.	
Ls	Menampilkan informasi dari file.	
More	Menampilkan isi suatu file teks per layar.	
Mv	Memindahkan suatu file ke direktori lain atau mengubah nama file.	
Pg	Menampilkan isi suatu file teks per layar.	
Rm	Menghapus file.	

Tabel  Perintah manajemen direktori
Perintah	Keterangan	
Cd	Mengaktifkan suatu direktori sebagai direktori kerja.	
Copy	Menyalin seluruh struktur direktori (termasuk file dan subdirektori).	
Mkdir	Membuat direktori baru.	
Pwd	Menampilkan nama direktori kerja.	
Rmdir	Menghapus direktori.	
Mv	Mengubah nama direktori.	

Tabel  Perintah untuk mengatur akses file
Perintah	Keterangan	
Chgrp	Mengubah group dari suatu file atau direktori.	
Chmod	Mengubah permisi dari suatu file atau direktori.	
Chown	Mengubah pemilik dari suatu file atau direktori.	

Tabel  Perintah yang berhubungan dengan proses
Perintah	Keterangan	
Kill	Menghentikan suatu proses berdasarkan identitas proses.	
Ps	Menampilkan proses-proses yang sedang berjalan.	
Sleep	Menunda eksekusi (Proses yang tidak mengerjakan apa-apa selama beberapa detik).	

Tabel  Perintah yang berhubungan dengan layar
Perintah	Keterangan	
Banner	Menampilkan tulisan berukuran besar	
Clear	Menghapus layar	
Echo	Menampilkan tulisan ke layar	

Tabel  Perintah lain-lain
Perintah	Keterangan	
Bc	Utilitas untuk mengatur perhitungan.	
Cal	Menampilkan kalender.	
Date	Menampilkan tanggal dan jam sistem.	
Grep	Mencari file-file yang mengandung kat tertentu.	
Lp	Mencetak file ke printer.	
Mail	Utilitas untuk menyampaikan pesan tertulis ke pemakai lain.	
Sort	Mengurutkan kata.	
Vi	Editor teks.	
Wc	Menghitung jumlah karakter, kata dan baris suatu file.	

5.5.4.1. Mengetahui siapa saja yang login
	Kapan saja Anda dapat mengetahui nama-nama yang sedang menggunakan sistem. Untuk keperluan ini Anda cukup memberikan perintah who (utilitas).

	$ who
	mamba	tty01	May 20	15 : 10
	meksy	tty02	May 20	15 : 20
	ima	tty03	May 20	16 : 17
	$ _

Penjelasan :
•	Nama-nama seperti mamba, meksy dan ima adalah nama-nama pemakai. Pada contoh diatas terdapat tiga pemakai yang sedang menggunakan sistem.
•	Informasi pada kolom kedua (seperti tty01, tty02 dan tty03) menyatakan nama identitas (port) terminal dari masing-masing pemakai.
•	Informasi setelah kode terminal menyatakan tanggal dan jam saat pemakai melakukan login.

5.5.4.2. Mengetahui siapa Anda
	Jika Anda ingin mengetahui nama pemakai yang menggunakan terminal yang sedang Anda pakai, Anda dapat memakai perintah who am i.
	$ who am i
	mamba	tty01	May 20	15 : 10	
	$ _
Pada contoh diatas, nama pemakai adalah mamba, terminal yang digunakan adalah tty01 dan saat login pada jam 15:10 tanggal 20 Mei. Selain menggunakan perintah di atas, Anda juga dapat menggunakan utilitas logname. Hasilnya hanya berupa nama pemakai.
	$ logname
	mamba
	$ _

5.5.4.3. Menampilkan kalender
	Anda ingin mengetahui hari kelahiran Anda? Atau Anda ingin melihat kalender tahun depan? UNIX menyediakan utilitas untuk memberikan solusi terhadap kebutuhan Anda ini, berupa cal.

$ cal
May 2000
Su Mo Tu We Th Fr Sa
        1   2   3    4   5   6
  7    8   9  10  11 12 13
14  15  16 17  18 19 20
21  22  23 24  25 26 27
28  29  30 31   
$ _

Untuk mengetahui kalender tahun 1980, Anda dapat memberikan perintah seperti berikut ini :

$ cal 1980
                                                            1980
       January                                    February                                     March
Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa
              1    2    3   4    5                                       1    2                                            1
 6    7     8    9  10  11  12       3   4     5    6     7    8    9        2    3    4    5    6    7    8
13 14   15  16  17  18  19      10  11 12  13   14  15  16        9  10  11  12  13  14  15 
20 21   22  23  24  25  26      17  18 19  20   21  22  23      16  17  18  19  20  21 22
27 28   29  30  31                  24  25 26  27   28  29            23  24  25  26  27  28 29
                                                                                            30  31
                April                                      May                                       June
Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa
              1    2    3   4    5                                 1    2    3       1    2    3    4     5    6    7
  6    7    8    9  10  11  12       4     5    6    7    8    9  10       8    9  10   11  12  13  14
13  14  15  16  17  18  19      11  12  13  14  15  16  17       5  16  17   18  19  20  21
20  21  22  23  24  25  26      18  19  20  21  22  23  24     22  23  24   25  26  27  28
27  28  29  30                        25  26  27  28  29  30  31     29  30

                 July                                    August                                September
Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa     
              1    2     3   4    5                                      1    2             1    2    3     4    5    6
  6   7    8     9   10  11  12      3    4     5    6    7    8    9       7    8    9  10   11  12  13 
13 14  15   16   17  18  19    10   11  12  13  14  15  16     14  15  16  17   18  19  20
20  21 22   23   24  25  26    17   18  19  20  21  22  23     21  22  23  24   25  26  27
27  28 29   30   31                24   25  26  27  28  29  30     28  29  30                     
                                             31
             October                               November                            December
Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa     Su Mo Tu We  Th  Fr  Sa 
                     1    2    3   4                                             1             1    2    3    4     5    6
  5    6    7     8    9  10  11      2    3     4    5    6     7    8       7    8    9  10   11  12  13
12  13  14   15  16  17  18      9  10   11  12   13  14  15     14  15  16  17   18  19  20
19  20   21  22  23  24  25    16  17   18  19   20   21 22     21  22  23  24   25   26  27
26  27  28   29  30  31          23  24   25  26   27   28 29     28  29  30  31
                                             30                                         
$ _

5.5.4.4. Dokumentasi Online
	UNIX menyediakan dokumentasi online. Artinya, sembari menghadap terminal Anda dapat mengetikkan perintah agar UNIX menampilkan suatu dokumentasi dari suatu perintah.
Format dokumentasi yang umum untuk setiap topik :
•	Name
•	Synopsis (Syntax)
•	Description
•	Files
•	See Also
•	Diagnostics
•	Bugs
Beberapa sistem memberikan tambahan entri pada dokumentasinya, seperti Example(s).
	Name, Synosis dan Description selalu ada untuk setiap topik, sedangkan bagian lainnya tidak selalu ada.

Tabel  Entri pada dokumentasi online
Entri	Keterangan	
Name	Berisi nama perintah (atau entri lain, seperti system call dan file) dan penjelasan singkat.	
Synopsis (Syntax)	Menunjukkan cara pemakaian perintah.	
Description	Memberikan penjelasan lebih lanjut terhadap suatu perintah, menyangkut pilihan dan argumen.	
Files	Menyebutkan file-file penting yang berhubungan dengan perintah.	
See Also	Memberikan referensi terhadap perintah-perintah yang berkaitan dengan topik yang dikehendaki.	
Diagnostics	Menjelaskan kesalahan-kesalahan yang bakal terjadi kalau perintah gagal melaksanakan tugasnya.	
Bugs	Menerangkan kesalahan-kesalahan atau kekurangan pada perintah dan terkadang mencantumkan cara pemecahannya.	

Untuk mendapatkan dokumentasi online, Anda dapat menggunakan perintah man. Format dasarnya :
man judul …
dengan judul adalah nama topik yang ingin diketahui. Misalnya  ls  atau  date.
	Contoh untuk mendapatkan dokumentasi dari cal :
	man cal
	Untuk dokumentasi yang panjangnya lebih dari satu layar, ada tiga hal yang perlu diketahui :
•	Jika pada layar bagian bawah muncul tanda :, gunakan <Enter> untuk melanjutkan atau q<Enter> untuk mengakhirinya
•	Jika pada layar bagian bawah muncul tanda --More-- , tekan <Spasi> untuk melanjutkan  atau q saja untuk keluar dari dokumentasi tersebut
•	Jika dokumentasi ditampilkan dengan disertai perguliran layar sehingga Anda tidak sempat membaca bagian awal, Anda perlu memberikan kode spesial stop untuk menghentikan layar dan kode start untuk melanjutkan kembali.

5.5.5. Translasi Karakter dengan tr
	tr (berasal dari kata “translate”) adalah utilitas yang berguna untuk melakukan konversi karakter. Misalnya untuk mengubah huruf kecil menjadi huruf kapital.
	Utilitas ini selalu membaca data dari standard input. Karena itu jika tr hendak digunakan untuk mengkonfersi data dari file, pengalihan arah masukan (via simbol<) perlu digunakan.

5.5.5.1. Mengubah Karakter Tertentu
 Misalnya terdapat file sebagai berikut :
$ cat sljj.dat
medan : 061
bandung : 022
lampung : 0721
$ _
Diinginkan untuk mengubah karakter-karakter berdasarkan pedoman berikut :
	a  x  
	e  y
	u  z
Perintah yang diperlukan berupa :
	tr “aeu” “xyz” < sljj.dat
Hasilnya :
	
$ tr “aeu” “xyz” < sljj.dat
	jxkxrtx : 021
	mydxn : 061
	lxmpzng : 0721
	$ _

5.5.5.2. Mengubah Karakter dalam Bentuk Jangkauan
	 Seandainya diinginkan untuk mengubah setiap hurup kecil yang ada pada file sljj.dat menjadi hurup kapital, perintah tr yang diperlukan berupa : 
	tr “[a-z]” “[A-Z]” < sljj.dat
Hasilnya :

	$ tr “[a-z]” “[A-Z]” < sljj.dat
	JAKARTA : 021
	MEDAN : 061
	LAMPUNG : 0721
	$ _

Tanda [ ] perlu dituliskan pada bentuk jangkauan. Jika perintah yang diberikan berupa :
 	tr “a-z” “A-Z” < sljj.dat
hasilnya akan seperti ini :
	jAkArtA : 021
	medAn : 061
	lAmpung : 0721
yaitu hanya tiga karekter yang dikonversikan :
•	a menjadi A
•	- menjadi –
•	z menjadi Z

5.5.5.3. Notasi Oktal
	Bagian string pada perintah tr dapat melibatkan kode oktal. Sebagai contoh diinginkan untuk mengubah karakter : pda file sljj.dat menjadi karakter tab (Kode oktal 011). Perintahnya berupa :
	tr “:” “\011” < sljj.dat
Tanda \ mengawali kode oktal, untuk menyatakan bahwa tiga digit yang mengikuti tanda ini adalah kode karakter yang sesuai dengan nilai oktal tersebut.

	$ tr “:” “\011” < sljj.dat
	jakarta 	 021
	medan 	 061
	lampung 	0721
	$ _

5.6. Editors
Dasar-Dasar Penggunaan Editor vi
5.6.1. Pengantar
Editor  vi merupakan editor berbasis layar yang digunakan oleh banyak pemakai UNIX. Berbasis layar berarti teks yang akan disunting ditampilkan dalam sebuah layar dan pemakai dapat menggerakkan kursor pada bagian layar yang ingin diperbaiki.
Jika kita menggunakan editor vi untuk pertama kalinya, mungkin kita akan mengalami kesulitan. Hal ini disebabkan karena perintah-perintah pada editor vi harus dihafalkan. Pada editor vi tidak terdapat menu-menu seperti pada editor PICO, sehingga ada kesan bahwa editor vi tidak user-friendly. Akan tetapi editor vi merupakan editor teks standar yang ada pada setiap sistem operasi UNIX. Jadi kita harus mengetahui dasar-dasar penggunaan editor vi untuk berjaga-jaga seandainya editor teks yang biasa kita gunakan tidak tersedia pada sistem operasi UNIX yang kita gunakan.
5.6.2. Dua Modus Pada Editor vi
Hal pertama yang perlu diketahui oleh pemakai adalah bahwa editor vi memiliki dua modus, yaitu modus perintah (command mode) dan modus penyisipan (insert mode) Modus perintah dapat digunakan untuk memasukkan perintah-perintah untuk memanipulasi teks dan file. Perintah-perintah ini biasanya terdiri dari satu atau dua buah karakter. Modus penyisipan digunakan untuk melakukan pengetikan teks. 
Pada saat kita memulai editor vi, kita langsung berada pada modus perintah. Ada beberapa perintah untuk memasuki mode penyisipan. Perintah-perintah yang paling sering digunakan adalah perintah a dan i. Bila kita menekan tombol [Escape], maka kita akan kembali ke modus perintah. Penekanan [Escape] pada modus perintah tidak akan mangakibatkan kita keluar dari modus perintah.
5.6.3. Memulai Editor vi
Dengan menggunakan editor vi, kita dapat membuat file baru atau menyunting file yang sudah ada. Perintah untuk memulai editor vi adalah " vi nama_file". Bila nama_file merupakan file yang sudah ada, pada bagian bawah layar akan ditampilkan jumlah baris dan jumlah karakter pada file tersebut. Bila nama_file merupakan file baru, pada bagian bawah layar akan ditampilkan keterangan bahwa file tersebut adalah file baru.
Pada layar akan tampak baris-baris yang diawali dengan tanda tilde (~). Baris yang diawali dengan tanda ini menunjukkan baris tersebut belum pernah digunakan oleh pemakai. Editor vi juga dapat dimulai tanpa menyertakan nama_file. Akan tetapi nama_file ini harus diberikan pada saat kita ingin menyimpan pekerjaan ke file. Pada bagian kiri atas dari layar akan tampak kursor yang berkedip yang menunjukkan bahwa editor siap menerima perintah dari pemakai.
5.6.4. Keluar Dari Editor vi
Untuk keluar dari editor vi, ada beberapa perintah yang dapat digunakan. Semua perintah ini harus dimasukkan dari modus perintah.
Tabel  Perintah-perintah untuk keluar dari editor vi.
Perintah	Keterangan	
:q [Enter]	Keluar dari editor vi, hanya jika tidak ada modifikasi pada file.	
ZZ	Menyimpan ke file dan keluar dari editor vi	
:wq [Enter]	Sama seperti ZZ	
:x [Enter]	Sama seperti ZZ	
:q! [Enter]	Keluar dari editor vi tanpa harus menyimpan ke file	
Untuk menyimpan ke file tanpa keluar dari editor vi, gunakan perintah :w [Enter].
5.6.5. Beberapa Perintah Pada Modus Perintah
Penjelasan tentang perintah-perintah pada modus perintah akan dibagi dalam beberapa bagian. Perintah-perintah yang akan dijelaskan antara lain : menggerakkan kursor, menghapus teks, faktor pengulang, membatalkan perubahan atau penghapusan, mencari string, dan berpindah layar.
5.6.5.1. Menggerakkan Kursor
Di bawah ini adalah perintah-perintah yang dapat digunakan untuk menggerakkan kursor pada modus perintah.
Tabel  Perintah-perintah untuk mengerakkan kursor.
Perintah	Keterangan	
l panah kanan atau spasi	ke kanan 1 karakter	
h atau panah kiri	ke kiri 1 karakter	
j atau panah bawah	ke bawah 1 baris	
k atau panah atas	ke atas 1 baris	

5.6.5.2. Menghapus Teks
Di bawah ini adalah perintah-perintah yang dapat digunakan untuk menghapus teks dari modus perintah.
Tabel  Perintah-perintah untuk menghapus teks.
Perintah	Keterangan	
x	menghapus karakter pada posisi kursor	
X	menghapus karakter disebelah kiri kursor	
dd	menghapus satu baris pada posisi kursor	
d [Enter]	menghapus dua baris, baris pada posisi kursor dan baris berikutnya	
d0	menghapus dari awal baris sampai tepat sebelum posisi kursor	
d$	menghapus dari posisi kursor sampai akhir baris	

5.6.5.3. Faktor Pengulang
Beberapa perintah dapat diulang beberapa kali dengan menambahkan jumlah pengulangan di depan perintah. Sebagai contoh, dd adalah perintah untuk menghapus satu baris. Untuk menghapus 3 buah baris tanpa harus memasukkan perintah dd sebanyak 3 kali dapat digunakan : 3dd.
5.6.5.4. Membatalkan Perubahan atau Penghapusan
Jika kita melakukan kesalahan menghapus tanpa sengaja, kita dapat memperbaikinya dengan menggunakan perintah u atau U. Perintah u digunakan untuk membatalkan perubahan terakhir yang dilakukan oleh pemakai, sedangkan perintah U digunakan untuk membatalkan seluruh perubahan pada satu baris.
5.6.5.5. Mencari String
Editor vi memiliki dua jenis pencarian, yaitu : string dan karakter. Untuk pencarian string, perintah yang digunakan adalah perintah / dan ?. Pada saat kedua perintah ini digunakan, perintah yang diketikkan akan muncul dibagian bawah layar, tempat kita mengetikkan string yang ingin dicari. Kedua perintah ini berbeda hanya pada arah pencarian yang akan dilakukan. Perintah / mencari ke arah bawah, sedangkan perintah ? mencari ke arah atas dari file. Perintah n dan N digunakan untuk melanjutkan proses pencarian yang sebelumnya. Perintah n akan mencari dalam arah yang sama, sedangkan perintah N akan mencari dalam arah yang berlawanan.
5.6.5.6. Berpindah Layar
Editor vi juga menyediakan perintah-perintah untuk berpindah layar dengan cepat tanpa harus menggerakkan kursor perbaris. Perintah-perintah tersebut adalah :
Tabel 4. Perintah-perintah untuk berpindah perlayar.
Perintah	Keterangan	
ctrl-b	berpindah satu layar sebelumnya	
ctrl-d	turun setengah bagian layar	
ctrl-f	turun satu bagian layar	
G	turun ke bagian akhir dari file	
line no. G	memindahkan kursor ke line tertentu	
ctrl-j	naik setengah bagian layar	

5.6.6. Penutup
Perintah-perintah yang telah dijelaskan merupakan perintah-perintah dasar pada editor vi. Dengan mengetahui perintah-perintah tersebut, kita sudah dapat melakukan manipulasi pada suatu file teks dan menyimpannya kembali.
Sebenarnya masih banyak perintah-perintah pada editor vi yang memiliki banyak kegunaan antara lain : perintah untuk mengkonversi huruf besar kecil dan huruf kapital, menyisipkan isi dari suatu file, menyimpan sebagian teks ke suatu file, dan perintah-perintah map. Untuk mengetahui perintah-perintah tersebut, pembaca dapat melihatnya pada manual editor vi pada sistem operasi UNIX dengan mengetikkan man vi pada prompt, dari sumber-sumber bacaan dari Internet, maupun dari buku-buku UNIX yang ada. 

KEPUSTAKAAN

1.	FreeBSD Handbook, The FreeBSD Documentation Project, Copyright © 1995, 1996, 1997, 1998, 1999 by The FreeBSD Documentation Project, FreeBSD Inc. 
2.	Frank G. Fiamingo, Linda DeBula, L. Condron, “Introduction to UNIX “, University Technology Service, The Ohio State University, 1998
3.	Salim Douba, “Networking UNIX “, Sams Publishing, 1995

-----------------------------