Urpm-tools

Материал из Rosalab Wiki
Версия от 12:15, 5 мая 2012; Aponomarenko (обсуждение | вклад) (urpm-repograph)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск
Urpm-tools - набор утилит, расширяющих и дополняющих функциональность urpmi, urpmq, urpmf и urpme.

Urpm-tools частично основаны на yum-utils, но существенно превосходят их в плане функциональных возможностей. Для большей совместимости инструменты urpm-tools имеют схожие с yum-utils названия и одинаковые опции для одинаковых действий.

В настоящее время пакет urpm-tools доступен в репозитории Mandriva Cooker.

Список инструментов

Tool Description
urpm-downloader скачивание пакетов и SRPM вместе со всеми зависимостями, а также пакетов с debug-информацией (инструмент сочетает в себе функциональность yum-downloader и debuginfo-install из yum-utils)
urpm-package-cleanup чистка установленных пакетов
urpm-repoclosure проверка замкнутости репозитория по зависимостям
urpm-repodiff diff двух репозиториев
urpm-repograph построение графа зависимостей пакетов в репозитории
urpm-repomanage анализ набора RPM-файлов и выделение самых новых и устаревших версий каждого пакета
urpm-reposync синхронизация локального набора пакетов с репозиторием (аналог distrosync из yum-utils)

Некторые возможности, предоставляемые утилитами yum и yum-utils, поддерживаются непосредственно urpmi и компанией:

Yum Tool Urpmi analogue Description
yum-builddep urpmi --buildrequires установка зависимостей, необходимых для сборки заданного SRPM (на основе самого пакета или spec-файла)
createrepo genhdlist2 создание репозитория на основе набора RPM-файлов
repoquery urpmq запросы к репозиторию, аналогичные тем, что умеет делать rpm для пакетов

See also: Package Manager Options

urpm-downloader

Инструмент, позволяющий скачивать RPM и SRPM пакеты из URPM репозиториев

Использование:

urpm-downloader [-h] [-u] [-r] [-a] [-b] [-s] [-d] [-D] [--version]
                       [-v] [-q]
                       [--include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...]]
                       [--exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]]
                       [-x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]] [-i] [-o]
                       [--all-alternatives] [--all-versions]
                       [--dest-dir DEST_DIR]
                       packages [packages ...]


positional arguments:
  packages              Имена пакетов для скачивания.
                        Можно так же использовать
                        имена существующих (S)RPM
                        файлов, в этом случае
                        информация об имени пакета
                        будет извлечена из них.

optional arguments:
  -h, --help            show this help message and exit
  -u, --urls            Выводить их URL файлов, но не
                        скачивать их (в случае
                        использования совместно с -a
                        или -r src.rpm файл все равно
                        будет скачан, так как без
                        этого невозможно разрешить
                       сборочные зависимости)
  -r, --resolve         При скачивании пакета
                        разрешать зависимости и
                        скачивать все необходимые
                        пакеты, но только если они не
                        установлены в системе.
  -a, --resolve-all     При скачивании пакета
                        разрешать зависимости и
                        скачивать все необходимые
                        пакеты, даже если они уже
                        установлены в системе
  -b, --binary          Скачивать бинарные пакеты (RPM)
  -s, --source          Скачать пакеты с исходными
                        кодами (SRPM)
  -d, --debug-info      Скачать пакеты с отладочной
                        информацией
  -D, --debug-info-install
                        Скачать пакеты с отладочной
                        информацией и установить
  --version             show program's version number and exit
  -v, --verbose         Выводить при исполнении
                        отладочную информацию
  -q, --quiet           Ничего не печатать в консоль
  --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
                        Использовать только
                        указанные источники
  --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
                        Не использовать указанные
                        источники
  -x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...], --exclude-packages EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]
                        Исключить пакеты по
                        регулярному выражению
  -i, --ignore-errors   Пытаться игнорировать ошибки
-o, --overwrite       Если файл уже существует,
                        скачать его заново и
                        заменить.
  --all-alternatives    Скачивать все пакеты, которые
                        могут удовлетворить
                        зависимости для данного
                        пакета (по умолчанию
                        скачивается лишь один).
  --all-versions        Если в репозитории
                        присутствует несколько
                        версий пакета, обработать их
                        все.
  --dest-dir DEST_DIR   Директория, в которую будут
                        помещены скачаные файлы

Если ни одна из опций -b, -s или -d не указана,
то по умолчанию включается -b

urpm-package-cleanup

Инструмент для поиска проблем в базе данных RPM и их исправления.

Инструмент может выполнять следующие действия:

  1. Поиск ситуации, когда один пакет установлен в системе несколько раз с разными версиями. Инструмент может автоматически удалять все версии кроме самой новой.
    • Отдельно рассматриваются kernel пакеты. Инструмент учитывает, какое ядро сейчас запущено, и не пытается его удалить. Так же можно указать количество ядер, которые должны остаться в системе.
  2. Поиск всех пакетов, которые не доступны в репозиториях с текущими настройками (это просто обетка к `urpmq --not-available`).
  3. Поиск установленных пакетов c неудовлетворенными зависимостями.
  4. Перечислить листовые узлы графа из базы данных RPM. Листовыми являются пакеты, которые не нужны для работы других пакетов.

Использование:

urpm-package-cleanup [-h] [--qf QF] [--auto] [--version] [--orphans]
                               [--update] [--media media [media ...]]
                               [--excludemedia media [media ...]] [--problems]
                               [--suggests] [--dupes] [--cleandupes]
                               [--noscripts] [--leaves] [--all]
                               [--leaf-regex LEAF_REGEX] [--exclude-devel]
                               [--exclude-bin] [--oldkernels]
                               [--count KERNELCOUNT] [--keepdevel]

ОПЦИИ:
  -h, --help            show this help message and exit
  --qf QF, --queryformat QF
                        Формат вывода.
  --auto                Работать в неинтерактивном
                        режиме
  --version             show program's version number and exit

Осиротевшие пакеты:
  --orphans             Перечислить пакеты,
                        недоступные в настроенных на
                        текущий момент репозиториях
  --update              Ипользовать только источники
                        обновлений. Это означает, что
                        urpmq будет искать и разрешать
                        зависимости только используя
                        источники, помеченные как
                        источники обновлений
                        (например, которые были
                        добавлены при помощи "urpmi.addmedia
                        --update")
  --media media [media ...]
                        Выбрать особые источники
                        вместо того чтобы
                        использовать все доступные
                        по умолчанию источники (или
                        все источники обновлений,
                        если указан флаг --update). В
                        других источниках пакеты
                        искаться не будут.
  --excludemedia media [media ...]
                        Не использовать указанные
                        источники.

Проблемы с зависимостями:
  --problems            Перечислить проблемы с
                        зависимостями в локальной
                        базе RPM
  --suggests            Перечислить список мягких
                        зависимостей установленных
                        пакетов

Дублирующиеся пакеты:
  --dupes               Найти дубликаты в локальной
                        базе RPM
  --cleandupes          Найти дубликаты в локальной
                        базе RPM и удалить более старые
  --noscripts           отключить скриптлеты rpm при
                        очистке дубликатов

Листовые узлы:
  --leaves              Перечислить листовые узлы в
                        локальной базе RPM
  --all                 перечислить все
                        пакеты-листовые узлы, имя
                        которых не подходить под
                        регулярное выражение
  --leaf-regex LEAF_REGEX
                        Считать листовым узлом пакет,
                        имя которого подходит по
                        регулярному выражению
                        (регистронезависимо).
  --exclude-devel       не считать devel пакеты
                        листовыми узлами
  --exclude-bin         не считать пакеты, имеющие
                        файлы в bin директориях,
                        листовыми узлами

Старые ядра:
  --oldkernels          Удалить старые ядра и их devel
                        пакеты.
  --count KERNELCOUNT   Количество пакетов с ядрами,
                        которые надо сохранить в
                        системе (по умолчанию 2)
  --keepdevel           Не удалять kernel-devel пакеты при
                        удалении ядер

urpm-repoclosure

Инструмент для определения замкнутости набора RPM пакетов.

Использование:

urpm-repoclosure [-h] [--hdlist=HDLIST] [--dir=PACKAGES_DIR] [-list=PACKAGES_LIST]
                      [--static] [--dynamic] [--check-release] [--check-signature] [--noclean]
                      [--root ROOT] [--file-deps=FILE]

ПРИМЕРЫ:
  urpm-repoclosure --hdlist=http://mirror.yandex.ru/mandriva/.../synthesis.hdlist.cz
  urpm-repoclosure --hdlist=synthesis.hdlist
  urpm-repoclosure --dir=rpms/ --static --file-deps=file-deps.txt
  urpm-repoclosure --list=list.txt --dynamic

ОПЦИИ:
  -h|-help
      Показать это сообщение.

  -v|-version
      Показать информацию о версии программы.

  -hdlist <путь>
      Путь к HDlist (synthesis), который надо проверить.

  -d|-dir <путь>
      Директория с RPM пакетами, которую надо проверить.

  -l|-list <путь>
      Список пакетов, который надо проверить.

  -add|-update <путь>
      Директория с RPM пакетами которые
      надо добавить в репозиторий или обновить.

  -file-deps <путь>
      Использовать файл file-deps для игнорирования
      некоторых зависимостей.

  -s|-static
      Статический анализ зависимостей.

  -dynamic
      Динамический анализ зависимостей (через установку пакетов).

  -r|-check-release
      Проверить установочный диск (CD/DVD).

  -sign|-check-signature
      Проверить сигнатуры пакетов.

  -noclean
      Не очищать кэш инструментария URPM.

  -root <путь>
      Куда устанавливать пакеты.
      Путь по-умолчанию:
          /tmp/...

КОДЫ ОШИБОК:
      0 - Успех. Набор пакетов замкнут. Ошибок не произошло.
      1 - Ошибки во время выполнения программы.
      2 - Набор пакетов не замкнут.

urpm-repodiff

Инструмент для сравнения наборов репозиториев. Берет на вход 2 или более репозиториев и возвращает список пакетов, которые были добавленны, удаленны или изменили версию.

Использование:

urpm-repodiff [-h] --old OLD_REPO [OLD_REPO ...] --new NEW_REPO
                        [NEW_REPO ...] [--size] [--simple] [--quiet] [--html]
                        [--output OUTPUT_FILE]



ОПЦИИ:
  -h, --help            show this help message and exit
  --old OLD_REPO [OLD_REPO ...], -o OLD_REPO [OLD_REPO ...]
                        URL или пути к старым
                        репозиториям
  --new NEW_REPO [NEW_REPO ...], -n NEW_REPO [NEW_REPO ...]
                        URL или пути к новым
                        репозиториям
  --size, -s            Показывать различия в
                        размерах пакетов.
  --simple              Упрощенный формат вывода.
  --quiet, -q           Не показывать служебные
                        сообщения.
  --html                Вывод в формате HTML. Если --output
                        не указан, то HTML файл будет
                        создан в текущей директории.
                        Опции --size и --simple будут
                        игнорироваться.
  --output OUTPUT_FILE, -out OUTPUT_FILE
                        Перенаправить вывод в "OUTPUT_FILE"

urpm-repograph

Инструмент для создания графа зависимостей в формате dot для пакетов из репозитория.


Использование:

urpm-repograph [-h] REPOSITORY [--cross CROSS_REPO [CROSS_REPO ...]] [--quiet]
                         [--verbose] [--requires] [--suggests] [--file]
                         [--unprovided]
                         [--requires-recursive PKG | --whatrequires PKG]
                         [--loops | --alternatives | --broken] [--different]
                         [--output OUTPUT_FILE | --nograph]



АРГУМЕНТЫ:
  REPOSITORY            URL or local PATH to repository.

ОПЦИИ:
  -h, --help            show this help message and exit
  --cross CROSS_REPO [CROSS_REPO ...], -c CROSS_REPO [CROSS_REPO ...]
                        Искать зывисимости между
                        репозиториями в
                        репозиториями CROSS_REPO
  --quiet, -q           Не показывать служебные
                        сообщения. (О прогрессе и т. д.)
  --verbose, -v         Показывать предупреждения (О
                        зависимостях, не
                        предоставляемых ни одним
                        пакетом из репозитория и т. д.)
  --requires, -r        Обрабатывать "requires" пакетные
                        зависимости. Используется по
                        умолчанию.
  --suggests, -s        Обрабатывать "suggests" пакетные
                        зависимости. Если
                        используется без --requires, то
                        будут обрабатываться только
                        мягкие зависимости.
  --file, -f            Обработка зависимостей по
                        файлам...
  --unprovided, -u      Показать зависимости, не
                        предоставленные ни одним
                        пакетом из репозитория.
  --requires-recursive PKG
                        Искать пакеты, которые нужны
                        пакету PKG. (PKG - это имя пакета
                        или файла)
  --whatrequires PKG    Искать пакеты, которым нужен
                        пакет PKG. (PKG - это имя пакета
                        или файла)
  --loops, -l           Поиск всех простых циклов в
                        пакетных зависимостях.
  --alternatives, -a    Поиск альтернативных
                        пакетов, предоставляющих
                        одну и ту же зависимость.
  --broken, -b          Искать все пакеты с
                        нарушенными зависимостями и
                        цепочки пакетов между ними
  --different, -d       Выводить каждый цикл или
                        каждую альтернативу в
                        отдельный файл. Игнорируется,
                        если указано --loops или --alternatives.
                        OUTPUT_FILE (если указан) в этом
                        случае рассматривается как
                        имя директории для новых
                        файлов.
  --output OUTPUT_FILE, -o OUTPUT_FILE
                        Перенаправить вывод графа в
                        файл "OUTPUT_FILE". По умолчанию
                        используется STDOUT.
  --nograph, -n         Не выводить граф. Инструмент
                        не будет ничего делать, если
                        включены --quiet и --nograph, а verbose
                        нет. (Если ничего не надо
                        выводить, то и не надо ничего
                        делать.)

urpm-repomanage

Обработать директорию с rpm пакетами и сообщить о наиболее новых и старых версиях.

Использование:

urpm-repomanage [-h] path [-o | -n] [-r] [-s] [-k KEEP] [-c] [-q | -V]


АРГУМЕНТЫ:
  path                  путь к директории с rpm
                        пакетами

ОПЦИИ:
  -h, --help            show this help message and exit
  -o, --old             напечатать более старые
                        пакеты
  -n, --new             напечатать наиболее новые
                        пакеты (поведение по
                        умолчанию)
  -r, --remove-old      удалить более старые пакеты
  -s, --space           вывод разделяется пробелами,
                        а не переводами строки
  -k KEEP, --keep KEEP  количество наиболее новых
                        пакетов, которые надо
                        оставить - по умолчанию 1
  -c, --nocheck         не проверять встроенные
                        подписи пакетов
  -q, --quiet           ничего не печатать
  -V, --verbose         показывать дополнительную
                        информацию - какие пакеты
                        выбраны наиболее новыми и
                        почему (информация выводится
                        в STDERR)

urpm-reposync

Инструмент для синхронизации установленных на компьютере пакетов с удаленным репозиторием.

Использование:

urpm-reposync [-h] [--include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...]]
                   [--exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]]
                   [-v] [-q] [-a]


ОПЦИИ:
  -h, --help            show this help message and exit
  --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
                        Использовать только
                        указанные источники
  --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
                        Не использовать указанные
                        источники
  -v, --verbose         Выводить при исполнении
                        отладочную информацию
  -q, --quiet           Ничего не выводить на экран.
                        Не используется без --auto.
  -a, --auto            Выполнять все действия без
                        вопросов