Привет и всех с Новым годом ..
Недавно я собрал пакет nginx deb 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 ~ bpo70 + 1 => 1.4.4-1 ~ bpo70 + 1), который в основном представляет собой две идентичные версии, но в моем установленном пакете deb есть настраиваемые модули nginx, добавленные к nginx-full по умолчанию, и после обновления все мои настраиваемые модули исчезли и были заменены стандартным debian wheezy backport deb. backport deb пакет из источника debian backport и также установил build-deb через backport, но некоторые зависимости устанавливаются автоматически из стабильной версии, что я видел из подробного вывода ..
Не могли бы вы помочь мне предотвратить это на примере?
ОБНОВИТЬ
Я попытался закрепить пакет и не работал, и вот результат, который я получил:
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
Я попытался закрепить один раз имя пакета nginx, а другой раз - nginx-full ..
Но оба не держат пакет !!!
Я бы порекомендовал поднять версию пакета. APT знает, что оба пакета не совпадают, и пытается установить пакет из надежных источников. dch -i
это все, что вам нужно, просто добавьте краткое описание и пересоберите пакет.
Вы также можете закрепить пакет по-другому:
Package: nginx-full
Pin: origin ""
Pin-Priority: 999
Это даст больший приоритет пакету, установленному локально.
Если строка версии репозитория заменяет текущую установленную версию и у вас нет закрепления и какая-то версия будет выпущена, да, apt установит пакет из репозиториев (надеюсь, с уже примененным патчем), если у вас есть правильные источники.
Если вы закрепите пакет, apt-get не попытается его обновить.
Чтобы закрепить пакет, создайте файл в /etc/apt/preferences.d, например /etc/apt/preferences.d/nginx
Поместите это в файл:
Package: nginx
Pin: version 1.4.4-1~bpo70+1
Pin-Priority: 1001