
Привет и счастливого Нового года вам всем.
Недавно я собрал deb-пакет nginx v1.4.4 из исходного кода Debian Backport, который я, конечно же, добавил в apt sources.list, и все прошло отлично.
Мой вопрос:Будет ли Debian автоматически обновлять пакеты, которые я лично собрал из их официальных источников? Я имею в виду обновление пакетов безопасности.
ОБНОВЛЯТЬ:
Я запустил apt-get update
его apt-get -V upgrade
сегодня, чтобы проверить, как поведет себя Debian 7 apt... и вот что я получил:
root@debian-lab:~/nginx-1.4.4-packages# apt-get -V upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
nginx-full (1.4.4-1~bpo70+1 => 1.4.4-1~bpo70+1)
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/464 kB of archives.
After this operation, 9,027 kB disk space will be freed.
Do you want to continue [Y/n]?
Как вы видите, apt пытается обновиться с(1.4.4-1~бпо70+1 => 1.4.4-1~бпо70+1), что по сути является двумя идентичными версиями, но в моем установленном deb-пакете есть пользовательские модули nginx, добавленные в nginx-full по умолчанию, а после обновления все мои пользовательские модули исчезли и были заменены стандартным deb-пакетом backport deb из Debian wheezy. Я собрал свой deb-пакет backport nginx из исходного кода Debian backport и установил build-deb через backport, но некоторые зависимости были установлены автоматически из стабильной версии, это то, что я увидел в подробном выводе.
Можете ли вы помочь мне предотвратить это на примере?
ОБНОВЛЯТЬ
Я попробовал закрепить пакет с помощью apt pin, но ничего не вышло. Вот что я получил:
apt-cache policy nginx-full
nginx-full:
Installed: 1.4.4-1~bpo70+1
Candidate: 1.4.4-1~bpo70+1
Version table:
1.4.4-1~bpo70+1 0
100 http://ftp.uk.debian.org/debian/ wheezy-backports/main amd64 Packages
*** 1.4.4-1~bpo70+1 0
100 /var/lib/dpkg/status
1.2.1-2.2+wheezy2 0
500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
А ниже представлена политика apt-cache nginx:
/etc/apt/preferences.d# apt-cache policy nginx
nginx:
Installed: 1.4.4-1~bpo70+1
Candidate: 1.4.4-1~bpo70+1
Package pin: 1.4.4-1~bpo70+1
Version table:
*** 1.4.4-1~bpo70+1 1001
100 http://ftp.uk.debian.org/debian/ wheezy-backports/main amd64 Packages
100 /var/lib/dpkg/status
1.2.1-2.2+wheezy2 1001
500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
Но apt все равно пытается обновить и заменить его!!
Содержание Sources.list:
deb http://ftp.uk.debian.org/debian/ wheezy main
deb-src http://ftp.uk.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
# wheezy-updates, previously known as 'volatile'
deb http://ftp.uk.debian.org/debian/ wheezy-updates main
deb-src http://ftp.uk.debian.org/debian/ wheezy-updates main
# Wheezy Backports repository
deb http://ftp.uk.debian.org/debian wheezy-backports main
deb-src http://ftp.uk.debian.org/debian wheezy-backports main
Я пробовал один раз закрепить имя пакета с помощью apt pin «nginx», а другой раз — с nginx-full.
Но оба не могут удержать посылку!!!
решение1
Я бы рекомендовал вам повысить версию пакета. APT знает, что оба пакета не одинаковы, и пытается установить пакет из надежных источников. dch -i
Все, что вам нужно, это просто добавить краткое описание и пересобрать пакет.
Вы также можете закрепить пакет по-другому:
Package: nginx-full
Pin: origin ""
Pin-Priority: 999
Это даст больший приоритет пакету, установленному локально.
Если строка версии репозитория заменяет текущую установленную версию и у вас нет закрепленияинекоторые версии будут выпущены, да, apt установит пакет из репозиториев (надеюсь, с уже примененным патчем), если у вас есть правильные исходники.
решение2
Если вы закрепите пакет, apt-get не будет пытаться обновить его.
Чтобы закрепить пакет, создайте файл в /etc/apt/preferences.d, например /etc/apt/preferences.d/nginx
Поместите это в файл:
Package: nginx
Pin: version 1.4.4-1~bpo70+1
Pin-Priority: 1001