Dnf

From ICO wiki

Autor

Tarmo Laiksoo, AK31
Kevad 2015

Sissejuhatus

Käesoleva artikli eesmärk on tutvustada, mis asi on DNF Packet Manager ning mis on selle programmi võimalused.

Mis on DNF Packet Manager

DNF või teisisõnu Dandified Yum on modifitseeritud Yellowdog Updater, Modified[1] versioon, mis võeti kasutusele esmakordselt Linuxi operatsioonisüsteemis Fedora 18[2] ja on vaikimisi olnud põhiline packet manager programm alates Fedora 22-st. DNF kasutab oma tööks RPM'i[3], libsovli ja hawkey andmeid. Metaandmete ja pakketide allalaadimiseks kasutab DNF librepo'd ning protsesside haldamiseks libcomps'i.

Sõltuvused

Libsolv[4]

  • Vabavaraline paketi ahelate lahendaja
  • Kasutatakse paketi sõltuvuste lahedamiseks ning hoidlate lugemiseks

hawkey[5]

  • Hawkey on hoidlat pakkuv lihtsustatud C[6] ja Pythoni API[7] libsolvile.

librepro[8]

  • Librepro on Linuxi metadata ja pakketide varamu

libcomps[9]

  • On alternatiiv yum.comps-le.[10]
  • On kirjutatud C keeles ning omab seoseid python2-e ja python3-ga.

Parameetrid

Käsud

  • Check Update Command
      dnf [options] check-update [<package-specs>...]
         Non-interactively checks if updates of the  specified  packages  are
         available.  If  no  <package-specs>  are  given  checks  whether any
         updates at all are available for your system. DNF exit code will  be
         100  when there are updates available and a list of the updates will
         be printed, 0 if not and 1 if an error occurs.
  • Clean Command
      Performs  cleanup  of  temporary  files  for  the   currently   enabled
      repositories.
      dnf clean dbcache
             Removes cache files generated from the repository metadata. This
             forces DNF to regenerate the cache files the  next  time  it  is
             run.
      dnf clean expire-cache
             Removes   local  cookie  files  saying  when  the  metadata  and
             mirrorlists were downloaded for each repo. DNF will  re-validate
             the cache for each repo the next time it is used.
      dnf clean metadata
             Removes  repository metadata. Those are the files which DNF uses
             to determine the remote availability  of  packages.  Using  this
             option  will make DNF download all the metadata the next time it
             is run.
      dnf clean packages
             Removes any cached packages from the system.  Note that packages
             are not automatically deleted after they are downloaded.
      dnf clean plugins
             Tells all enabled plugins to eliminate their cached data.
      dnf clean all
             Does all of the above.
  • Distro-sync command
      dnf distro-sync
             As   necessary  upgrades,  downgrades  or  keeps  all  installed
             packages to match the latest version available from any  enabled
             repository.
  • Distribution-synchronization command
      dnf distribution-synchronization
             Deprecated alias for the Distro-sync command.
  • Downgrade Command
      dnf [options] downgrade <package-specs>...
             Downgrades  the  specified  packages to the highest of all known
             lower versions.
  • Erase Command
      dnf [options] erase <package-specs>...
             Removes the specified packages from the system  along  with  any
             packages   depending   on   the   packages   being  removed.  If
             clean_requirements_on_remove  is  enabled  (the  default)   also
             removes any dependencies that are no longer needed.
  • Group Command
      dnf [options] group [summary] <group-spec>
             Display overview of how many groups are installed and available.
             With a spec, limit the output to the matching groups. summary is
             the default groups subcommand.
      dnf [options] group info <group-spec>
             Display  package  lists  of  a  group.  Shows which packages are
             installed or available from a repo when -v is used.
      dnf [options] group install <group-spec>
             Install packages in the specified group that are  not  currently
             installed.
      dnf [options] group list [<group-spec>]
             List  all  matching  groups, either among installed or available
             groups. If nothing is specified list all known groups.
      dnf [options] group remove [<group-spec>]
             Removes all packages (default, mandatory and conditional) in the
             group from the system.
  • Help Command
      dnf help [<command>]
             Displays the help text for all commands. If given a command name
             then only displays the help for that particular command.
  • History Command
      The history command allows the user to view what has happened  in  past
      transactions  and  act  according  to  this  information  (assuming the
      history_record configuration option is set).
      dnf history [list]
             The default history action  is  listing  all  known  transaction
             information in a table.
      dnf history info [<transaction_id>]
             Describe  the  given  transaction. When no ID is given describes
             what happened during the latest transaction.
      dnf history undo <transaction-spec>
             Performs the opposite operation to all operations  performed  in
             the  specified  transaction.  If  it is not possible to undo any
             operation due to the current state of RPMDB, DNF does  not  undo
             any operation.
  • Info Command
      dnf [options] info <package-specs>...
             Is  used  to  list  a  description and summary information about
             available packages.
  • Install Command
      dnf [options] install <package-specs>...
             Installs the specified packages and  their  dependencies.  After
             the  transaction  is  finished  all  the  specified packages are
             installed on the system.
  • List Command
      Dumps lists of packages depending on  the  packages'  relation  to  the
      system. Generally packages are available (it is present in a repository
      we know about) or installed (present in the RPMDB).  The  list  command
      can also limit the displayed packages according to other criteria, e.g.
      to only those that update an installed package.
      All the forms take a [<package-specs>...] parameter  to  further  limit
      the result to only those packages matching it.
      dnf [options] list [all] [<package-name-specs>...]
             Lists  all packages known to us, present in the RPMDB, in a repo
             or in both.
      dnf [options] list installed [<package-name-specs>...]
             Lists installed packages.
      dnf [options] list available [<package-name-specs>...]
             Lists available packages.
      dnf [options] list extras [<package-name-specs>...]
             Lists extras, that is packages installed on the system that  are
             not available in any known repository.
      dnf [options] list obsoletes [<package-name-specs>...]
             List  the packages installed on the system that are obsoleted by
             packages in any known repository.
      dnf [options] list recent [<package-name-specs>...]
             List packages recently added into the repositories.
      dnf [options] list upgrades [<package-name-specs>...]
             List upgrades available for the installed packages.
  • Makecache Command
      dnf [options] makecache
             Downloads and caches in binary format  metadata  for  all  known
             repos.  Tries  to avoid downloading whenever possible (e.g. when
             the local metadata hasn't  expired  yet  or  when  the  metadata
             timestamp hasn't changed).
      dnf [options] makecache timer
             Like   plain   makecache   but   instructs   DNF   to   be  more
             resource-aware, meaning will  not  do  anything  if  running  on
             battery  power  and  will terminate immediately if it's too soon
             after  the  last  successful  makecache  run  (see  dnf.conf(8),
             metadata_timer_sync).
  • Provides Command
      dnf [options] provides <provide-spec>
             Finds  the  packages providing the given <provide-spec>. This is
             useful when one knows a filename and wants to find what  package
             (installed or not) provides this file.
  • Reinstall Command
      dnf [options] reinstall <package-specs>...
             Installs  the  specified packages, fails if some of the packages
             are either not installed or not  available  (i.e.  there  is  no
             repository where to download the same RPM).
  • Repolist Command
      dnf [options] repolist [enabled|disabled|all]
             Depending  on  the exact command, lists enabled, disabled or all
             known repositories. Lists all enabled repositories  by  default.
             Provides more detailed information when -v option is used.
  • Search Command
      dnf [options] search [all] <keywords>...
             Search  package  metadata for the keywords. Keywords are matched
             as  case-insensitive  substrings,  globbing  is  supported.   By
             default  the  command  will  only  look  at  package  names  and
             summaries, failing  that  (or  whenever  all  was  given  as  an
             argument)  it  will match against package descriptions and URLs.
             The result is sorted from  the  most  relevant  results  to  the
             least.
  • Update Command
      dnf [options] update
             Deprecated alias for the Upgrade Command.
  • Upgrade Command
      dnf [options] upgrade
             Updates each package to a highest version that is both available
             and resolvable.
      dnf [options] upgrade <package-specs>...
             Updates each specified package to the latest available  version.
             Updates dependencies as necessary.
  • Update-To Command
      dnf [options] update-to <package-nevr-specs>...
             Deprecated alias for the Upgrade-To Command.


dnf.conf

  • DNF kasutab vaikimisi konfiguratsiooni faili /etc/dnf/dnf.conf ja kõik *.repo failid on leitavad /etc/yum.repos.d.
  • Konfiguratsiooni fail on jaotatud kaheks osaks : põhi ja varamu.

Põhi sätted

      best   When upgrading a package, always  try  to  install  its  highest
             version  available,  even  only to find out some of its deps are
             not satisfiable. Enable this if you want  to  experience  broken
             dependencies in the repositories firsthand. The default is off.
      clean_requirements_on_remove
             Remove  dependencies that are no longer used during dnf erase. A
             package      only      qualifies      for      removal       via
             clean_requirements_on_remove if it was installed through DNF but
             not on explicit user  request,  i.e.  it  was  pulled  in  as  a
             dependency. The default is on.
      debuglevel
             Debug  messages  output  level, in the range 0 to 10. The higher
             the number the more debug output is put to stdout. Default is 2.
      errorlevel
             Error messages output level, in the range 0 to  10.  The  higher
             the number the more error output is put to stderr. Default is 2.
             This is deprecated in DNF.
      installonlypkgs
             List of provide names of  packages  that  should  only  ever  be
             installed,  never upgraded. Kernels in particular fall into this
             category.
      installonly_limit
             Number  of  installonly  packages  allowed   to   be   installed
             concurrently. Defaults to 3.
      metadata_expire
             The  period  after  which  the  remote repository is checked for
             metadata update and in the  positive  case  the  local  metadata
             cache is updated. The default is 48 hours.
      metadata_timer_sync
             The minimal period between two consecutive makecache timer runs.
             The command will stop immediately if it's less  than  this  time
             period since its last run. Does not affect simple makecache run.
             Use 0 to completely disable  automatic  metadata  synchronizing.
             The default is 3 hours.

Varamu sätted

      skip_if_unavailable
             If  enabled, DNF will continue running if this repository cannot
             be contacted for any reason. The default is True.
      cost   The relative cost of accessing this  repository,  defaulting  to
             1000.  If  the  same  package can be downloaded from two or more
             repositories, the repository with the lowest cost is preferred.

Kokkuvõte

DNF on Linuxi operatsioonisüsteemi Fedora osa, mis aitab kaasa süsteemi paremale toimivusele. Programm on lihtsasti kasutatav ja üsna lihtsalt selgeks õpitav.

Kasutatud kirjandus