Как получить значки уведомлений, чтобы следить за моей игрой?

Создание аутентифицированного репозитория

Я рассмотрел ответы здесь и на других сайтах, и большинство из них (недостаток IMHO) - это то, что вы настраиваете не прошедший проверку подлинность репозиторий. Это означает, что вам нужно запустить apt-get с помощью --allow-unauthenticated, чтобы установить из него пакеты. Это может быть угрозой безопасности, особенно в сценариях, где пакеты, которые вы устанавливаете, могут быть не все из вашего локального репозитория.

Обратите внимание, что я не рассматривал здесь, как сделать его доступным через локальную сеть, но это довольно общая конфигурация, использующая Apache или nginx (см. другие ответы здесь).

Установите каталог репо

mkdir /home/srv/packages/local-xenial
cd /home/srv/packages/local-xenial

Затем добавьте строку, подобную этой, в sources.list: [ ! d6]

deb file:/home/srv/packages/local-xenial/ ./

Создание аутентифицированного репозитория

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

rm /home/srv/packages/local-xenial/some_package_idont_like

добавить пакеты

cp /some/dir/apackage.deb /home/srv/packages/local-xenial

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

#!/bin/bash

if [ -z "$1" ]; then
       echo -e "usage: `basename $0` DISTRO
where DISTRO is the Ubuntu version codename (e.g. 14.04 is trusty)\n
The way to use this script is to do the changes to the repo first, i.e. delete or copy in the .deb file to /srv/packages/local-DISTRO, and then run this script\n
This script can be run as an unprivileged user - root is not needed so long as your user can write to the local repository directory"
else
    cd /srv/packages/local-"$1"

    # Generate the Packages file
    dpkg-scanpackages . /dev/null > Packages
    gzip --keep --force -9 Packages

    # Generate the Release file
    cat conf/distributions > Release
    # The Date: field has the same format as the Debian package changelog entries,
    # that is, RFC 2822 with time zone +0000
    echo -e "Date: `LANG=C date -Ru`" >> Release
    # Release must contain MD5 sums of all repository files (in a simple repo just the Packages and Packages.gz files)
    echo -e 'MD5Sum:' >> Release
    printf ' '$(md5sum Packages.gz | cut --delimiter=' ' --fields=1)' %16d Packages.gz' $(wc --bytes Packages.gz | cut --delimiter=' ' --fields=1) >> Release
    printf '\n '$(md5sum Packages | cut --delimiter=' ' --fields=1)' %16d Packages' $(wc --bytes Packages | cut --delimiter=' ' --fields=1) >> Release
    # Release must contain SHA256 sums of all repository files (in a simple repo just the Packages and Packages.gz files)
    echo -e '\nSHA256:' >> Release
    printf ' '$(sha256sum Packages.gz | cut --delimiter=' ' --fields=1)' %16d Packages.gz' $(wc --bytes Packages.gz | cut --delimiter=' ' --fields=1) >> Release
    printf '\n '$(sha256sum Packages | cut --delimiter=' ' --fields=1)' %16d Packages' $(wc --bytes Packages | cut --delimiter=' ' --fields=1) >> Release

    # Clearsign the Release file (that is, sign it without encrypting it)
    gpg --clearsign --digest-algo SHA512 --local-user $USER -o InRelease Release
    # Release.gpg only need for older apt versions
    # gpg -abs --digest-algo SHA512 --local-user $USER -o Release.gpg Release

    # Get apt to see the changes
    sudo apt-get update
fi

Пример Содержание файла conf / distributions

Origin: My_Local_Repo Label: My_Local_Repo Codename: xenial Architectures: i386 amd64 Components: main Description: My local APT repository SignWith: 12345ABC

Пример Содержание файла conf / distributions

https://wiki.debian.org/RepositoryFormat

https: // wiki .debian.org / RepositoryFormat

https://help.ubuntu.com/community/CreateAuthenticatedRepository

1
задан 28 August 2013 в 22:25

0 ответов

Другие вопросы по тегам:

Похожие вопросы: