Saya kemaren sempet bikin mirror Ubuntu 10.04 LTS di salah satu server yang saya rawat. Nahhh, karena repository untuk satu arch (architecture) processor bisa mencapai 32 Gb maka saya berinisiatif untuk memisahkan script antara intel dengan amd64 agar ngga berbarengan jalannya.
Tapi ternyata, seperti yang saya ceritakan sebelumnya, repo yang terakhir selalu menimpa repo yang sebelumnya, haha, ternyata memang ngga boleh dijalanin lebih dari satu kali untuk target direktori yang sama, jadi harus berbarengan.
Oke, berikut cara membuat mirror repository Ubuntu 10.04 LTS yang saya ambil dan saya sederhanakan dari OpenSource TelkomSpeedy :
Asumsi
folder repo : /home/user/repo-10.4
server : dl2.foss-id.web.id atau 125.160.17.22
GNUPGHOME : /home/user/mirrorkeyring
Ubah informasi tersebut di sesuaikan dengan kondisi komputer anda
Install debmirror
# apt-get install debmirror
Buat folder untuk menempatkan repository, misalnya /home/user/repo-10.04
# mkdir /home/media/repo-10.4
Buatl script mirror
# nano /usr/local/bin/mirrorbuild.sh
Masukan script berikut :
#!/bin/bash export GNUPGHOME=/home/media/mirrorkeyring arch=i386, amd64, powerpc section=main,restricted,universe,multiverse release=lucid,lucid-security,lucid-updates,lucid-backports,lucid-proposed #server=opensource.telkomspeedy.com:5432 #server=dl2.foss-id.web.idserver=125.160.17.22 #server=kambing.ui.ac.id inPath=ubuntu proto=http outPath=/home/andri/repo-10.04 debmirror -a $arch \ --no-source \ -s $section \ -h $server \ -d $release \ -r $inPath \ --progress \ -e $proto \ $outPath
Simpan script diatas
Ubah ijin agar file mirrorbuild.sh dapat di jalankan
# chmod -Rf 777 /usr/local/bin/mirrorbuild.sh
Ubah ijin dari folder mirror
# chown -Rf root.root /home/user/repo-10.04 # chmod -Rf 571 /home/user/repo-10.04
Buat folder untuk mirror keyring
# mkdir /home/user/mirrorkeyring # gpg --no-default-keyring --keyring /home/user/mirrorkeyring/trustedkeys.gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg
Jalankan mirrorbuild.sh
# /usr/local/bin/mirrorbuild.sh
Cron supaya repository diupdate secara periodik :
# crontab -e
Agar setiap jam 10 malam di update. Isi dengan perintah :
0 * * * * /usr/local/bin/mirrorbuild.sh
Aktifkan cron
# /etc/init.d/cron restart
Agar repo bisa digunakan melalui protokol http, install Apache terlebih dahulu :
# apt-get install apache2
Buat link statik antara download repository ke Web
# mkdir /var/www/ubuntu # mount --bind /home/media/repo-9.10 /var/www/ubuntu
Setting di client untuk agar bisa menggunakan repository yang baru dibuat :
deb http://[ip/domain mirror]/ubuntu/ lucid main restricted universe multiverse deb http://[ip/domain mirror]/ubuntu/ lucid-updates main restricted universe multiverse deb http://[ip/domain mirror]/ubuntu/ lucid-security main restricted universe multiverse deb http://[ip/domain mirror]/ubuntu/ lucid-backports main restricted universe multiverse deb http://[ip/domain mirror]/ubuntu/ lucid-proposed main restricted universe multiverse
Yang perlu diperhatikan :
*) Pastikan punya koneksi internet yang mumpuni, pengalaman saya membuat repo untuk 2 arch memakan waktu semalam lebih (dengan koneksi 10 mbps)
*) Pastikan juga hdd kosong sekitar 62 Gb untuk 1 distro dengan 2 arch, dengan asumsi 1 arch = 32 Gb
*) Perintah yang diawali tanda # berarti dijalankan sebagai super user
*) Jika mengalami kegagalan pada saat menjalankan mirrorbuild.sh, coba jalankan ulang gpgkeyring (gpg –no-default-keyring –keyring /home/user/mirrorkeyring/trustedkeys.gpg –import /usr/share/keyrings/ubuntu-archive-keyring.gpg)
*) Sumber artikel diambil dari OpenSource TelkomSpeedy
Semoga Bermanfaat 😉