Показаны сообщения с ярлыком package. Показать все сообщения
Показаны сообщения с ярлыком package. Показать все сообщения

29 декабря 2008

Aptitude, форматирование вывода

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

Формат представляет собой строку, содержащую подстановочные символы, состоящие из знака '%' и буквы-кода, например такие как %d, %v, %p и другие. При выводе результатов поиска происходит замена подстановочных символов на их значение.

Ширина столбца, определеямого подстановочным символом, может быть фиксированной или переменной. При фиксированной ширине столбца, подстановочный символ заменяется постоянным количеством текста, и при необходимости дополняется пробелами. При переменной ширине, столбец занимает все свободное место на экране, не занятое другими столбцами. Если есть несколько столбцов переменной ширины, то они делят свободное место между собой поровну.

При необходимости ширину столбца можно задать явно. Для этого надо между символом % и буквой-кодом вписать цифру, обозначающую количество символов в столбце. Например формат '%25v', выведет один столбец шириной 25 символов с текущей версией пакета.

Чтобы столбец был переменной длины надо после подстановочного символа вписать символ '#'. Например формат '%d#' выведет один столбец, шириной на весь экран и будет содержать описание пакета.

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

Значение подстановочных символов, ширина столбца
%c-
флаг "текущее состояние", ширина фиксированная, один символ. Описание флагов здесь;

%a-флаг "действие", ширина фиксированная, один символ;

%M-флаг "автоматически установленный", ширина фиксированная, один символ;

%S-флаг "доверенный", ширина фиксированная, один символ, ;

%d-
описание пакета, ширина переменная, по умолчанию 40 символов;

%D-размер файла, содержащего пакет, ширина фиксированная, 6 символов;

%I-размер (приблизительный) установленного пакета на диске, ширина фиксированная, 6 символов;

%p-имя пакета, ширина переменная, по умолчанию 30 символов;

%t-архив, в котором пакет расположен (например hardy, main или universe), ширина переменная, по умолчанию 10 символов;

%v-
текущая версия установленного пакета, если пакет не установлен выводится <нет>, ширина фиксированная, 10 символов;

%V-версия пакета который предполагается установить, если пакет виртуальный выводится <нет>, ширина фиксированная, 10 символов;


Для изменения формата вывода aptitude можно воспользоваться опцией '-F' или '--display-format'. Следом за опцией без пробела в одинарных ковычках следует строка формата. Чтобы каждый раз не описывать формат в командной строке, можно задать его значение в переменной Aptitude::CmdLine::Package-Display-Format в файле ~/.aptitude/config.

Например, для вывода флагов состояния, имен пакетов, описаний пакетов, размеров файлов содержащих пакеты, текущих версий пакетов, чьи имена начинаются со слова free, надо в командной строке выполнить:
aptitude -F'%c%a%M%S %p %d %0D# %v#' search ^free
Использование формата в таком виде неудобно. Чтобы не описывать формат кадый раз при выполнении поиска пропишем его в файле ~/.aptitude/config следующим образом:
Aptitude "";
Aptitude::CmdLine "";
Aptitude::CmdLine::Package-Display-Format "%c%a%M%S %p %d %0D# %v#";
Теперь можно искать пакеты без указания формата при помощи опции '-F'. Полное описание подстановочных символов смотрите здесь.

Читать дальше...

26 декабря 2008

Aptitude, как искать пакеты

По умолчанию пакетный менеджер aptitudе, используемый с действием search, осуществляет поиск в именах файлов. Каким образом при помощи aptitude искать в описаниях пакетов и о том какие еще варианты поиска возможны пойдет речь в этом посте.

Для расширения возможностей поиска aptitude использует поисковые шаблоны. Общий синтаксис команды для поиска с использованием поисковых шаблонов следующий:
aptitude search шаблончтоищем
где шаблон-поисковый шаблон, чтоищем-ключевое слово, по которому осуществляется поиск. Поисковый шаблон в синтаксисе не обязательный параметр, если он не используется поиск осуществляется в именах пакетов. Поисковый шаблон и ключевое слово пишутся слитно, без пробела. Возможны варианты использования aptitude с поисковым шаблоном без ключевого слова. Ниже приведу описания и примеры шаблонов которые, как мне кажется, наиболее полезны.

Поиск в описаниях пакетов. Для поиска в описаниях пакетов используется шаблон "~d". Например для поиска пакетов в описании которых есть слово browser надо выполнить следующую команду:
aptitude search ~dbrowser
Поиск в именах пакетов. Для поиска в именах пакетов используется шаблон "~n". Поиск в именах пакетов осуществляется по умолчанию, поэтому шаблон "~n" можно использовать в сложных запросах с использованием логических операторов. Чтобы найти пакет, в имени которого есть слово office, выполните:
aptitude search ~noffice
Поиск пакетов с нарушенными зависимостями. Для поиска используется шаблон "~b". Чтобы найти все пакеты с нарушенными зависимостями ключевое слово можно опустить:
aptitude search ~b
Поиск пакетов которые были удалены, но чьи конфигурационные файлы остались в системе. Для поиска используется шаблон "~c". Аналогично ключевое слово можно не использовать.
aptitude search ~c
Поиск установленных пакетов. Для поиска используется шаблон "~i". Поиск установленных пакетов осуществляется по именам пакетов. Если вы хотите найти установленные пакеты по описанию пакетов, например установленные пакеты в описании которых есть слово browser, надо выполнить команду:
aptitude search ~i~dbrowser
Обратите внимание, что шаблоны и ключевое слово пишутся слитно без пробелов. Написание шаблонов с ключевыми словами слитно эквивалентно логическому оператору И (AND).

Поиск устаревших пакетов. Для поиска используется шаблон "~o". Пакеты, которые не доступны в любой версии в любом архиве, интерпретируются как устаревшие или установленные локально (например, пакеты установленные с использованием dpkg) .
aptitude search ~o
Поиск пакетов, которые имеют более новую версию. Для поиска используется шаблон "~U". Этот шаблон можно использовать после обновления списка пакетов, например с помощью aptitude update, чтобы выяснить для каких пакетов, установленных в системе, есть обновления.
aptitude search ~U
Поиск с применением логических операторов И, ИЛИ, НЕ (AND, OR, NOT). Выше уже был привиден пример логического И, для этого поисковые шаблоны с ключевыми словами пишутся слитно. Например надо найти пакет в описании которого есть слово daemon, а имя пакета начинается со слова open:
aptitude search ~ddaemon~n^open
Для использования логического ИЛИ поисковые шаблоны с ключевыми словами необходимо писать через пробел. Например для поиска пакета в описании или в имени пакета которого есть слово editor надо выполнить:
aptitude search ~deditor ~neditor
Для логического НЕ используется символ "!". Например надо найти пакеты начинаючиеся со слова open и не содержащие в имени слова office:
aptitude search ~n^open~n\!office
Обратный слэш перед символом "!" нужен для исключения интерпретации его shell-ом. Полный список поисковых шаблонов и их описание можно посмотреть здесь.

Читать дальше...

25 декабря 2008

Aptitude, флаги состояния пакетов

При использовании пакетного менеджера aptitude информация о пакетах представляется в виде списка пакетов, дающего краткое представление о каждом пакете. В списке пакетов используются четыре флага, которые описывают текущее состояние пакета.

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

Флаг "автоматически установленный" отображается символом "A", если пакет был установлен автоматически, например для удовлетворения зависимостей. Флаг "доверенный" отображается символом "U", если пакет был установлен из репозитория без цифровой подписи, например из локального репозитория. Флаги "текущее состояние" и "действие" могут иметь различные значения, их описания приведены ниже.

Значение флага "текущее состояние"
i- пакет установлен и все зависимости удовлетворены;
c- пакет был удален, но его конфигурационные файлы оставлены в системе;
p- пакет и его конфигурационные файлы были удалены, или пакет не был установлен;
v- пакет является виртуальным;
B- пакет имеет нарушенные зависимости;
u- пакет был распакован, но не сконфигурирован;
C- недоконфигурирован: конфигурация пакета была прервана;
H- недоустановлен: установка пакета была прервана;


Значение флага "действие"
i- пакет будет установлен;
u- пакет будет обновлен;
d- пакет будет удален, но конфигурационные файлы будут оставлены в системе;
p- пакет будет удален вместе с конфигурационными файлами;
h- пакет будет удержан: будет удержана текущая версия пакета, даже если доступна более новая версия, до тех пор пока удержание не будет отменено;
F- обновление пакета было запрещено;
r- пакет будет переустановлен;
B- пакет "сломан":некоторые из его зависимостей не удовлетворены, aptitude не будет разрешено устанавливать, удалять или обновлять что-либо пока имеются "сломанные" пакеты;

Источник: aptitude user's manual

Читать дальше...

19 декабря 2008

Apt, репозиторий на жестком диске

Если по каким-то причинам ваш компьютер не имеет доступа в интернет, а вам хочется устанавливать необходимые пакеты при помощи менеджера пакетов apt-get, aptitude или synaptic, вы можете организовать локальный репозиторий на жестком диске вашего компьютера.

Реализация репозитория приведена для дистрибутива Ubuntu Hardy. Для начала создадим директорию для хранения пакетов:
sudo mkdir -p /var/local/packages/binary
затем директорию для хранения файла с описанием пакетов в локальном репозитории:
sudo mkdir -p /var/local/packages/dists/hardy/main/binary-i386
Добавим в файл /etc/apt/sources.list путь к локальному репозиторию (понадобятся права root):
deb file:/var/local/packages/ hardy main
Теперь необходимо скопировать дополнительные пакеты, которые вы хотите установить, в созданную директорию /var/local/packages/binary. После того как пакеты будут скопированы перейдем в директорию /var/local/packages/:
cd /var/local/packages/
и выполним сканирование скопированных пакетов для формирования файла, содержащего описание пакетов в локальном репозитории (понадобятся права root):
dpkg-scanpackages binary /dev/null | gzip -9c > dists/hardy/main/binary-i386/Packages.gz
Утилита dpkg-scanpackages содержится в пакете dpkg-dev, возможно понадобится установить этот пакет. После того как пакеты будут просканированны, выполним обновление списка доступных пакетов:
sudo aptitude update
Все, теперь вы можете искать и устанавливать дополнительные пакеты при помощи пакетных менеджеров.
Каждый раз при добавлении новых пакетов в локальный репозиторий необходимо выполнять сканирование пакетов и обновление списка доступных пакетов. Для этого можно написать скрипт на шеле, сделать его исполняемым, положить в /var/local/packages/ и выполнять его кадый раз при добавлении новых пакетов.
Чтобы сделать локальный репозиторий для дистрибутива Debian Etch достаточно в описанных выше командах заменить слово hardy на etch.

При написании статьи использованы материалы с Odzangba Kafui Dake’s Blog

Читать дальше...

  © Blogger template Blue Surfing by Ourblogtemplates.com 2008

Наверх