Posts tagged repository

Berapa besar arsip Debian?

Rilis:
0. Buzz 229Mb
1. Rex 306 Mb
2. Bo 1.2 Gb
3. Hamm 2.1 Gb
4. Slink 4.1 Gb
5. Potato 6.7 Gb
6. Woody 27 Gb
7. Sarge 57 Gb
8. Etch 82 Gb
9. Lenny 125 Gb
10. Squeeze 1 Tb?

update Harian:
0. Pada tahun 2005: dari 200 Mb sampai 2Gb, rata-rata 1Gb. Sekali sehari update
1. Pada tahun 2009: dari 1 Gb sampai 6Gb, rata-rata 2Gb. Update 4 kali sehari.

nah lo.. banyak sekali…. Hebat bukan?

Sumber:  https://penta.debconf.org/dc9_schedule/events/496.en.html

Repository Debian lama

Kadang menjadi masalah bila adik-adik SMK kejuruan TIK pabila ingin mencari server repository Debian lama, kenapa? ya karena di ftp.debian.org sudah tidak ada lagi. arsip lama ini hanya ada di archive.debian.org. nah tapi kabar gembiranya sekarang ada di Indonesia. alamatnya.

Repository ini sudah lengkap semua arsitektur, rilis maupun kode sumber. Silakan di sedot…

Rilis DVD Repository OpenSUSE 11.1

Ini murni bikinan saya :D , untuk press release silakan lihat di sini.

untuk membuat dvd ini dibutuhkan paket antara lain:

  • mkisofs
  • rsync
  • createrepo
  • md5sum
  • dirsplit

Okeh, saya jujur ini dibuat oleh script dan ini script nya, hehehehe:

#!/bin/bash
VERSI=11.1
BASE=/srv/mirror/pabrik/opensuse
MENTAH=$BASE/mentah
DAFTAR=$BASE/list
mirror=/ftp/opensuse/distribution
REPOSS=$mirror/$VERSI/repo/oss/suse/
REPONOSS=$mirror/$VERSI/repo/non-oss/suse/
REPOPM=/ftp/opensuse-packman/suse/$VERSI/
NAME=openSUSE-$VERSI-contrib-
exclude="--exclude setup/ --exclude repodata/ --exclude media.1/"
rsync_opts="-avh --delete --delete-after --delete-excluded"
LOGDIR=$BASE/log
LOGFILE=$LOGDIR/opensuse-dvd.log

cd $BASE

if [ ! -d "$MENTAH/distribution/" ]; then
	mkdir -p $MENTAH/distribution/
fi

rsync $rsync_opts $exclude $REPOSS $MENTAH/distribution/oss/ > $LOGFILE 2>&1
rsync $rsync_opts $exclude $REPONOSS $MENTAH/distribution/non-oss/ >> $LOGFILE 2>&1
rsync $rsync_opts $exclude --exclude src --exclude src/ $REPOPM $MENTAH/packman/ >> $LOGFILE 2>&1

rm -rf $DAFTAR/*
echo "dirsplit -L $MENTAH/ -p $DAFTAR/$NAME"

dirsplit -L $MENTAH/ -p $DAFTAR/$NAME >> $LOGFILE 2>&1

for x in `ls -l $DAFTAR/ | awk {'print $8'}`; do
	cd $DAFTAR/$x
	echo "======================"
	echo "Repository $x"
	echo "======================"
	createrepo -v -o $DAFTAR/$x/distribution/ $DAFTAR/$x/distribution/ >> $LOGFILE 2>&1
	createrepo -v -o $DAFTAR/$x/packman/ $DAFTAR/$x/packman/ >> $LOGFILE 2>&1
	cp $BASE/README.txt .
	echo "======================"
	echo "Building ISO image $x"
	echo "======================"
	mkisofs -f -J -V "$x" -D -r --joliet-long -o $BASE/iso-dvd/$x.iso $DAFTAR/$x/ >> $LOGFILE 2>&1
	echo "======================"
	echo "Building Jigdo image $x"
	echo "======================"
	jigdo-file make-template --force --image=$BASE/iso-dvd/$x.iso --jigdo=$BASE/iso-dvd/$x.jigdo --template=$BASE/iso-dvd/$x.template --label openSUSE=$MENTAH --uri openSUSE=http://mirror.unej.ac.id/~udienz/project/opensuse/repo/ $MENTAH// #>> $LOGFILE 2>&1
	find . -type f > $BASE/iso-dvd/$x.list
	md5sum $BASE/iso-dvd/$x.iso > $BASE/iso-dvd/$x.md5
	echo "======================"
	echo "Done building iso/jigdo $x"
	echo "======================"
done

savelog $LOGFILE >/dev/null

ada pertanyaan?

Tanggapan dari pertanyaan di milis tanya jawab

Seseorang telah bertanya di milis tanya jawab tentang dokumentasi mirror, nah saya akan sedikit menjawab tentang bagaimana metode rsync untuk mirror debian/ubuntu dan turunan nya. Sedangkan opensuse saya sudah menjelaskan di tulisan sebelumnya

Rsync sangat di anjurkan bila anda menghendaki penyalinan file dari mirror repository, banyak sekali keuntungan nya tapi saya tidak akan bahas di sini :D . saya akan membahas tentang mirror debian dan turunannya. seperti yang kita ketahui directory standard dari arsip debian adalah adalah

* dists
* pool
* project

nah dalam melakukan mirorring arsip debian kita tidak bisa langsung menggunakan metode rsync biasa yaitu rsync mirror.kesukaan::debian/ /mirrors/debian -avh. itu kalau menurut tim debian mirror adalah salah. lha yang bener gimana? nah yang bener adalah dengan cara dua kali mirroring yaitu:

* alternatif pertama, melakukan mirroring directory pool/ kemudian baru melakukan mirroring semuanya, contoh:

# stage pertama
rsync -avhH --timeout 3600 --stats --partial --chmod=a+rX,u+w,og-w \
--exclude ~.tmp/ --chmod=a+rX,u+w,og-w \
ftp.debian.org::debian/pool/ /ftp/debian/pool/
# stage ke dua
rsync -avhH --timeout 3600 --stats --partial \
--exclude ~.tmp/ --delete --delete-after --delete-exclude --chmod=a+rX,u+w,og-w \
ftp.debian.org::debian/ /ftp/debian/
LANG=C date -u > "/ftp/debian/project/trace/`hostname -f`"

* alternatif ke dua, melakukan mirrorng tanpa menyertakan berkas Packages*, Sources*, ls-lRh*, dll. contoh

# stage pertama
rsync -avhH --timeout 3600 --stats --partial --chmod=a+rX,u+w,og-w \
--exclude Packages* --exclude Sources* --exclude Release* --exclude ls-lR*  --exclude .~tmp~/ \
--exclude project/trace/`hostname -f` \
ftp.debian.org::debian/ /ftp/debian/
# stage ke dua
rsync -avhH --timeout 3600 --stats --partial --chmod=a+rX,u+w,og-w \
--exclude Packages* --exclude Sources* --exclude Release* --exclude ls-lR*  --exclude .~tmp~/ \
--exclude project/trace/`hostname -f` \
--delay-updates --delete --delete-excluded \
ftp.debian.org::debian/ /ftp/debian/
LANG=C date -u > "/ftp/debian/project/trace/`hostname -f`"

nah bagaimana yang terbaik dari keduanya? silakan uji sendiri. saya menggunakan alternatif ke dua. Yang perlu di tekankan di sini adalah kenapa menggunakan dua metode itu? nah ini di karenakan dalam melakukan apt-get update kita hanya akan mengunduh berkas Packages/Packages.gz/Release/Source/Sources.gz jadi bila kita menjumpai ada teman kita waktu install dia menemukan “file not found” di server maka ada yang salah dengan metode singkronisasinya di server. Packages/Packages.gz/Release/Source/Sources.gz ini merupakan kumpulan paket atau sebut saja database dari paket-paket di dalam direktory pool/. jadi bila si database di unduh duluan maka akan terjadi kebingungan karena di database ada tapi kok di pool/ ga ada. Selain itu mutlak di berkanya timestamp di project/trace/. kenapa? ini untuk menandakan kapan terakhir si server melakukan singkronisasi.

Nah sekarang saya pengen membuat mirror debian/ubuntu dari mana saya dapatkan scriptnya? bisa di dapatkan di
* http://mirror.unej.ac.id/~udienz/push/anonftpsync
* https://launchpad.net/sedot
* http://mirror.unej.ac.id/debian/project/ftpsync/ftpsync-current.tar.gz

mana yang mudah? semua mudah kok :D

Update dvd repo ubuntu

Yak silakan dilihat ubuntu dvd repository untuk update keamanan dan backports di sini. dan untuk scriptnya dapat diperoleh di sini

Happy downloading!