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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м (Drop link to the Russian page (reference to itself))
(urpm-downloader)
Строка 48: Строка 48:
  
 
== urpm-downloader ==
 
== urpm-downloader ==
A tool for downloading RPMs from Urpmi repositories
+
Инструмент, позволяющий скачивать RPM и SRPM
 +
пакеты из URPM репозиториев
  
Usage:
+
Использование:
 
<pre>
 
<pre>
urpm-downloader.py [-h] [-u] [-r] [-a] [-b] [-s] [-d] [-D] [--version]
+
urpm-downloader [-h] [-u] [-r] [-a] [-b] [-s] [-d] [-D] [--version]
                          [-v] [-q]
+
                      [-v] [-q]
                          [--include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...]]
+
                      [--include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...]]
                          [--exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]]
+
                      [--exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]]
                          [-x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]] [-i]
+
                      [-x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]] [-i] [-o]
                          [-o] [--all-alternatives] [--all-versions]
+
                      [--all-alternatives] [--all-versions]
                          [--dest-dir DEST_DIR]
+
                      [--dest-dir DEST_DIR]
                          packages [packages ...]
+
                      packages [packages ...]
 +
 
  
 
positional arguments:
 
positional arguments:
   packages              Package name(s) to download. It can contain not only
+
   packages              Имена пакетов для скачивания.
                         package names, but (S)RPM files too. In this case
+
                         Можно так же использовать
                         package name extracted from this file will be used
+
                        имена существующих (S)RPM
 +
                         файлов, в этом случае
 +
                        информация об имени пакета
 +
                        будет извлечена из них.
  
 
optional arguments:
 
optional arguments:
 
   -h, --help            show this help message and exit
 
   -h, --help            show this help message and exit
   -u, --urls            Instead of downloading files, list the URLs that would
+
   -u, --urls            Выводить их URL файлов, но не
                         be processed
+
                         скачивать их (в случае
   -r, --resolve        When downloading RPMs, resolve dependencies and also
+
                        использования совместно с -a
                         download the required packages, if they are not
+
                        или -r src.rpm файл все равно
                         already installed
+
                        будет скачан, так как без
   -a, --resolve-all    When downloading RPMs, resolve dependencies and also
+
                        этого невозможно разрешить
                         download the required packages, even if they are
+
                      сборочные зависимости)
                         already installed
+
   -r, --resolve        При скачивании пакета
   -b, --binary          Download binary RPMs
+
                        разрешать зависимости и
   -s, --source          Download the source RPMs (SRPMs)
+
                        скачивать все необходимые
   -d, --debug-info      Download debug RPMs
+
                         пакеты, но только если они не
 +
                         установлены в системе.
 +
   -a, --resolve-all    При скачивании пакета
 +
                        разрешать зависимости и
 +
                        скачивать все необходимые
 +
                         пакеты, даже если они уже
 +
                         установлены в системе
 +
   -b, --binary          Скачивать бинарные пакеты (RPM)
 +
   -s, --source          Скачать пакеты с исходными
 +
                        кодами (SRPM)
 +
   -d, --debug-info      Скачать пакеты с отладочной
 +
                        информацией
 
   -D, --debug-info-install
 
   -D, --debug-info-install
                         Download debug RPMs and install
+
                         Скачать пакеты с отладочной
 +
                        информацией и установить
 
   --version            show program's version number and exit
 
   --version            show program's version number and exit
   -v, --verbose        Verbose (print additional info)
+
   -v, --verbose        Выводить при исполнении
   -q, --quiet          Quiet operation.
+
                        отладочную информацию
 +
   -q, --quiet          Ничего не печатать в консоль
 
   --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
 
   --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
                         Use only selected URPM media
+
                         Использовать только
 +
                        указанные источники
 
   --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
 
   --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
                         Do not use selected URPM media
+
                         Не использовать указанные
 +
                        источники
 
   -x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...], --exclude-packages EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]
 
   -x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...], --exclude-packages EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]
                         Exclude package(s) by regex
+
                         Исключить пакеты по
   -i, --ignore-errors  Try to continue when error occurs
+
                        регулярному выражению
  -o, --overwrite      If the file already exists, download it again and
+
   -i, --ignore-errors  Пытаться игнорировать ошибки
                         overwrite the old one
+
-o, --overwrite      Если файл уже существует,
   --all-alternatives    If package dependency can be satisfied by several
+
                         скачать его заново и
                         packages, download all of them (by default, only the
+
                        заменить.
                         first one is downloaded)
+
   --all-alternatives    Скачивать все пакеты, которые
   --all-versions        If different versions of package present in
+
                         могут удовлетворить
                         repository, process them all
+
                        зависимости для данного
   --dest-dir DEST_DIR  Specify a destination directory for the download
+
                        пакета (по умолчанию
 
+
                         скачивается лишь один).
If none of the options -b, -s, -d turned on, it will be treated as -b
+
   --all-versions        Если в репозитории
 +
                         присутствует несколько
 +
                        версий пакета, обработать их
 +
                        все.
 +
   --dest-dir DEST_DIR  Директория, в которую будут
 +
                        помещены скачаные файлы
  
 +
Если ни одна из опций -b, -s или -d не указана,
 +
то по умолчанию включается -b
 
</pre>
 
</pre>
  

Версия 13:56, 19 марта 2012

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)

В дальнейшем планируется добавление еще нескольких полезных утилит:

Tool Description
urpm-build-distrib создание дистрибутива на основе нескольких репозиториев

Некторые возможности, предоставляемые утилитами 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

Find problems in the rpmdb of system and correct them.

The tool can perform the following actions:

  1. 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.
  2. Look for installed packages that are not available in any configured repository (this is just a wrapper for `urpmq --not-available`).
  3. Look for installed packages that have unmet dependencies.
  4. List "leaf" nodes in the local RPM database. Leaf nodes are RPMs that are not relied upon by any other RPM.

Usage:

urpm-package-cleanup.py [-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]

optional arguments:
  -h, --help            show this help message and exit
  --qf QF, --queryformat QF
                        Query format to use for output.
  --auto                Use non-interactive mode
  --version             show program's version number and exit

Orphans Options:
  --orphans             List installed packages which are not available from
                        currently configured repositories
  --update              Use only update media. This means that urpmq will
                        search and resolve dependencies only in media marked
                        as containing updates (e.g. which have been created
                        with "urpmi.addmedia --update").
  --media media [media ...]
                        Select specific media to be used, instead of
                        defaulting to all available media (or all update media
                        if --update is used). No rpm will be found in other
                        media.
  --excludemedia media [media ...]
                        Do not use the specified media.

Dependency Problems Options:
  --problems            List dependency problems in the local RPM database
  --suggests            List missing suggestions of installed packages

Duplicate Package Options:
  --dupes               Scan for duplicates in your rpmdb
  --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
  --all                 list all packages leaf nodes that do not match leaf-
                        regex
  --leaf-regex LEAF_REGEX
                        A package name that matches this regular expression
                        (case insensitively) is a leaf
  --exclude-devel       do not list development packages as leaf nodes
  --exclude-bin         do not list packages with files in a bin dirs as leaf
                        nodes

Old Kernel Options:
  --oldkernels          Remove old kernel and kernel-devel packages
  --count KERNELCOUNT   Number of kernel packages to keep on the system
                        (default 2)
  --keepdevel           Do not remove kernel-devel packages when removing
                        kernels

urpm-repoclosure

A tool to check dependency closure in the repository.

Usage:

  urpm-repoclosure.pl --hdlist=hdlist.txt
  urpm-repoclosure.pl --hdlist=http://mirror.yandex.ru/mandriva/.../synthesis.hdlist.cz
  urpm-repoclosure.pl --dir=rpms/ --static --file-deps=file-deps.txt
  urpm-repoclosure.pl --list=list.txt --dynamic

OPTIONS:
  -h|-help
      Print this help.

  -v|-version
      Print version information.

  -hdlist <path>
      Path or URL of HDlist (synthesis) to check.

  -d|-dir <path>
      The directory with RPM packages to check.

  -l|-list <path>
      The list of packages to check.

  -file-deps <path>
      Read file-deps to ignore some unresolved
      dependencies.

  -s|-static
      Check statically if all required dependencies are
      satisfied by provided dependencies in the set of
      RPM packages.

  -dynamic
      Install a set of RPM packages to the local chroot
      and check if extra packages were installed.

  -r|-check-release
      Check installation media (DVD).

  -sign|-check-signature
      Validate package signatures.

  -noclean
      Do not clean urpmi cache.

  -root <path>
      Where to install packages.
      Default:
          /tmp/...

EXIT CODES:
      0 - Suceess. The tool has run without any errors
      non-zero - Failed or the tool has run with errors. In particular:
      1 - Failed to run the tool
      2 - Discovered dependency problems

urpm-repodiff

Take 2 or more repositories and return a list of added, removed and changed packages.

Usage:

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

optional arguments:
  -h, --help            show this help message and exit
  --old OLD_REPO [OLD_REPO ...], -o OLD_REPO [OLD_REPO ...]
                        URL or PATH to old repositories
  --new NEW_REPO [NEW_REPO ...], -n NEW_REPO [NEW_REPO ...]
                        URL or PATH to new repositories
  --size, -s            Show differences in package sizes.
  --simple              Simple output format.
  --quiet, -q           Hide service messages.
  --html                Output in HTML format, if --output is not present HTML
                        will be created in current directory. --size and
                        --simple options are ignored.
  --output OUTPUT_FILE, -out OUTPUT_FILE
                        Change standart output to "OUTPUT_FILE".

urpm-repograph

Generate a full package dependency graph for repository in dot format

Usage:

urpm-repograph.py [-h] [--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

positional arguments:
  REPOSITORY            URL or local PATH to repository.

optional arguments:
  -h, --help            show this help message and exit
  --cross CROSS_REPO [CROSS_REPO ...], -c CROSS_REPO [CROSS_REPO ...]
                        Search for cross-repository references in
                        CROSS_REPO(s) repositories.
  --quiet, -q           Hide service messages. (About progress status etc.)
  --verbose, -v         Show warnings. (About unprovided packages etc.)
  --requires, -r        Process "requires" package dependencies. Used by
                        default.
  --suggests, -s        Process "suggests" package dependencies. If used
                        without --requires then only suggests dependencies are
                        processed.
  --file, -f            Process file dependencies.
  --unprovided, -u      Show unprovided dependencies.
  --requires-recursive PKG
                        Search for packages, which are required by package PKG
                        (PKG is a file name or package name)
  --whatrequires PKG    Search for packages, which requires package PKG (PKG
                        is a file name or package name)
  --loops, -l           Search for all simple loops of cycled dependecies.
  --alternatives, -a    Search for alternative packages providing the same
                        feature.
  --broken, -b          Search for all broken packages and anything beetween
                        them
  --different, -d       Output each loop or each alternative in different
                        file. Ignored if --loops or --alternatives options are
                        not present. OUTPUT_FILE (if present) is tracted as
                        folder name for new files in that case.
  --output OUTPUT_FILE, -o OUTPUT_FILE
                        Change graph output to "OUTPUT_FILE". STDIN by
                        default.
  --nograph, -n         Do not output graph. Tool will not start working if
                        --quiet, --nograph are present and --verbose is not.
                        (If there is nothing to output - then nothing has to
                        be done.)

urpm-repomanage

Manage a directory of rpm packages and report newest or oldest packages

Usage:

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

manage a directory of rpm packages and report newest or oldest packages

positional arguments:
  path                  path to directory with rpm packages

optional arguments:
  -h, --help            show this help message and exit
  -o, --old             print the older packages
  -n, --new             print the newest packages (this is the default
                        behavior)
  -r, --remove-old      remove older packages
  -s, --space           space separated output, not newline
  -k KEEP, --keep KEEP  number of newest packages to keep - defaults to 1
  -c, --nocheck         do not check package payload signatures/digests
  -q, --quiet           be completely quiet
  -V, --verbose         be verbose - say which packages are decided to be old
                        and why (this info is dumped to STDERR)

urpm-reposync

Synchronize installed package base with remote repository

Usage:

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

optional arguments:
  -h, --help            show this help message and exit
  --include-media INCLUDE_MEDIA [INCLUDE_MEDIA ...], --media INCLUDE_MEDIA [INCLUDE_MEDIA ...]
                        Use only selected URPM media
  --exclude-media EXCLUDE_MEDIA [EXCLUDE_MEDIA ...]
                        Do not use selected URPM media
  -x EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...], --exclude-packages EXCLUDE_PACKAGES [EXCLUDE_PACKAGES ...]
                        Exclude package(s) by regex
  -v, --verbose         Verbose (print additional info)
  -q, --quiet           Quiet operation. Senseless without --auto.
  -a, --auto            Ask no questions, just do it!