Buat "Repositori Paket .deb" di Sourceforge.net Menggunakan Alat "Reprepro" di Ubuntu


Reprepro adalah alat baris perintah kecil untuk membuat dan mengelola repositori .deb dengan mudah. Hari ini kami akan menunjukkan cara membuat repositori paket Debian dengan mudah menggunakan reprepro dan cara melakukannya unggah ke Sourceforge.net menggunakan perintah rsync.

Langkah 1: Instal Reprepro dan Hasilkan Kunci

Pertama, instal semua paket yang diperlukan, menggunakan perintah apt-get berikut.

sudo apt-get install reprepro gnupg

Sekarang Anda perlu membuat kunci gpg menggunakan gnupg, untuk melakukannya, terapkan perintah ini.

gpg --gen-key

Ini akan menanyakan beberapa pertanyaan kepada Anda, seperti jenis kunci yang Anda inginkan, berapa lama kunci tersebut harus valid, jika Anda tidak tahu harus menjawab apa, cukup klik Enter untuk opsi default (disarankan ).

Tentu saja ia akan menanyakan nama pengguna dan kata sandi Anda, ingatlah itu, karena kami akan membutuhkannya nanti.

gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) Y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <[email >"

Real name: ravisaive
Email address: [email 
Comment: tecmint
You selected this USER-ID:
    "Ravi Saive (tecmint) <[email >"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

+++++
gpg: key 2EB446DD marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/2EB446DD 2014-06-24
      Key fingerprint = D222 B1C9 342E 5911 02B1  9147 3BD6 7918 2EB4 46DD
uid                  Ravi Saive (tecmint) <[email >
sub   2048R/7EF2F750 2014-06-24

Sekarang kunci Anda akan dibuat, untuk memeriksa apakah demikian, jalankan perintah ini sebagai hak root.

sudo gpg --list-keys
Contoh Keluaran
/home/ravisaive/.gnupg/pubring.gpg
----------------------------------
pub   2048R/2EB446DD 2014-06-24
uid                  ravisaive (tecmint) <[email >
sub   2048R/7EF2F750 2014-06-24

Langkah 2: Buat Repositori Paket dan Kunci Ekspor

Kita akan memulai pekerjaan sekarang untuk membuat repositori, pertama-tama Anda harus membuat beberapa folder, repositori kita akan berada di direktori /var/www/apt, jadi mari kita buat beberapa folder.

sudo su
cd /var/www
mkdir apt
mkdir -p ./apt/incoming 
mkdir -p ./apt/conf
mkdir -p ./apt/key

Anda sekarang harus mengekspor kunci yang Anda buat ke folder repositori, jalankan.

gpg --armor --export username [email  >> /var/www/apt/key/deb.gpg.key

Catatan: Ganti nama pengguna dengan nama pengguna yang Anda masukkan pada langkah di atas, dan [dilindungi email] dengan email Anda.

Kita perlu membuat file bernama “distribusi ” di dalam /var/www/apt/conf.

touch /var/www/apt/conf/distributions

Tambahkan baris berikut ini ke file distribusi dan simpan file.

Origin: (yourname)
Label: (name of repository)
Suite: (stable or unstable)
Codename: (the codename for the distribution you are using, like trusty)
Version: (the version for the distribution you are using, like 14.04)
Architectures: (the repository packages  architecture, like i386 or amd64)
Components: (main restricted universe multiverse)
Description: (Some information about the repository)
SignWith: yes

Selanjutnya, Kita harus membuat pohon repositori, untuk melakukan ini, jalankan perintah tersebut.

reprepro --ask-passphrase -Vb /var/www/apt export
Contoh Keluaran
Created directory "/var/www/apt/db"
Exporting Trusty...
Created directory "/var/www/apt/dists"
Created directory "/var/www/apt/dists/Trusty"
Created directory "/var/www/apt/dists/Trusty/universe"
Created directory "/var/www/apt/dists/Trusty/universe/binary-i386"
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/InRelease.new'

Langkah 3: Tambahkan Paket ke Repositori yang Baru Dibuat

Sekarang siapkan paket .deb Anda untuk ditambahkan ke repositori. Masuk ke direktori /var/www/apt, Anda harus melakukan ini setiap kali ingin menambahkan paket.

cd /var/www/apt
reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb

Catatan: Ganti trusty dengan nama kode yang Anda masukkan untuk repositori di file distribusi, dan ganti /home/username/package .deb dengan jalur ke paket, Anda akan diminta memasukkan frasa sandi.

Contoh Keluaran
/home/ravisaive/packages.deb : component guessed as 'universe'
Created directory "./pool"
Created directory "./pool/universe"
Created directory "./pool/universe/o"
Created directory "./pool/universe/o/ojuba-personal-lock"
Exporting indices...
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/InRelease.new'

Paket Anda ditambahkan ke repositori, untuk menghapusnya.

reprepro --ask-passphrase -Vb /var/www/apt remove trusty  package.deb

Dan tentu saja, Anda perlu mengubah perintah dengan nama paket dan nama kode repositori Anda.

Langkah 4: Unggah Repositori ke Sourceforge.net

Untuk mengunggah repositori ke Sourceforge.net, tentu saja Anda harus memiliki akun yang berjalan di sana, dan proyek yang sedang berjalan, anggaplah Anda ingin mengunggah repositori ke http://sourceforge .net/projects/myfoo/testrepository di mana myfoo adalah nama proyek Anda (nama UNIX, bukan URL, bukan Judul), dan testrepository adalah folder tempat Anda ingin mengunggah file, Kami akan melakukan ini menggunakan rsync memerintah.

rsync -avP -e ssh /var/www/apt/ [email :/home/frs/project/myfoo/testrepository/

Catatan: Ganti nama pengguna dengan nama pengguna Anda di sourceforge.net dan myfoo dengan nama UNIX proyek Anda dan repositori tes dengan folder tempat Anda ingin menyimpan file.

Sekarang repositori Anda telah diunggah ke http://sourceforge.net/projects/myfoo/testrepository, untuk menambahkannya ke sistem yang Anda instal, pertama-tama Anda harus mengimpor kunci repositori, kuncinya akan berada di < b>/var/www/apt/key/deb.gpg.key, tetapi itu adalah jalur lokal dan pengguna repositori Anda tidak akan dapat menambahkannya ke sistem mereka, itu sebabnya kami akan melakukannya mengimpor kunci dari sourceforge.net.

sudo su
wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -

Anda sekarang dapat menambahkan repositori dengan mudah ke sistem Anda, buka /etc/apt/sources.list dan tambahkan baris ini.

deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key trusty main

Catatan: Ganti myfoo dengan Nama UNIX proyek Anda, terpercaya dengan nama kode repositori Anda, testrepository dengan folder tempat Anda mengunggah file, dan main dengan komponen repositori yang Anda tambahkan file distribusi.

Selanjutnya, jalankan berikut ini untuk memperbarui daftar repositori.

sudo apt-get update

Selamat! Repositori Anda aktif! Anda sekarang dapat menginstal paket dengan mudah dari sana jika Anda mau.