Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: APTITUDE vs. APT-GET  (Прочитано 47299 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн magica

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
  • 8.04 Hardy Heron 32-bit
    • Просмотр профиля
APTITUDE vs. APT-GET
« : 02 Апреля 2008, 08:32:01 »
Основа взята из англоязычной статьи
В переводе опущено героическое прошлое автора с диалогами самим с собой. Оставлено, по моему мнению, самое необходимое.
Дополнения, замечания (в т.ч. по переводу) и предложения принимаются в личку. Слишком строго не судите, это мой первый перевод...

При работе с операционными системами, базирующимися на 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: лучшая обработка зависимостей, удобный интерфейс, ОДИН инструмент и др.
дайте дрова на Creative!!!

Оффлайн Smerdov

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #1 : 02 Апреля 2008, 20:36:40 »
Вот спасибо - классно рассказал,
и что немаловажно - все по полочкам.


Оффлайн Kolyok

  • Активист
  • *
  • Сообщений: 484
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #2 : 02 Апреля 2008, 21:47:58 »
Хорошая статья.
Респект и автору и переводчику.
В закладки и новичкам советовать.
Суета... Все суета... Суета сует... Что пользы человеку от трудов его...
Умножая знания, умножаете скорбь Вашу...

Оффлайн andrew_bye

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2698
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #3 : 02 Апреля 2008, 22:06:20 »
По данной теме также есть очень хорошие статьи А.В. Федорчука:
"Debian и его клоны: управление пакетами" http://citkit.ru/articles/188/
"Управление deb-пакетами с помощью aptitude: командный режим" http://citkit.ru/articles/344/
"Aptitude: особенности интерактивного режима" http://citkit.ru/articles/355/

Оффлайн wertwerter

  • Любитель
  • *
  • Сообщений: 86
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #4 : 11 Апреля 2008, 20:55:35 »
HELP по APTITUDE
 install      - Установить/обновить пакеты
 remove       - Удалить пакеты
 purge        - Удалить пакеты и их файлы конфигурации
 hold         - Зафиксировать пакеты
 unhold       - Отменить команду hold для пакета
 markauto     - Пометить пакет, что он был установлен автоматически
 unmarkauto   - Пометить пакет, что он был установлен вручную
 forbid-version - Запретить aptitude обновлять определённую версию пакета.
 update       - Загрузить список новых/обновлённых пакетов
 safe-upgrade - Perform a safe upgrade
 full-upgrade - Perform an upgrade, possibly installing and removing packages
 forget-new   - Забыть, какие пакеты "новые"
 search       - Поиск пакета по имени и/или выражению
 show         - Показать подробную информацию о пакете
 clean        - Удалить загруженные файлы пакетов
 autoclean    - Удалить старые загруженные файлы пакетов
 changelog    - Посмотреть changelog пакета
 download     - Загрузить файл .deb для пакета
 reinstall    - Загрузить и (возможно) переустановить уже установленный пакет

  Параметры:
 -h             Этот текст помощи
 -s             Имитировать действия, но не выполнять их на самом деле.
 -d             Только загрузить пакеты, ничего не устанавливать и не удалять.
 -P             Всегда спрашивать подтверждение или действия
 -y             Предполагать ответ 'yes' на простой вопрос yes/no
 -F format      Задать формат отображения результатов поиска; смотрите руководство
 -O order       Задать формат сортировки результатов поиска; смотрите руководство
 -w width       Задать ширину вывода результатов поиска
 -f             Принудительно исправлять неработоспособные пакеты.
 -V             Показывать версию устанавливаемых пакетов.
 -D             Показывать зависимости автоматически изменяемых пакетов.
 -Z                 Показывать изменение размера установки каждого пакета.
 -v             Отображать дополнительную информацию. (может быть введено несколько раз)
 -t [release]   Задать выпуск, из которого должны быть установлены пакеты
 -q             Не выводить индикатор прогресса в режиме командной строки.
 -o key=val     Вручную установить значение параметра настройки с именем 'key'
 --with(out)-recommends Указать, будут ли рекомендуемые пакеты
                трактоваться как строгие зависимости
 -S fname       Читать aptitude информацию о расширенном статусе из fname.
 -u             Загрузить список новых пакетов при запуске.
 -i             Запустить установку при запуске.

Оффлайн Kreeg

  • Любитель
  • *
  • Сообщений: 55
  • Ubuntu 8.04 64-bit
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #5 : 11 Апреля 2008, 21:24:08 »
Спасибо за статью!

Оффлайн ceeqwer

  • Участник
  • *
  • Сообщений: 208
  • Cyber Demon
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #6 : 11 Апреля 2008, 21:28:14 »
Спасибо автору и wertwerter'у :) Поместил в закладки

Оффлайн Shmukler

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #7 : 14 Апреля 2008, 14:40:17 »
Всем привет
Сорри за не большой оффтопик, но по теме все же.
К примеру aptitude возвращает по поиску след результат:
ptitude search libcrypt
p   libcrypt-blowfish-perl                       - Blowfish cryptography for Perl
p   libcrypt-cbc-perl                            - Implementation of cipher block chaining (CBC) mode
p   libcrypt-ciphersaber-perl                    - Perl module implementing CipherSaber encryption
p   libcrypt-des-ede3-perl                       - Triple-DES EDE encryption/decryption for perl
p   libcrypt-des-perl                            - Perl DES encryption module
p   libcrypt-dh-perl                             - Diffie-Hellman key exchange system implemented in Perl
p   libcrypt-ecb-perl                            - Perl library to encrypt data using ECB mode
p   libcrypt-eksblowfish-perl                    - Perl module implementing the Eksblowfish block cipher
p   libcrypt-gpg-perl                            - An Object Oriented Interface to GnuPG
p   libcrypt-hcesha-perl                         - Perl extension for one way hash chaining encryption usi
p   libcrypt-mysql-perl                          - Perl module to emulate the MySQL PASSWORD() function.
p   libcrypt-openssl-bignum-perl                 - Access OpenSSL multiprecision integer arithmetic librar
p   libcrypt-openssl-dsa-perl                    - Module which implements the DSA signature verification
p   libcrypt-openssl-random-perl                 - Access to the OpenSSL pseudo-random number generator
p   libcrypt-openssl-rsa-perl                    - Perl module providing basic RSA functionality
p   libcrypt-openssl-x509-perl                   - Perl extension to OpenSSL's X509 API
p   libcrypt-passwdmd5-perl                      - interoperable MD5-based crypt() for perl
p   libcrypt-rijndael-perl                       - Perl module implementing the Rijndael algorithm
p   libcrypt-simple-perl                         - Perl library to encrypt stuff simply
p   libcrypt-smbhash-perl                        - generate LM/NT hash of a password for samba
p   libcrypt-ssleay-perl                         - Support for https protocol in LWP
p   libcrypt-unixcrypt-perl                      - Perl-only implementation of the crypt(3) function
p   libcryptgps-ocaml-dev                        - OCaml implementation of symmetric cryptographic algorit
p   libcrypto++-dev                              - General purpose cryptographic C++ library - development
p   libcrypto++-doc                              - General purpose cryptographic library - documentation
p   libcrypto++-utils                            - General purpose cryptographic library - utilities and d
p   libcrypto++6                                 - General purpose cryptographic shared library
p   libcryptokit-ocaml                           - cryptographic algorithm library for OCaml - runtime
p   libcryptokit-ocaml-dev                       - cryptographic algorithm library for OCaml - development

Как попросить теперь aptitude установить только пакеты включающие openssl и perl?

Оффлайн vvg

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #8 : 21 Мая 2008, 15:12:59 »
Хорошо, уговорили: да здравствует aptitude!

Подскажите, как сделать такой изврат: установить на машине пакет с "довеском", принесённым с другой машины. Иначе говоря, выкачал я пакет с зависимостями и хочу принести его на домашнюю машину. Раньше я делал так (ну, чайник, что поделаешь): тыкал в обратном порядке в файлы пакетов мышью и они у меня устанавливались. Но когда приключилось много зависимостей - стало лениво, да и долго. Пару раз, месяца 2 назад, у меня получилось "размотать" зависимости с помощью не помню чего. То ли dpkg, то ли apt-get - ну не помню. А сейчас чего-то не "катит".

Попробовал сделать это с помощью апти-туда, но пришёл не знаю куда. Выдало мне ошибку, что надо установить зависимый пакет. И, ведь, правильно указал имя! Но, следом за правильно указанным пакетом, не последовал весь список зависимостей.

Сделал я папку download, накидал туда пакетов и вот теперь маюсь. Ну, не хочется мне править лист сырцов и колдовать с кэшем!
Подскажите, пожалуста, тот самый заветный ключ, от которого будет мне счастье!

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #9 : 21 Мая 2008, 15:23:17 »
sudo dpkg -i *.debВ папке с пакетами.

Оффлайн serwiz

  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
    • DvinaWeb
Re: APTITUDE vs. APT-GET
« Ответ #10 : 21 Мая 2008, 16:03:07 »
Можно ли выставить параметр --without-recommends по-умолчанию? А то у меня не анлим...

делал согласно ману так
Цитировать
-R, --without-recommends
           Do not treat recommendations as dependencies when installing new
           packages (this overrides settings in /etc/apt/apt.conf and
           ~/.aptitude/config). Packages previously installed due to
           recommendations will not be removed.

           This corresponds to the pair of configuration options
           Aptitude::Recommends-Important and Aptitude::Keep-Recommends.
т.е. в файлах /etc/apt/apt.conf и ~/.aptitude/config прописал строки
aptitude::Recommends-Important;
aptitude::Keep-Recommends
и никакого результата... Придется видимо всегда в ключем -R запускать... :(
« Последнее редактирование: 21 Мая 2008, 16:47:37 от serwiz »
Пессимист видит трудности при каждой возможности; оптимист в каждой трудности видит возможности. У. Черчилль

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #11 : 21 Мая 2008, 18:10:07 »
Там же формат вроде другой, что-то типа
aptitude::Recommends-Important "false";
aptitude::Keep-Recommends "false";

Вот тут дока есть http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s05.html

Оффлайн vvg

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #12 : 22 Мая 2008, 06:49:49 »
Уважаемый Kwah!

Я делал как вы сказали, но получается вот такая "беда":

vvg@vvg:~/OperaDownloads/packets$ sudo dpkg -i totem-xine_2.20.0-0ubuntu3_i386.deb
[sudo] password for vvg:
(Чтение базы данных... на данный момент установлено 100692 файлов и каталогов.)
Подготовка к замене пакета totem-xine 2.20.0-0ubuntu3 (используется файл totem-xine_2.20.0-0ubuntu3_i386.deb)...
Распаковывается замена для пакета totem-xine ...
dpkg: зависимости пакетов не позволяют настроить пакет totem-xine:
 totem-xine зависит от libxine1 (>= 1.1.4), однако:
  Пакет libxine1 не установлен.
dpkg: не удалось обработать параметр totem-xine (--install):
 проблемы зависимостей -- оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 totem-xine

В свою очередь, установка этой библиотеки, показывает на зависимости от других библиотек и тоже не обрабатывает, хотя все файлы в каталоге есть:

vvg@vvg:~/OperaDownloads/packets$ ls
libxcb1_1.0-3_i386.deb        libxcb-xv0_1.0-3_i386.deb
libxcb-shape0_1.0-3_i386.deb  libxine1_1.1.7-1ubuntu1_i386.deb
libxcb-shm0_1.0-3_i386.deb    totem-xine_2.20.0-0ubuntu3_i386.deb

В аптитюде таже самая картина наблюдается!  :-[

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #13 : 22 Мая 2008, 08:40:24 »
2 vvg
Внимательно читай, что тебе советуют делать:

sudo dpkg -i totem-xine_2.20.0-0ubuntu3_i386.deb
и
sudo dpkg -i *.debНайди 10 отличий.

Оффлайн vvg

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: APTITUDE vs. APT-GET
« Ответ #14 : 22 Мая 2008, 09:07:39 »
Спасибо, сработало!
Да уж, большое подспорье для ленивых: не надо вводить длиные имена без ошибок. Взял и просто указал - все * !

PS: нашёл даже больше 10 отличий в синтаксисе.  :D

 

Страница сгенерирована за 0.088 секунд. Запросов: 26.