201 подписчик

Создание репозитория Ubuntu на Github

220 прочитали
О том, как создать Deb пакет, можно прочитать здесь Для начала необходимо зарегистрироваться на github. Установить пакет git: sudo apt-get -y install git Настройка git: git config --global user.

О том, как создать Deb пакет, можно прочитать здесь

Для начала необходимо зарегистрироваться на github.

Установить пакет git:

sudo apt-get -y install git

Настройка git:

git config --global user.email "user@mail"
git config --global user.name "username"

Создать SSH ключ:

ssh-keygen
ssh-keygen -t rsa -b 4096 -C "user@mail"
Enter file in which to save the key (/home/user/.ssh/id_rsa):... ~/.ssh/id_rsa
Enter passphrase (empty for no passphrase):... password

Запустить ssh-agent в фоновом режиме:

eval "$(ssh-agent -s)"

Добавить свой закрытый ключ SSH в ssh-agent:

ssh-add ~/.ssh/id_rsa

Добавить новый ключ SSH в учетную запись GitHub:

Скопировать ключ SSH в буфер обмена

sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub

Перейти https://github.com

-> Settings

-> SSH and GPG keys

-> New SSH key/Add SSH key

-> Ввести описание ключа

-> Вставить ключ

Создать репозиторий:

Перейти https://github.com/new

Настроить репозиторий:

Перейти https://github.com/[USERNAME]/[REPOSITORY]/settings

В разделе "GitHub Pages" выбрать "Source" - "master branch"

Перейти в локальный каталог репозитория:

cd [PATH]

Клонировать репозиторий:

git clone "git@github.com:[USERNAME]/[REPOSITORY].git"

Копировать пакет в репозиторий:

cp [PATH_TO_PACKAGE] .

Создать ключ:

sudo apt install gnupg
gpg --full-gen-key
gpg --full-generate-key
Please select what kind of key you want... 1
RSA keys may be between 1024 and 4096 bits long... 4096
Please specify how long the key should be valid... 0
Is this correct?... y
Real Name... [USERNAME]
Email address... [EMAIL]
Comment...[COMMENT]
Сменить (N)Имя, (C)Примечание, (E)Адрес; (O)Принять/(Q)Выход?...o

gpg: ключ [...] помечен как абсолютно доверенный

gpg: сертификат отзыва записан в '/home/user/.gnupg/openpgp-revocs.d/[...].rev'.

открытый и секретный ключи созданы и подписаны.

[ДОПОЛНИТЕЛЬНО] Операции с ключами:

Список ключей:

gpg --list-keys

Копия:

gpg --export-secret-keys "[MAIL]" > [FILEPATH].asc

Импорт:

gpg --import [FILEPATH].asc
gpg --allow-secret-key-import --import [FILEPATH].gpg

Экспорт:

gpg --output [FILEPATH].gpg --export [KEY_ID]
gpg --output [FILEPATH].gpg --export-secret-key [KEY_ID]

Создать KEY.gpg:

gpg --armor --export "[MAIL]" > [PATH_TO_LOCAL_REPOSITORY]/KEY.gpg
gpg --armor --export [...] > ./[PATH]/KEY.gpg

В репозитории:

Создать Packages

dpkg-scanpackages --multiversion . > Packages

Создать Packages.gz

gzip -k -f Packages

Создать Release

apt-ftparchive release . > Release

Создать Release.gpg

gpg --default-key [...] -abs -o - Release > Release.gpg

Создать InRelease

gpg --default-key [...] --clearsign -o - Release > InRelease

Создать my_list_file.list

echo "deb https://[USERNAME].github.io/[REPOSITORY_NAME] ./" > my_list_file.list

Отправить изменения на GitHub

git add -A
git commit -m "New PPA is now hosted on github"
git push -u origin master

...Готово!!!

curl -s --compressed "https://[USERNAME].github.io/[REPOSITORY_NAME]/KEY.gpg" | sudo apt-key add -
sudo curl -s --compressed -o /etc/apt/sources.list.d/my_list_file.list "https://[USERNAME].github.io/[REPOSITORY_NAME]/my_list_file.list"
sudo apt update

Установить пакет

sudo apt install [PACKAGE_NAME]

Добавить новые пакеты

Скопировать пакеты в репозиторий, затем

dpkg-scanpackages --multiversion . > Packages
gzip -k -f Packages
apt-ftparchive release . > Release
gpg --default-key [...] -abs -o - Release > Release.gpg
gpg --default-key [...] --clearsign -o - Release > InRelease
git add -A
git commit -m update
git push