Будет ли Debian обновлять пакеты, которые я собрал лично из их официальных источников?

Будет ли Debian обновлять пакеты, которые я собрал лично из их официальных источников?

Привет и счастливого Нового года вам всем.

Недавно я собрал 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

Связанный контент