daftar pembaruan / peningkatan apt-get tanpa mengubah apa pun

21

Saya ingin melihat paket apa yang tersedia untuk pembaruan / peningkatan tanpa benar-benar mengubah file apa pun karena ada beberapa paket yang tidak ingin saya perbarui. Apakah mungkin untuk memperbarui pembaruan dengan pengecualian.

John Magnolia
sumber
apt perlu tahu tentang pembaruan yang tersedia melalui apt-get update, dan itu akan mengubah beberapa hal. Pertanyaan besar ... ditemukan info terkait di sini
bvj

Jawaban:

9

Saya menggunakan apt list --upgradable.
Alternatif selanjutnya adalah apt-get --simulate upgrade. (berdasarkan @EightBitTony)
Berikut ini adalah keluaran dari berbagai opsi (harap ini membantu seseorang):

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.
Emeka-NMC
sumber
Selamat bergabung.
bvj
32

Dari halaman manual apt-get,

   -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).

Jadi, pastikan saja Anda apt-get -s upgrade.

Jika Anda ingin memutakhirkan paket-paket tertentu, adil apt-get install <package name>dan itu akan memperbaruinya jika sudah diinstal. Namun itu juga harus memperbarui semua dependensi juga, dan tergantung pada apa mereka, yang dapat mengalir ke banyak pembaruan.

Jika saya ketinggalan tentang pembaruan paket, saya akan melakukan apt-get installbeberapa hal besar (mungkin php, apache2, dll.) Sehingga saya dapat menyimpannya dan memeriksa semua masalah, dan kemudian apt-get upgradesetelah saya selesai.

EightBitTony
sumber
8

Daftar paket yang akan ditingkatkan dengan versinya:

$ 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.

Kemudian, Anda dapat memilih apa yang akan ditingkatkan:

$ 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]
...

Jika ada dependensi lama yang dihapus, Anda dapat menjalankan apt-get autoremove, dan seperti yang Anda lihat, setiap dependensi baru akan diminta untuk diinstal. The --only-upgradebendera tidak perlu, tapi bagus jika Anda ingin memastikan bahwa Anda tidak sengaja menginstal paket baru, bukan upgrade yang sudah ada, yaitu Anda memiliki salah satu momen dan sengaja ketik paket yang salah:

$ 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.
josephdpurcell
sumber
1

Apakah itu membantu Anda untuk mengeluarkan apt-get -s upgradeyang hanya simulasi? Dan kemudian Anda dapat memperbarui setiap paket yang diinginkan apt-get install <thepackage>.

Jika Anda ingin yang interaktif dengan GUI CLI bagus kemudian gunakan aptitude. Jika belum diinstal maka instal dengan apt-get install aptitude.

surat
sumber