Я хотел бы посмотреть, какие пакеты доступны для обновления / обновления, фактически не меняя никаких файлов, потому что есть некоторые пакеты, которые я не хотел бы обновлять. Будет ли тогда возможность apt-get update с исключениями.
Я хотел бы посмотреть, какие пакеты доступны для обновления / обновления, фактически не меняя никаких файлов, потому что есть некоторые пакеты, которые я не хотел бы обновлять. Будет ли тогда возможность apt-get update с исключениями.
Ответы:
Я использую apt list --upgradable
.
Следующая альтернатива apt-get --simulate upgrade
. (на основе @EightBitTony)
Вот результаты различных опций (надеюсь, это кому-нибудь поможет):
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.
Со страницы руководства 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).
Так что просто убедитесь, что вы apt-get -s upgrade
.
Если вы хотите обновить определенные пакеты, просто apt-get install <package name>
и он обновит его, если он уже установлен. Тем не менее, он также должен обновить все зависимости, и в зависимости от того, что они из себя представляют, которые могут каскадироваться во множество обновлений.
Если я опаздываю с обновлениями пакетов, я сделаю apt-get install
несколько крупных (например, php, apache2 и т. Д.), Чтобы я мог хранить их и проверять любые проблемы, а затем, apt-get upgrade
когда я закончу.
Чтобы получить список пакетов, которые будут обновлены с их версиями:
$ 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.
Затем вы можете выбрать, что обновить:
$ 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]
...
Если есть какие-либо старые зависимости, которые удаляются, вы можете запустить apt-get autoremove
, и, как вы видите, любые новые зависимости будут предложены для установки. --only-upgrade
Флаг не является необходимым, но хорошо , если вы хотите , чтобы убедиться , что вы случайно не установить новый пакет вместо обновления существующего, то есть у вас есть один из тех моментов , и случайно ввести неправильный пакет:
$ 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.
Поможет ли вам выпуск, apt-get -s upgrade
который делает только симуляцию? И тогда вы можете обновить каждый требуемый пакет с помощью apt-get install <thepackage>
.
Если вы хотите, чтобы этот интерактив с хорошим графическим интерфейсом CLI, используйте aptitude
. Если он еще не установлен, установите его с помощью apt-get install aptitude
.
apt-get update
, и это изменит несколько вещей. Большой вопрос, хотя ... нашел связанную информацию здесь