Ստեղծեք _.deb փաթեթի պահեստարան_ Sourceforge.net-ում՝ օգտագործելով _Reprepro_ գործիքը Ubuntu-ում
Որպես ծրագրային ապահովման մշակող, ձեզ կարող է անհրաժեշտ լինել բաժանել ձեր ծրագրակազմը տարբեր օգտվողների: Ubuntu-ում ծրագրային ապահովման տարածման ընդհանուր եղանակներից մեկը Debian փաթեթի ստեղծումն է (.deb) և այն վերբեռնելու փաթեթների պահեստ: Փաթեթների պահոցը Debian փաթեթների հավաքածու է, որը տեղակայված է սերվերի վրա, որը կարող է օգտագործվել Ubuntu-ի մեքենաներում ծրագրակազմը տեղադրելու և թարմացնելու համար: Այս հոդվածում մենք ձեզ ցույց կտանք, թե ինչպես ստեղծել .deb փաթեթի պահոց՝ օգտագործելով Reprepro գործիքը և տեղադրել այն SourceForge.net-ում:
Նախադրյալներ
Ubuntu 18.04 կամ ավելի բարձր
Արմատային արտոնություններ
Ubuntu փաթեթի կառավարման հիմնական գիտելիքներ
Քայլ 1. Տեղադրեք Reprepro
Reprepro-ն գործիք է, որը կարող է օգտագործվել փաթեթների պահեստը կառավարելու համար: Reprepro-ն Ubuntu-ում տեղադրելու համար բացեք տերմինալ և գործարկեք հետևյալ հրամանը −
sudo apt-get update
sudo apt-get install reprepro
Քայլ 2. Պատրաստեք ձեր փաթեթները
Նախքան ձեր փաթեթները պահեստում ավելացնելը, դուք պետք է ստեղծեք դրանք: Փաթեթ ստեղծելու համար հարկավոր է գրել կառավարման ֆայլ և կանոնների ֆայլ, որը նկարագրում է փաթեթը և ինչպես կառուցել այն։ Փաթեթը ստեղծելուց հետո կարող եք այն կառուցել՝ օգտագործելով dpkg-buildpackage հրամանը: Լրացուցիչ տեղեկությունների համար, թե ինչպես ստեղծել Debian փաթեթներ, տե՛ս Debian փաթեթավորման պաշտոնական ուղեցույցը:
Քայլ 3. Ստեղծեք պահեստային գրացուցակ
Դուք պետք է ստեղծեք գրացուցակ՝ ձեր փաթեթները և պահեստի տեղեկությունները պահելու համար: Այս օրինակում մենք կստեղծենք «myrepo» անունով գրացուցակ:
sudo mkdir /var/www/html/myrepo
cd /var/www/html/myrepo
sudo mkdir -p dists/bionic/main/binary-amd64
Քայլ 4. Նախնականացրեք պահեստը
Այժմ, երբ դուք ունեք ձեր փաթեթները պահելու գրացուցակ, կարող եք սկզբնավորել պահեստը հետևյալ հրամանով −
sudo reprepro -Vb . init
Սա կստեղծի անհրաժեշտ ֆայլերը և գրացուցակները պահեստի համար:
Քայլ 5. Ավելացրեք ձեր փաթեթները պահեստում
Ձեր փաթեթները պահեստարան ավելացնելու համար պատճենեք դրանք «myrepo» գրացուցակում և գործարկեք հետևյալ հրամանը.
sudo reprepro -Vb . includedeb bionic /path/to/package.deb
Փոխարինեք «/path/to/package.deb»-ը ձեր փաթեթի ուղով: Սա կավելացնի փաթեթը պահեստի «բիոնիկ» բաշխմանը:
Քայլ 6. Թարմացրեք պահեստը
Պահեստում փաթեթներ ավելացնելուց հետո անհրաժեշտ է թարմացնել այն հետևյալ հրամանով −
sudo reprepro -Vb . update
Սա կթարմացնի պահոցը նոր փաթեթներով:
Քայլ 7. Ստորագրեք պահեստը
Ապահովելու համար, որ պահեստի փաթեթները չեն կեղծվել, դուք պետք է ստորագրեք պահոցը GPG բանալիով: Եթե դուք չունեք GPG բանալի, կարող եք ստեղծել այն հետևյալ հրամանով −
gpg --gen-key
Պահեստը ստորագրելու համար գործարկեք հետևյալ հրամանը −
sudo reprepro -Vb . sign
Սա կստորագրի պահեստը ձեր GPG բանալիով:
Քայլ 8. Կարգավորեք Apache վեբ սերվերը
SourceForge.net-ում փաթեթի պահոցը հյուրընկալելու համար հարկավոր է կարգավորել Apache վեբ սերվերը: Նախ, տեղադրեք Apache -
sudo apt-get install apache2
Հաջորդը, միացրեք անհրաժեշտ մոդուլները −
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod ssl
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
Այնուհետև ստեղծեք վիրտուալ հոսթի կազմաձևման ֆայլ /etc/apache2/sites-available/ գրացուցակում: Օրինակ, եթե ցանկանում եք հյուրընկալել փաթեթի պահոցը http://packages.example.com կայքում, կարող եք ստեղծել packages.example.com.conf անունով ֆայլ հետևյալ բովանդակությամբ.
sudo nano /etc/apache2/sites-available/packages.example.com.conf
<VirtualHost *:80>
ServerName packages.example.com
DocumentRoot /var/www/html
RewriteEngine on
RewriteRule ^/reprepro(.*) /reprepro$1 [R,L]
</VirtualHost>
Այս կազմաձևման ֆայլը նշում է, որ վիրտուալ հոսթը լսում է 80-րդ նավահանգիստը և սպասարկում ֆայլեր /var/www/html գրացուցակից: RewriteRule-ն օգտագործվում է հարցումները վերագրելու համար դեպի /reprepro URL-ի ուղին դեպի իրական reprepro պահոց գրացուցակը:
Միացնել վիրտուալ հոսթը՝ ստեղծելով սիմվոլիկ հղում դեպի կայքերը միացված գրացուցակը −
sudo ln -s /etc/apache2/sites-available/packages.example.com.conf /etc/apache2/sites-enabled/
Վերագործարկեք Apache վեբ սերվերը, որպեսզի փոփոխություններն ուժի մեջ մտնեն −
sudo systemctl restart apache2
Այժմ կարող եք մուտք գործել փաթեթի պահեստ՝ http://packages.example.com/reprepro/ հասցեով:
Քայլ 9. Փաթեթների ավելացում պահեստում
Այժմ, երբ պահոցը ստեղծվել է, կարող եք սկսել փաթեթներ ավելացնել դրան: Ահա թե ինչպես դա անել -
Տեղադրեք .deb փաթեթի ֆայլերը մուտքային գրացուցակում −
sudo mv /path/to/package.deb /srv/packages.example.com/reprepro/incoming/
sudo chown reprepro:reprepro /srv/packages.example.com/reprepro/incoming/package.deb
-
Ներմուծեք փաթեթը պահոց −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro includedeb buster /srv/packages.example.com/reprepro/incoming/package.deb
In this example, "buster" is the distribution name, which can be changed to match the name of the distribution you are using.
Թարմացրեք պահեստը −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro update
Հրապարակեք փաթեթը −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro publish
Վե՛րջ: Ձեր փաթեթն այժմ հասանելի է փաթեթի պահոցում:
Քայլ 10. Փաթեթների թարմացում պահեստում
Եթե Ձեզ անհրաժեշտ է թարմացնել փաթեթը պահեստում, կարող եք դա անել՝ հետևելով այս քայլերին
Տեղադրեք թարմացված .deb փաթեթի ֆայլը մուտքային գրացուցակում −
sudo mv /path/to/updated_package.deb /srv/packages.example.com/reprepro/incoming/
sudo chown reprepro:reprepro /srv/packages.example.com/reprepro/incoming/updated_package.deb
Ներմուծեք թարմացված փաթեթը պահոց −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro includedeb buster /srv/packages.example.com/reprepro/incoming/updated_package.deb
Թարմացրեք պահեստը −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro update
Հրապարակեք թարմացված փաթեթը −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro publish
Վե՛րջ: Ձեր թարմացված փաթեթն այժմ հասանելի է փաթեթի պահոցում:
Քայլ 11. Փաթեթների հեռացում պահոցից
Եթե Ձեզ անհրաժեշտ է հեռացնել փաթեթը պահոցից, կարող եք դա անել՝ հետևելով այս քայլերին
Հեռացրեք փաթեթը պահոցից −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro remove buster package_name
Այս օրինակում «buster»-ը բաշխման անունն է, որը կարող է փոխվել, որպեսզի համապատասխանի ձեր օգտագործած բաշխման անվանմանը: «package_name»-ն այն փաթեթի անունն է, որը ցանկանում եք հեռացնել:
Թարմացրեք պահեստը −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro update
Հրապարակեք փոփոխությունները −
sudo -u reprepro reprepro -Vb /srv/packages.example.com/reprepro publish
Վե՛րջ: Փաթեթը հեռացվել է պահոցից:
Եզրակացություն
Այս հոդվածում դուք սովորեցիք, թե ինչպես ստեղծել Debian փաթեթի պահոց՝ օգտագործելով Reprepro գործիքը Ubuntu-ում: Դուք սովորեցիք, թե ինչպես ստեղծել պահեստ, փաթեթներ ավելացնել դրան, թարմացնել փաթեթները և հեռացնել փաթեթները: Դուք նաև սովորեցիք, թե ինչպես կարգավորել Apache վեբ սերվերը, որպեսզի հյուրընկալի փաթեթի պահեստը: Այս հմտություններով դուք այժմ կարող եք ստեղծել ձեր փաթեթների պահոցը՝ ծրագրակազմը բաժանելու ձեր հաճախորդներին, գործընկերներին կամ ավելի լայն համայնքին: