Bunu yapmanın bir yolunu buldum.
Püf noktası iki sabitleme cümlesini kullanıyor . ALL paketlerini PPA'dan ilk, ikincisi de istediklerinizi seçmek.
Bu yüzden yukarıdaki örnek için önce ppa'yı her zamanki gibi ekliyorum:
$ sudo add-apt-repository ppa:webapps/preview
...
$ sudo apt-get update
...
Şimdi apt-cache ilkesini çalıştırırsam, bana yeni bir krom-tarayıcı sürümünün mevcut olduğunu ve mevcut krom-tarayıcımla aynı önceliğe (500) sahip olduğu için yükseltme ile kurulacağını gösterecek.
$ sudo apt-cache policy chromium-browser
chromium-browser:
Installed: 18.0.1025.168~r134367-0ubuntu0.12.04.1
Candidate: 20.0.1132.47~r144678-0precise1+webapps3
Version table:
20.0.1132.47~r144678-0precise1+webapps3 0
500 http://ppa.launchpad.net/webapps/preview/ubuntu/ precise/main amd64 Packages
*** 18.0.1025.168~r134367-0ubuntu0.12.04.1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe amd64 Packages
500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
500 http://ppa.launchpad.net/chromium-daily/beta/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
18.0.1025.151~r130497-0ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages
E: Unable to parse package file /etc/apt/preferences.d/webapps-preview-pin-400 (1)
$
Bu paket kadar harika ama bu ppa'daki diğerlerinin (500 önceliğe sahip) kurulmasını istemiyorum. Şu anda yükseltme yapmaya çalışırsam, yalnızca bu depodan istediğim krom paketlerinden daha fazlasını elde edeceğim:
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
bamfdaemon gwibber gwibber-service gwibber-service-facebook gwibber-service-twitter indicator-appmenu libbamf0 libbamf3-0 shotwell
The following packages will be upgraded:
chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg gwibber-service-identica indicator-messages indicator-status-provider-mc5
indicator-status-provider-pidgin libindicator-messages-status-provider1
8 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Need to get 25.3 MB of archives.
After this operation, 5,034 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Bu yüzden yapabileceğim tek şey, bu ppa'daki tüm paketlerin, bu durumda webapps önizlemesinin , adında "krom" olanların dışında daha düşük bir önceliğe sahip olmasını istediğimi söylemek . Bunun için mekanizma bir paketi sabitliyor
/Etc/apt/preferences.d/ içinde iki cümlecik içeren bir dosya oluşturuyorum. Birincisi, webapps önizleme ppa'daki tüm paketleri normal olandan daha düşük bir öncelik verdiğini söylüyor (böylece daha yüksek bir sürüm numarasına sahip olsalar bile tercih edilmemişti .) Adında "chromium" olan bu ppa diğer paketlerle aynı önceliğe sahip, böylece yüklenecek (daha yüksek sürüm numarasına sahip).
$ cat /etc/apt/preferences.d/webapps-preview-pin-400
Package: *
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 400
Package: *chromium*
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 500
"Pin: release" seçeneğinin doğru dizesini tanımlamak için apt-cache policy 'i tekrar kullanabiliriz.
$ apt-cache policy
...
500 http://ppa.launchpad.net/webapps/preview/ubuntu/ precise/main i386 Packages
release v=12.04,o=LP-PPA-webapps-preview,a=precise,n=precise,l=preview,c=main
origin ppa.launchpad.net
...
<0.8.14 apt sürümleri için, sabitlenmiş paketlerin joker karakterler çalışmadığı için açıkça belirtilmesi gerekir:
$ cat /etc/apt/preferences.d/webapps-preview-pin-400
Package: *
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 400
Package: chromium-browser chromium-codecs-ffmpeg chromium-browser-l10n chromium-codecs-ffmpeg-extra
Pin: release o=LP-PPA-webapps-preview
Pin-Priority: 500
Ve şimdi, yükseltme yapmaya çalıştığımda diğerlerinden değil sadece bu ppa'dan istediğim paketleri alıyorum. Tüm güzel kiraz benim için aldı:
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 25.1 MB of archives.
After this operation, 5,026 kB of additional disk space will be used.
Do you want to continue [Y/n]?