Thursday, July 28, 2011

Membuat Repository lokal DVD debian 4.0 etch

Posted by salewatan

1. bertindaklah sebagai root atau super user
2. buat direktori baru dengan nama debianetch
debian:/home/aswar#mkdir debianetch
3. copi DVD 1 kedalam direktory debianetch dengan perintah

debian:/home/aswar#cp /media/cdrom0/pool -R debianetch

4. lakukan instruksi nomor 3 untuk DVD 2 dan 3
5. lihat isi direktory debianetch
debian:/home/aswar/cd debianetch
debian:/home/aswar/debianetch#ls -lF


6. debian:/home/aswar/debianetch# ls -l pool | sed ’s/_.*$/ priority section/’ | uniq > override
7. debian:/home/aswar/debianetch#nano override
8. mkdir -p dists/testing/main/binary-i386
9. debian:/home/aswar/debianetch#dpkg-scanpackages pool override > dists/testing/main/binary- i386/Packages
10. tulis file berikut
debian:/home/aswar/debianetch#nano dists/testing/main/Release
Archive: testing
Version: 4.0
Component: main
Origin: Local
Label: Local
Architecture: i386
11. tambahkan pada baris terakhir pada file sources.list
debian:~#nano /etc/apt/sources.list

deb file:/home/aswar/debianetch/testing main
(jangan pake tanda #)
12. update konfigurasi sources.list dengan perintah
debian:~#apt-get update
13. untuk menguji hasil pekerjaan anda…. instal sebuah paket misalkan apache
debian:~# apt-get install apache

****************SELAMAT MENCOBA*******************

Oleh: Wilfridus Bambang, RHCT

pertama-tama, aku lagi2 nongkrong di ruangan ini, bersama segala mesin dan setingan yang harus aku selesaikan. dari semua server yang harus aku set, dan kemudian diupdate, aku teringat pada semua hasil update yang pernah dilakuin di server cls. tapi dimana ya letak foldernya? hm, sepertinya dulu (sekian tahun lalu lho…) aku pernah mengakses alamatnya di /var/cache/apt/. aku list foldernya, dan terlihat folder archives. yup… bener sekali… disitu letaknya. aku coba list isi dalamnya, dan bingo… semua ada disana.

hm, gimana ya cara narik tu file semua ?. cara pertama yang aku lakuin adalah aku pindahin aja tuh semua file di foldernya tlc, biar bisa aku jelajah pada web-explorer. dan sudah dicoba, download-in satu persatu, tapi malah bt banget, karena ada ratusan file (betul ga ca ???). akhirnya aku teringat satu tools bawaan dari ssh yang ga jauh2 hubungannya dengan ftp, yaitu sftp. sempet bingung juga sih cara gunainnya, tapi sekali lagi help adalah penolong yang sangat menolong dalam konfigurasi. gini caranya:

sftp namauser@namahost

ntar sistem akan meminta password dari user, dan setelah dimasukkan, maka akan langsung masuk ke dalam konsol (semacam ssh sih…). trus, kita pindah folder aja ke tempat dimana archives-nya apt diletakin yaitu /var/cache/apt/. setelah itu, kita siapin folder di komputer lokal (tempat dimana file2 hasil download diletakin - misalnya /home/me), trus sekali lagi baca help di sftp-nya, dan ditemukan perintah standar ftp untuk mendownload file yaitu “get”. cara gunainnya adalah sebagai berikut:

get *.deb /home/me/

sudah deh, setelah itu jalan. dan semua file yang akhirannya deb akan ditarik ke server atau komputer lokal.

tapi tugas belum selesai, masalahnya adalah bagaimana cara membangun repository lokal pada komputer kita? akhirnya, menggunakan prinsip kedua dari anak IT jikalau tersesat dan bingung, yaitu membuka google. aku ketikkan kata kunci “debian+local+repository”. tidak terlalu menunggu (maklum, akses cepet banget dari cyberlife, he3x), terbukalah itu hasil pencarian dari google, dan, aku pake insting aja untuk membuka beberapa bagian, termasuk bagian ke-tiga dari bawah yaitu yang mengarahkan browserku ke alamat:

https://compgen.bscb.cornell.edu/~tvinar/oldwiki/index.php?DebianLinuxPackaging

terbukalah cara2nya seperti ini:

Create subdirectory /var/www/debian/local; this is the place where you will put all your .deb files and source packages (.dsc, .orig.tar.gz, .diff.gz files). You can create any convenient/logical directory structure under /var/www/debian/local. You can also control access to the files on a per-directory basis (put another .htaccess in place).

4. To make your repository functional, you need to create package index (files Packages.gz and Sources.gz); the following script shows, how to do that:

#!/bin/bash
cd /var/www/debian
chgrp -R www-data local
chmod -R g+r local
dpkg-scanpackages local /dev/null | gzip -9 > local/Packages.gz
dpkg-scansources local /dev/null | gzip -9 > local/Sources.gz * catatan: ini ga harus diketik jikalau ga ada source.

5. Finally, to make your packages available on a client machine, you need to add following lines to it’s /etc/apt/sources.list

deb http://yourserver/debian/ local/
deb-src http://yourserve/debian/ local/

catatan: ini ga harus ditambahin jika ga ada source

————————————————————————————————

Debian Quick N Dirty Repository HOWTO - INDONESIA

oleh Budiwijaya (budiw_1 (at) yahoo (dot) com)

Versi dokumen 0.0.4
sebaiknya dilihat pada resolusi 1024x768
File terbaru bisa didapat di http://howto.budiwijaya.or.id/debian-quickndirty-repos-howto.html

Abstraksi

Dokumen ini menjelaskan secara singkat padat bagaimana membuat repository debian dari 14 CD Debian Sarge.

Daftar Isi:

Secara singkat, membuat repository ada 4 langkah.

  1. Langkah pertama, mengcopy semua isi dari CDROM ke komputer dan menyiapkan folder untuk web.

  2. Langkah kedua, membuat file index (Packages.gz) dan Release

  3. Langkah ketiga, bagaimana menggunakan hasil repository tersebut di client

  4. Langkah keempat, membuat dokumentasi hasil dari percobaan tersebut.

Baik, untuk langkah pertama

Kita siapkan 14 CD yang harus kita copy. Buat sebuah folder di komputer yang akan dijadikan repository. Misal: /home/debian/. Kemudian dari 14 CD yang ada kita copy folder 'pool' ke dalam folder 'debian'.

tree untuk folder /home/debian/ sebagai berikut:

/home/debian/

`-- pool

|-- contrib

| |-- a

| |-- b

| |-- c

| |-- d

| |-- e

| |-- f

| |-- g

| |-- h

| |-- i

| |-- j

| |-- k

| |-- l

| |-- libb

| |-- libd

| |-- libh

| |-- libi

| |-- libj

| |-- libs

| |-- libt

| |-- libx

| |-- m

| |-- n

| |-- o

| |-- p

| |-- q

| |-- r

| |-- s

| |-- t

| |-- u

| |-- v

| |-- w

| |-- x

| |-- y

| `-- z

`-- main

|-- 3

|-- 4

|-- 8

|-- 9

|-- a

|-- b

|-- c

|-- d

|-- e

|-- f

|-- g

|-- h

|-- i

|-- j

|-- k

|-- l

|-- lib3

|-- liba

|-- libb

|-- libc

|-- libd

|-- libe

|-- libf

|-- libg

|-- libh

|-- libi

|-- libj

|-- libk

|-- libl

|-- libm

|-- libn

|-- libo

|-- libp

|-- libq

|-- libr

|-- libs

|-- libt

|-- libu

|-- libv

|-- libw

|-- libx

|-- liby

|-- libz

|-- m

|-- n

|-- o

|-- p

|-- q

|-- r

|-- s

|-- t

|-- u

|-- v

|-- w

|-- x

|-- y

`-- z

Setelah kita copy, kemudian kita buat folder 'debian' di '/var/www' agar bisa diakses oleh pengguna menggunakan browser. Didalam folder 'debian' kita buat sebuah folder lagi yang bernama 'dists'. Didalam 'dists' kita buat sebuah folder 'sarge'. Dan didalam folder 'sarge' kita buat dua folder yaitu 'main' dan 'contrib'. Didalam 'main' dan 'contrib' kita bikin folder 'binary-i386'. Terus kita bikin softlink untuk '/var/www/debian/pool' ke '/home/debian/pool/'. Berikut hasil dari perintah tree untuk folder /var/www/debian:

/var/www/debian/

|-- dists

| `-- sarge

| |-- contrib

| | `-- binary-i386

| `-- main

| `-- binary-i386

`-- pool -> /home/debian/pool/

Sudah jelas? sekarang saat kita browse menggunakan links akan tampil seperti ini:

budiw@ohm:~$ links http://222.124.29.210/debian

Index of /debian

Index of /debian


Icon Name Last modified Size Description


-------------------------------------------------------------------------------------------------------------------


[DIR] Parent Directory -

[DIR] dists/ 20-Apr-2006 16:25 -

[DIR] pool/ 20-Apr-2006 16:25 -


-------------------------------------------------------------------------------------------------------------------


Apache/2.0.54 (Debian GNU/Linux) Server at 222.124.29.210 Port 80

Langkah kedua.
~~~~~~~~~~~~~

Pindah user ke root. Kemudian pindah folder ke '/var/www/debian/'. laksanakan perintah berikut:

#dpkg-scanpackages pool/main /dev/null | gzip -9c > dists/sarge/main/binary-i386/Packages.gz

#dpkg-scanpackages pool/contrib /dev/null | gzip -9c > dists/sarge/contrib/binary-i386/Packages.gz

Lanjutkan dengan membuat sebuah file 'Release' pada folder dua ('/var/www/debian/dists/sarge/{main,contrib}/binary-i386/) diatas.
Isi file Release:

Archive: archive

Component: component

Origin: YourCompany

Label: YourCompany Debian repository

Architecture: architecture

Isi untuk file Release yang saya buat:

Archive: unstable

Component: main contrib

Origin: debian.budiwijaya.or.id

Label: debian.budiwijaya.or.id Debian repository

Architecture: i386

Jangan tanyakan apa arti dari tiap-tiap baris diatas. Karena-- aseli--, saya ngawur.
Setelah jadi, berikut hasil tree untuk folder '/var/www/debian/dists/':

/var/www/debian/dists

`-- sarge

|-- contrib

| `-- binary-i386

| |-- Packages.gz

| `-- Release

`-- main

`-- binary-i386

|-- Packages.gz

`-- Release

Langkah ketiga. Apa? sudah langkah ketiga? gampang banget ya?
~~~~~~~~~~~~~~

Edit file '/etc/apt/sources.list' menjadi:

budiw@ohm:~$ cat /etc/apt/sources.list

deb http://222.124.29.210/debian sarge main contrib

budiw@ohm:~$

terus silahkan dicoba menggunakan 'apt-get install'.
sebelum menggunakan apt-get install, lakukan perintah berikut:

budiw@ohm:~$ sudo apt-get update

kemudian,

budiw@ohm:~$ sudo apt-get install links

Password:

Reading Package Lists... Done

Building Dependency Tree... Done

The following NEW packages will be installed:

links

0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.

Need to get 385kB of archives.

After unpacking 958kB of additional disk space will be used.

Get:1 http://222.124.29.210 sarge/main links 0.99+1.00pre12-1 [385kB]

Fetched 385kB in 0s (1582kB/s)

Selecting previously deselected package links.

(Reading database ... 86682 files and directories currently installed.)

Unpacking links (from .../links_0.99+1.00pre12-1_i386.deb) ...

Setting up links (0.99+1.00pre12-1) ...


budiw@ohm:~$

Langkah keempat.
~~~~~~~~~~~~~~~

Silahkan diulangi lagi langkah-langkah tersebut, kemudian ditulis disebuah file. Distribusikan!

Referensi:

[x] http://www.isotton.com/debian/docs/repository-howto/repository-howto.html
[x] http://www.google.com
[x] http://sokam.or.id (untuk code-code html)

Terimakasih tuk:

[x] Erdwin Lianata - Koreksi atas kesalahan pengertian tentang pool repos kepada saya.

Edisi sebelumnya:

[x] debian-quickndirty-repos-howto-0.0.2.html

0 comments:

Post a Comment