drholy revised this gist 4 hours ago. Go to revision
1 file changed, 49 insertions
create-repo.sh(file created)
| @@ -0,0 +1,49 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ROOT="/var/dist" | |
| 3 | + | DIRT="/var/dist/conf" | |
| 4 | + | DEBS="/root/repos/*.deb" | |
| 5 | + | ||
| 6 | + | mkdir -p $DIRT | |
| 7 | + | cd $DIRT | |
| 8 | + | ||
| 9 | + | #Создаем gpg ключ | |
| 10 | + | gpg --gen-key | |
| 11 | + | ||
| 12 | + | #Создаем шаблон репозитория | |
| 13 | + | DIST="distributions" | |
| 14 | + | touch $DIST | |
| 15 | + | echo "Origin: Debian" >> $DIST | |
| 16 | + | echo "Label: Debian" >> $DIST | |
| 17 | + | echo "Suite: stable" >> $DIST | |
| 18 | + | echo "Version: 12.5" >> $DIST | |
| 19 | + | echo "Codename: bookworm" >> $DIST | |
| 20 | + | echo "Achitectures: amd64" >> $DIST | |
| 21 | + | echo "Components: main contrib non-free-firmware non-free" >> $DIST | |
| 22 | + | SIGN="SignWith: " | |
| 23 | + | ||
| 24 | + | #Парсим public keyID | |
| 25 | + | FPRNT=$(gpg --list-keys --with-subkey-fingerprint | grep -Po '\w{40}' | sed '2!d') | |
| 26 | + | echo $SIGN$FPRNT >> $DIST | |
| 27 | + | ||
| 28 | + | #Настройка reprepro | |
| 29 | + | cd $ROOT | |
| 30 | + | reprepro export | |
| 31 | + | reprepro createsymlinks | |
| 32 | + | cd $DIRT | |
| 33 | + | ||
| 34 | + | echo "verbose" >> option | |
| 35 | + | echo $ROOT >> option | |
| 36 | + | echo "ask-passphrase" >> option | |
| 37 | + | ||
| 38 | + | #Добавляем *.deb пакеты в репозиторий | |
| 39 | + | reprepro -b $ROOT includedeb bookworm $DEBS | |
| 40 | + | ||
| 41 | + | #Создаем публичный ключ | |
| 42 | + | gpg --armor --output whatever.gpg --export-options export-minimal --export $FPRNT | |
| 43 | + | cd | |
| 44 | + | chown -R _apt:root $ROOT | |
| 45 | + | chmod -R 700 $ROOT | |
| 46 | + | ||
| 47 | + | #Локальный sources.list | |
| 48 | + | #deb file:$ROOT bookworm main contrib non-free | |
| 49 | + | #cp $DIRT/whatever.gpg /etc/apt/trusted.gpg.d/whatever.asc | |
Newer
Older