BAB II
LANDASAN TEORI
2.1 Linux
Linux adalah sistem operasi yang bersifat open source dan bebas (free) di bawah lisensi GNU (GNU is not Unix) GPL (General Public License) (Y.B Mulyana, 2002:1). Arti kata open source adalah pada sumber kode linux yang menjadi inti diikutsertakan dalam program sehingga dapat dilihat oleh siapa saja tanpa harus menandatangani suatu perjanjian khusus. Arti kata bebas atau free mengacu pada kebebasan bukan berarti bebas biaya. Linux bebas untuk diduplikasikan, dimodifikasi, dan disebarluaskan baik untuk tujuan tak-komersial ataupun tujuan komersial.
2.1.1 Sejarah Linux
Linux lahir pada tahun 1991. Pada waktu itu, Linus Torvald, seorang mahasiswa dari Suoen Tasavalta, Republik Finlandia memulai sebuah proyek pembuatan sistem operasi yang stabil dan bisa dijalankan pada mesin Intel x86.
Pada awalnya, Linus Torvald menggunakan salah satu sistem operasi berbasis Unix yaitu Minix. Namun akhirnya dia merasa sistem operasi ini memiliki banyak kekurangan, dia merasa dapat membuat sistem operasi yang lebih baik dari Minix.
Pada bulan Oktober 1991, Linus Torvald mempublikasikan sistem operasi yang diberi nama Linux (Linus’ Unix).Dia mengajak pengembang software di seluruh dunia untuk bersama-sama mengembangkan sistem operasi Linux. Era open source mulai menunjukan kejayaannya.
2.1.2 Kernel
Kernel adalah inti atau bisa dikatakan sebagai mesin utama sebuah sistem operasi (Y.B Mulyana, 2002:2). Berbeda dengan sistem operasi lain yang umumnya menyembunyikan kernelnya, Linux mengedepankan kernelnya. Jika
5
bicara mengenai Linux, berarti kita bicara mengenai kernel Linux. Sampai saat ini, copyright kernel tetap diipegang pembuat Linux pertama yaitu Linus Torvald.
2.1.3 Distro
Di dunia Linux dikenal istilah distribution atau di Indonesia disebut distribusi, atau oleh pecinta Linux indonesia disebut Distro. “Distro adalah Kernel Linux ditambah dengan kumpulan paket-paket softwere dari GNU dan yang lain, yang digabung menjadi satu, dengan tujuan untuk mempermudah proses distribusi software tersebut”. (Ahmad Sofyan, 2006:5).
2.1.4 Xwindows
Xwindow merupakan fasiltas Graphica User Interface (GUI) yang pada awalnya banyak dijalankan di Unix. Kemudian Xwindow digunakan di Linux.
Bagi user awam yang sudah menggunakan Microsoft Windows, Xwindow inilah yang menjadi daya tarik Linux. Pada Xwindow terdapat banyak desktop manager atau disebut juga desktop environment. Dua diantaranya yang paling populer dan banyak digunakan adalah:
a. G N U Network Object Model Environment (GNOME), dan b. K Desktop Environment (KDE)
Gambar 2.1 Desktop Gnome
2.1.5 Beberapa Hal Umum di Linux
Ada beberapa hal yang perlu diketahui mengenai Linux
1. Linux menganut penamaan file yang sensitif terhadap huruf besar dan huruf kecil (case sensitive). Contoh: Linux, linux dan LINUX dianggap berbeda.
2. Panjang nama file bisa sampai 256 karakter. Karakter yang digunakan untuk nama file adalah: A-Z, a-z, 0-9, tanda minus (-), tanda garis bawah ( _ ), dan titik (.). di Linux nama file boleh memiliki tanda titik berapa saja, misalnya linux.2_2_14-ow2_tar,gz.
3. Linux menganggap semua peralatan sebagai file. Contoh: di Linux tidak ada disk drive A atau disk drive B, sebagai gantinya digunakan file /dev/fd0 dan /dev/fd1. Demikian juga dengan peralatan lain.
4. Terdapat 2 jenis user, yaitu root dan user biasa. User root adalah user yang meiliki hak akses tertinggi. User ini dibuat secara otomatis saat proses instalasi Linux berlangsung.
5. User root dapat melakukan apa saja termasuk mengatur dan mengendalikan user biasa. User biasa adalah user yang memiliki hak akses terbatas.
6. Pada modus text terdapat dua jenis tanda prompt, yaitu:
a. Tanda # menandakan user yang aktif adalah user root atau superuser.
b. Tanda $ menandakan user yang aktif adalah user biasa.
2.2 Remastering
2.2.1 Pengertian Remastering
Distro Linux UBUNTU adalah salah satu distro dari sekian banyak distro Linux yang tersebar di Indonesia. Distro Linux UBUNTU telah memiliki banyak turunan, misalnya BLANKON (UBUNTU dengan bahasa indonesia), EDUBUNTU (UBUNTU untuk didalam kelas), KUBUNTU (UBUNTU dengan desktop KDE), dan lain-lain. Pembuatan turunan UBUNTU ini disebut remastering atau membuat master CD baru berbasis UBUNTU. “Jadi,
remastering adalah melakukan pembuatan ulang distro untuk menghasilkan file ISO yang siap di-burn ke CD-R atau CD-RW”. ( Rusmanto Maryanto, 2005:147).
Tujuan remastering antara lain untuk menambah atau mengurangi beberapa file atau program dalam suatu distro Linux. Secara garis besar, proses remastering terdiri dari empat tahap :
1. Menyalin semua program yang berjalan dari CD ke harddisk, menjadi satu sistem Linux yang lengkap.
2. Mengkonfigurasi ulang Linux sesuai dengan tujuan remastering, misalnya mengurangi atau menambah paket program.
3. Memampatkan (compress) dan menyimpan menjadi file distro yang baru.
4. Mengubah file distro yang baru dan file-file penunjang untuk booting (seperti isolinux.bin, boot.msg dan boot.cat) menjadi file ISO.
2.2.2 Kebutuhan Hardware
Agar proses remastering berjalan cepat, komputer harus memiliki spesifikasi minimal sebagai berikut :
1. Pentium III atau setara.
2. RAM minimal 128 MB, direkomendasikan 256 MB.
3. Harddisk dengan partisi kosong minimal 5 GB, dengan perincian 4 GB untuk data dan 1 GB untuk swap (virtual memory).
4. Swap dapat lebih kecil dari 1 GB, bila ukuran RAM cukup besar sehingga jumlah RAM dan swap tetap 1 GB. Misal RAM 128, maka ukuran swap paling tidak 900 MB.
5. Drive CD-ROM/DVD untuk menjalankan Linux, serta CD-RW untuk membakar file ISO.
6. Komponen komputer lain yang sesuai dengan kebutuhan, misal kartu jaringan untuk men-download paket-paket dari internet.
2.2.3 Perencanaan Pembuatan Distro
Ada dua jenis distro berdasarkan sifat redistribusinya. Pertama biasanya distro dipakai untuk diri sendiri. Distro ini dibuat dengan basis LSF (Linux From
Scratch), dan semua aplikasi dikompilasi dari pristine code (kode program murni).
Kedua adalah membuat distro dari turunan distro besar yang sudah mapan.
Biasanya yang menjadi rujukan adalah RedHat(misal Mandrake dan Turbolinux), Debian(misal Knoppix, Libranet, dan Ubuntu), dan Slackware(misal Vectorlinux).
2.3 Standarisasi
2.3.1 LSB (Linux Standar Base)
LSB adalah standar yang digunakan untuk menyatukan antar muka sistem untuk aplikasi biner yang telah terkompilasi. Standar LSB sangat bersifat teknis, menyangkut antarmuka biner, antarmuka program biner dengan pustaka bersama (shared library), serta antarmuka sistem operasi. Secara singkat mencakup Apllication Program Interface (API) dan Apllication Binary Interface (ABI).
Cakupan dari LSB adalah
1. Executable and Linkin Format (ELF)
Mendefinisikan format objek dari aplikasi biner yang telah terkompilasi
2. Base Libraries (Pustaka Dasar)
Mendefinisikan dukungan pustaka dasar yang harus ada dalam sistem Linux.
3. Utility Libraries (Pustaka Pembantu)
Mendefinisikan pustaka pembantu yang dibangun di atas pustaka dasar 4. Command and Utilities (Perintah dan Program Bantu)
Daftar perintah dasar dan program bantu yang harus ada 5. Execution Environment (Lingkungan Eksekusi Perintah)
Lingkungan eksekusi perintah
6. System Initialization (Inisialisasi Sistem) 7. User dan Grup
Melingkupi unsur penamaan user dan grup yang digunakan oleh sistem dan standar range nomor ID user dan grup.
8. Format Pemaketan dan Instalasi Standar pemaketan dengan apt
2.3.2 FHS (Filesytem Hierarchy Standar)
FHS adalah seperangkat petunjuk untuk penempatan file dan direktori di bawah sistem operasi yang mirip Unix. Tujuannya untuk menunjang interoperabilitas aplikasi, program administrasi sistem, program pengembangan, skrip, dan dapat menyatukan dokumentasi dari sistem. Berikut beberapa definisi direktori menurut standar FHS :
/ (root directory)
Sistem file root (/) adalah struktur paling dasar yang harus bisa melakukan boot.
Tabel 2.1 Komponen root ( / )
Direktori Keterangan
/bin /boot
/dev /etc /lib
/media /mnt /opt /sbin
/srv /tmp /usr /var
Binary perintah esensial yang dibutuhkan oleh sistem dan user.
Berisi file biner statik untuk boot sistem. Kernel Linux ada di sini.
File device
Konfigurasi sistem dan mesin bersangkutan
Pustaka terbagi (Share Libraries) esensi dan model kernel
Point pengaitan (mount point) pada media removable.
Point pengaitan sistem file yang bersifat sementara (temporary).
Paket aplikasi tambahan yang tidak ada kaitannya dengan sistem
Program biner sistem esensial yang ditujukan khusus untuk administrator sistem
Data untuk layanan yang diberikan oleh sistem File sementara
Hierarki kedua setelah ( / ) ditujukan untuk user sistem Data yang bersifat variabel (spesifik pada mesin
bersangkutan)
/bin
Direktori berisi program perintah esensial yang dibutuhkan oleh semua user.
Tabel 2.2 Perintah-perintah pada /bin
Perintah Keterangan
cat chgrp chmod chown cp date dd df dmesg echo false hostname kill ln mkdir mknod more mount mv ps pwd
rm rmdir sed
Menampikan isi file ke dalam layar.
Mengganti grup file atau direktori.
Mengganti modus file atau direktori.
Mengganti kepemilikan file atau direktori.
Menyalin file.
Menampilkan/mengeset tanggal Untuk konversi atau menyalin file.
Menampilkan space yang digunakan sistem.
Menampilkan atau mengontrol pesan dari kernel.
Menampilkan teks dalam satu baris.
Tidak menjalankan apa-apa, dengan pesan tidak berhasil.
Menampilkan nama hostname sistem.
Mengirimkan sinyal ke proses Membuat link antar file.
Membuat direktori.
Membuat file khusus., bisa berupa device atau blok.
Menampilkan teks per halaman.
Mengaitkan sistem file.
Memindahkan file atau direktori.
Menampilkan proses yang sedang berjalan pada sistem.
Menampilkan letak direktori kerja saat perintah ini dijalankan.
Menghapus file atau direktori.
Menghapus direktori kosong.
Editor stream sed.
sh stty su sync true umount uname
shell bourne.
Mengganti dan menampilkan setting termina.
Mengganti user aktif.
Menyimpan buffer sistem file.
Tidak melakukan apa-apa, dengan pesan berhasil.
Melepaskan kaitan sistem.
Menampilkan informasi sistem/kernel yang sedang dijalankan
/boot
Berisi semua program biner dan data yang dibutuhkan untuk menjalankan boot sistem.
/dev
Direktori berisi semua file device, bai device blok maupun device karakter.
/etc
Berisi file konfigurasi.
Tabel 2.3 File-file pada /etc
File Keterangan
csh.login exports fstab ftpusers gateways gettydefs group host.conf hosts.allow hosts.deny hosts.equiv
File inisialisasi bagi semua user untuk shell Csh.
Daftar kontrol akses untuk direktori yang di-share lewat NFS.
Informasi statistik tentang sistem file.
Daftarkontrol akses pengguna layana FTP.
Daftar gateway yang digunakan untuk routing.
Kecepatan dan setting terminal yang digunakan oleh getty.
File grup users.
File konfigurasi untuk resolv nama host.
File berisi nama host yang diperbolehkan mengakses layanan yang dijalankan lewat TCP
File berisi nama host yang ditolak mengakses layanan yang dijalankan lewat TCP.
Dafatar host yang dipercaya untuk mengakses layanan (dapat menjalankannya walaupun tanpa memberikan username dan
hosts.lpd
inted.conf inittab issue networks passwd protocols services shells
password).
Daftar host yang diperbolehkan menjalankan lpd (daemon printer).
File konfigurasi untuk program inted.
Fiel konfigurasi untuk program init.
File pesan yang ditampilkan bagi setiap user yang login.
Informasi statistik tentang nama jaringan.
File password.
Dafatar protokol IP.
Dafatr nama dan nomor port untuk layanan jaringan.
Pathnames untuk shell login yang valid.
/home
Direktori untuk setiap user yang terdaftar di dalam sistem /lib
Berisi pustaka bersama yang digunakan secara bersama-sama oleh satu atau lebih program.
/media
Point pengaitan pada media yang dapat dibongkar pasang, seperti disket, USB disk, Zip drive dan sebagainya.
Tabel 2.4 direktpri pada /media
Direktori Keterangan
/media/floppy /media/cdrom /media/cdrecorder /media/zip
Untuk disket Untuk CD-ROM Untuk CD-RW Untuk zip drive
/mnt
Direktori tempat pengaitan sistem file sementara.
/opt
Berisi paket aplikasi tambahan.
/root
Direktori untuk user root.
/sbin
Berisi program biner esensial yang dibutuhkan untuk menjalankan dan memperbaiki sistem.
Tabel 2.5 Program pada /sbin
Program Keterangan
fastboot fasthalt fdisk fsck fsck.*
getty halt ifconfig init mkfs mkfs.*
mkswap reboot route swapon swapoff update
Boot sistem tanpa mengecek disk.
Mematikan sistem tanpa mengecek disk.
Program untuk manipulasi tabel partisi.
Program untuk mengecek sistem file.
Program untuk mengecek sistem file yang spesifik.
Program getty.
Program untuk mematikan proses.
Konfigurasi kartu jaringan.
Program induk untuk inisialisasi proses.
Membuat file sistem.
Membuat file sistem yang spesifik.
Membuat area swap.
reboot sistem.
Menentukan dan memanipulasi tabel routing IP.
Mengaktifkan swap.
Mematikan swap.
Daemon yang secara periodik menyimpan buffer sistem
/srv
Direktori untuk semua layanan sistem yang bersangkutan.
/tmp
Direktori tempat penyimpanan file temporari.
/usr
Direktori ini berisikan sistem lengkap.
2.4 APT (Advanced Packaging Tools)
Perintah-perintah apt-get adalah sebuah baris perintah handal-alat yang digunakan untuk bekerja dengan Ubuntu's Advanced Packaging Tool (APT) untuk melakukan fungsi-fungsi tersebut sebagai instalasi paket perangkat lunak yang baru, meng-upgrade paket perangkat lunak yang ada, meng-update daftar paket indeks, dan bahkan meningkatkan seluruh sistem Ubuntu.
2.4.1 Paket
Paket di Linux adalah kumpulan file, yang biasanya terdiri atas file-file yang dibutuhkan untuk kelengkapan sebuah aplikasi (Ahmad Sofyan, 2006:20).
Biasanya, paket pada Linux dikenal dua bentuk, yaitu paket suorce code dan paket biner.
1. Paket source code, berisi kode sumber program, dokumentasi, dan file header yang dibutuhkan membangun sebuah biner aplikasi. Paket ini biasanya berekstensi .tar.bz2 ataur .tar.gz. Untuk bisa menggunakan aplikasi di dalamnya, perlu dikompilasi terlebih dahulu.
2. Paket biner, berisi file biner yang sudah bisa langsung dieksekusi Biasanya dilenglapi dengan dokumentasi, manual, serta keterangan paketnya.
Biasanya berekstensi .rpm, .deb, .tgz. Untuk bisa menggunakan aplikasi di dalamnya
Sebetulnya tidak hanya pembuat distro saja, tapi pengguna Linux secara umum pun perlu memahami manajemen paket ini. Setiap kali distro keluar, paket- paket ini juga di-upgrade. Bahkan jumlahnya bisa ratusan paket dalam satu distro.
Kemampuan untuk mengatur paket ini mutlak, agar pengguna tahu program apa saja yang terinstal dalam Linux-nya dan di mana letak file mereka.
2.4.2 Bekerja Dengan APT
APT menggunakan sebuah file yang berisi daftar 'sumber' dari paket yang dapat diperoleh. File ini adalah / etc / apt / sources.list. Entri dalam file ini mengikuti format ini
deb http://host/ubuntu distribution section1 section2 section3 deb-src http://host/ubuntu distribution section1 section2 section3
Kata pertama pada setiap baris, deb atau deb-src, menunjukkan jenis arsip: apakah berisi paket binary (deb), yaitu pre-compiled paket-paket yang biasanya kita gunakan, atau paket source (deb-src),
Sekarang kita akan lihat perintah yang tersedia untuk apt-get 1. Update daftar paket yang tersedia
sudo apt-get update
Pilihan berikut dengan apt-get mungkin berguna -h teks bantuan ini.
-d Download hanya - TIDAK menginstal atau membongkar arsip -f Mencoba untuk melanjutkan jika gagal memeriksa integritas -s Tidak-bertindak. Lakukan pemesanan simulasi
-y Asumsikan Ya untuk semua pertanyaan dan tidak mendorong -u Tampilkan daftar paket upgrade serta
2. Menginstal Paket Menggunakan apt-get sudo apt-get install packagename
Contoh
sudo apt-get install apache2
3. Menggunakan Paket ulang apt-get
Jika mengalami kerusakan paket yang sudah diinstal, atau hanya menginginkan file dari sebuah paket yang akan diinstal ulang dengan versi terbaru yang tersedia, Anda dapat menggunakan opsi - opsi instal ulang
sudo apt-get --reinstall install packagename contoh :
sudo apt-get -- reinstall install apache2 4. Hapus Menggunakan Paket apt-get
sudo apt-get remove nama paket
Contoh
sudo apt-get remove apache2
Menjalankan apt-get seperti di atas akan menyebabkan paket-paket yang akan dihapus, tetapi file-file konfigurasi mereka, jika ada, akan tetap utuh pada sistem. Untuk penghapusan lengkap dari paket
sudo apt-get - purge remove packagename Contoh
sudo apt-get - purge remove apache2 5. Upgrade Paket
Perintah ini digunakan untuk meng-upgrade paket dalam distribusi yang sama, serta untuk meng-upgrade ke distribusi yang baru
sudo apt-get-u upgrade 6. Upgrade ke rilis baru
sudo apt-get-u dist-upgrade
Jika ingin meng-upgrade paket tertentu menggunakan perintah berikut sudo apt-get-u install packagename
Contoh
sudo apt-get-u install apache2
7. Hapus file paket yang tidak terpakai
Ketika menginstal sebuah paket yang diperlukan APT mengambil file dari host yang terdaftar di / etc / apt / sources.list, toko mereka di repositori lokal (/
var / cache / apt / arsip /), dan kemudian melanjutkan dengan instalasi. Dalam waktu repositori lokal dapat tumbuh dan menempati banyak ruang disk. APT juga menyediakan alat untuk mengelola repositori lokal.
apt-get clean akan menghapus semuanya kecuali mengunci file dari / var / cache / apt / archives / dan / var / cache / apt / archives / partial /. Jadi, jika Anda perlu menginstal ulang sebuah paket APT harus mengambil lagi.
sudo apt-get clean
apt-get paket autoclean hanya menghapus file-file yang tidak lagi dapat di- download
sudo apt-get autoclean
8. Cari packge tertentu
Jika ingin mencari packge tertentu menggunakan apt-cache. Program ini digunakan oleh sistem APT untuk menjaga database-nya.
9. Cari paket khusus
sudo apt-cache search packagename Contoh
sudo apt-cache search atari
Jika ingin mendapatkan informasi lebih lanjut tentang paket tertentu menggunakan perintah berikut
sudo apt-cache show packagename Contoh
sudo apt-cache show nagios3
Jika ingin mengetahui paket apa itu tergantung pada paket tertentu sudo apt-cache depends packagename
Contoh
sudo apt-cache depends nagios3
10. Cara untuk menemukan paket mana file milik
Jika ingin menginstal sebuah paket, dan Anda tidak dapat menemukan apa yang disebut dengan mencari dengan apt-cache, tapi mengetahui nama file program itu sendiri, atau nama file lain yang dimiliki oleh paket, maka dapat menggunakan apt -file untuk menemukan nama paket. Hal ini dilakukan seperti ini:
sudo apt-file filename search
11. Melihat daftar isi dari sebuah paket, dengan menjalankan sudo apt-daftar file packagename
apt-file yang menyimpan file database yang berisi semua paket, seperti auto- apt dilakukan dan perlu up-to-date. Hal ini dilakukan dengan menjalankan sudo apt-file update
12. Men-download paket source
Untuk men-download paket source, menggunakan perintah berikut:
sudo apt-get source packagename
Ini akan men-download tiga file: seorang. Orig.tar.gz, seorang. Dsc dan.
Diff.gz. Dalam kasus paket-paket yang dibuat khusus untuk Ubuntu, yang terakhir ini tidak di-download dan yang pertama biasanya tidak akan memiliki
"asli" dalam nama The. Dsc file yang digunakan oleh dpkg-sumber untuk membongkar paket source ke dalam direktori packagename-versi. Dalam setiap download paket source ada debian / direktori yang berisi file yang dibutuhkan untuk menciptakan .Deb paket. Untuk otomatis membangun paket ketika sudah didownload, tambahkan saja-b ke baris perintah
sudo apt-get-b source packagename
Paket yang diperlukan untuk mengkompilasi sebuah paket source Biasanya, spesifik dan shared library header perlu hadir agar sumber paket yang akan dikompilasi. Semua paket source memiliki kolom dalam file kontrol mereka disebut 'Build-Depends:' yang menunjukkan paket-paket tambahan yang diperlukan untuk paket yang akan dibangun dari source. APT memiliki cara sederhana untuk men-download paket-paket tersebut.
sudo apt-get build-dep paket