Rabu, 03 Desember 2014

Repository dengan debmirror

Membuat Repository Paket via HTTP

DECEMBER 31ST, 2013
Kali ini saya akan membuat repository lokal LAN menggunakan web server. Web server menggunakan protokol HTTP, protokol HTTP adalah protokol yang biasa digunakan saat mengakses internet melalui browser. Protokol ini sangat umum dan mudah dikonfigurasi.
Untuk keperluan ini kita harus memiliki repository yang akan digunakan. Kita bisa meng-clone langsung dari repository official menggunakan debmirror atau membuat sendiri dengan memanfaatkan koleksi DVD.

Langkah-langkah Pembuatan Repository Berbasis HTTP

  1. Instalasi Web Server
    Untuk web server, terserah kepada anda untuk memilih. Bisa menggunakan apache, nginx, litespeed atau lainnya. Kali ini saya menggunakan apache2 karena telah terbiasa.
    sudo apt-get install apache2
  2. Menyiapkan repository offline
    Buat symbolic link dari direktori repo ke direktori utama webserver, misalnya /var/www
    sudo ln -s /home/amrinz/Repo /var/www/ubuntu
  3. Mengatur Ijin Pembacaan Repository
    sudo chmod -R 755 /var/www/ubuntu
Dengan begini repository kita sudah bisa diakses.

Mengakses Repository via HTTP

Jika mengaksesnya dari PC sendiri kita menggunakan format:
deb http://localhost/ubuntu precise main restricted universe multiverse
Jika mengaksesnya dari LAN dan IP komputer yang bertindak sebagai server 192.168.0.1, kita gunakan format
deb http://192.168.0.1/ubuntu precise main restricted universe multiverse
Jika kita menggunakan domain repo.com, akses dengan format:
deb http://repo.com/ubuntu precise main restricted universe multiverse
103 Total Views 1 Views Today
Membuat Repository Ubuntu Lokal menggunakan debmirror



Repository adalah istilah dalam Linux yang kira-kira berarti tempat penyimpanan aplikasi Linux. Berbeda dengan Windows atau sistem operasi pada umumnya, di Linux sebagian besar aplikasi telah tertata rapih di repository dan kita dapat dengan mudah menggunakannya jika kita dapat mengakses repository tersebut.
Masalahnya, sebagian besar repository berada di Internet. Jika kita tidak mempunyai bandwidth yang cukup besar maka akan susah bagi kita untuk mengkutak katik Linux tersebut.
Pada kesempatan ini, akan di jelaskan cara untuk membuat repository agar berada di harddisk laptop kita. Dengan cara ini, maka bagi mereka yang tidak mempunyai akses ke Internet dapat tetap mengeksplorasi dengan menggunakan repository yang ada di harddisk.
Berikut adalah langkah membuat repository Ubuntu dari server,
  • id.archive.ubuntu.com
  • dl2.foss-id.web.id atau 125.160.17.22
  • kambing.ui.ac.id atau 152.118.24.30
ke Server lokal di LAN


Mirror Repository Ubuntu
Selamat pagi bro,oke sekian lama tidak update blog karna sempat mengalami uts yang buruk di kuliah, haha iya kali ini sesuai judul saya akan membuat tutorial cara membuat repository lokal yang artinya kita membuat repository menggunakan server sendiri jadi tidak memakai link lokal repository orang lain,syaratnya untuk reposirory yaitu harddisk harus besar dan bandwith yang besar juga,disini saya akan membuat repository ubuntu 12.10,oke langgsung saja.
Jika anda belum punya/install webserver
ketik perintah:
?
1
apt-get install apache2
  • Step 1
login ke server anda,kita akan membuat Mirrorkeyring untuk debmirror.
ketik perintah :
?
1
mkdir /var/data
?
1
mkdir /var/data/mirrorkeyring
Sebelum bisa digunakan dengan baik, kadang kala kita perlu beberapa kali menjalankan perintah
?
1
gpg --no-default-keyring --keyring /var/data/mirrorkeyring/trustedkeys.gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg
  • Step 2
oke, sekarang kita menginstall debmirror nya dan membuat folder buat repository nya.
ketik perintah :
?
1
apt-get install debmirror
?
1
mkdir /var/data
?
1
mkdir /var/data/repository
?
1
mkdir /var/data/repository/repo-12.10-32
  • Step 3
jika sudah membuat folder untuk reposiroty nya sekarang kita membuat script mirror nya 

Langkah Mendownload Repostory Menggunakan debmirror

Mendownload repository dapat dilakukan menggunakan debmirror. Aplkasi debmirror dapat di instalasi menggunakan perintah
apt-get install debmirror
Contoh di bawah adalah untuk repository Ubuntu 32 bit. Bagi anda yang ingin mendownload repository 64 bit, yang perlu di ubah hanya paramter
arch=i386
menjadi arsitektur 64 bit, yaitu:
arch=amd64

Asumsi

Versi Ubuntu: 12.04
folder repo : /var/data/repository/repo-12.04
server      : kambing.ac.id
GNUPGHOME   : /var/data/mirrorkeyring
 
Ubah informasi tersebut di sesuaikan dengan kondisi komputer anda

Siapkan

Buat folder untuk mirror keyring

mkdir /var/data
mkdir /var/data/mirrorkeyring
gpg --no-default-keyring --keyring /var/data/mirrorkeyring/trustedkeys.gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg

Mengkonfigurasi debmirror

  • Install debmirror & buat folder tempat repo
apt-get install debmirror
mkdir /var/data
mkdir /var/data/repository
mkdir /var/data/repository/repo-12.04
  • Buatlah script mirror
touch /usr/local/bin/mirrorbuild.12.04.sh
chmod -Rf 777 /usr/local/bin/mirrorbuild*
chown -Rf nobody.nogroup /usr/local/bin/mirrorbuild*
gedit /usr/local/bin/mirrorbuild.12.04.sh
  • Masukan script berikut
#### Start script to automate building of Ubuntu mirror #####
## THE NEXT LINE IS NEEDED THE REST OF THE LINES STARTING WITH A # CAN BE DELETED

#!/bin/bash 

## Setting variables with explanations.

#
# Don't touch the user's keyring, have our own instead
#
export GNUPGHOME=/var/data/mirrorkeyring 

# Arch=         -a      # Architecture. For Ubuntu can be i386, powerpc or amd64.
# sparc, only starts in dapper, it is only the later models of sparc.
#
arch=i386

# Minimum Ubuntu system requires main, restricted
# Section=      -s      # Section (One of the following - main/restricted/universe/multiverse).
# You can add extra file with $Section/debian-installer. ex: main/debian-installer,universe/debian-installer,multiverse/debian-installer,restricted/debian-installer
#
section=main,restricted,universe,multiverse

# Release=      -d      # Release of the system (Dapper, Edgy, Feisty, Gutsy, Hardy, Intrepid), and the -updates and -security ( -backports can be  added if desired)
#
# release=jaunty,jaunty-security,jaunty-updates
# release=maverick,maverick-security,maverick-updates,maverick-backports,maverick-proposed
# release=oneiric,oneiric-backports,oneiric-proposed,oneiric-security,oneiric-updates
release=precise,precise-backports,precise-proposed,precise-security,precise-updates

# Server=       -h      # Server name, minus the protocol and the path at the end
# CHANGE "*" to equal the mirror you want to create your mirror from. au. in Australia  ca. in Canada.
# This can be found in your own /etc/apt/sources.list file, assuming you have Ubuntu installed.
#
# server=opensource.telkomspeedy.com:5432
# server=dl2.foss-id.web.id
server=kambing.ui.ac.id

# Dir=          -r      # Path from the main server, so http://my.web.server/$dir, Server dependant
#
inPath=ubuntu

# Proto=        -e      # Protocol to use for transfer (http, ftp, hftp, rsync)
# Choose one - http is most usual the service, and the service must be avaialbe on the server you point at.
#
proto=http

# Outpath=              # Directory to store the mirror in
# Make this a full path to where you want to mirror the material.
#
outPath=/var/data/repository/repo-12.04

# The --nosource option only downloads debs and not deb-src's
# The --progress option shows files as they are downloaded
# --source \ in the place of --no-source \ if you want sources also.
# --nocleanup  Do not clean up the local mirror after mirroring is complete. Use this option to keep older repository
# Start script
#
debmirror       -a $arch \
                --no-source \
                -s $section \
                -h $server \
                -d $release \
                -r $inPath \
                --progress \
                -e $proto \
                $outPath

#### End script to automate building of Ubuntu mirror ####                                                                                    
Simpan script jika sudah selesai di edit semua-nya.


  • Ubah ijin agar file mirrorbuild.sh & folder repo
chmod -Rf 777 /usr/local/bin/mirrorbuild.12.04.sh 
chown -Rf root.root /var/data/repository/repo-12.04
chmod -Rf 571 /var/data/repository/repo-12.04
  • Jalankan mirrorbuild.sh
sh mirrorbuild.12.04.sh


 Cron supaya secara periodik di update
  • Edit Tabel cron
# crontab -e
  • Agar setiap jam 10 malam di update. Isi dengan kata-kata
0 22 * * * /usr/local/bin/mirrorbuild.sh


  • Aktifkan cron
# /etc/init.d/cron restart

Setup di Sisi Client untuk Lokal Folder

Edit
gedit /etc/apt/sources.list 
 
Isi dengan ini
 
deb file:///var/data/repository/repo-12.04/ precise main multiverse restricted universe
deb file:///var/data/repository/repo-12.04/ precise-backports main multiverse restricted universe
deb file:///var/data/repository/repo-12.04/ precise-proposed main multiverse restricted universe
deb file:///var/data/repository/repo-12.04/ precise-security main multiverse restricted universe
deb file:///var/data/repository/repo-12.04/ precise-updates main multiverse restricted universe



Selesai. tinggal jalankan apt-get update.

referensi :

Tidak ada komentar:

Posting Komentar