Видео смотреть бесплатно

Смотреть русское видео

Официальный сайт e-rus 24/7/365

Смотреть видео бесплатно

or10n 06.11.2009 23:06

Я рекомендуюaptitude vs apt. 5 причин, почему я использую aptitude

Пять параметров, по которым aptitude превосходит (по четвертому параметру не уступает) apt:

1. Логичность синтаксиса. И единство управления.
2. Гибкость поиска.
3. Проставление меток пакетов.
4. Разрешение зависимостей.
5. Интерфейс.

1. Логичность синтаксиса. И единство управления


Сравните:

Установка:
1
2
sudo aptitude install karma-tools
sudo apt-get install karma-tools



Просмотр информации о пакете:
1
2
aptitude show karma-tools
apt-cache show karma-tools



Метка пакета:
1
2
sudo aptitude markauto karma-tools
sudo apt-mark markauto karma-tools



Таким образом, aptitude заменяет кучу инструментов. Что вам проще: запомнить кучу разных инструментов, или только один инструмент? При условии, что кроме названия, надо помнить ещё и команды?
Мне кажется, что логичнее, проще и удобнее, в этом случае aptitude.

2. Гибкость поиска


aptitude очень часто ругают: «неправильно ищет». Сравните сами:
=1=2

aptitude по умолчанию ищет только заданное слово только в именах пакетов, не трогая описание.
А не по умолчанию вот так:

=3

В aptitude используются поисковые запросы. Это дает простор для фантазии: например, что там у нас kde-шного установлено?
1
aptitude search '~i~skde'



Самые популярные поисковые запросы:
~nимя — искать в имени пакета
~dтекст — искать в описании пакета
~i — отбирает только уже установленные пакеты
~U — отбирает пакеты, которые можно обновить
В качестве любого из шаблонов может выступать регулярное выражение. Например, ~n^wget выберет пакеты, имена которых начинаются с wget. Шаблоны можно группировать логическими операндами, например ~i~skde (и установленные, и из секции KDE). При указании нескольких шаблонов поиска к ним применяется логическое И, если шаблоны разделить "|", то логическое или. Отрицание — "!", группирование в скобках.
И, вообще, в документации всё лучше описано.

Сможете вы так же гибко осуществить поиск используя apt-cache?

3. Проставление меток пакетов


1
2
sudo aptitude install --add-user-tag keyword-tag more different packageы.
sudo aptitude purge '?user-tag(keyword-tag)'



Сможете сделать так, используя apt-get?

4. Разрешение зависимостей


Пожалуй, самый спорный момент.

=4=5

И теперь самое интересное:
=6

Может быть, aptitude пометил пакеты «под снос», а удалит их когда-нибудь потом?
=7

Нет. Ладно, удалим по user-tag, не зря же мы его добавляли.

=9
Количество установленных и удаленных пакетов совпадает.

Теперь, то-же самое с apt:
=10=11=12
Почему-то я ожидал этого.

Вы можете сказать, что kubuntu-desktop — плохой виртуальный пакет, и всё из-за этого. Я проверил на wmaker и на apache2. Зависимости решаются одинаково.

5. Интерфейс


Сравните:
=13
aptitude: всё выровнено, аккуратненько показано, какие пакеты установлены, какие можно установить, какие помечены к удалению. Пакеты отсортированы по алфавиту.
apt: вывалено кучей текста. Кому надо, разберется.

Запуская aptitude без параметров, попадаешь в псевдографический интерфейс, и, пока пакеты качаются, можно поиграть в сапера.

По моему, это и есть, забота о пользователе.

P.S. Пост является копипастом с habrahabra, прошу за это сильно не пинать, т.к. я считаю данную информацию очень полезной.


Тэги: apt apt-get aptitude debian ubuntu
+ 3 -
Похожие Поделиться

Username 06.11.2009 23:08 #
+ 2 -
Оформи как пост-ссылку, копипасту убери. И ради Бога, вставляй кат в таких статьях
or10n 06.11.2009 23:29 #
+ -2 -
я не знаю как сделать из этого пост ссылку :(
а кат я сделал сразу
Username 06.11.2009 23:42 #
+ 0 -
уже никак. Нужно удалить и заново запостить. В самом верху там выбираешь тип поста - пост, опрос, пост-ссылка.
or10n 06.11.2009 23:58 #
+ 1 -
ну значит буду знать на будущее :/
Minoru 07.11.2009 00:55 #
+ 0 -
Два скриншота терминала вместо одного — это нечто. В целом статья неплохая, но именно потому эти скрины так бросаются в глаза.

При копировании потерялось зачёркивание слова «плохой» в следующей строке:
kubuntu-desktop — плохой виртуальный пакет


P.S. И хотя это уже обсудили выше, повторю ещё раз для остальных авторов: пост-ссылка была бы уместнее.
cppmm 07.11.2009 11:45 #
+ 2 -
Таким образом, aptitude заменяет кучу инструментов. Что вам проще: запомнить кучу разных инструментов, или только один инструмент? При условии, что кроме названия, надо помнить ещё и команды?

Вот так вот и появился Windows.
А в unix и Linux используется принцип - каждую задачу делает одна маленькая утилитка, но делает её хорошо.
В остальном всё совершенно одинаково. А зачем пакетному менеджеру интерфейс и встроенный сапёр - я не понимаю. Я предпочитаю, пока пакеты качаются делом заняться в другом окне.
И да. Ubuntu захватывает мир. Во времена моей молодости Раньше для того, чтобы процитировать команды терминала копировали текст и вставляли его, а теперь скриншотят терминал и постят картинку... Скоро будут прикладывать odt-документ со вставленной в него bmp-картинкой. :'(
xtavras 07.11.2009 13:01 #
+ 1 -
Вы статью хоть читали? Картинки тут чтобы показать вывод двух команд, ее юзабильность, кому то это нах не надо, а вот мне удобнее когда информации проще и нагляднее представлена как зачастую в случае с aptitude, сделать это обычной версткой текстового вывода тот еще гемморой, а скриншот простой и наглядный вариант, причем тут убунту также не понял, aptitude стандартный дебиановский инструмент.
cppmm 07.11.2009 13:27 #
+ 0 -
$ aptitude search wget
p epiphany-extension-gwget - Gwget extension for Epiphany web browser
p gwget - GNOME интерфейс для wget
v gwget2 -
i wget - retrieves files from the web
p wget-el - an interface for wget on Emacsen

В каком месте проблемы с вёрсткой?
Статью читал. Как и написал выше, не увидел больших преимуществ aptitude. Всё, что перечислено, костыли, которые и так умеют другие утилиты, как-то apt-get, apt-cache и т.д. К слову, это не полный набор. Есть ещё очень полезная вещь, под названием apt-file, например.
А про Ubuntu было сказано по поводу скриншотов. Ведь это же дефолтная убунтовская тема. Почему-то я не видел ни одного debian'щика, который выкладывает скриншоты терминала, а вот подобных описаний, сделаных убунтоидами - тысячи.
xtavras 07.11.2009 13:53 #
+ 0 -
ну если обычная копипаста с терминала то хорошо, но опять таки картинка особенно в этом примере со сравнением вывода куда нагляднее такого голого текста. а по сабжу тут каждый выбирает сам, мне проще знать одну команду чем несколько apt-get, apt-cache и т.д. Плюс в некоторых вопросах разрешения зависимостей спасал только aptitude, указанные преимущества apt указанные в комментах к оригиналу статьи мне пока в жизни не были нужны.
Username 07.11.2009 16:42 #
+ 1 -
довить на убунтоидов смысла нет. Среди них нубья больше лишь за счет того, что их самих полно.
cppmm 07.11.2009 22:55 #
+ 1 -
> говорят Ubuntu переводится как "Я не смог установить slackware", а как переводится Mandrive?
"Я не смог установить Slackware когда ещё не было Ubuntu".

(с) ibash.org.ru
Username 08.11.2009 19:08 #
+ 2 -
Ubuntu is an ancient african word which means "I can't configure Slackware"

этой фразе лет куда больше, чем йаБашу
cppmm 09.11.2009 13:00 #
+ 0 -
Не встречал раньше. :)
masai 07.11.2009 12:09 #
+ -1 -
Спасибо, про поиск не знал!
Slip 07.11.2009 12:27 #
+ 0 -
< сарказм>
Снова статья оттуда
< /сарказм>

P.S. /me задумался об переходе на aptitude
exelens 07.11.2009 18:32 #
+ 0 -
Раньшле мы туда постили теперь от туда =)
Zend 07.11.2009 12:40 #
+ 0 -
Раньше для того, чтобы процитировать команды терминала копировали текст и вставляли его, а теперь...
За это плюс.

Просветите меня в вопросе о возможности докачивания пакета после обрыва связи: apt-get нивкакую не хотел докачивать пакеты у него действительно такая функция отсутствует? Если да, то в таком случае, у aptitude есть еще один плюс - он умеет это делать!
cppmm 07.11.2009 13:13 #
+ 1 -
Просветите меня в вопросе о возможности докачивания пакета после обрыва связи: apt-get нивкакую не хотел докачивать пакеты у него действительно такая функция отсутствует?

Ну, как говорится, из коробки.
Вот. Запускаю что-нибудь большое качать(ключ -d поставил на всякий случай, потому как мне эти пакеты в системе не нужны :)).
$ apt-get -d install linux-headers-2.6.26-2-xen-686
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
linux-headers-2.6.26-2-common-xen
НОВЫЕ пакеты, которые будут установлены:
linux-headers-2.6.26-2-common-xen linux-headers-2.6.26-2-xen-686
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 4237kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 35,6MB.
Хотите продолжить <�Д/н>? y
Получено:1 http://security.debian.org lenny/updates/main linux-headers-2.6.26-2-common-xen 2.6.26-19lenny1 <3851kB>
22% <1 linux-headers-2.6.26-2-common-xen 940888/3851kB 24%>^C

И прерываю по Ctrl+C. Как видим, скачалось 22%
Теперь запускаю снова и сразу же после того, как согласился на установку - прерываю.
$ apt-get -d install linux-headers-2.6.26-2-xen-686
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
linux-headers-2.6.26-2-common-xen
НОВЫЕ пакеты, которые будут установлены:
linux-headers-2.6.26-2-common-xen linux-headers-2.6.26-2-xen-686
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 4237kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 35,6MB.
Хотите продолжить <�Д/н>? y
Получено:1 http://security.debian.org lenny/updates/main linux-headers-2.6.26-2-common-xen 2.6.26-19lenny1 <3851kB>
23% <1 linux-headers-2.6.26-2-common-xen 2862573/3851kB 74%>^C

Остановилось на 23% процентах.
Недокачанные пакеты сохраняются в /var/cache/apt/archives/partial/
Если не верите, попробуйте у себя.
krig 07.11.2009 13:28 #
+ 0 -
Первый пункт - это очередной спор про git и т.н. юникс-вей.
Что лучше - git-clone или git clone?
Юникс-вей говрит что первый способ лучше, ибо 1 утилита - делает одно действие.
Вобщем первый пункт - это не преимущество, это отличие.
cppmm 07.11.2009 13:37 #
+ 0 -
По пунктам я бы вообще мог холиварить на несколько дней. :)
1. Логичность синтаксиса. И единство управления. - Синтаксис apt-get'а не менее логичен, а единство управления - это минус.
2. Гибкость поиска. - база пакетоы одна и та же. Поиск идёт одинаковыми средствами. Особого различия не обнаружил.
3. Проставление меток пакетов. - apt-mark в руки и ставьте сколько угодно меток.
4. Разрешение зависимостей. - просто промолчу.
5. Интерфейс. - на любителя. Для кого-то это может и плюс, для многих - это лишняя свистелка.
razum2um 07.11.2009 14:58 #
+ 0 -
Я любитель.
Image and video hosting by TinyPic
Но кажется в вопросах установки дело не в свистелках.
Кто-то еще про регулярки грил ;)
(сорри за скрин, но лень сие в html переводить ;)


Что касается первого пункта, то внешне это можно вывернуть в любую сторону.
Хотите комбайн? Пишите функцию на баше, с case`ом на первый параметр, потом shift
Хотите Ъ? Наделайте алиасов supertude="aptitude blabla"...

Но вот писать бы, имхо, все-таки unix-way...
cppmm 07.11.2009 22:51 #
+ 0 -
Не, ну не стоит сравнивать emerge и бинарные менеджеры пакетов. Это слегка разные вещи. ;)
cppmm 07.11.2009 22:57 #
+ 0 -
И в html перегонять не надо. Есть тег code.
kstep 07.11.2009 14:43 #
+ 0 -
Строго говоря git-clone и git clone — это одно и то же. git clone просто молча вызывает отдельный выполнимый файл git-clone, так что в любом случае принцип «одно действие — одна программа» не нарушается.
krig 07.11.2009 14:58 #
+ 1 -
Строго говоря git-clone и git clone — это одно и то же.

Т.е. по вашему, пары команд из первого пункта - это не одно и то же?

git clone просто молча вызывает отдельный выполнимый файл git-clone

vladimirga@gvv:~$ whereis -b git
git: /usr/bin/git
vladimirga@gvv:~$ whereis -b git-clone
git-clone:


принцип «одно действие — одна программа» не нарушается

Как видите - нарушается.
kstep 07.11.2009 21:29 #
+ 0 -

kstep@whitebook:pts/7/usr/lib/git-core.^_^# lf
git* git-count-objects* git-help* git-merge-subtree* git-relink* git-stripspace*
git-add* git-daemon* git-http-fetch* git-mergetool* git-remote* git-submodule*
git-add--interactive* git-describe* git-http-push* git-mergetool--lib* git-remote-curl* git-svn*
git-am* git-diff* git-imap-send* git-merge-tree* git-repack* git-symbolic-ref*
git-annotate* git-diff-files* git-index-pack* git-mktag* git-replace* git-tag*
git-apply* git-diff-index* git-init* git-mktree* git-repo-config* git-tar-tree*
git-archive* git-difftool* git-init-db* git-mv* git-request-pull* git-unpack-file*
git-bisect* git-difftool--helper* git-instaweb* git-name-rev* git-rerere* git-unpack-objects*
git-bisect--helper* git-diff-tree* git-log* git-pack-objects* git-reset* git-update-index*
git-blame* git-fast-export* git-lost-found* git-pack-redundant* git-revert* git-update-ref*
git-branch* git-fast-import* git-ls-files* git-pack-refs* git-rev-list* git-update-server-info*
git-bundle* git-fetch* git-ls-remote* git-parse-remote* git-rev-parse* git-upload-archive*
git-cat-file* git-fetch-pack* git-ls-tree* git-patch-id* git-rm* git-upload-pack*
git-check-attr* git-fetch--tool* git-mailinfo* git-peek-remote* git-send-pack* git-var*
git-checkout* git-filter-branch* git-mailsplit* git-prune* git-shell* git-verify-pack*
git-checkout-index* git-fmt-merge-msg* git-merge* git-prune-packed* git-shortlog* git-verify-tag*
git-check-ref-format* git-for-each-ref* git-merge-base* git-pull* git-show* git-web--browse*
git-cherry* git-format-patch* git-merge-file* git-push* git-show-branch* git-whatchanged*
git-cherry-pick* git-fsck* git-merge-index* git-quiltimport* git-show-index* git-write-tree*
git-clean* git-fsck-objects* git-merge-octopus* git-read-tree* git-show-ref*
git-clone* git-gc* git-merge-one-file* git-rebase* git-sh-setup*
git-commit* git-get-tar-commit-id* git-merge-ours* git-rebase--interactive* git-stage*
git-commit-tree* git-grep* git-merge-recursive* git-receive-pack* git-stash*
git-config* git-hash-object* git-merge-resolve* git-reflog* git-status*


Удалите из /usr/lib/git-core git-clone и попробуйте запустить команду git clone. Всё станет понятно.
or10n 07.11.2009 21:42 #
+ 0 -
что то мне казалось, что пост о апт/аптитуде, а не о гит :)
Username 07.11.2009 22:06 #
+ 1 -
ебать мой хуй! Это к чему?
MagoBuono 07.11.2009 23:37 #
+ 0 -
Спасибо, поржал. С тех перцев, что прогнали убунту и юникс-вей.

Для любителей повопить: "Одна утилита выполняет одну функцию". Лично для меня, работа с пакетами - это и есть "одна функция". Среди прочих, опционально эта утилита должна не тупо ставить пакеты, но и смотреть инфу о них, производить поиск по ним и разрешать зависимости. И не надо орать, что аптитуд - это, мол, не юникс-вей.

PS А emacs это вообще замаскированный Windows 8, да.
cppmm 08.11.2009 11:12 #
+ 2 -
emacs редактирует тексты и, с помощью, плагинов и скриптов даёт дополнительные возможности. При желании плагины можно включить или выключить. Каждый плагин по сути является небольшой утилитой, написанной на lisp.
Точно так же, к примеру, устроен сервер jabberd2. Есть ядро(router), который управляет кучей модулей, и все они работают в связке, но только если администратор их подключит.
Та же картина с asterisk. То же самое со всем известным apache. То же самое почти с любым софтом в никсах. Учите матчасть.

А работа с пакетами делится на поиск пакетов и информации о них, установка, удаление, управление зависимостями, сборка пакетов из исходников или бекпортирование, перенос пакетов из других систем(alien), поиск по содержимому пакетов и ещё целую кучу вещей.
Это тоже должна делать одна утилита? Вы предлагаете объединить apt-get, apt-cache, apt-file, apt-mirror, dpkg-buildpackage, dch, dpkg-*(вместо звёздочки подставить кучу разнообразных функций, начиная от dpkg-reconfigure и до dpkg-source и подобных)?
Спасибо, не надо.
MagoBuono 08.11.2009 18:03 #
+ -1 -
emacs редактирует тексты и, с помощью, плагинов и скриптов даёт дополнительные возможности.

Ну, по-вашему выходит, что тем не менее емакс с подключенными плагинами абсолютно не юникс-вей.
А работа с пакетами делится на поиск пакетов и информации о них, установка, удаление, управление зависимостями

Вот это точно может быть в одной утилите. Не вижу причин для того, чтобы не объединить это.

Если честно, из вашего ответа просто не смог увидеть опровержения своего мнения. Только "Я считаю, что это плохо".
booley 08.11.2009 18:55 #
+ 1 -
Ну, по-вашему выходит, что тем не менее емакс с подключенными плагинами абсолютно не юникс-вей.


Давайте не путать теплое с мягким. Плагины, выполняющие в сочетании с ядром любые функции - unix-way. Плагины можно рассматривать как маленькие утилиты.

Комбайн, из которого нельзя вынуть что-то - не unix-way.

Не нужен мне Жаббер в Емаксе, вырубил и счастлив.
Не нужно маркирование в Аптитуде, вряд ли получиться избавиться.

Из вашего поста извлек "Я не знаю unix-way".

ИМХО.
Sokoloff 08.11.2009 23:25 #
+ 0 -
Во развели базар опция vs программа.
Уж флеймить, так не по детски, например что юникс-вейнее родной tar или пришлый zip, но tar все делает одной командой, а zip имеет пару unzip.
cppmm 09.11.2009 07:30 #
+ 0 -
tar вызывает bzip2 или gzip(в зависимости от того, чем был сжат архив). И это появилось относительно недавно.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн