Rangkuman 1 Sistem Operasi 2
Pendahuluan
Perjalanan penulis untuk belajar dan memahami linux dimulai pada tahun 1998. Penulis menginstal distribusi linux untuk pertama kali dan langsung tertarik. Disini penulis memprioritaskan pekerjaannya dengan ulet hingga dengan terus-menerus untuk mencoba linux. Dan hingga akhirnya penulis bisa mendapat keuntungan didalam dirinya yaitu dapat mengelola linux dengan baik dan menjadi keuntungan tersendiri untuk penulis.
Audiens
Salah satu alasan penting untuk proyek ini untuk menolong anda bagaimana cara mempelajari sistem linux bekerja dari dalam keluar. Membagun sistem LFS menolong untuk mendemonstrasikan untuk menolong apa yang membuat linux tick, bagaimana sistem tersebut bekerja secara bersama dan bergantung satu sama lain. Salah satu yang terbaik yaitu pengalaman mampu mengatur sistem linux untuk anda dan sesuai selera kebutuhan. Banyak sekali alasan baik untuk membuat sistem LFS milik anda untuk dilihat mereka disini. Pada akhirnya, pendidikan yang jauh menjadi kekuatan sebagai alasan tersendiri. Sebagai lanjutan dari pengalaman LFS, anda akan berjelajah sendiri untuk mengetahuinya.
Sasaran Arsitektur LFS
LFS dan Standar
Struktur dari LFS yang mengikuti standar Linux sedekat mungkin. Standar utamanya adalah sebagai berikut :
• POSIX.1-2008.
• Filesystem Hierarchy Standard version 3.0 Draft 1 (FHS)
• Linux Standard Base (LSB) Specifications
LFS memiliki dibagi menjadi 5 standard, yaitu Core, C++, Desktop, Runtime Languages, and Printing. Berikut Perbandingan jika menggunakan LFS dengan yang lain :
Packages supplied by LFS needed to satisfy the LSB Requirements
LSB Core: Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, Grep, Gzip, M4, Man-
DB, Ncurses, Procps, Psmisc, Sed, Shadow, Tar, Util-linux, Zlib
LSB C++: Gcc
LSB Desktop: None
LSB Runtime Languages: Perl
LSB Printing: None
LSB Multimeda: None
Packages supplied by BLFS needed to satisfy the LSB Requirements
LSB Core: At, Batch (a part of At), Cpio, Ed, Fcrontab, Initd-tools, Lsb_release, PAM,
Sendmail (or Postfix or Exim)
LSB C++: None
LSB Desktop: ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, Glib2, GTK+2, Iconnaming-
utils, Libjpeg, Libpng, Libxml2, MesaLib, Pango, Qt4, Xorg
LSB Runtime Languages: Python
LSB Printing: CUPS
Linux From Scratch – Version 7.5
xi
LSB Multimeda: Alsa Libraries, NSPR, NSS, OpenSSL, Java, Xdg-utils
Packages not supplied by LFS or BLFS needed to satisfy the LSB Requirements
LSB Core: time (executable) and pax
LSB C++: None
LSB Desktop: Qt3
LSB Runtime Languages: None
LSB Printing: None
LSB Multimeda: None
Rasional untuk pemaketan di buku
Dibawah ini merupakan daftar dari paket rasional dokumen di buku ini:
• Autoconf
Paket ini mengandung program untuk memproduksi shell scripts yang secara sendiri dapat dikonfigurasi dari template pengembang. Paket tersebut sering dibutuhkan untuk membangun ulang sebuah paket setelah update untuk membangun prosedur.
• Automake
Paket ini mengandung program untuk membangkitkan pembuatan file dari template. Paket tersebut sering dibutuhkan untuk membangun ulang sebuah paket setelah update untuk membangun prosedur.
• Bash
Paket ini memuaskan sebuah kelengkapan core LSB dan menyediakan sebuah Bourne Shell interface untuk sistem. Paket tersebut cocok untuk basic shell.
• Bc
Paket ini menyediakan bahasa presisi angka yang dapat berubah-ubah. Paket tersebut menyediakan kelengkapan yang dibutuhkan ketika membangun kernel Linux.
• Binutils
Paket ini mengandung linker, sebuah assembler dan alat lain untuk mengendalikan file obyek.
• Bison
Paket ini mengandung versi GNU dari yacc(Yet Another Compiler Compiler) dibutuhkan untuk membangun beberapa program LFS yang lain.
• Bzip2
Paket ini mengandung program untuk kompresi dan dekompresi sebuah file.
• Check
Paket ini mengandung sebuah test harness untuk program lain.
• Coreutils
Paket ini mengandung beberapa program penting untuk melihat dan memanipulasi file program dan direktori.
• DejaGNU
Paket ini mengandung sebuah framework untuk mengetes program lain.
• Diffutils
Paket ini mengandung program yang dapat menampilkan perbedaan antara file dengan direktori.
• E2fsprogs
Paket ini mengandung perlengkapan untuk mengendalikan sistem file ext2, ext3, ext4.
• Expect
Paket ini mengandung sebuah program untuk membawa dialog skrip keluar menjadi skrip interaktif program.
• File
Paket ini mengandung perlengkapan untuk memutuskan tipe yang diberikan file atau files.
• Findutils
Paket ini mengandung program untuk mencari file di sistem file.
• Flex
Paket ini mengandung perlengkapan untuk memproses bentuk program yang dikenal didalam teks.
• Gawk
Paket ini berisi program untuk memanipulasi teks file.
• Gcc
Paket ini untuk Gnu Compiler Collection.
• GDBM
Paket ini berisi GNU Database Manager library.
• Gettext
Paket ini berisi perlengkapan dan libraries untuk internationalization and localization of numerous packages.
• Glibc
Paket ini berisi librari utama C.
• GMP
Paket ini mengandung librari matematika yang menyediakan fungsi yang berguna untuk presisi aritmetika yang berubah-ubah.
• Grep
Paket ini berisi program untuk mencari file.
• Groff
Paket ini berisi program untuk memproses dan memformat teks.
• GRUB
Paket ini adalah Grand Unified Boot Loader. Salah satu dari boot loader yang tersedia namun flexibel.
• Gzip
Paket ini berisi program untuk kompresi dan dekompresi file.
• Iana-etc
Paket ini menyediakan data untuk layanan haringan dan protokol.
• Inetutils
Paket ini berisi program untuk dasar administrasi jaringan.
• IProute2
Paket ini berisi program untuk dasar dan keahlian jaringanIPv4 and IPv6.
• Kbd
Paket ini berisi key-table files, keyboard utilities for non-US keyboards, and a number of console fonts.
• Kmod
Paket ini berisi program yang dibutuhkan untuk modul administer Linux kernel.
• Less
Paket ini berisi pelihat teks yang sangat baik yang dapat menscroll atas maupun bawah.
• Libpipeline
Paket ini berisi librari untuk memanipulasi pipelines dari subprocesses di sebuat flexibel dan tepat.
• Libtool
Paket ini berisi GNU dukungan skrip dukungan paket librari.
• Linux Kernel
Paket ini adalah sistem operasi.
• M4
Paket ini berisi teks umum dari proseso yang berguna untuk membangun alat untuk program lain.
• Make
Paket ini mengandung program untuk kelangsungan membangun paket.
• Man-DB
Paket ini mengandung program untuk mencari dan melihat man pages.
• Man-pages
Paket ini mengandung konten aktual dari dasar linux man pages.
• MPC
Paket ini mengandung untuk angka kompleks aritmetika.
• MPFR
Paket ini berisi fungsi untuk presisi ganda.
• Ncurses
Paket yang mengandung librari untuk terminal yang independen mengendalikan layar karakter.
• Patch
Paket ini mengandung program untuk modifikasi atau membuat file dengan mengaplikasikan sebuat patch file secara tipe membuat program yang berbeda.
• Perl
Paket ini sebagai interpreter untuk runtime language PERL.
• Pkg-config
Paket ini menyediakan program untuk mengembalikan meta-data tentang sebuat librari instal atau paket.
• Procps-NG
Paket ini mengandung program untuk pemonitoran proses.
• Psmisc
Paket ini mengandung program untuk menampilkan informasi tentang proses running.
• Readline
Paket ini adalah aturan dari librari yang menawarkan pengeditan command-line dan sejarah kapabilitas.
• Sed
Paket ini mengijinkan untuk mengedit teks tanpa membuka teks editor.
• Shadow
Paket ini mengandung program untuk mengendalikan password dalam jalan yang aman.
• Sysklogd
Paket ini mengandung program untuk pesan sistem logging, seperti yang diberikan proses kernel ataupun daemon ketika kejadian yang tidak biasa.
• Sysvinit
Paket ini menyediakan init program.
• Tar
Paket ini mentediakan untuk arsip dan ekstraksi kapabilitas secara virtual semua paket yang digunakan di LFS.
• Tcl
Paket ini mengandung Tool Command Language yang digunakan banyak tes yang memuat paket LFS.
• Texinfo
Paket ini mengandung program untuk membaca, menulis, dan konversi halaman info.
• Udev
Paket ini mengandung program untuk kreasi dinamis dari perangkat node.
• Util-linux
Paket ini mengandung kelengkapan aneka ragam program.
• Vim
Paket ini adalah editor.
• XZ Utils
Paket ini mengandung program kompresi dan dekompresi file.
• Zlib
Paket ini mengandung kompresi dan dekompresi yang digunakan oleh beberapa program.
Prasyarat
Membangun sebuah sistem LFS adalah hal yang tidak mudah karena dibutuhkan tingkatan pengetahuan dari sistem Unix untuk menyelesaikan masalah dan eksekusi command secara benar.
Sebelum membuat sebuah sistem LFS, disarankan membaca link beberapa dibawah :
- Software-building-HOWTO di Before building an LFS system, we recommend reading the following HOWTOs: http://www.tldp.org/HOWTO/Software-Building-HOWTO.html
- Petunjuk User Linux di : http://tldp.org/pub/Linux/docs/ldp-archived/users-guide/
- Pentingnya petunjuk pre reading di : http://www.linuxfromscratch.org/hints/downloads/files/essential_prereading.txt
Semua orang jika ingin menginstall LFS disarankan untuk menemahami banyak topik pada petunjuk diatas.
Syarat Keperluan Host
Sistem host anda seharusnya memiliki software yang diikuti dengan minimum versi indikasi. Pastikan untuk menginstalnya jika distribusi anda memuat paket nama developer dengan bentuk <package-name>-devel atau <package-name>-dev.
Versi lebih awal didaftar paket software mungkin bekerja namun belum dites.
• Bash-3.2 (/bin/sh should be a symbolic or hard link to bash)
• Binutils-2.17 (Versions greater than 2.24 are not recommended as they have not been tested)
• Bison-2.3 (/usr/bin/yacc should be a link to bison or small script that executes bison)
• Bzip2-1.0.4
• Coreutils-6.9
• Diffutils-2.8.1
• Findutils-4.2.31
• Gawk-4.0.1 (/usr/bin/awk should be a link to gawk)
• GCC-4.1.2 including the C++ compiler, g++ (Versions greater than 4.8.2 are not recommended as they have not
been tested)
• Glibc-2.5.1 (Versions greater than 2.19 are not recommended as they have not been tested)
Grep-2.5.1a
• Gzip-1.3.12
• Linux Kernel-2.6.32
• M4-1.4.10
• Make-3.81
• Patch-2.5.4
• Perl-5.8.8
• Sed-4.1.5
• Tar-1.18
• Xz-5.0.0
untuk melihat sistem host anda menggunakan versi yang tepat dan dapat mengompilasi program, jalankan langkah-langkah sebagai berikut :
cat > version-check.sh << “EOF”
#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash –version | head -n1 | cut -d” ” -f2-4
echo “/bin/sh -> `readlink -f /bin/sh`”
echo -n “Binutils: “; ld –version | head -n1 | cut -d” ” -f3-
bison –version | head -n1
if [ -e /usr/bin/yacc ];
then echo “/usr/bin/yacc -> `readlink -f /usr/bin/yacc`”;
else echo “yacc not found”; fi
bzip2 –version 2>&1 < /dev/null | head -n1 | cut -d” ” -f1,6-
echo -n “Coreutils: “; chown –version | head -n1 | cut -d”)” -f2
diff –version | head -n1
find –version | head -n1
gawk –version | head -n1
if [ -e /usr/bin/awk ];
then echo “/usr/bin/awk -> `readlink -f /usr/bin/awk`”;
else echo “awk not found”; fi
gcc –version | head -n1
g++ –version | head -n1
ldd –version | head -n1 | cut -d” ” -f2- # glibc version
grep –version | head -n1
gzip –version | head -n1
cat /proc/version
m4 –version | head -n1
make –version | head -n1
patch –version | head -n1
echo Perl `perl -V:version`
sed –version | head -n1
tar –version | head -n1
xz –version | head -n1
echo ‘main(){}’ > dummy.c && g++ -o dummy dummy.c
if [ -x dummy ]
then echo “g++ compilation OK”;
else echo “g++ compilation failed”; fi
rm -f dummy.c dummy
for lib in lib{gmp,mpfr,mpc}.la; do
echo $lib: $(if find /usr/lib* -name $lib|
grep -q $lib;then :;else echo not;fi) found
done
unset lib
EOF
bash version-check.sh
Tipografi
Untuk membuat langkah lebih mudah dalam pengkodingan, ada beberapa tipografi yang dikenal digunakan untuk mengenal lebih jauh buku ini. Sesi ini akan mengenalkan beberapa contoh tipografi format dan menemukan lebih jauh LFS.
./configure –prefix=/usr
Kode ini selalu digunakan untuk menjelaskan sesi untuk mengidentifikasi dimana command telah direferensikan.
CC=”gcc -B/usr/bin/” ../binutils-2.18/configure \
–prefix=/tools –disable-nls –disable-werror
Backslash harus diikuti oleh immediate return. Karakter whitespace lain seperti spasi atau tab akan menghasilkan hasil yang salah.
install-info: unknown option ‘–dir-file=/mnt/lfs/usr/info/dir’
bentuk dari teks ini menampilkan output layar, kadang-kadang sebagai hasil dari isu command. Format tersebut juga figunakan untuk menampilkan nama file
/etc/ld.so.conf.
Emphasis
Bentuk dari teks ini digunakan untuk beberapa tujuan di buku.poin penting emphasize bisa dilihat di : http://www.linuxfromscratch.org/
cat > $LFS/etc/group << “EOF”
root:x:0:
bin:x:1:
……
EOF
Format ini digunakan ketika membuat file konfigurasi. Command pertama menceritakan sistem untuk membuat file $LFS/etc/
group from dari apa saja yang diketik mengikuti garis sampai urutan akhir file(EOF).
<REPLACED TEXT>
Format ini digunakan untuk mengenkapsulasi teks yang tidak diketik terlihat untuk operasi kopi dan paste.
[OPTIONAL TEXT]
Format ini digunakan untuk enkapsulasi teks secara opsional.
passwd(5)
format ini digunakan untuk mendasarkan sebuah halaman manual secara spesifik.
Struktur
Buku ini dibagi dalam beberapa bagian yaitu :
Part I – Perkenalan
Part I menjelaskan beberapa catatan penting bagaimana untuk memulai dengan instalasi LFS tau bisa diartikasn sebagai metainformasi tentang buku.
Part II – Persiapan untuk pembuatan
Part II menggambarkan bagaimana cara mempersiapkan untuk proses pembangunan-pembuatan partisi, download paket, dan mengompilasi alat temporary.
Part II – Membangun Sistem LFS
Part III meuntun pembaca dari pemulaan hingga akhir tentang membangun sistem LFS-mengompile dan menginstall semua paket satu per satu, mengatur boot script,menginstall kernel. Hasil sistem linux adalah pendirian software lainyang dapat dibangun untuk mengexpand sustem sesuai selera. Pada bagian akhir buku ini, banyak sekali sumber kemudahan untuk mendengarkan semua dari program, librari, dan file penting yang telah diinstal.
Recent Comments