Менеджеры пакетов: выбор, обсуждение, обмен опытом

Автор yoric, 28 мая 2014, 18:52:23

« назад - далее »

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

sandaksatru

#15
Цитата: qupl от 30 мая 2014, 07:49:09Покажите, где в зависимостях aptitude вы нашли apt?
wajig show aptitude
...
Зависимости: ... libapt-pkg4.12 (>= 0.9.11), ...
...

APT - это система управления пакетами, а не просто какой-то пакет с одноименным названием. В неё входят пакетные менеджеры, библиотеки, стандарты для репозиториев и конфигурационные файлы для взаимодействия с ними и т.д. Apt-get + apt-cache, aptitude, wajig - пакетные менеджеры, которые работают в рамках этой системы. Удалите каталог "/etc/apt" и aptitude не будет работать.

https://wiki.debian.org/Aptitude
ЦитироватьAptitude is an Ncurses based FrontEnd to Apt, the debian package manager.

Предлагаю в эту тему впоследствии выкладывать баги менеджеров пакетов, если вдруг какие обнаружатся, чтобы разговор шёл по существу.

qupl

[ot]sandaksatru, это другой разговор. Поэтому обвинения aptitude направлены в сторону "идеального" apt и не более чем холивар на ровном месте.[/ot]

yoric

Цитата: sandaksatru от 30 мая 2014, 11:41:14Предлагаю в эту тему впоследствии выкладывать баги менеджеров пакетов, если вдруг какие обнаружатся, чтобы разговор шёл по существу.
Я так и задумывал, просто aptitude первый под руку подвернулся. И даже не первый.
А wadjig, насколько я понял, тоже надстройка над apt, разруливает лучше, опять же вызывая apt-get (а может и саму aptitude, коя у него в зависимостях  ;D) в разных позициях.
А то может тему переименовать, что всё было правильно?

dogsleg

#18
Цитата: yoric от 30 мая 2014, 07:35:55Ну так aptitude может вызывать под собой втихую apt в разных позициях, и всё.

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

Если уж вас так интересуют конкретные ошибки и ссылки, то сравните количество ошибок в пакетах aptitude и в apt. В пакете apt ошибок больше. Только учтите, что это ошибки в пакетах с исходным кодом, из которого собираются несколько двоичных пакетов (apt, libapt-pkg4.12,... в случае с apt; aptitude, aptitude-common, aptitude-doc-* в случае с aptitude). Если посмотрите в системе отслеживания пакетов (apt и aptitude), то увидите, как идёт разработка, и сколько ошибок в отдельных двоичных пакетах. Если кому лень идти по ссылкам, то картина такая: двоичный пакет apt имеет 874 ошибки (из них 1 критическая для выпуска, 420 с обычным приоритетом и 453 с малым приоритетом и как пожелания), aptitude имеет 692 ошибки (из них 304 с обычным приоритетом, 378 с малым приоритетом и как пожелания, 10 исправлены в основной ветке, но не в архиве Debian). Ещё раз, это ошибки в двоичных пакетах, а не в пакетах с исходным кодом. Пакет с исходным кодом apt имеет 18 предупреждений lintian (инструмент для отслеживания качества пакетов), 2 предупреждения в журнале сборки, и не проходит тест as-installed. У aptitude такого геморроя нет.

И ещё раз. Aptitude работает без apt-get, apt-cache и проч., но НЕ работает без системы apt.

yoric

Цитата: dogsleg от 30 мая 2014, 13:01:16Говорить, что aptitude плохой, а apt хороший просто глупо.
Согласен, а кто тут так говорит? Не ищите чёрную кошку в тёмной комнате, особенно если её тут нет ;D

А баг багу рознь, разбираться мне лень, но порчу состояний пакетов сам у себя aptitude наблюдал. На других системах/архитектурах/в других условиях/с другими репозиториями может всё ровно, не спорю. Не принимайте близко к сердцу ;D

gardarea51

Я честно говоря в менеджерах пакетов Debian не особо силен, но интересно что aptitude у меня при обновлении системы всегда находит неразрешенные зависимости, предлагая чуть ли не удалить основные компоненты системы, а apt без вопросов все обновляет. Сижу на тестинге. И непойму чем же все таки пользоваться.

yoric

Что без проблем работает, тем и пользуйтесь ;D

sandaksatru

Цитата: qupl от 30 мая 2014, 12:11:17
sandaksatru, это другой разговор. Поэтому обвинения aptitude направлены в сторону "идеального" apt и не более чем холивар на ровном месте.
Согласен.

К слову об aptitude и apt-get. Заглянул сегодня в мануалы Debian и наткнулся на вот:
ЦитироватьThe package dependency resolver of the aptitude command tends to suggest mass package removals when packages in unstable are temporarily inconsistent. This situation is a bit frightening. Usually, "apt-get dist-upgrade" should resolve this situation. This situation seems to be caused mostly by the version skew among packages depended or recommended by a meta-package such as gnome-core.

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

Цитата: yoric от 30 мая 2014, 12:46:55А wadjig, насколько я понял, тоже надстройка над apt, разруливает лучше, опять же вызывая apt-get (а может и саму aptitude, коя у него в зависимостях  ;D) в разных позициях.
Да, во многих случаях он вызывает aptitude, apt-get и несколько других утилит по управлению пакетами с заданными параметрами. Единственное его преимущество - единый доступ к функционалу различных пакетов:
ЦитироватьA command-line wrapper around apt, apt-cache, dpkg, aptitude, and more. It's goal is to ease package management by unifying
the main functions of these tools from one interface.

Вот список его команд:
Открыть содержимое (спойлер)
$ wajig commands
addcdrom           Add a Debian CD/DVD to APT's list of available sources
addrepo            Add a Launchpad PPA (Personal Package Archive) repository
aptlog             Display APT log file
autoalts           Mark the Alternative to be auto-set (using set priorities)
autoclean          Remove no-longer-downloadable .deb files from the download cache
autodownload       Do an update followed by a download of all updated packages
autoremove         Remove unused dependency packages
build              Get source packages, unpack them, and build binary packages from them.
builddeps          Install build-dependencies for given packages
changelog          Display Debian changelog of a package
clean              Remove all deb files from the download cache
contents           List the contents of a package file (.deb)
dailyupgrade       Perform an update then a dist-upgrade
dependents         Display packages which have some form of dependency on the given package
describe           Display one-line descriptions for the given packages
describenew        Display one-line descriptions of newly-available packages
distupgrade        Comprehensive system upgrade
download           Download one or more packages without installing them
editsources        Edit list of Debian repository locations for packages
extract            Extract the files from a package file to a directory
fixconfigure       Fix an interrupted install
fixinstall         Fix an install interrupted by broken dependencies
fixmissing         Fix and install even though there are missing dependencies
force              Install packages and ignore file overwrites and depends
hold               Place packages on hold (so they will not be upgraded)
info               List the information contained in a package file
init               Initialise or reset wajig archive files
install            Package installer
installsuggested   Install a package and its Suggests dependencies
integrity          Check the integrity of installed packages (through checksums)
large              List size of all large (>10MB) installed packages
lastupdate         Identify when an update was last performed
listall            List one line descriptions for all packages
listalternatives   List the objects that can have alternatives configured
listcache          List the contents of the download cache
listcommands       Display all wajig commands
listdaemons        List the daemons that wajig can start, stop, restart, or reload
listfiles          List the files that are supplied by the named package
listhold           List packages that are on hold (i.e. those that won't be upgraded)
listinstalled      List installed packages
listlog            Display wajig log file
listnames          List all known packages; optionally filter the list with a pattern
listpackages       List the status, version, and description of installed packages
listscripts        List the control scripts of the package of deb file
listsection        List packages that belong to a specific section
listsections       List all available sections
liststatus         Same as list but only prints first two columns, not truncated
localdistupgrade   Dist-upgrade using only packages that are already downloaded
localupgrade       Upgrade using only packages that are already downloaded
madison            Runs the madison command of apt-cache
move               Move packages in the download cache to a local Debian mirror (apt-move)
new                Display newly-available packages
newdetail          Display detailed descriptions of newly-available packages
news               Display the NEWS file of a given package
nonfree            List packages that don't meet the Debian Free Software Guidelines
orphans            List libraries not required by any installed package
policy             From preferences file show priorities/policy (available)
purge              Remove one or more packages and their configuration files
purgeorphans       Purge orphaned libraries (not required by installed packages)
purgeremoved       Purge all packages marked as deinstall
rbuilddeps         Display the packages which build-depend on the given package
readme             Display the README file(s) of a given package
recdownload        Download a package and all its dependencies
recommended        Display packages installed as Recommends and have no dependents
reconfigure        Reconfigure package
reinstall          Reinstall the given packages
reload             Reload system daemons (see LIST-DAEMONS for available daemons)
remove             Remove packages (see also PURGE command)
removeorphans      Remove orphaned libraries
repackage          Generate a .deb file from an installed package
reportbug          Report a bug in a package using Debian BTS (Bug Tracking System)
restart            Restart system daemons (see LIST-DAEMONS for available daemons)
rpm2deb            Convert an .rpm file to a Debian .deb file
rpminstall         Install an .rpm package file
search             Search for package names containing the given pattern
searchapt          Find nearby Debian package repositories
show               Provide a detailed description of package
sizes              Display installed sizes of given packages
snapshot           Generates a list of package=version for all installed packages
source             Retrieve and unpack sources for the named packages
start              Start system daemons (see LIST-DAEMONS for available daemons)
status             Show the version and available versions of packages
statusmatch        Show the version and available versions of matching packages
stop               Stop system daemons (see LISTDAEMONS for available daemons)
tasksel            Run the task selector to install groups of packages
todo               Display the TODO file of a given package
toupgrade          List versions of upgradable packages
tutorial           Display wajig tutorial
unhold             Remove listed packages from hold so they are again upgradeable
unofficial         Search for an unofficial Debian package at apt-get.org
update             Update the list of new and updated packages
updatealternatives Update default alternative for things like x-window-manager
updatepciids       Updates the local list of PCI ids from the internet master list
updateusbids       Updates the local list of USB ids from the internet master list
upgrade            Conservative system upgrade
upgradesecurity    Do a security upgrade
verify             Check package's md5sum
versions           List version and distribution of given packages
whichpackage       Search for files matching a given pattern within packages
[свернуть]

xbsd

Это. Я не в теме. А как безболезненно перейти от одного ПМ к другому?

sandaksatru

Цитата: xbsd от 31 мая 2014, 19:18:28Это. Я не в теме. А как безболезненно перейти от одного ПМ к другому?
оО можно просто взять и начать использовать, можно почитать ман, можно для храбрости хлопнуть вискарика  ;D
База пакетов и кеш - все общие.

yoric

Да просто начать пользоваться другим, хотя конкретности могут иметь место быть.

SeHELLioN

aptitude - офигенен, не сложен в освоении и все наглядно, позволяет разгребать зависимости
ну и раз пошла такая пьянка про менеджеры пакетов, кто что скажет про cupt?
Asus m5a97+Amd fx-8350+4x4GB DDR3 1600MGz+asus gtx670 DCII (перешита в top)
Debian stable

yoric

Пробовал его недавно установить на тестинге, так оно даже не вставало, неудовлетворённые зависимости. А так, похоже, отдельная штука, даже libapt-а в зависимостях нет.

vladimir_ar

На тестинге без проблем:
:~$ sudo apt-get install cupt
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  libboost-program-options1.55.0 libcupt-common libcupt3-0
  libcupt3-0-downloadmethod-curl
Предлагаемые пакеты:
  debdelta dpkg-repack
НОВЫЕ пакеты, которые будут установлены:
  cupt libboost-program-options1.55.0 libcupt-common libcupt3-0
  libcupt3-0-downloadmethod-curl
обновлено 0, установлено 5 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 1 095 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 3 840 kB.
Хотите продолжить? [Д/н]
Получено:1 http://ftp.de.debian.org/debian/ testing/main libboost-program-options1.55.0 amd64 1.55.0+dfsg-1 [136 kB]
Получено:2 http://ftp.de.debian.org/debian/ testing/main libcupt-common all 2.8.1 [79,1 kB]
Получено:3 http://ftp.de.debian.org/debian/ testing/main libcupt3-0 amd64 2.8.1+b1 [483 kB]
Получено:4 http://ftp.de.debian.org/debian/ testing/main cupt amd64 2.8.1+b1 [348 kB]
Получено:5 http://ftp.de.debian.org/debian/ testing/main libcupt3-0-downloadmethod-curl amd64 2.8.1+b1 [48,3 kB]
Получено 1 095 kБ за 0с (1 500 kБ/c)                     
Выбор ранее не выбранного пакета libboost-program-options1.55.0:amd64.
(Чтение базы данных ... на данный момент установлено 255990 файлов и каталогов.)
Подготовка к распаковке .../libboost-program-options1.55.0_1.55.0+dfsg-1_amd64.deb ...
Распаковывается libboost-program-options1.55.0:amd64 (1.55.0+dfsg-1) ...
Выбор ранее не выбранного пакета libcupt-common.
Подготовка к распаковке .../libcupt-common_2.8.1_all.deb ...
Распаковывается libcupt-common (2.8.1) ...
Выбор ранее не выбранного пакета libcupt3-0.
Подготовка к распаковке .../libcupt3-0_2.8.1+b1_amd64.deb ...
Распаковывается libcupt3-0 (2.8.1+b1) ...
Выбор ранее не выбранного пакета cupt.
Подготовка к распаковке .../cupt_2.8.1+b1_amd64.deb ...
Распаковывается cupt (2.8.1+b1) ...
Выбор ранее не выбранного пакета libcupt3-0-downloadmethod-curl.
Подготовка к распаковке .../libcupt3-0-downloadmethod-curl_2.8.1+b1_amd64.deb ...
Распаковывается libcupt3-0-downloadmethod-curl (2.8.1+b1) ...
Обрабатываются триггеры для man-db (2.6.7.1-1) ...
Настраивается пакет libboost-program-options1.55.0:amd64 (1.55.0+dfsg-1) ...
Настраивается пакет libcupt-common (2.8.1) ...
Настраивается пакет libcupt3-0 (2.8.1+b1) ...
Настраивается пакет cupt (2.8.1+b1) ...
Настраивается пакет libcupt3-0-downloadmethod-curl (2.8.1+b1) ...
Обрабатываются триггеры для libc-bin (2.18-7) ...
:~$
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M