Monday, August 19, 2013

Membuat Server Repository Lokal

Salah satu kendala bagi sebagian pengguna linux  adalah koneksi ke server repository untuk meng-install software yang dibutuhkan pada saat tidak memiliki koneksi internet . Untuk mengatasi kendala itu, para pengguna linux dapat membuat server repository sendiri yang dapat dijalankan pada localhost.

berikut beberapa kebutuhan yang perlu dipersiapkan :
  1. Web server (Apache / nginx)
  2. DVD repository dalam bentuk iso
Saya akan mengambil contoh kasus pada laptop yang saya gunakan.
  1. Pada laptop saya terdapat 2 partisi hardisk yaitu partisi untuk system linux (partisi 1) dan partisi yang saya khususkan untuk data (partisi 2).
  2. OS Linux yang saya gunakan adalah Linux Mint 13 (Ubuntu 12.04), dengan jumlah ISO Repository sebanyak 11 buah.
  3. ISO Repository tersebut saya taruh pada partisi 2 Hardisk.
Langkah 1
Menambah jumlah mount point 
Untuk menambah jumlah mount point dapat dilihat pada tulisan sebelumnya : menambah jumlah mount point


Langkah 2
Mounting Otomatis partisi 2 dan ISO Repository
Mengapa partisi 2 pada HD juga perlu di mount secara otomatis? itu karena ISO repository tersimpan pada Partisi 2 HD.

Mount-ing otomatis dapat dilakukan dengan meng-edit file /etc/fstab. Berikut hasil dari file fstab yang saya edit :


# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=fb8e928c-f0cd-4795-b502-742a34127888 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=b5cb35bb-e1fd-4295-83f4-d6c3a44cbcd7 none            swap    sw              0       0

#partisi 2
UUID=ea68cf5e-fdae-4d96-9e14-541fd01746af /media/data ext4 defaults,errors=remount-ro 0       1
#local repo
/media/data/maverick/ubuntu-12.04-repository-i386-1-contrib.iso /var/www/repo/repo1/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-2-contrib.iso /var/www/repo/repo2/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-3-contrib.iso /var/www/repo/repo3/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-4-contrib.iso /var/www/repo/repo4/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-5-contrib.iso /var/www/repo/repo5/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-6-contrib.iso /var/www/repo/repo6/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-7-contrib.iso /var/www/repo/repo7/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-8-contrib.iso /var/www/repo/repo8/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-9-contrib.iso /var/www/repo/repo9/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-10-contrib.iso /var/www/repo/repo10/ iso9660 loop,ro,auto 0 0
/media/data/maverick/ubuntu-12.04-repository-i386-11-contrib.iso /var/www/repo/repo11/ iso9660 loop,ro,auto 0 0
Perhatikan #partisi 2
Partisi 2 saya mount otomotis pada folder yang  /media/data dengan tipe ext4

Perhatikan #local repo
ISO repository di mount otomatis pada web server di /var/www/repo/repo(1 - 11)

 Langkah 3
Buat file repo_local.lst pada folder /etc/apt, seperti berikut :

deb http://127.0.0.1/repo/repo1 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo2 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo3 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo4 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo5 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo6 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo7 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo8 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo9 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo10 precise main restricted universe multiverse
deb http://127.0.0.1/repo/repo11 precise main restricted universe multiverse

Untuk memudahkan penggantian repository yang digunakan, dapat membuat dua buah file yaitu : repo_local.lst (yang dibuat diawal) dan sourcest.list.bak. penggunaan kedua file tersebut secara bergiliran dapat dilakukan dengan perintah cp