Tips n Trik Mirroring Repo (3)

July 23rd, 2008 by wildan

Wah, akhirnya selesai juga ujian susulan :). Nah sekarang saya akan melanjutkan posting terdahulu yang ini dan inu.. kali ini saya akan memberi contoh untuk melakukan mirroring terhadap repository openSUSE 10.3 (menggunakan wget) dan 11.0 (menggunakan rsync). untuk distro lainnya sama saja, tidak ada yang berbeda.. mungkin hanya struktur direktorinya yang harus kita perhatikan.

Oke, pertama-tama openSUSE 10.3, kali ini kita mencoba menggunakan mirror kambing sebagai sumber.

  1. Lihat lokasidirektori di server, saya singkat ROOT-nya dengan tanda “~” untuk mempersingkat penulisan
    tempatnya adalah : “http://kambing.ui.edu/opensuse/distribution/10.3/”
  2. Lihat struktur direktorinya, ini berguna untuk kita agar kita bisa mengatur agar wget tidak melakukan mirror terhadap direktori yang tidak kita mau (misalkan direktori untuk arsitektur 64bit (x86_64)
    ~/repo/oss
    ~/repo/non-oss
    untuk mempersingkat, saya akan memberikan contoh untuk yang oss ya.. :)
    ARCHIVES.gz
    autorun.inf
    boot
    ChangeLog
    content
    content.asc
    content.key
    control.xml
    directory.yast
    docu
    dosutils
    EULA.txt
    gpg-pubkey-0dfb3188-41ed929b.asc
    gpg-pubkey-307e3d54-44201d5d.asc
    gpg-pubkey-3d25d3d9-36e12d04.asc
    gpg-pubkey-7e2e3b05-44748aba.asc
    gpg-pubkey-9c800aca-40d8063e.asc
    gpg-pubkey-a1912208-446a0899.asc
    GPLv2.txt
    GPLv3.txt
    INDEX.gz
    ISERIES64
    license.tar.gz
    ls-lR.gz
    media.1
    openSUSE10_3_LOCAL.exe
    openSUSE10_3_NET.exe
    PS3
    pubring.gpg
    README
    README.DOS
    suse
    suseboot
    SuSEgo.ico
    yang saya buat bold berarti direktori, nah sekarang kita akan melihat isi dari direktori “suse”, disana kita akan menemukan direktori-direktori sbb:
    i586
    i686
    noarch
    repodata
    setup
    x86_64
    Dari data diatas, misalkan direktori yang tidak ingin kita mirror adalah direktori “ppc64” dan “x86_64
  3. Buat direktori untuk menampung hasil mirroring
    - mkdir mirror_openSUSE10.3
    - cd mirror_openSUSE10.3
  4. Nah, sekarang kita tinggal menggunakan wget, untuk itu ada beberapa opsi yang ingin saya jelaskan (yang sering saya gunakan), agar pembaca benar-benar mengerti, bukan asal ikut.. :)
    [-r]  rekursif, melakukan pembacaan ke-seluruh sub-direktori
    [-no-host-directories] tidak mengikutkan nama host sumber mirroring, misalkan kita melakukan mirror dari kambing.ui.edu, maka hasil mirroring tersebut akan menghasilkan sebuah direktori bernama “kambing.ui.edu”, kemudian isinya adalah direktori-direktori didalamnya, nah dengan opsi ini maka yang dihasilkan adalah langsung direktori-direkktori yang ada didalam “kambing.ui.edu”
    [--no-parent] tidak mengikutkan direktori-direktori yang ada diatas direktori target, misalkan kita akan me-mirror direktori “opensuse” yang alamatnya berada pada “http://kambing.ui.edu/opensuse”, maka secara default wget akan mendownload juga semua direktrori yang ada dibawah “http://kambing.ui.edu“, misalkan “http://kambing.ui.edu/pclinuxos“, “http://kambing.ui.edu/debian/“, dst.
    Oke, saya rasa option-option itu sudah cukup untuk memulai mirroring.. :)
    Kita akan melakukan mirroring terhadap direktori “~/repo/oss”, nah dalam hal ini kita membutuhkan opsi [-r], [--no-parent], dan [-no-host-directories],  tapi ada masalah, perhatikan isi dari “~/repo/oss”, disana ada beberapa file(yang sudah pasti ingin kita ikutkan) dan beberapa folder (yang beberapa isinya tidak ingin kita ikutkan), nah maka dari itu kita harus melakukan wget dalam beberapa langkah alias tidak sekali langsung jadi, bahasa inggrisnya “not once directly be”, berikut langkah-langkahnya :- mirror semua isi dari “~/repo/oss”, tapi tidak masuk lebih dalam, nah untuk itu kita butuh 1 opsi tambahan yaitu [--level], yang bisa kita gunakan untuk mengatur kedalaman prosess mirroring yang menggunakan opsi [-r], untuk direktori “~/repo/oss” kita set kedalamannya (level) adalah 1, jadi perintahnya :

    wget --no-host-directories --no-parent --level 1 http://kambing.ui.edu/opensuse/distribution/10.3/repo/oss

    Nah, sampai dengan lagkah diatas kita sudah mendapatkan hasil mirroring untuk direktori “~/repo/oss”, selanjutnya kita akan melakukan untuk direktori “~/repo/oss/suse/”, tapi ada masalah lagi, disana ada direktori yang tidak kita inginkan (misalkan x86_64), maka kita harus melakukan mirroring direktori lainnya secara manual (satu per satu):
    wget –no-host-directories –no-parent –level 1 http://kambing.ui.edu/opensuse/distribution/10.3/repo/oss/suse/i586
    wget –no-host-directories –no-parent –level 1 http://kambing.ui.edu/opensuse/distribution/10.3/repo/oss/suse/i686
    dst..
    :)

Nah, sekarang kita akan menggunakan rsync untuk mirroring repository openSUSE 11.0.. pertama-tama saya akan menjelaskan sedikit tentang cara kerja rsync.. rsync tidak bekerja seperti wget, rsync adalah sebuah program client-server yang bsa kita gunakan untuk melakukan mirroring, jadi untuk melakukan mirroring dengan menggunakan rsync ke sebuah server tertentu, maka server itu harusmenyediakan layanan rsync, kali ini server yang akan kita pakai adalah  packman.mirrors.skynet.be.

Pertama-tama, kita akan belajar bagaimana cara sederhana menggunakan rsync:

# rsync packman.mirrors.skynet.be::
welcome to rsync.skynet.be

Contact: Cedric Gavage <rsync@skynet.be>
http://ftp.skynet.be - http://www.belgacom.be
This server is located in Brussels, Belgium, Earth

debian          Debian Mirror
debian-non-us   Debian non-us Mirror
debian-security Debian (security) Mirror
debian-ipv6     Debian (ipv6) Mirror
debian-dotdeb   Debian DotDeb Mirror
debian-volatile Debian Volatile Mirror
backports.org   Debian Backports.org Mirror
opensuse        OpenSUSE Mirror
software-opensuse       Software OpenSUSE Mirror
suser-guru      Guru Mirror
packman         Packman Mirror
linux-uak0:/home/wildan/Desktop #

Nah, itu adalah cara untuk mengetahui apa-apa yang disediakan oleh rsync server, untuk selanjutnya saya tidak akan menjelaskan tentang struktur direktori lagi, tetapi langsung melakukan mirroring.. oke selanjutnya adalah opsi-opsi standar yang biasa digunakan untuk mirroring :

[-av] artinya adalah kita melakukan pengcopyan secara menyeluruh (a=archieve) dan menampilkan hasilnya (v=verbose)

[--delete-after] artinya adalah apabila ada paket yang lebih baru, maka paket yang lama akan dihapus setelah paket yang baru selesai didownload.

[exclude-from=nama_file] artinya adalah melakukan pengecualian untuk folder/file yang terdaftar didalam file “nama_file”, dan ketentuannya adalah satu arti setiap baris.

Oke, saya rasa cukup, sekarang kita akan melakukan mirroring dengan rsync :)

penggunaanya secara umum seperti ini :
rsync -av –delete-after host_server::nama_share direktori_tujuan

sebelum melakukan mirroring, kita perlu mendata direktori apa saja yang tidak ingin kita ikutkan , misalkan:

SRPMS/
ppc/
src/
x86_64

Simpan daftar tersebut ke sebuah file, misalkan “exclude.list”
kemudian kita sudah bisa melakukan mirroring dengan perintah :
rsync -av –delete-after –exclude-from=exclude.list packman.mirrors.skynet.be::packman/suse/11.0/ /tujuan

Nah, sekian dulu posting saya, semoga bermanfaat dan tetap semangat belajar Linux.. be a good people for your country.. :)

(whiledan)

Posted in Linux, Mirroring, Tutorial | 8 Comments

Tags:  

Membuat Server Repositori

June 27th, 2008 by wildan

Barangkali ada yang butuh artikel seperti ini :)

Baik, dalam hal ini saya anggap kita sudah mempunyai repositori di harddisk kita, contoh :

rootbeer:/home/wildan # ls -l /home/ftp/
total 56
drwxr-xr-x  6 ftp ftp 4096 2008-04-01 14:20 debian
drwxr-xr-x  4 ftp ftp 4096 2008-03-16 09:47 debian-beryl
drwxr-xr-x  6 ftp ftp 4096 2008-04-01 14:14 debian-multimedia
drwxr-xr-x  6 ftp ftp 4096 2008-04-01 14:18 debian-security
drwxr-xr-x  6 ftp ftp 4096 2008-04-01 14:20 debian-unofficial
drwxr-xr-x  2 ftp ftp 4096 2008-03-26 22:47 fullShared
drwxr-xr-x 16 ftp ftp 4096 2008-06-26 18:33 ISO
drwxr-xr-x  3 ftp ftp 4096 2008-04-28 11:35 mirror-script
drwxr-xr-x  5 ftp ftp 4096 2008-04-09 11:24 opensuse
drwxr-xr-x  4 ftp ftp 4096 2008-04-14 09:49 opensuse-packman
drwxr-xr-x  3 ftp ftp 4096 2008-04-10 13:52 pclinuxos
drwxr-xr-x  2 ftp ftp 4096 2008-03-16 09:49 TEMP
-rwxr-xr-x  1 ftp ftp  688 2008-03-16 09:49 welcome.msg
-rwxr-xr-x  1 ftp ftp  750 2008-03-16 09:49 welcome.msg~
rootbeer:/home/wildan #

read more »

Tips n Trik Mirroring Repo (2)

May 31st, 2008 by wildan

Hallo, saya melanjutkan artikel terdahulu tentang mirroring, kali ini saya akan membahas teknik-teknik mirroring untuk beberapa distro antara lain debian, ubuntu, opensuse, dan pclinux.

pertama-tama, mungkin ada hal yang perlu kita ketahui, yaitu apa saja yang ada didalam sebuah repository:)

repository linux berisi paket-paket aplikasi (ya iyalah..), biasanya paket dalam repository-repository tersebut dipisah (dikelompokkan) berdasarkan kegunaan (server, desktop) atau sifat (gratis, berbayar), ataupun kelompok (gnome, kde).

read more »

Tips n Trik Mirroring Repo (1)

May 24th, 2008 by wildan

Mirroring?? apa itu?? butuh kaca?? bedak? sisir? ato gincu?$%^&

He2, yang dimaksud mirroring dalam dunia linux adalah cara untuk me-mirror repositor linux (misal debian, ubuntu, pclinuxos) agar isinya sama dengan server aslinya. kenapa mirror??

mirroring secara internasional bertujuan untuk menghemat bandwith internasional, anggap saja kita sedang menggunakan linux dan membutuhkan instalasi paket, tentu kita akan mengkonfigurasi linux kita (misalkan debian) untuk menginstall paket dari repositorinya (misal debian.org). lha, dimana letak “debian.org”?? pastinya diluar negeri, dan apa akibatnya?? ya pasti paket request kita berjalan-jalan melewati beberapa negara kan? dan itu juga berarti kita menambah traffic internasional.. maka dari itulah kenapa disediakan mirror-mirror untuk menyimpan paket-paket yang setiap beberapa waktu di-sinkronkan dengan paket-paket yang ada di server asli.

read more »