Вопрос поставил меня несколько в тупик. Чуть подумав, я ответил – почему бы и нет? Ведь в сущности, наука для того и существует, чтобы ее результаты использовались. В том числе и в интересах бизнеса. Важно только, чтобы наука сама не становилась при этом бизнесом. На чем примерно и был достигнут консенсус.
Вот такое странное интервью получилось...
В заключение отмечу, что встреча прошла, как говорится, в тёплой и дружественной, я бы сказал – неформальной, обстановке. Не обошлась она без «раздачи слонов» – наклеек Ubuntu и последнего номера журнала Linuxformat. А лично меня она навела на некоторые мысли, которыми я надеюсь поделиться с читателями в самое ближайшее время.
Одна из отличительная особенностей дистрибутивов семейства Debian – разнообразие средств управления пакетами. Однако в последнее время в качестве такового рекомендуется aptitude – надстройка над apt, работающая в текстовом режиме. Она предполагает два метода использования – интерактивный и командный. Первый был подробно описан Тихоном Тарнавским (LinuxFormat, #5(79), 2006). Поэтому я остановлюсь только на командном методе, затронутом им лишь вкратце.
Командный метод использования aptitude будет непривычен тому, кто знаком с утилитами apt-get и apt-cache: конструкция ее директив предполагает наличие оператора и, для некоторых из последних, также аргумента – имени пакета или ключевого слова.
Особенности aptitude в сравнении с утилитами apt проще всего рассмотреть на примере конкретных командных директив.
Резонные люди обычно начинают работу с пакетами поиском нужного для установки. В случае с aptitude это делается так:
$ aptitude search keyword
ответом на что будет список всех пакетов, в названии или описании которых имеется указанное ключевое слово, с краткой характеристикой. Почти как в apt, но вывод aptitude содержит информацию о текущем состоянии пакета. Например:
$ aptitude search term
даст примерно такой список.
Пакеты, маркированные литерой i (от installed), уже установлены в системе, а помеченные литерой p (от purge) – не установлены или удалены «вчистую» (как – будет говориться далее). Кроме того, в этой колонке могут присутствовать марки c (от clean), которой отмечены пакеты удаленные, следы которых (в виде конфигурационных файлов), однако, сохранились, и v (от virtual), чем обозначаются так называемые виртуальные пакеты, представляющие собой просто списки пакетов реальных.
Для инсталлированных пакетов возможна еще и дополнительная маркировка – литерой A (от automatic); таким образом помечаются пакеты, установленные автоматически в качестве зависимостей других пакетов.
Следующий этап – получение информации о тех пакетах, которые можно заподозрить в полезности. Этой цели служит оператор show, требующий аргумента в виде имени пакета, например:
$ aptitude show mlterm
выведет весьма подробные сведения о пакете mlterm (рис. 2):
•
имя и версия;
•
статус – установлен ли пакет, и если установлен – то как: собственноручно или автоматически, в качестве зависимости;
•
приоритет пакета и раздел репозитория, к которому он приписан;
•
имя и e-mail майнтайнера;
•
размер пакета в распакованном виде;
•
зависимости пакета, предложения по дополнительным компонентам и конфликтующие пакеты;
•
назначение и функциональность.
В aptitude, в отличие от apt, в число зависимостей включаются не только обязательные (depends), но также и рекомендуемые (recommends) пакеты.
Очевидно, что все операторы команды aptitude, служащие получению информации о пакетах, могут выполняться от лица обычного пользователя. Следующие же операторы требуют уже привилегий администратора – в дистрибутивах семейства Ubuntu они получаются посредством команды sudo.
Установка выбранных пакетов осуществляется посредством оператора install, требующем в качестве аргумента имени пакета:
$ sudo aptitude install pkg_name
Оператор install команды aptitude, в отличие от одноименного из apt-get, устанавливает не только «строгие» зависимости пакета (собственно depends), но и часть «мягких» (recommends), то есть все, что перечислено в качестве зависимостей в выводе оператора show. На усмотрение пользователя остается только установка «мягких» зависимостей из категории suggest (то есть «предложений» оператора show). Хотя, как мы увидим далее, такое положение можно изменить.
Установка версий пакетов осуществляется в соответствие с локальным их кешем. Каковой время от времени (а также после подключения дополнительных репозиториев) нуждается в обновлении. Это осуществляется посредством оператора update, в аргументах не нуждающегося.
Пакет, «испорченный» по какой-либо причине (например, неаккуратным вмешательством в конфигурационные файлы) можно «починить». Команда
$ sudo aptitude reinstall pkg_name
вернет его в первозданное состояние.
Установленные пакеты, оказавшиеся не нужными, могут быть удалены. Директива
$ sudo aptitude remove pkg_name