Bir şey değiştirmeden apt-get güncelleme / yükseltme listesi


21

Güncellemek / yükseltmek için hangi paketleri kullanabileceğimi görmek istiyorum, çünkü güncellemek istemediğim bazı paketler var. O zaman istisnalar dışında apt-get güncelleme yapmak mümkün olurdu.


apt üzerinden mevcut güncellemeler hakkında bilgi sahibi olmak gerekiyor apt-get updateve bu birkaç şeyi değiştirecek. Büyük soru olsa da ... burada
bvj

Yanıtlar:


9

Kullandığım apt list --upgradable.
Bir sonraki alternatif apt-get --simulate upgrade. (@EightBitTony'e dayanarak)
İşte farklı seçeneklerin çıktıları (birine yardımcı olacağını umuyorum):

me@machine:~$ apt list --upgradable
    Listing... Done
    kubernetes-cni/kubernetes-xenial 0.7.5-00 amd64 [upgradable from: 0.6.0-00]
    N: There are 3 additional versions. Please use the '-a' switch to see them.
me@machine:~$ apt-get --simulate upgrade
    NOTE: This is only a simulation!
          apt-get needs root privileges for real execution.
          Keep also in mind that locking is deactivated,
          so don't depend on the relevance to the real current situation!
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages will be upgraded:
      kubernetes-cni
    1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Inst kubernetes-cni [0.6.0-00] (0.7.5-00 kubernetes-xenial:kubernetes-xenial [amd64])
    Conf kubernetes-cni (0.7.5-00 kubernetes-xenial:kubernetes-xenial [amd64])
me@machine:~$ apt-get -u upgrade --assume-no
    E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
me@machine:~$ sudo apt-get -u upgrade --assume-no
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages will be upgraded:
      kubernetes-cni
    1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 6,473 kB of archives.
    After this operation, 4,278 kB of additional disk space will be used.
    Do you want to continue? [Y/n] N
    Abort.
me@machine:~$ sudo apt-get -u -V upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages will be upgraded:
       kubernetes-cni (0.6.0-00 => 0.7.5-00)
    1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 6,473 kB of archives.
    After this operation, 4,278 kB of additional disk space will be used.
    Do you want to continue? [Y/n] n
    Abort.

Gemiye Hoşgeldiniz.
bvj

32

Apt-get man sayfasından,

   -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur
       but do not actually change the system. Configuration Item:
       APT::Get::Simulate.

       Simulation run as user will deactivate locking (Debug::NoLocking)
       automatic. Also a notice will be displayed indicating that this
       is only a simulation, if the option APT::Get::Show-User-Simulation-Note
       is set (Default: true). Neither NoLocking nor the notice will be
       triggered if run as root (root should know what he is doing without
       further warnings by apt-get).

       Simulate prints out a series of lines each one representing a
       dpkg operation, Configure (Conf), Remove (Remv), Unpack (Inst).
       Square brackets indicate broken packages and empty set of square
       brackets meaning breaks that are of no consequence (rare).

Bu yüzden sadece emin olun apt-get -s upgrade.

Bazı paketleri yükseltmek istiyorsanız, sadece apt-get install <package name>ve zaten kurulu ise güncelleyecektir. Bununla birlikte, aynı zamanda tüm bağımlılıkları da güncellemek zorunda kalacak ve ne olduklarına bağlı olarak, birçok güncellemenin içine girebilecek.

Paket güncellemelerinin ardındaysam, apt-get installbazı önemli olanları (belki php, apache2, vb.) Yapacağım, böylece onları içerde tutabilir ve sorunları kontrol edebilirim, apt-get upgradesonra da işim bittikten sonra.


8

Sürümleriyle yükseltilecek paketleri listelemek için:

$ sudo apt-get -u -V upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
   mysql-client-5.5 (5.5.29-0ubuntu0.12.04.2 => 5.5.32-0ubuntu0.12.04.1)
   mysql-server-5.5 (5.5.29-0ubuntu0.12.04.2 => 5.5.32-0ubuntu0.12.04.1)
   mysql-server-core-5.5 (5.5.29-0ubuntu0.12.04.2 => 5.5.32-0ubuntu0.12.04.1)
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Ardından, neyin yükseltileceğini seçebilirsiniz :

$ sudo apt-get --only-upgrade install mysql-client-5.5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
firefox-globalmenu
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libterm-readkey-perl
The following NEW packages will be installed:
libterm-readkey-perl
The following packages will be upgraded:
mysql-client-5.5
1 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 8,123 kB of archives.
After this operation, 139 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libterm-readkey-perl i386 2.30-4build3 [28.4 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main mysql-client-5.5 i386 5.5.32-0ubuntu0.12.04.1 [8,094 kB]
...

Kaldırılan herhangi bir eski bağımlılık varsa, çalıştırabilirsiniz apt-get autoremoveve görebildiğiniz gibi, yeni bağımlılıkların yüklenmesi istenir. --only-upgradeYani o anlardan biri varsa ve yanlışlıkla yanlış paketi yazın bayrak gerekli değildir, ancak yanlışlıkla varolan bir yükseltme yerine yeni bir paket yüklemeyin sağlamak istiyoruz güzel eğer:

$ sudo apt-get --only-upgrade install mysql-proxy
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Skipping mysql-proxy, it is not installed and only upgrades are requested.
The following package was automatically installed and is no longer required:
firefox-globalmenu
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

1

apt-get -s upgradeSadece bir simülasyon yapan hangisini çıkarmanıza yardımcı oluyor mu ? Ve sonra istediğiniz her bir paketi ile güncelleyebilirsiniz apt-get install <thepackage>.

Bu hoş bir CLI GUI ile etkileşimli istiyorsanız o zaman kullanın aptitude. Henüz kurulmamışsa, kurun apt-get install aptitude.

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.