<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=Reprepro_kasutamine</id>
	<title>Reprepro kasutamine - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=Reprepro_kasutamine"/>
	<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=Reprepro_kasutamine&amp;action=history"/>
	<updated>2026-05-03T21:21:57Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=Reprepro_kasutamine&amp;diff=50&amp;oldid=prev</id>
		<title>Imre: Uus lehekülg: '===Sissejuhatus===  reprepro https://mirrorer.alioth.debian.org/ tarkvara abil hallatakse lokaalset apt repositooriumit. Repositoorimi haldamine on suhteliselt lihtne ja tulemus...'</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=Reprepro_kasutamine&amp;diff=50&amp;oldid=prev"/>
		<updated>2021-09-02T09:52:59Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;===Sissejuhatus===  reprepro https://mirrorer.alioth.debian.org/ tarkvara abil hallatakse lokaalset apt repositooriumit. Repositoorimi haldamine on suhteliselt lihtne ja tulemus...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
reprepro https://mirrorer.alioth.debian.org/ tarkvara abil hallatakse lokaalset apt repositooriumit. Repositoorimi haldamine on suhteliselt lihtne ja tulemus on suhteliselt täisväärtuslik, nt toimib nn SecureApt, https://wiki.debian.org/SecureApt. Käesolev tekst on koostatud Ubuntu v. 16.04 keskkonda kasutades, aga võiks töötada nö mujal ka. gnupg2 tarkvara kasutamisel jälgida, kas see pakett paigaldataks ka reprepro paketi sõltuvusena ja kui, siis kautada GnuPG v. 2 võtmeid.&lt;br /&gt;
&lt;br /&gt;
===Tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
reprepro kasutamine seisneb vajadusel reprepro nimelise programmi käivitamisel sobivate argumentidega, käivitamise tulemusena tavaliselt genereeritakse apt repositooriumile vastav kataloogistruktuur koos seal sisalduvate nö igasuguste failidega (Release.gpg jt). Tavaliselt on reprepro arvutis lisaks vajalikud&lt;br /&gt;
&lt;br /&gt;
* gpg tarkvara (v. 1.4 või v. 2.x) - käesolevas tekstis kasutatakse v. 2 tarkvara ja krüptomaterjali&lt;br /&gt;
* reprepro käivitajal on kasutada gpg signeerimise võti&lt;br /&gt;
* veebiserver (nt NginX või Apache)&lt;br /&gt;
&lt;br /&gt;
Tüüpilisel reprepro kasutusjuhtumil nt arendaja annab tellijale oma töö üle .deb failidena, aga neid otseselt on ebamugav kasutada (nö dpkg -i paketinimi.deb ütlemisega). Lahenduseks on paigaldada üle võrgu, sarnasel viisil nagu kasutatakse tavalist apt repositooriumi (nt ee.archive.ubuntu.com). Seejuures uuemal ajal apt klient eeldab, et repositoorum on nö turvaline, st kasutatakse signeeritud Release.gpg faili. Selliste omadustega repositooriumi haldamiseks on sobiv kasutada reprepro tarkvara.&lt;br /&gt;
&lt;br /&gt;
reprepro lahenduse tekitamise sammud&lt;br /&gt;
&lt;br /&gt;
* paigaldada operatsioonisüsteem (nt Debian või Ubuntu)&lt;br /&gt;
* tekitada reprepro kasutaja&lt;br /&gt;
* paigaldada gpg tarkvara ja genereerida reprepro kasutajana gpg signeerimise võti&lt;br /&gt;
* paigaldada ja seadistada reprepro tarkvara&lt;br /&gt;
* paigutada reprepro repositooriumisse pakett&lt;br /&gt;
* paigaldada ja seadistada veebiserveri tarkvara ning teha reprepro poolt genereeritud apt kataloogistruktuur üle võrgu kättesaadavaks&lt;br /&gt;
* seadistada apt klient kasutama repositoorimumi ja kasutada&lt;br /&gt;
&lt;br /&gt;
===Tarkvara paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Tarkvara paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install gnupg2 reprepro rng-tools nginx&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* rng-tools kiirendab /dev/urandom kasutamist vms, vastasel korral võtmete genereerimine väga aeglane&lt;br /&gt;
&lt;br /&gt;
===Repositooriumi haldav kasutaja:grupp===&lt;br /&gt;
&lt;br /&gt;
kasutaja:grupp tekitamine mille abil repositooriumi hallatakse&lt;br /&gt;
&lt;br /&gt;
 # groupadd repropro&lt;br /&gt;
 # useradd -g repropro -m -d /opt/repropro -s /bin/bash repropro&lt;br /&gt;
&lt;br /&gt;
===GPG v. 2 võtmed===&lt;br /&gt;
&lt;br /&gt;
GPG v. 2 võtmete genereerimisel tuleb teha kaks liigutust ja tekib kolm võtmepaari&lt;br /&gt;
&lt;br /&gt;
* genereerida nö master võtmepaar (see on gpg kasutamise eelduseks) signeerimiseks&lt;br /&gt;
* master võtmepaariga kaasneb automaatselt ühe krüptimise subkey võtmepaari tekkimine&lt;br /&gt;
* genereerida signeerimise subkey võtmepaar&lt;br /&gt;
&lt;br /&gt;
====Master signeerimise võti ja subkey kürptimise võti====&lt;br /&gt;
&lt;br /&gt;
Nt sobib master võtmepaari genereerimiseks sellist seadistusfaili&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat gpg2.template&lt;br /&gt;
%echo Generating a basic OpenPGP key&lt;br /&gt;
Key-Type: RSA&lt;br /&gt;
Key-Length: 4096&lt;br /&gt;
Key-Usage: sign&lt;br /&gt;
Subkey-Type: RSA&lt;br /&gt;
Subkey-Length: 4096&lt;br /&gt;
Subkey-Usage: encrypt&lt;br /&gt;
Name-Real: Moraal APT&lt;br /&gt;
Name-Email: moraal-apt@moraal.ee&lt;br /&gt;
Expire-Date: 0&lt;br /&gt;
Passphrase: abc,6543H&lt;br /&gt;
%commit&lt;br /&gt;
%echo done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genereerimisks öelda&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gpg2 --batch --gen-key gpg2.template &lt;br /&gt;
gpg: directory '/opt/reprepro/.gnupg' created&lt;br /&gt;
gpg: new configuration file '/opt/reprepro/.gnupg/dirmngr.conf' created&lt;br /&gt;
gpg: new configuration file '/opt/reprepro/.gnupg/gpg.conf' created&lt;br /&gt;
gpg: keybox '/opt/reprepro/.gnupg/pubring.kbx' created&lt;br /&gt;
gpg: Generating a basic OpenPGP key&lt;br /&gt;
gpg: /opt/reprepro/.gnupg/trustdb.gpg: trustdb created&lt;br /&gt;
gpg: key EDD7F10A marked as ultimately trusted&lt;br /&gt;
gpg: directory '/opt/reprepro/.gnupg/openpgp-revocs.d' created&lt;br /&gt;
gpg: revocation certificate stored as '/opt/reprepro/.gnupg/openpgp-revocs.d/D936FDF35DE6AEB9241AA937C348B1DAEDD7F10A.rev'&lt;br /&gt;
gpg: done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemusena tekib master võti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gpg2 --list-keys&lt;br /&gt;
gpg: checking the trustdb&lt;br /&gt;
gpg: marginals needed: 3  completes needed: 1  trust model: PGP&lt;br /&gt;
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u&lt;br /&gt;
/opt/reprepro/.gnupg/pubring.kbx&lt;br /&gt;
------------------------------&lt;br /&gt;
pub   rsa4096/EDD7F10A 2017-10-24 [SC]&lt;br /&gt;
uid         [ultimate] Moraal APT &amp;lt;moraal-apt@moraal.ee&amp;gt;&lt;br /&gt;
sub   rsa4096/0D884A61 2017-10-24 [E]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Signeerimise subkey võti====&lt;br /&gt;
&lt;br /&gt;
Signeerimise subkey võtme tekitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gpg2 --edit-key EDD7F10A&lt;br /&gt;
gpg (GnuPG) 2.1.11; Copyright (C) 2016 Free Software Foundation, Inc.&lt;br /&gt;
This is free software: you are free to change and redistribute it.&lt;br /&gt;
There is NO WARRANTY, to the extent permitted by law.&lt;br /&gt;
&lt;br /&gt;
Secret key is available.&lt;br /&gt;
&lt;br /&gt;
sec  rsa4096/EDD7F10A&lt;br /&gt;
     created: 2017-10-24  expires: never       usage: SC  &lt;br /&gt;
     trust: ultimate      validity: ultimate&lt;br /&gt;
ssb  rsa4096/0D884A61&lt;br /&gt;
     created: 2017-10-24  expires: never       usage: E   &lt;br /&gt;
[ultimate] (1). Moraal APT &amp;lt;moraal-apt@moraal.ee&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gpg&amp;gt; addkey&lt;br /&gt;
Please select what kind of key you want:&lt;br /&gt;
   (3) DSA (sign only)&lt;br /&gt;
   (4) RSA (sign only)&lt;br /&gt;
   (5) Elgamal (encrypt only)&lt;br /&gt;
   (6) RSA (encrypt only)&lt;br /&gt;
Your selection? 4&lt;br /&gt;
RSA keys may be between 1024 and 4096 bits long.&lt;br /&gt;
What keysize do you want? (2048) 4096&lt;br /&gt;
Requested keysize is 4096 bits&lt;br /&gt;
Please specify how long the key should be valid.&lt;br /&gt;
         0 = key does not expire&lt;br /&gt;
      &amp;lt;n&amp;gt;  = key expires in n days&lt;br /&gt;
      &amp;lt;n&amp;gt;w = key expires in n weeks&lt;br /&gt;
      &amp;lt;n&amp;gt;m = key expires in n months&lt;br /&gt;
      &amp;lt;n&amp;gt;y = key expires in n years&lt;br /&gt;
Key is valid for? (0) &lt;br /&gt;
Key does not expire at all&lt;br /&gt;
Is this correct? (y/N) y&lt;br /&gt;
Really create? (y/N) y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
seejärel küsitakse uue võtme parooli kaks korda, et võtmele parool seada ning master võtme parooli, et uus võti signeerida. Tulemusena öeldakse&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We need to generate a lot of random bytes. It is a good idea to perform&lt;br /&gt;
some other action (type on the keyboard, move the mouse, utilize the&lt;br /&gt;
disks) during the prime generation; this gives the random number&lt;br /&gt;
generator a better chance to gain enough entropy.&lt;br /&gt;
&lt;br /&gt;
sec  rsa4096/EDD7F10A&lt;br /&gt;
     created: 2017-10-24  expires: never       usage: SC  &lt;br /&gt;
     trust: ultimate      validity: ultimate&lt;br /&gt;
ssb  rsa4096/0D884A61&lt;br /&gt;
     created: 2017-10-24  expires: never       usage: E   &lt;br /&gt;
ssb  rsa4096/E1DD3BBF&lt;br /&gt;
     created: 2017-10-24  expires: never       usage: S   &lt;br /&gt;
[ultimate] (1). Moraal APT &amp;lt;moraal-apt@moraal.ee&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gpg&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lõpuks salvestada muudatused võtmehoidjasse&lt;br /&gt;
&lt;br /&gt;
 gpg&amp;gt; save&lt;br /&gt;
&lt;br /&gt;
Tulemus paistab selline&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gpg2 --list-keys&lt;br /&gt;
/opt/reprepro/.gnupg/pubring.kbx&lt;br /&gt;
------------------------------&lt;br /&gt;
pub   rsa4096/EDD7F10A 2017-10-24 [SC]&lt;br /&gt;
uid         [ultimate] Moraal APT &amp;lt;moraal-apt@moraal.ee&amp;gt;&lt;br /&gt;
sub   rsa4096/0D884A61 2017-10-24 [E]&lt;br /&gt;
sub   rsa4096/E1DD3BBF 2017-10-24 [S]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Võtmete haldus====&lt;br /&gt;
&lt;br /&gt;
* võtme salvestamiseks&lt;br /&gt;
&lt;br /&gt;
 $ gpg2 -a --export E1DD3BBF &amp;gt; reprepro.gpg&lt;br /&gt;
&lt;br /&gt;
* võtme omadusi saab kontrollida aadressil http://cirw.in/gpg-decoder/&lt;br /&gt;
* võtme packet sisu esitamine&lt;br /&gt;
&lt;br /&gt;
 $ gpg2 -a --export &amp;quot;E1DD3BBF&amp;quot; | gpg --list-packets --verbose&lt;br /&gt;
&lt;br /&gt;
* parooli eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # gpg2 --edit-key KeyID&lt;br /&gt;
 &amp;gt; passwd&lt;br /&gt;
&lt;br /&gt;
ning seejärel sisestada töötav parool ning kaks korda uue parooli sisestamisest mina Enter'iga üle.&lt;br /&gt;
&lt;br /&gt;
====Kasulikud lisamaterjalid====&lt;br /&gt;
&lt;br /&gt;
* https://www.gnupg.org/documentation/manuals/gnupg/Unattended-GPG-key-generation.html&lt;br /&gt;
* http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/&lt;br /&gt;
* https://wiki.gentoo.org/wiki/GnuPG&lt;br /&gt;
* https://www.apache.org/dev/openpgp.html&lt;br /&gt;
* https://davesteele.github.io/gpg/2014/09/20/anatomy-of-a-gpg-key/&lt;br /&gt;
* https://spin.atomicobject.com/2013/09/25/gpg-gnu-privacy-guard/&lt;br /&gt;
* https://tools.ietf.org/html/rfc4880&lt;br /&gt;
* https://pgp.key-server.io/&lt;br /&gt;
* https://pgp.cs.uu.nl/&lt;br /&gt;
&lt;br /&gt;
===GPG v. 1 võtmed===&lt;br /&gt;
&lt;br /&gt;
Käesolev punkt on väga lakooniline, reeglina võiks tänapäeval kasutada GnuPG v. 2 tarkvara.&lt;br /&gt;
&lt;br /&gt;
====Master signeerimise võti ja subkey kürptimise võti====&lt;br /&gt;
&lt;br /&gt;
v. 1.4 puhul tuleb sha1 vältimiseks kasutada nt sellist seadistusfaili, https://keyring.debian.org/creating-key.html&lt;br /&gt;
&lt;br /&gt;
 $ cat .gnupg/gpg.conf &lt;br /&gt;
 personal-digest-preferences SHA256&lt;br /&gt;
 cert-digest-algo SHA256&lt;br /&gt;
 default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed&lt;br /&gt;
&lt;br /&gt;
Nt sobib master võtmepaari genereerimiseks sellist malli&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat gpg.template&lt;br /&gt;
%echo Generating a basic OpenPGP key&lt;br /&gt;
Key-Type: RSA&lt;br /&gt;
Key-Length: 4096&lt;br /&gt;
Key-Usage: sign&lt;br /&gt;
Subkey-Type: RSA&lt;br /&gt;
Subkey-Length: 4096&lt;br /&gt;
Subkey-Usage: encrypt&lt;br /&gt;
Name-Real: Moraal APT&lt;br /&gt;
Name-Email: moraal-apt@moraal.ee&lt;br /&gt;
Expire-Date: 0&lt;br /&gt;
Passphrase: abc,6543H&lt;br /&gt;
%commit&lt;br /&gt;
%echo done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genereerimisks öelda&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gpg --batch --gen-key gpg.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Signeerimise subkey võti====&lt;br /&gt;
&lt;br /&gt;
 $ gpg --edit-key KeyID&lt;br /&gt;
 gpg&amp;gt; addkey&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===reprepro seadistamine===&lt;br /&gt;
&lt;br /&gt;
reprepro seadistamiseks on sobib kasutada ne selline distributions fail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /srv/repositories/conf/distributions &lt;br /&gt;
Codename: xenial&lt;br /&gt;
Components: main&lt;br /&gt;
Architectures: i386 amd64&lt;br /&gt;
SignWith: E1DD3BBF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ning nt selline options fail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /srv/repositories/conf/options&lt;br /&gt;
ask-passphrase&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
reprepro kasutamine on praktiliselt ühtemoodi, nii GnuPG v. 1 kui v. 2 kasutamisel. Paketi lisamine repositooriumisse&lt;br /&gt;
&lt;br /&gt;
 $ reprepro -b /var/repositories includedeb xenial ioping_0.9-2_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Repositooriumi sisu esitamine&lt;br /&gt;
&lt;br /&gt;
 $ reprepro -b /var/repositories/ list xenial&lt;br /&gt;
 xenial|main|amd64: ioping 0.9-2&lt;br /&gt;
&lt;br /&gt;
Paketi eemaldamine repositooriumist&lt;br /&gt;
&lt;br /&gt;
 $ reprepro -b /srv/repositories/ remove xenial ioping&lt;br /&gt;
 Exporting indices...&lt;br /&gt;
 Deleting files no longer referenced...&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
&lt;br /&gt;
* v. 1.4 -&amp;gt; 2.1 teisendus&lt;br /&gt;
&lt;br /&gt;
 $ gpg --export-secret-keys | gpg2 --import -&lt;br /&gt;
&lt;br /&gt;
* võtmete varukoopia moodustamine&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* https://blog.packagecloud.io/eng/2017/03/23/create-debian-repository-reprepro/&lt;br /&gt;
* https://help.ubuntu.com/community/CreateAuthenticatedRepository&lt;br /&gt;
* https://www.howtoforge.com/setting-up-an-apt-repository-with-reprepro-and-nginx-on-debian-wheezy&lt;br /&gt;
* https://www.digitalocean.com/community/tutorials/how-to-use-reprepro-for-a-secure-package-repository-on-ubuntu-14-04&lt;br /&gt;
* https://josetips.wordpress.com/tag/reprepro/&lt;br /&gt;
* http://blog.jonliv.es/blog/2011/04/26/creating-your-own-signed-apt-repository-and-debian-packages/&lt;br /&gt;
* https://wiki.debian.org/DebianRepository/SetupWithReprepro&lt;/div&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
</feed>