Security

debian 會更新我個人從他們的官方來源建構的軟體包嗎?

  • December 31, 2013

大家好,新年快樂。。

最近我從 debian backport 源建構了 nginx deb 包 v1.4.4,當然我已經將它添加到了 apt sources.list 中,事情進展順利。

我的問題:debian 會自動更新我個人從其官方來源建構的軟體包嗎?我的意思是更新安全性。

更新:

我今天跑來檢查 debian 7 apt 的行為..這apt-get update就是apt-get -V upgrade我得到的:

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 取代。我已經從 debian backport 源建構了我的 nginx backport deb 包,並通過 backport 安裝了 build-deb但是我從詳細輸出中看到的穩定版自動安裝了一些依賴項。

你能幫我舉個例子來防止這種情況嗎?

更新

我試圖固定封裝但沒有用,這是我得到的輸出:

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 將從儲存庫安裝軟體包(希望使用已應用的更新檔)。

引用自:https://serverfault.com/questions/564231