Membuat Repository Ubuntu 10.04 Untuk Beberapa arch (i386, amd64, powerpc)

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 😉