Когда я обновляю в эти дни, я получаю это сообщение:
$ sudo apt-get upgrade -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
libhwloc-plugins linux-headers-generic linux-signed-generic
linux-signed-image-generic python-pip
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Я не понимаю почему python-pip
воздержан. Это, потому что я обновил его pip
уже?
$ pip -V
pip 7.0.3 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Действительно ли безопасно теперь обновить python-pip
с apt-get
?
Обновление:
$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
python-chardet-whl python-colorama-whl python-distlib-whl
python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl
python-six-whl python-urllib3-whl
Recommended packages:
python-dev-all python-wheel
The following NEW packages will be installed:
python-chardet-whl python-colorama-whl python-distlib-whl
python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl
python-six-whl python-urllib3-whl
The following packages will be upgraded:
python-pip
1 upgraded, 9 newly installed, 0 to remove and 4 not upgraded.
Need to get 1,193 kB of archives.
After this operation, 1,438 kB of additional disk space will be used.
Когда пакет отмечен как 'воздержанный', это означает, что склонный не будет автоматическое обновление это, поскольку это теперь имеет новую, дополнительную зависимость, которую Вы никогда не соглашались установить. При установке его конкретно с sudo apt-get install python-pip
это возвращает сообщение, говоря, что следующие пакеты будут установлены для удовлетворения требований зависимости:
python-chardet-whl python-colorama-whl python-distlib-whl
python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl
python-six-whl python-urllib3-whl
Это все новые пакеты, которые не присутствуют в Вашей системе. Вместо того, чтобы принимать Вы хотите их установленный, склонный 'сдерживает' пакет, пока Вы конкретно не говорите ему устанавливать его. Если Вы не возражаете против этих новых устанавливаемых пакетов (Вы, вероятно, не делаете), то согласитесь на установку.
, Если Вы хотите обновить все и не возражать устанавливать какие-либо новые зависимости, команда sudo apt-get dist-upgrade
установит все обновления и получение по запросу в любых новых зависимостях, требуемых для обновленных пакетов. Будьте осторожны, потому что иногда новая зависимость означает, что весь пакет программного обеспечения втянут (например, gnome-desktop
потребует загрузки и установки набора зависимостей).
В Вашем случае работает
sudo apt-get dist-upgrade
вместо
sudo apt-get upgrade
<час> Для наблюдения различий, читают страницу справочника:
man apt-get
upgrade
Used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list(5). Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, nor are packages that are not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.
dist-upgrade
In addition to performing the function of upgrade, this option also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones, if necessary.
The /etc/apt/sources.list(5) file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for over-riding the general settings for individual packages.