Создание локального репозитория Astra Linux
Создаем структуру каталогов
# tree -L 2 /repo
/repo
+-- aptftp.conf
+-- aptgenerate.con_
+-- aptgenerate.conf
+-- dists
¦ +-- 1.7_x86-64
¦ L-- stable -> 1.7_x86-64
+-- lost+found
+-- packages-amd64.db
+-- pool
¦ +-- contrib
¦ +-- main
¦ +-- non-free
¦ L-- Packages.gz
+-- repository-gostsums.txt
+-- sources-contrib.db
+-- sources-main.db
L-- sources-non-free.db
Создаем конфигурационные файлы
aptftp.conf
APT::FTPArchive::Release {
Origin "GPN VKC Astra Linux";
Label "Astra Linux 1.7";
Suite "stable";
Codename "sid";
Architectures "amd64 i386 source";
Components "main contrib non-free";
Description "Astra Linux Packages";
};
aptgenerate.conf
Dir::ArchiveDir ".";
Dir::CacheDir ".";
TreeDefault::Directory "repo/";
#TreeDefault::SrcDirectory "repo/";
Default::Packages::Extensions ".deb";
Default::Packages::Compress ". gzip bzip2";
Default::Sources::Compress ". gzip bzip2";
Default::Contents::Compress "gzip bzip2";
BinDirectory "dists/stable/main/binary-amd64" {
Packages "dists/stable/main/binary-amd64/Packages";
Contents "dists/stable/Contents-amd64";
SrcPackages "dists/stable/main/source/Sources";
};
Tree "dists/stable" {
Sections "main contrib non-free"; # contrib non-free";
Architectures "amd64 source";
};
Индексируем каталог
Надо находясь в каталоге hci выполнить
Другой вариант
dpkg-scanpackages -t deb /repo/pool | gzip | cat > /repo/Packages.gz
или
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Создаем Release-файлы
for pp in main contrib non-free do;
apt-ftparchive release -c=aptftp.conf /repo/pool/$pp > /repo/pool/$pp/Release
done
Настройка Apache
Отключить авторизацию можно, задав “AstraMode off” в /etc/apache2/apache2.conf. При отключении авторизации Apache2 осуществляет все запросы только от одной системной учетной записи (по умолчанию www-data). Часть 1 РУСБ.10015-01 95 01-1, пункт 6.2.
Создаем конфигурацию виртуального хоста
<VirtualHost *:80>
ServerName repo
ServerAdmin webmaster@localhost
DocumentRoot /repo/pool
<Directory /repo/pool/>
AuthType None
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Order allow,deny
Allow from all
</Directory>
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/repo_err.log
CustomLog ${APACHE_LOG_DIR}/repo_acc.log combined
</VirtualHost>
Создаем ключ репозитория
Генерирование ключа
Далее ввести информацию о себе и подтвердить.
По завершении генерации будет выведена информация о сгенерированном ключе.
Выполнить экспорт ключа
Где ovt-repo.asc.asc это имя файла ключа.
Добавление ключа в apt
После этого можно проверить наличие ключа в списке apt:
Выведет все ключи, в том числе и созданный.
Если нужно удалить ключ из apt, то это выполняется командой:
Создаем Release
cd /var/www/repo.ovtsolutions.ru/hci/
apt-ftparchive release -c=/var/www/repo.ovtsolutions.ru/aptftp.conf dists/xena > dists/xena/Release
Подпишем Release
Добавляем репозиторий
Создаем файл /etc/apt/sources.list.d/astra-vkc.list со следующим содержимым:
Локально
Удаленно по http
17.05.2022