Urpm-tools — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м (urpm-repodiff: fix name)
 
(не показана 51 промежуточная версия 4 участников)
Строка 1: Строка 1:
[[Category:Package Management]]
+
{{Введение|Urpm-tools - набор утилит, расширяющих и дополняющих функциональность urpmi, urpmq, urpmf и urpme.}}
Urpm-tools - набор утилит, расширяющих и дополняющих функциональность urpmi, urpmq, urpmf и urpme.
+
  
По возможностям urpm-tools схожи с yum-utils (и частично на них основаны). Для большей совместимости инструменты urpm-tools имеют схожие с yum-utils названия и одинаковые опции для одинаковых действий.
+
Urpm-tools частично основаны на yum-utils, но существенно превосходят их в плане функциональных возможностей. Для большей совместимости инструменты urpm-tools имеют схожие с yum-utils названия и одинаковые опции для одинаковых действий.
  
== Список инструментов ==
+
== Установка ==
 +
В настоящее время пакет urpm-tools доступен в личном репозитории [http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/i586/main/release/ i586] и [http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/x86_64/main/release/ x86_64].
  
В первую версию пакета вошли следующие инструменты:
+
1. Добавьте источник, в котором находится новейшая версия urpm-tools.
 +
для 32-битной системы выполните команду:
 +
sudo urpmi.addmedia akirilenko_personal http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/i586/main/release/
 +
для 64-битной системы:
 +
sudo urpmi.addmedia akirilenko_personal http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/x86_64/main/release/
 +
2. Установите пакет urpm-tools:
 +
sudo urpmi urpm-tools
 +
 
 +
== Список инструментов ==
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! Tool !! Description
 
! Tool !! Description
 
|-
 
|-
| urpm-downloader || скачивание пакета вместе со всеми зависимостями
+
| urpm-downloader || скачивание пакетов и SRPM вместе со всеми зависимостями, а также пакетов с debug-информацией (инструмент сочетает в себе функциональность yum-downloader и debuginfo-install из yum-utils)
 
|-
 
|-
 
| urpm-package-cleanup || чистка установленных пакетов
 
| urpm-package-cleanup || чистка установленных пакетов
Строка 18: Строка 26:
 
|-
 
|-
 
| urpm-repodiff || diff двух репозиториев
 
| urpm-repodiff || diff двух репозиториев
 +
|-
 +
| urpm-repograph || построение графа зависимостей пакетов в репозитории
 
|-
 
|-
 
| urpm-repomanage || анализ набора RPM-файлов и выделение самых новых и устаревших версий каждого пакета
 
| urpm-repomanage || анализ набора RPM-файлов и выделение самых новых и устаревших версий каждого пакета
 +
|-
 +
| urpm-reposync || синхронизация локального набора пакетов с репозиторием (аналог distrosync из yum-utils)
 
|}
 
|}
  
В дальнейшем планируется добавление еще нескольких полезных утилит:
+
Некторые возможности, предоставляемые утилитами yum и yum-utils, поддерживаются непосредственно urpmi и компанией:
  
 
{| class="wikitable"
 
{| class="wikitable"
! Tool !! Description
+
! Yum Tool !! Urpmi analogue !! Description
 
|-
 
|-
| urpm-build-distrib || создание дистрибутива на основе нескольких репозиториев
+
| yum-builddep || urpmi --buildrequires || установка зависимостей, необходимых для сборки заданного SRPM (на основе самого пакета или spec-файла)
 
|-
 
|-
| urpm-debuginfo-install || установка пакетов debuginfo, необходимых для отладки программ из заданного пакета
+
| createrepo || genhdlist2 || создание репозитория на основе набора RPM-файлов
 
|-
 
|-
| urpm-distrosync || синхронизация локального набора пакетов с репозиторием
+
| repoquery || urpmq || запросы к репозиторию, аналогичные тем, что умеет делать rpm для пакетов
|-
+
| urpm-repograph || построение графа зависимостей пакетов в репозитории
+
 
|}
 
|}
  
Некторые возможности, предоставляемые для yum отдельными утилитами из yum-utils, поддерживаются самим urpmi:
+
'''See also:''' [[Package Manager Options]]
  
{| class="wikitable"
+
== urpm-downloader ==
! Yum Tool !! Urpmi analogue !! Description
+
Инструмент, позволяющий скачивать RPM и SRPM
|-
+
пакеты из URPM репозиториев
| yum-builddep || urpmi --buildrequires || установка зависимостей, необходимых для сборки заданного SRPM (на основе самого пакета или spec-файла)
+
|}
+
  
== urpm-repoclosure ==
+
Использование:
A tool to check dependency closure in the repository.
+
<pre>
 +
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 ...]
  
Usage:
+
 
 +
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
 +
</pre>
 +
 
 +
== urpm-package-cleanup ==
 +
Инструмент для поиска проблем в базе данных RPM и их исправления.
 +
 
 +
Инструмент может выполнять следующие действия:
 +
# Поиск ситуации, когда один пакет установлен в системе несколько раз с разными версиями. Инструмент может автоматически удалять все версии кроме самой новой.
 +
#* Отдельно рассматриваются kernel пакеты. Инструмент учитывает, какое ядро сейчас запущено, и не пытается его удалить. Так же можно указать количество ядер, которые должны остаться в системе.
 +
# Поиск всех пакетов, которые не доступны в репозиториях с текущими настройками (это просто обетка к `urpmq --not-available`).
 +
# Поиск установленных пакетов c неудовлетворенными зависимостями.
 +
# Перечислить листовые узлы графа из базы данных RPM. Листовыми являются пакеты, которые не нужны для работы других пакетов.
 +
 
 +
Использование:
 
<pre>
 
<pre>
  urpm-repoclosure.pl [-h] [-list=PACKAGES_LIST] [--dir=PACKAGES_DIR] [--hdlist=HDLIST]
+
urpm-package-cleanup [-h] [--qf QF] [--auto] [--version] [--orphans]
                      [--static] [--check-release] [--check-signature] [--media MEDIA]
+
                              [--update] [--media media [media ...]]
                      [--noclean] [--root ROOT]
+
                              [--excludemedia media [media ...]] [--problems]
 +
                              [--suggests] [--dupes] [--cleandupes]
 +
                              [--noscripts] [--leaves] [--all]
 +
                              [--leaf-regex LEAF_REGEX] [--exclude-devel]
 +
                              [--exclude-bin] [--oldkernels]
 +
                              [--count KERNELCOUNT] [--keepdevel]
  
  examples:
+
ОПЦИИ:
 +
  -h, --help            show this help message and exit
 +
  --qf QF, --queryformat QF
 +
                        Формат вывода.
 +
  --auto                Работать в неинтерактивном
 +
                        режиме
 +
  --version            show program's version number and exit
  
    urpm-repoclosure.pl --hdlist=hdlist.txt --static
+
Осиротевшие пакеты:
    urpm-repoclosure.pl --list=list.txt --media=local
+
  --orphans            Перечислить пакеты,
    urpm-repoclosure.pl --dir=rpms/ --static
+
                        недоступные в настроенных на
    urpm-repoclosure.pl --dir=rpms/ --check-release --sign
+
                        текущий момент репозиториях
    urpm-repoclosure.pl --list=list.txt --check-release
+
  --update              Ипользовать только источники
 +
                        обновлений. Это означает, что
 +
                        urpmq будет искать и разрешать
 +
                        зависимости только используя
 +
                        источники, помеченные как
 +
                        источники обновлений
 +
                        (например, которые были
 +
                        добавлены при помощи "urpmi.addmedia
 +
                        --update")
 +
  --media media [media ...]
 +
                        Выбрать особые источники
 +
                        вместо того чтобы
 +
                        использовать все доступные
 +
                        по умолчанию источники (или
 +
                        все источники обновлений,
 +
                        если указан флаг --update). В
 +
                        других источниках пакеты
 +
                        искаться не будут.
 +
  --excludemedia media [media ...]
 +
                        Не использовать указанные
 +
                        источники.
  
  arguments:
+
Проблемы с зависимостями:
 +
  --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 пакеты при
 +
                        удалении ядер
 +
 +
</pre>
 +
 +
== urpm-repoclosure ==
 +
Инструмент для определения замкнутости набора RPM пакетов.
 +
 +
Использование:
 +
 +
<pre>
 +
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
 
   -h|-help
       Print help message.
+
       Показать это сообщение.
  
 
   -v|-version
 
   -v|-version
       Print version information.
+
       Показать информацию о версии программы.
  
   -l|-list <path>
+
   -hdlist <путь>
       The list of package names to check.
+
       Путь к HDlist (synthesis), который надо проверить.
  
   -d|-dir <path>
+
   -d|-dir <путь>
       The directory with RPM packages to check.
+
       Директория с RPM пакетами, которую надо проверить.
  
   -hdlist <path>
+
   -l|-list <путь>
       The HDlist to check.
+
       Список пакетов, который надо проверить.
 +
 
 +
  -add|-update <путь>
 +
      Директория с RPM пакетами которые
 +
      надо добавить в репозиторий или обновить.
 +
 
 +
  -file-deps <путь>
 +
      Использовать файл file-deps для игнорирования
 +
      некоторых зависимостей.
  
 
   -s|-static
 
   -s|-static
       Check statically if all required dependencies are
+
       Статический анализ зависимостей.
      satisfied by provided dependencies in the set of
+
 
       RPM packages. Should be used with --dir or --hdlist options.
+
  -dynamic
 +
       Динамический анализ зависимостей (через установку пакетов).
  
 
   -r|-check-release
 
   -r|-check-release
       Check installation media (DVD).
+
       Проверить установочный диск (CD/DVD).
      You can use this option with --dir or --list options.
+
      If you are using --list option, then it should point
+
      to a list of package paths.
+
  
 
   -sign|-check-signature
 
   -sign|-check-signature
       Validate package signatures. Should be used
+
       Проверить сигнатуры пакетов.
      with --dir option.
+
 
+
  -media <name|dir>
+
  [ not implemented yet ]
+
      Use local repository (or directory) instead of the
+
      default external repository.
+
  
 
   -noclean
 
   -noclean
       Do not clean urpmi cache.
+
       Не очищать кэш инструментария URPM.
  
   -root <path>
+
   -root <путь>
       Where to install packages.
+
       Куда устанавливать пакеты.
       Default:
+
       Путь по-умолчанию:
 
           /tmp/...
 
           /tmp/...
 +
 +
КОДЫ ОШИБОК:
 +
      0 - Успех. Набор пакетов замкнут. Ошибок не произошло.
 +
      1 - Ошибки во время выполнения программы.
 +
      2 - Набор пакетов не замкнут.
 
</pre>
 
</pre>
  
== urpm-downloader ==
+
== urpm-repodiff ==
A tool for downloading RPMs from Urpmi repositories
+
Инструмент для сравнения наборов репозиториев.
 +
Берет на вход 2 или более репозиториев и возвращает список пакетов, которые были добавленны, удаленны или изменили версию.
  
Usage:
+
Использование:
 
<pre>
 
<pre>
urpm-downloader.py [-h] [--urls] [-r] [-s] [--version] [-v] [-q]
+
urpm-repodiff [-h] --old OLD_REPO [OLD_REPO ...] --new NEW_REPO
                  [--include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...]]
+
                        [NEW_REPO ...] [--size] [--simple] [--quiet] [--html]
                  [--exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]]
+
                        [--output OUTPUT_FILE]
                  [--exclude-packages EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]]
+
                  [--fail-broken] [--overwrite] [--all-alternatives]
+
                  packages [packages ...]
+
  
positional arguments:
 
  packages              Package name(s) to download
 
  
optional arguments:
+
 
 +
ОПЦИИ:
 
   -h, --help            show this help message and exit
 
   -h, --help            show this help message and exit
   --urls                Instead of downloading RPMs, list the URLs that would
+
   --old OLD_REPO [OLD_REPO ...], -o OLD_REPO [OLD_REPO ...]
                        be downloaded
+
                         URL или пути к старым
  -r, --resolve        When downloading RPMs, resolve dependencies and also
+
                         репозиториям
                         download the required packages
+
   --new NEW_REPO [NEW_REPO ...], -n NEW_REPO [NEW_REPO ...]
  -s, --source          Instead of downloading the binary RPMs, download the
+
                         URL или пути к новым
                         source RPMs
+
                        репозиториям
   --version            show program's version number and exit
+
   --size, -s            Показывать различия в
  -v, --verbose        verbose (print additional info)
+
                         размерах пакетов.
  -q, --quiet          Quiet operation
+
   --simple              Упрощенный формат вывода.
  --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
+
  --quiet, -q          Не показывать служебные
                         use only selected media
+
                         сообщения.
   --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
+
   --html                Вывод в формате HTML. Если --output
                         do not use selected media
+
                         не указан, то HTML файл будет
   --exclude-packages EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]
+
                        создан в текущей директории.
                         Exclude package(s) by name or glob
+
                        Опции --size и --simple будут
   --fail-broken        When the package with depsolving problems found, do
+
                         игнорироваться.
                         not skip it, but exit.
+
   --output OUTPUT_FILE, -out OUTPUT_FILE
  --overwrite          If the file already exists, download it again and
+
                         Перенаправить вывод в "OUTPUT_FILE"
                         overwrite the old one.
+
   --all-alternatives    While resolving dependencies, if alternative packages
+
                         present, download all of them.
+
 
</pre>
 
</pre>
  
== urpm-repodiff ==
+
== urpm-repograph ==
Take 2 or more repositories and return a list of added, removed and changed packages.
+
Инструмент для создания графа зависимостей в формате dot для пакетов из репозитория.
  
Usage:
+
Использование:
 
<pre>
 
<pre>
urpm-repodiff --old=old_repo_baseurl [--old=old_repo2_baseurl ...] --new=new_repo_baseurl [--new=new_repo2_baseurl ...]
+
urpm-repograph [-h] REPOSITORY [--cross CROSS_REPO [CROSS_REPO ...]] [--quiet]
</pre>
+
                        [--verbose] [--requires] [--suggests] [--file]
 +
                        [--unprovided]
 +
                        [--requires-recursive PKG | --whatrequires PKG]
 +
                        [--loops | --alternatives | --broken] [--different]
 +
                        [--output OUTPUT_FILE | --nograph]
  
== urpm-package-cleanup ==
 
Find problems in the rpmdb of system and correct them.
 
  
The tool can perform the following actions:
 
# Look for situation when multiple versions of the same package are installed; the tool can automatically uninstall all versions except the latest one.
 
#* There is a separate check for kernel packages; it takes into account running kernel and never tries to uninstall it, and in addition allows to specify number of kernels that should be left in the system.
 
# Look for installed packages that are not available in any configured repository (this is just a wrapper for `urpmq --not-available`).
 
# Look for installed packages that have unmet dependencies.
 
# List "leaf" nodes in the local RPM database. Leaf nodes are RPMs that are not relied upon by any other RPM.
 
  
Usage:
+
АРГУМЕНТЫ:
<pre>
+
  REPOSITORY            URL or local PATH to repository.
urpm-package-cleanup.py [-h] [--qf QF] [--orphans] [--auto] [--version]
+
                        [--problems] [--suggests] [--dupes]
+
                        [--cleandupes] [--noscripts] [--leaves] [--all]
+
                        [--leaf-regex LEAF_REGEX] [--exclude-devel]
+
                        [--exclude-bin] [--oldkernels]
+
                        [--count KERNELCOUNT] [--keepdevel]
+
  
optional arguments:
+
ОПЦИИ:
 
   -h, --help            show this help message and exit
 
   -h, --help            show this help message and exit
   --qf QF, --queryformat QF
+
   --cross CROSS_REPO [CROSS_REPO ...], -c CROSS_REPO [CROSS_REPO ...]
                         Query format to use for output.
+
                        Искать зывисимости между
   --orphans            List installed packages which are not available from
+
                        репозиториями в
                         currently configured repositories
+
                        репозиториями CROSS_REPO
   --auto                Use non-interactive mode
+
  --quiet, -q          Не показывать служебные
   --version            show program's version number and exit
+
                         сообщения. (О прогрессе и т. д.)
 +
   --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
 +
                        нет. (Если ничего не надо
 +
                        выводить, то и не надо ничего
 +
                        делать.)
  
Dependency Problems Options:
+
</pre>
  --problems            List dependency problems in the local RPM database
+
  --suggests            List missing suggestions of installed packages
+
  
Duplicate Package Options:
+
== urpm-repomanage ==
  --dupes              Scan for duplicates in your rpmdb
+
Обработать директорию с rpm пакетами и сообщить о наиболее новых и старых версиях.
  --cleandupes          Scan for duplicates in your rpmdb and remove older
+
  --noscripts          disable rpm scriptlets from running when cleaning
+
                        duplicates
+
  
Leaf Node Options:
+
Использование:
  --leaves              List leaf nodes in the local RPM database
+
<pre>
  --all                list all packages leaf nodes that do not match leaf-
+
urpm-repomanage [-h] path [-o | -n | -b] [-r] [-s] [-k KEEP] [-c] [-q | -V]
                        regex
+
 
  --leaf-regex LEAF_REGEX
+
 
                        A package name that matches this regular expression
+
АРГУМЕНТЫ:
                        (case insensitively) is a leaf
+
   path                  путь к директории с rpm
  --exclude-devel      do not list development packages as leaf nodes
+
                         пакетами
   --exclude-bin        do not list packages with files in a bin dirs asleaf
+
                         nodes
+
  
Old Kernel Options:
+
ОПЦИИ:
   --oldkernels          Remove old kernel and kernel-devel packages
+
   -h, --help            показать это сообщение и выйти
   --count KERNELCOUNT   Number of kernel packages to keep on the system
+
   -o, --old            напечатать более старые
                         (default 2)
+
                        пакеты
   --keepdevel          Do not remove kernel-devel packages when removing
+
   -b, --obsolete        напечатать пакеты, объявленные устаревшими
                         kernels
+
                        в пользу других пакетов
 +
  -n, --new            напечатать наиболее новые
 +
                         пакеты (поведение по
 +
                        умолчанию)
 +
   -r, --remove-old      удалить более старые пакеты
 +
  -s, --space          вывод разделяется пробелами,
 +
                         а не переводами строки
 +
  -k KEEP, --keep KEEP  количество наиболее новых
 +
                        пакетов, которые надо
 +
                        оставить - по умолчанию 1
 +
  -c, --nocheck        не проверять встроенные
 +
                        подписи пакетов
 +
  -q, --quiet          ничего не печатать
 +
  -V, --verbose        показывать дополнительную
 +
                        информацию - какие пакеты
 +
                        выбраны наиболее новыми и
 +
                        почему (информация выводится
 +
                        в STDERR)
 
</pre>
 
</pre>
  
== urpm-repomanage ==
+
== urpm-reposync ==
Manage a directory of rpm packages and report newest or oldest packages
+
Инструмент для синхронизации установленных на компьютере пакетов с удаленным репозиторием.
  
Usage:
+
Использование:
 
<pre>
 
<pre>
urpm-repomanage.py [-h] [-o] [-n] [-s] [-k KEEP] [-c] path
+
urpm-reposync [-h] [--include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...]]
 +
                  [--exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]]
 +
                  [-v] [-q] [-a]
  
positional arguments:
 
  path                  path to directory with rpm packages
 
  
optional arguments:
+
ОПЦИИ:
 
   -h, --help            show this help message and exit
 
   -h, --help            show this help message and exit
   -o, --old            print the older packages
+
   --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
   -n, --new            print the newest packages (this is the default
+
                        Использовать только
                         behavior)
+
                        указанные источники
   -s, --space          space separated output, not newline
+
   --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
   -k KEEP, --keep KEEP  newest N packages to keep - defaults to 1
+
                         Не использовать указанные
  -c, --nocheck        do not check package payload signatures/digests
+
                        источники
   -V, --verbose        be verbose - say which packages are decided to be old
+
   -v, --verbose        Выводить при исполнении
                         and why (this info is dumped to STDERR)
+
                        отладочную информацию
 +
   -q, --quiet          Ничего не выводить на экран.
 +
                        Не используется без --auto.
 +
   -a, --auto            Выполнять все действия без
 +
                         вопросов
 
</pre>
 
</pre>
 +
 +
[[Категория:Управление пакетами]]
 +
[[Категория:Инструменты разработки]]
 +
 +
[[en:Urpm-tools]]

Текущая версия на 12:23, 24 декабря 2012

Urpm-tools - набор утилит, расширяющих и дополняющих функциональность urpmi, urpmq, urpmf и urpme.

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

Установка

В настоящее время пакет urpm-tools доступен в личном репозитории i586 и x86_64.

1. Добавьте источник, в котором находится новейшая версия urpm-tools. для 32-битной системы выполните команду: sudo urpmi.addmedia akirilenko_personal http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/i586/main/release/ для 64-битной системы: sudo urpmi.addmedia akirilenko_personal http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/x86_64/main/release/ 2. Установите пакет urpm-tools: sudo urpmi urpm-tools

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

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 | -b] [-r] [-s] [-k KEEP] [-c] [-q | -V]


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

ОПЦИИ:
  -h, --help            показать это сообщение и выйти
  -o, --old             напечатать более старые
                        пакеты
  -b, --obsolete        напечатать пакеты, объявленные устаревшими 
                        в пользу других пакетов
  -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            Выполнять все действия без
                        вопросов