APTLY ile Depo Oluşturma

Published 01-11-2018 00:00:00

Depo oluşturmak için gerekli olan “aptly” ve diğer paketlerin kurulumu için konsolda;

sudo apt install aptly graphviz haveged rng-tools  -y

Daha sonra “aptly” kullanıcısı oluşturulur;

sudo adduser aptly

komut sonrası şifre girilir(Şifre aptly)

Yeni parolayı girin:*Şifre* 
Yeni parolayı tekrar girin: 
passwd: şifre başarıyla güncellendi
aptly için kullanıcı bilgileri değiştiriliyor

diğer bilgiler girilerek işlem tamamlanır. Aptly kullanıcısına geçilir;

su aptly
aptly publish list
gpg --list-keys

komutları sıra ile çalıştırılır. Ardından yetkili kullanıcıya

su - 

şirfe girilerek giriş yapılır. Aşağıdaki komutlar sıra ile çalıştırılarak sonuçlanmaları beklenir;

rngd -f -r /dev/urandom
chown aptly /dev/pts/0

daha sonra;

exit

komutu ile çıkış yapılır.

GPG key oluşturmak için;

gpg --generate-key

komutu çalıştırılır. Real name, E-mail address bilgileri girilir;

Örnek:

Real name:Omer Cakmak Repo Signing Key

Email address:farukomercakmak@gmail.com

You selected this USER-ID:
	"Omer Cakmak Repo Signing Key <farukomercakmak@gmail.com>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit? 

bu soruya “O” yanıtı verilir.

Aşağıdaki sorulara(iki defa sorulur), ikisinde de şifre girilmeden OK ve <Yes, protection is not needed> cevabını verilmelidir.

Please enter the passphrase to
protect your new key
Passphrase: ________________________________________
                 <OK>           <Cancel> 

sonra;

You have not entered a passphrase - this is in general a bad idea!
Please confirm that you do not want to have any protection on your key.
      <Yes, protection is not needed>       <Enter new passphrase> 

Bu işlemler sonrasında ekrana şifreleri döker.


public and secret key created and signed.

pub   rsa2048 2018-01-11 [SC] [expires: 2020-01-11]
      D8F56BA73E2BD1234569EBA7055860123A2C6965
      D8F56BA73E2BD1234569EBA7055860123A2C6965
uid                      Omer Cakmak Repo Signing Key <farukomercakmak@gmail.com>
sub   rsa2048 2018-01-11 [E] [expires: 2020-01-11]

Yukarıda görüntülenen şifre alınarak

gpg --armor --export D8F56BA73E2BD1234569EBA7055860123A2C6965 > omercakmak-archive-keyring.gpg
gpg --export-secret-key D8F56BA73E2BD1234569EBA7055860123A2C6965 > secret.key
gpg --import secret.key

komuru çalıştırılır.

cd ~ && mkdir local-packages && cd local-packages

Burada oluşturulacak dizinler istenilen yapıda olabilir, kullanım kolaylığı açısından ayrı dizinlerde tutulabilir.

mkdir plugins && cd plugins

komutu ile plugins dizini oluşturulur. Paketler wget veya scp vb yöntemlerde ile paketler bu adrese çekilir.

Ev dizinine gidilerek;

cd ..

aptly repo create -component="main" omer-cakmak

aptly repo add -force-replace=true omer-cakmak ./local-packages

aptly publish repo -origin="Pardus" -label="Omer Cakmak" -architectures=amd64 -distribution="testing" -component="main" omer-cakmak omercakmak

komutları çalıştırılır.

Depo oluşturma bitti, yayına almak için yetkili kullanıcıya giriş yapılır;

su -
sudo apt install apache2 -y
cd /var/www/html/ && sudo rm -rf index.html
sudo ln -s /home/aptly/.aptly/public/omercakmak omercakmak 
sudo cp -fr /home/aptly/omercakmak-archive-keyring.gpg .

komutları ile gpg anahtarı da yayına alınır. Herhangi bir tarayıcıdan ip adresi yazılarak içerik görüntülenebilir.

##İstemcilerde Yapılacaklar##

Öncelikle gpg anahtarı indirilerek eklenmelidir;

wget http://161.9.194.188/omercakmak-archive-keyring.gpg && sudo apt-key add omercakmak-archive-keyring.gpg && rm omercakmak-archive-keyring.gpg

sudo add-apt-repository 'deb  http://161.9.194.188/omercakmak testing main'
sudo apt update

komutaları sonrası paketleri;

apt search paket_adi

komutu ile görülebilir.

##Depo Güncelleme##

Yeni paketler local-packages altına atıldıktan sonra aptly kullanıcısı ile ev dizininde iken;

aptly repo add -force-replace=true omer-cakmak ./local-packages
aptly publish update -force-overwrite=true testing omercakmak

komutları çalıştırılmalıdır. Bu işlemlerden sonra “Publish for local repo omercakmak/testing (origin: Pardus, label: Omer Cakmak) [amd64] publishes {main: [omer-cakmak]} has been successfully updated.” sonucu alınmalıdır.

##Paket Eksiltme##

Yukarıda paket ekleme sonrası depo güncelleme yapılmıştı. Diyelimki paketi kullanımdan kaldıracaksınız, bunu için paket local-packages dizininden kaldırıldıktan sonra

aptly repo remove omercakmak paket_adi

şeklinde paket silinir, daha sonra

aptly publish update -force-overwrite=true testing omercakmak

şeklinde tekrar depo yayına alınır.