1. Создаём ключ DEB-GPG-KEY. Стандартно.
$ cd ~
$ gpg --gen-key
$ gpg —export -a 'Name Surname (repo)' > DEB-GPG-KEY
2. Создаём файл ~/.rpmmacros следующего содержания:
%_signature gpg
%_gpg_path ~/.gnupg
%_gpg_name Name Surname (repo)
3. Создаём директорию repo, а в ней директории dists и pool. В них уже будет система каталогов. Переносим туда ключ DEB-GPG-KEY
$ mkdir -p repo/dists/nobody/soft/binary-i386
$ mkdir -p repo/dists/nobody/soft/binary-x86_64
$ mkdir -p repo/pool/soft/binary-i386/t/teamviewer
$ mkdir -p repo/pool/soft/binary-x86_64/t/teamviewer
$ mv ~/DEB-GPG-KEY /repo/DEB-GPG-KEY
4. В директории dists у нас будут храниться данные о пакетах, а в директории pool — сами пакеты. Причём из имени /binary-i386/t/teamviewer уже видно, что пакеты раскладываются по архитектурам, затем по буквенным директориям и затем по директориям с именами происходящими от названия содержащегося в них ПО (в них может лежать десяток пакетов необходимых конкретному ПО по его зависимостям). Т.е. имеется заданная иерархия.
5. Кладём в директорию repo скрипт для подготовки репозитория.
6. Запускаем скрипт и ждём когда он отработает.
$ chmod a+x
$ ./repo_debian.sh
7. Закачиваем на хостинг директорию repo и описываем репозиторий в /etc/apt/sources.list
deb http://
8. Проверяем работу репозитория
$ wget http://
$ sudo apt-key add DEB-GPG-KEY
$ sudo apt-get clean
$ sudo apt-get update