Kullanılabilir backport yükseltmeleri nasıl listelenir?


12

Manuel backport'ları etkinleştirmek için Ubuntu Backports'u yeni izledim ve birkaç sorum var. Komut satırında (örneğin apt-cacherveya aptitude) nasıl yapabilirim :

  1. kullanılabilir backport yükseltmeleri olan kurulu paketleri listeliyor musunuz? (Önceden apt-show-versions -uyükseltilebilir paketler için kullandım )
  2. mevcut tüm backport paketlerini listeliyor mu (yüklü ya da değil)?

Yanıtlar:


14
  1. kullanılabilir backport yükseltmeleri olan kurulu paketleri listele

    aptitude search '?and(~i, ~Araring-backports)'
    
  2. mevcut tüm backport paketlerini listele (yüklü olsun veya olmasın)

    aptitude search '~Abackports ?not(~S ~i ~Abackports)'
    

6

Bu bilgiler varsayılan olarak yüklenmeyen ancak aşağıdakilerle elde edilebilen Synaptic'te mevcuttur,

sudo apt-get install synaptic

Sol kenar çubuğunda Origin seçildiğinde , raring-backports / universe gibi yerel olarak kurulan paketler gibi paketlerin nereden geldiklerine göz atmaları sağlanır.

Bunun yerine bir komut satırı çözümü ile ilgileniyorsanız, ne yazık ki oldukça yavaş olsa da, backport paketlerini listelemek için hızlı ve kirli bir python betiğini birlikte hackledim.

from __future__ import print_function

import apt

def backport_version(package):
  if package.versions is None:
    return False
  for version in package.versions:
    for origin in version.origins:
      if origin.archive.endswith("backports"):
        return version.version
  return None

with apt.Cache() as cache:
  for package in cache:
    version = backport_version(package)
    if version is not None:
      print(package.fullname, version)
      if package.is_installed:
        print("    Installed:", package.installed.version)

Mevcut tüm backport paketlerini ve yüklüyse yüklü sürümü listeler.


Teşekkürler, kesinlikle çok yararlı olan python apt için farkındalığımı artırdın. Temsilcim izin verdiğinde bunun için sana oy verirdim ... Ama yerleşik bir şey arıyordum. Resmi hat manuel backport olması gerektiğinde, sanırım bu bilgiyi almanın daha doğal yolları olmalı
ricab

sinaptik yöntem soruyu cevaplamak istiyorum, ama ben daha apt-önbellek / yetenek tabanlı çözüm (cmd hattı)
arıyordu

1
Veya: yetenek arama '? Ve (~ i, ~ Araring-backports)'; backport paketleri nasıl alınır
Jason Conti

3
tüm cevaplar için teşekkürler. Kişisel yetenek çözüm çözer 1 2., ben almak için biraz daha araştırma zorunda kaldı: aptitude search '~i ~Abackports ?not(~S ~i ~Abackports)'. Bu, 1'i (backport sürümlerinin her zaman daha yüksek olduğu varsayılarak) çözer. Senin yardımın olmadan
almazdım

1
Kendi cevabınızı eklemek ve seçmek isteyebilirsiniz. Çoğunlukla yetenek belgelerine dikkat çektim.
Jason Conti

4

EDIT: Bazı deneylerden sonra, benim için mükemmel çalışan bir çözüm buldum! Yalnızca -backports deposunda daha yeni bir sürüme sahip paketleri listeler ve başka bir şey yoktur (diğer çözümler ek paketleri listelemiştir.

Kullanılabilir backport güncellemelerini listelemek için şu komutu çalıştırın:

aptitude search -t $(lsb_release -sc)-backports '~U ~Abackports'

Listenin geçerli ve daha yeni sürümü de görüntülemesini istiyorsanız, bunun yerine bu komutu çalıştırın:

aptitude search -t $(lsb_release -sc)-backports -F '%p %v -> %V' '~U ~Abackports'

Bu şöyle bir şey görüntüler:

nvidia-settings               331.20-0ubuntu -> 346.59-0ubuntu
screen                        4.1.0~20120320 -> 4.2.1-2~ubuntu
yelp-xsl                      3.10.1-1       -> 3.12.0-1~ubunt

Bu komutu ezberlemek istemiyorsanız, bunu kendinize ekleyin ~/.bashrc:

alias apt-list-backports="aptitude search -t $(lsb_release -sc)-backports -F '%p %v -> %V' '~U ~Abackports'"

Şimdi sadece yazmak zorundasın apt-list-backports!


Orijinal cevap

Başka bir yol buldum:

apt-get upgrade -s -t $(lsb_release -sc)-backports

Bu bir yükseltmeyi simüle eder ve hangi paketlerin yükseltileceğini listeler. Ancak backport yükseltmeleri de dahil (normal yükseltmelerin de gösterildiğini düşünüyorum).

Ayrıca -V, paketlerin yükseltileceği sürümleri gösterme seçeneğini de ekleyebilirsiniz .


Backport'lardaki bir paketin değişiklik günlüğünü görüntülemek için şunu kullanın:

apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.