• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

На заметку Пара слов про обновление Debian


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
debian_wallpaper_poze_linux_debian_desktop-other.jpg


Всем привет, за что я не люблю Debian, так-это то-что куча команд и хрен знает какие выполнять !

Коснёмся обновлений, можно выполнить тремя способами:

1)
Код:
apt-get update
aptitude upgrade
upgrade
upgrade используется для установки новейших версий всех установленных пакетов системы из источников, указанных в /etc/apt/sources.list. Будут разысканы новейшие версии установленных в настоящий момент пакетов и произведено обновление; ни в коем случае не будет удалено ни одного установленного пакета или установлено нового пакета, не имеющего уже установленной в системе предыдущей версии. Текущие версии установленных в настоящий момент пакетов, если они не могут быть обновлены новыми версиями без изменения статуса других пакетов, будут оставлены в неизменном виде. Для того, чтобы apt-get узнал о существовании доступных новых версиях пакетов, данной команде должна предшествовать команда update.

2)Менее безопасный способ, но обновит более правильно и больше пакетов:
Код:
apt-get update
aptitude dist-upgrade
dist-upgrade
dist-upgrade, в дополнение выполняет функцию upgrade, а также разумно управляет изменением зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов и она будет в случае необходимости пытаться произвести обновление наиболее важных пакетов за счет менее важных. Файл /etc/apt/sources.list содержит список источников для получения пакетов, из которых будут получены файлы пакетов.

3)
Код:
apt-get update
aptitude safe-upgrade
aptitude safe-upgrade
Обновит, установленные версии пакетов, не изменив при этом их состав. Т. е. будут обновлены те пакеты системы, для обновления которых не требуется удалять другие пакеты. Aptitude сообщит об этой ситуации, но эти пакеты не обновит.
Рекомендуется новичкам именно это, т.к. самая безопасная команда из всех...

В принципе все команды могут обновлять ядро, но только систему безопасности, если нужно обновить релиз есть ещё команда do-release-upgrade. НО КРАЙНЕ НЕ РЕКОМЕНДУЮ, ИСПОЛЬЗОВАТЬ ЭТО !

Теперь поговорим, как заморозить пакет, например собрали вы пакет из исходников и что делать ? После апдейта всё слетит ! :(

Поэтому такие пакеты нужно обновлять вручную (Каждый раз собирать самим), и "заморозить" от обновлений.

Сделать это тоже можно кучей способов, но я всё-же склоняюсь, сделать это "низкоуровнево", через dpkg, пример:
Код:
echo my_service hold | dpkg --set-selections
my_service - То-что нужно исключит из апдейта;

Проверить потом можно так:
Код:
dpkg --get-selections | grep my_service
 

Rufus

Уважаемый пользователь
Форумчанин
Регистрация
14.12.2014
Сообщения
247
Репутация
114
Jabber
Ещё полезная команда, когда устанавливал какие-нибудь deb-пакеты, но не помнишь их названия, чтобы удалить (это я про свой десктопный)
Код:
dpkg -l pulseaudio*
Где pulseaudio название программы/процесса. Эта команда покажет все пакеты относящиеся к этому имени.
Ну а далее
Код:
sudo apt-get remove название пакета
А ещё есть пара команд, которые рекомендуют использовать для очистки системы
Код:
sudo apt-get autoclean
Удаляет неиспользуемые deb-пакеты
и
Код:
sudo apt-get autoremove
Удаляет зависимости от уже удалённых пакетов.
Но, блин, после этих команд, моя система встала на дыбы. Некоторые программы перестали запускаться, Лазарус пришлось переустанавливать с нуля. Так что думайте сами:)
 
Последнее редактирование:

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
Да там чёрт ногу сломит с этими командами:

dpkg - это пакетный менеджер, может устанавливать/удалять, а также обновлять программы, он не может автоматически загружать и устанавливать пакеты или их зависимости.
Как понял это нужно для установки локальных пакетов !

Но есть ещё такие-самые aptitude и apt-get, так и не понял в чём от них отличия, устанавливать-же можно одинакого, пример:
Код:
aptitude install имя_пакета
apt-get install имя_пакета
Тоже самое делает, также локальный пакет можно установить этой дурацкой dpkg, как понял на форумах, делать не рекомендуют, также как и удалять через неё, ибо:

Удаление пакетов с использованием dpkg в большинстве случаев не рекомендуется. Лучше использовать менеджер пакетов, отслеживающий зависимости, чтобы гарантировать, что система находится в связанном состоянии. Например, использование dpkg -r zip удалит пакет zip, однако любые пакеты, зависящие от него, останутся установленными и более не смогут работать правильно.



А так без разниц, удаление просто пакета, без удаления конфигов, эти команды:
Код:
aptitude remove = apt-get remove
Если нужно удалить и конфиги, то аж три одинаковые команды насчиталsholoh it:
Код:
aptitude purge = apt-get purge = apt-get remove --purge
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
По умолчанию в моей кубунте он не был установлен, установил, полюбовался и всё равно пользуюсь apt-get.
С помощью него только пакеты ищу. Был по умолчанию.
Тут на днях поставил на варьке минт - вот это нормальный хомячковский дистр. Ничего настраивать не нужно. Всё готовое. И софт первой необходимости тоже.
Но есть ещё такие-самые aptitude и apt-get, так и не понял в чём от них отличия, устанавливать-же можно одинакого, пример:
Взял первую попавшуюся статью. В общем aptitude лучше.
При работе с операционными системами, базирующимися на Debian и использующими apt (например, Ubuntu), вы познакомитесь с некоторыми инструментами управления:

apt-get: устанавливает и удаляет пакеты из системы, а также может обновлять список пакетов и установленное программное обеспечение.
apt-cache: поиск необходимого пакета по списку пакетов apt, находящегося на локальной машине.
dpkg - используется для различных административных задач, например, для переконфигурирования Xorg.

Если вы планируете администрировать свою систему и дальше, то должны знать ещё некоторые инструменты, которые рано или поздно пригодятся:

apt-listbugs: ищет ошибки в пакете программы ещё до установки самой программы.
apt-listchanges: то же самое, что и apt-listbugs, но для безошибочных изменений.
apt-rdepends: для показа дерева зависимости пакета.
deborphan - ищет обособленные зависимости в системе, оставленные после удаления родительских пакетов.
debfoster - помогает deborphan идентифицировать, в каких зависимостях пакета система больше не нуждается.
dselect - интерфейс для просмотра, выбора и поиска пакетов в вашей системе.

Ещё: apt-cdrom, apt-config, apt-extracttemplates, apt-ftparchive, apt-key, apt-mark and apt-sortpkgs.

Как вы заметили, это 16 различных инструментов, с которыми вы познакомитесь, когда приступите к изучению вашего дистрибутива.

Дальше - больше, apt-get имеет большую проблему с удалением пакетов. Сначала он определяет зависимости, которые должны быть установлены для выбранного пакета, но не определяет их, когда вы удаляете этот пакет. Если зависимости удовлетворены, ‘apt-get remove’ удалит выбранные пакеты, но оставит обособленные зависимости. Альтернатива? Aptitude.

Перед тем, как продолжить, хотелось бы сказать, что ‘apt-get autoremove’ уже в состоянии обращаться к обособленным зависимостям. Это, конечно, шаг в правильном направлении. Однако, apt-get удобен, если вам захочется изучить 16 дополнительных инструментов к нему. Aptitude, как будет показано, заменит их всех.

Aptitude — это превосходный способ для установки, удаления, обновления, иначе говоря, для управления вашей системой совместно с apt. Во-первых, aptitude может решить проблемы обособленных зависимостей. Во-вторых, у него блокирующий ошибки dselect интерфейс. Последнее, и самое важное, здесь используется один инструмент для выполнения многих функций. Давайте посмотрим:
aptitude: при запуске без аргументов появляется графический интерфейс (правда, в консоли, прям как mc) для поиска, установки, обновления и других административных действий над пакетами.

aptitude install: установка программного обеспечения, а также построение необходимых зависимостей.
aptitude remove: удаление пакетов, а также обособленных зависимостей.
aptitude purge: удаление пакетов и обособленных зависимостей, а также ненужных конфигурационных файлов.
aptitude search: поиск пакетов по локальному списку apt.
aptitude update: обновление локального списка пакетов.
aptitude upgrade: обновление уже установленных пакетов по обновленному списку пакетов.
aptitude clean: удаление установочных файлов.
aptitude dist-upgrade: обновление пакетов, даже если некоторые из них не будут использованы для установки.
aptitude show: подробная информация о пакете.
aptitude autoclean: удаление устаревших пакетов, но сохранение текущих.
aptitude hold: исправление ошибок в пакете текущей версии, но не его обновление.

Сразу видно, что используется одна команда с разными удобночитаемыми вариантами (нет флагов). И это только верхушка айсберга. Например, используем aptitude при поиске пакета, результат — сортировка найденного в алфавитном порядке и краткое описание каждого пакета. Эта команда даже скажет вам, какие пакеты уже установлены в системе, в отличии от apt-cache, который выводит список пакетов в случайном и неудобно читаемом порядке.

Aptitude превосходит apt-get: лучшая обработка зависимостей, удобный интерфейс, ОДИН инструмент и др.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
aptitude hold: исправление ошибок в пакете текущей версии, но не его обновление.
Небольшая поправка - это заморозка пакета для aptitude, т.е. при обновлении системы с помощью aptitude, сам пакет не будет обновляться...

НО ВАЖНО, что это действует только в рамках aptitude, более правильно делать как я написал в шапке через dpkg:
Код:
echo my_service hold | dpkg --set-selections
Эта команда вообще железно всё заморозит, проверить пакет можно потом и так:aptitude search нужный пакет !

Если пакет будет с ключом -h значит заморожен ! :)

А если замораживать через aptitude и делать обновление системы, то система может сказать "А мне леший не указ и моей избе тоже !"


Dmeh-Smeh-Smeh!!!Dmeh-Smeh-Smeh!!!Dmeh-Smeh-Smeh!!!
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 174
В кентосе, yum update тоже автоматом перезапускает сервисы, но что-бы заморозить пакет, нужно:

1. В начале установить:
Код:
yum -y install yum-versionlock
Или:
Код:
yum -y install yum-plugin-versionlock

2. Добавить сервис для заморозки:
Код:
yum versionlock package-name-here
Или:
Код:
yum versionlock add package-wildcard

3. Проверить:
Код:
yum versionlock list
 
Верх Низ