Saya ingin membuat server-repo-lokal Ubuntu di tempat saya bekerja. Mengapa saya harus membuat repo lokal ini? Kebayang kalo semua komputer di kantor saya musti terhubung ke server repo di luar. Yaa, minimal ke kambing.ui.ac.id deh.. Berapa trafik yang terbuang percuma untuk mengakses repository Ubuntu di sana.
Setelah saya googling sana sini, akhirnya saya menemukan cara untuk membuat mirror lokal dvd repository Ubuntu hehe..Untungnya, saya sudah punya 6-7 buah dvd repository distro Ubuntu yang saya butuhkan, jadi saya ngga perlu me-mirroring dari awal lagi (baca=download) yang besarnya ampe 60GBan #:-S
Pada saat saya membuat repository, saya membuat untuk distro Jaunty. Namun, saat ini repo yang saya punya sudah mendukung repo Jaunty dan juga Karmic.
Ok, langsung to-the-point. Yang ada butuhkan adalah:
1. Server yang mau dijadiin Server Repo. (yaa iyaalaah.. masa ngga ada servernya..) dan terinstall OS Linux. Saya pake Ubuntu 9.04
2. Koneksi internet pada server repo anda di atas untuk mirroring (baca=syncing) dengan server Repo Ubuntu online. Saya me-mirror server Repo saya dari server id.ubuntu. Bisa juga memakai server kambing. Ini cuman pilihan kok.. hehe.. Cari aja server Repo di Indonesia yang paling cepet.. Kalo mo lengkapnya.. Coba liat di sini
3. Enam sampe Tujuh DVD Repository Ubuntu (tergantung distro nya). Bisa didapat dari dvd repository distro Ubuntu. Saya menggunakan Distro Ubuntu berarsitektur i386.
4. Tool “debmirror”. Saya lupa, harus diinstall apa ngga yup..
.. Kalo blom, mungkin bisa diinstall pake command “apt-get install debmirror”
Ok, langsung aja dimulai tutorialnya yup..
Install webserver di server Repo lokal anda
Mengapa perlu webserver? sebenarnya banyak cara lain dari client untuk mengakses server Repo, bisa pake ftp juga.. salah satunya–dan yang paling mudah–ya web-based.
sudo apt-get install apache2
Membuat folder “~/ubuntu”
sudo mkdir /var/www/ubuntu
foldernya tergantung anda dan webserver anda. Silahkan tentukan sendiri sesua setingan webserver anda. Saran saya sih ntarnya URL anda jadi http://server.repo.anda.com/ubuntu
Copy isi dari tiap DVD anda ke folder ~/ubuntu anda
Biar gampang, masuk mode root aja deh..biar ngga usah pake sudo..
Masukkan dvd #1
cp --recursive --verbose /media/cdrom/pool /var/www/ubuntu
chmod --recursive --verbose u+w /var/www/ubuntu/pool
Masukkan dvd #2
cp --recursive --verbose /media/cdrom/pool /var/www/ubuntu
chmod --recursive --verbose u+w /var/www/ubuntu/pool
Masukkan dvd sisanya dan lakukan langkah yang sama
Note: Setelah anda meng-copy semuanya, anda mungkin memiliki 6 dvd berarsitektur amd64 yang ingin dimasukkan ke dalam server repo lokal anda..
Lakukan langkah berikut:
Masukkan dvd #1 amd64
cp --recursive --update --verbose /media/cdrom/pool /var/www/ubuntu
chmod --recursive --verbose u+w /var/www/ubuntu/pool
Kata “–update” di sini berfungsi untuk memastikan bahwa hanya file baru (atau lebih baru dari yang sebelumnya ada) yang akan di-copy
Membuat Keyring untuk server repo lokal anda
gpg --no-default-keyring --keyring /usr/share/keyrings/ubuntu-archive-keyring.gpg --export \
| gpg --no-default-keyring --keyring trustedkeys.gpg --import
Server harus membuat keyring untuk membolehkan “debmiror” untuk memvalidasi integritas dari server lokal anda
Test drive tool “debmirror”
Yeahhh.. akhirnya server repo lokal anda sudah jadi hehehe.. Eits, tapi ngga semua file yang ada di Repo Ubuntu internasional ada di server lokal anda, dan juga repo anda tidak up-to-date.. Untuk itu, anda harus memirror (baca=syncing) dengan Repo Ubuntu di internet.
Sebelum anda me-mirror, sebaiknya anda melakukan Test Drive terlebih dahulu. Anda bisa lakukan Test Drive dengan menggunakan parameter “dry-run” pada perintah “debmirror”.
debmirror --dry-run --nosource --md5sums --passive \
--host=online-repository-host --root=ubuntu --method=http --progress \
--dist=dist-list --section=section-list --arch=arch-list \
/var/www/ubuntu
online-repository-host merepresentasikan mirror online yang mau disinkronisasi dengan server repo lokal anda. Anda bisa menggunakan “id.archive.ubuntu.com” atau “kambing.ui.ac.id” atau mirror online kesayangan anda
dist-list merepresentasikan nilai dari distribusi yang akan disinkronkan. Diisi dengan “jaunty,jaunty-backports,jaunty-security,jaunty-updates,jaunty-proposed” sesuai dengan distro anda
section-list merepresentasikan nilai dari sectionyang akan disinkronkan. Diisi dengan “main,multiverse,restricted,universe”. Silahkan isi sesuai dengan yang anda inginkan
arch-list merepresentasikan nilai dari arsitektur yang akan disinkronkan. Bisa diisi dengan “i386″, atau “amd64“, atau keduanya “i386,amd64“.
Setelah anda lakukan test drive, anda dapat melihat setingan anda itu benar apa tidak.
ATTENTION: Cara kerja debmirror adalah “membandingkan dengan server online, apakah file-file di dalam subdirectories mirror anda (dalam hal ini /var/www/ubuntu) apakah file yang terdapat di dalam direktori lokal kita sudah up-to-date dengan mirror online? jika tidak, donlot file yang baru, HAPUS file lama, dan HAPUS SEMUA FILE YANG TIDAK BERKEPENTINGAN DALAM FOLDER LOKAL”
Oleh karena itu, gunakan test-drive ini sebagai alat untuk melihat apakah setingan kita sudah bener atau belum. Jangan sampai 6 DVD yang kita copy, dihapus begitu saja oleh tool debmirror
Menjalankan “debmirror” sebenarnya
Setelah test-drive dirasa sudah cukup, sekarang tinggal memirror server lokal kita dengan server online. Gunakan perintah debmirror TANPA –dry-run.
debmirror--nosource --md5sums --passive \
--host=online-repository-host --root=ubuntu --method=http --progress \
--dist=dist-list --section=section-list --arch=arch-list \
/var/www/ubuntu
Nah, pada server yang saya gunakan, saya menggunakan perintah sebagai berikut
debmirror --nosource --md5sums --passive \
--host=id.archive.ubuntu.com --root=ubuntu --method=http --progress \
--dist=jaunty,jaunty-backports,jaunty-security,jaunty-updates,jaunty-proposed,karmic,karmic-backports,karmic-security,karmic-updates,karmic-proposed \
--section=main,multiverse,restricted,universe \
--arch=i386,amd64 \
/var/www/ubuntu
Silakan tunggu beberapa jam
, atau jika akses internet anda lambat, mungkin bisa beberapa hari..hehe..
Sekian konfigurasi untuk server.. Nanti saya update lagi kalo ada perbaikan..
————————————————————
Teks ini banyak diambil dari
http://ubuntuforums.org/showthread.php?t=352460&page=25
———————————————————–

Pertamax Gan….
Mantep nih… thumbs… cendol 3 gerobak… hihihi
diterima gan cendol nya wakakak..
tutorial ini sudah berhasilkah dicobakan???
udah donk.. skarang servernya mendukung jaunty i386 & amd64.. karmic i386 & amd64 ama lucid i386 & amd64
sebelumnya terimakasih, saya sudah mencobanya dan berhasil tapi saya membuat setiap dvd jd 1 folder tidak saya jadikan satu.
ada yang ingin saya tanyakan
1. –root=ubuntu
“ubuntu” ini apa yah apakah letak folder yang ingin di sync? atau user?
2. “/var/www/ubuntu” ini apa? apakah berisi path dari foledernya?
soalnya saya copykan isi dari dvd di path “/var/www/mirror/repo/ubuntu” dan di dalam folelder ubuntu berisi folder “cd1″… “cd8″
terus kalo ada banyak folder seperti yang saya buat bagaimana cara untuk update nya terimakasih….
Terima kasih banyak.. sudah saya praktekkan dan sekarang dalam proses mirroring dengan server http://kambing.ui.ac.id
Mas mo tanya, klo meu menghapus repo 1 versi gimana? ceritanya repo saya sudah mendukung karmic, lucid dan natty. Nah karena space hardisk mulai kritis jadi saya ingin menghapus repo karmic, gimana caranya?