Debian Sarge dikemas dalam 14 CD, jauh lebih banyak dibandingkan distro linux yang lain. Berisi lebih dari 14000 aplikasi. Jauh membengkak dari yang sebelumnya 7 CD untuk Debian Woody. Sebenarnya, untuk menginstall sistem dasar cukup menggunakan CD pertama atau CD Netinstall. Sisanya, debian akan mendownload paket-paket yang dibutuhkan. Bagi yang memiliki akses internet cepat, bukanlah masalah. Namun, bagi pengguna yang tidak memiliki akses internet, keempat belas CD tersebut sangat membantu.
Saat menginstall debian, semua CD akan discan , agar sistem mengetahui CD mana yang harus dibuka untuk menginstall suatu aplikasi. Misalkan anda ingin menginstall Apache, sistem akan meminta anda untuk memasukkan CD ke-1, 5, dan 7. Semakin sering anda menginstall, semakin sering anda bolak-balik memasukkan CD. Jelas ini tidak praktis. Berbeda dengan netinstall, anda tinggal menunggu hingga semua paket terdownload. Sistem secara otomatis menginstall dan selesai.
Local repository, sebenarnya memanfaatkan CD-CD yang sudah ada, dibuat menjadi semacam repository di internet, yang bisa diakses secara LAN. Ada 2 hal penting supaya local repository dapat bekerja:
· Struktur direktori
· File Packages.gz dan Release
Agar lebih jelas, kita bandingkan struktur direktori antara salah satu mirror di internet dengan local repository yang akan dibuat.
Gb 1. Struktur direktori pada mirror debian.indika.net.id
Gb 2. Struktur direktori pada local repository
Paket-paket yang ada di dalam CD, termasuk dalam release Sarge. Terbagi dalam 2 kelompok, contrib dan main. Kita cukup membuat struktur direktori berdasarkan kondisi tersebut, sehingga direktori yang tidak terpakai bisa dihilangkan (Gb 2).
1. Http Server
Install apache
# apt-get install apache2
Repository akan diletakkan dibawah direktori /var/www. Buat struktur direktori seperti pada gambar diatas.
# cd /var/www/
# mkdir debian
# mkdir debian/{dists,pool}
# mkdir debian/dists/sarge
# mkdir debian/dists/sarge/{contrib,main}
# mkdir debian/dists/sarge/contrib/binary-i386
# mkdir debian/dists/sarge/main/binary-i386
# mkdir debian/pool/{contrib,main}
Copykan semua paket debian yang ada di CD ke direktori /var/www/debian/pool.
# mount /media/cdrom
# cd /media/cdrom/pool/
# cp –r * /var/www/debian/pool/
# cd /
# umount /media/cdrom
Masukkan CD ke-2, mount dan copykan hingga CD terakhir. Anda bisa menambah atau mengurangi paket yang ada di dalam repository. Yang diperlukan hanyalah penyusaian isi lokal repositori dengan file Packages.gz. Tanpa kehadiran file Packages.gz dan Release, repository tidak akan bekerja. Packages.gz, berisi data semua paket yang berada dalam repositori.
untuk bagian contrib:
# cd /var/www/debian/
# dpkg-scanpackages pool/contrib/ /dev/null | gzip > Packages.gz
# mv Packages.gz dists/sarge/contrib/binary-i386/
untuk bagian main:
# cd /var/www/debian
# dpkg-scanpackages pool/main/ /dev/null |gzip > Packages.gz
# mv Packages.gz dists/sarge/main/binary-i386/
File Release berisi informasi arsitektur paket debian. Inilah isi file Release untuk bagian contrib. Jika Release berada pada bagian main, maka entri Component akan tertulis main.
Gb 3. Isi file Release Kita cukup mengcopykan file Release yang ada di CD ke repository
# mount /mnt/cdrom
# cd /mnt/cdrom/dists/sarge/contrib/binary-i386/
# cp Release /var/www/debian/dists/sarge/contrib/binary-i386/
# cp Release /var/www/debian/dists/sarge/main/binary-i386/
Local repository telah siap
1. FTP Server
Install proftpd
# apt-get install proftpd
Jangan lupa untuk mengaktifkan user anonymous, agar client tidak perlu memasukkan username saat menggunakan local repository. Hilangkan tanda “#” di awal baris file proftpd.conf
# nano /etc/proftpd.conf
| # A basic anonymous configuration, no upload directories. # # User ftp # Group nogroup # # We want clients to be able to login with "anonymous" as well as "ftp" # UserAlias anonymous ftp # # Cosmetic changes, all files belongs to ftp user # DirFakeUser on ftp # DirFakeGroup on ftp # # RequireValidShell off # # # Limit the maximum number of anonymous logins # MaxClients 10 # # # We want 'welcome.msg' displayed at login, and '.message' displayed # # in each newly chdired directory. # DisplayLogin welcome.msg # DisplayFirstChdir .message # # # Limit WRITE everywhere in the anonymous chroot # # # DenyAll # # # # # Uncomment this if you're brave. # # # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # # # DenyAll # # # # # # AllowAll # # # # # # |
Restart proftpd,
# /etc/init.d/proftpd restart
Tidak seperti http server, local repository diletakkan pada direktori /home/ftp. Jadi, saat anda mengerjakan, tidak lagi berada di direktori /var/www namun di /home/ftp. Struktur direktori, Packages.gz, dan Release semua sama dengan http server.
# cd /home/ftp/
# mkdir debian
# mkdir debian/{dists,pool}
# mkdir debian/dists/sarge
# mkdir debian/dists/sarge/{contrib,main}
# mkdir debian/dists/sarge/contrib/binary-i386
# mkdir debian/dists/sarge/main/binary-i386
# mkdir debian/pool/{contrib,main}
Mengcopy semua paket debian yang ke direktori /home/ftp/debian/pool.
# mount /media/cdrom
# cd /media/cdrom/pool/
# cp –r * /home/ftp/debian/pool/
# cd /
# umount /media/cdrom
Menambahkan file Packages.gz dan Release ke dalam repository.
# cd /home/ftp/debian/
# dpkg-scanpackages pool/contrib/ /dev/null | gzip > Packages.gz
# mv Packages.gz dists/sarge/contrib/binary-i386/
# cd /home/ftp/debian
# dpkg-scanpackages pool/main/ /dev/null |gzip > Packages.gz
# mv Packages.gz dists/sarge/main/binary-i386/
Mengcopy file Release ke repository
# mount /mnt/cdrom
# cd /mnt/cdrom/dists/sarge/contrib/binary-i386/
# cp Release /home/ftp/debian/dists/sarge/contrib/binary-i386/
# cp Release /home/ftp/debian/dists/sarge/main/binary-i386/
2. Konfigurasi Client
Cara menggunakan local repository sangatlah mudah. Edit file /etc/apt/sources.list. Tambahkan entri seperti berikut, sesuai dengan tipe local repository yang dibuat.
- http server
deb http://ip_lokal_repositori/debian sarge contrib main
- ftp server
deb ftp://ip_lokal_repositori/debian sarge contrib main
# nano /etc/apt/sources.list
Gb 4. Setting repository pada client
Lakukan update,
# apt-get update

Gb 5. Updating apt
Anda telah siap menginstall aplikasi, langsung dari repository.
