Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_pacman

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:archlinux_-_pacman [2020/12/03 08:33] klaustachtler:archlinux_-_pacman [2022/12/19 17:52] (aktuell) – [ArchLinux - Pacman] klaus
Zeile 1: Zeile 1:
 ====== ArchLinux - Pacman ====== ====== ArchLinux - Pacman ======
      
-[[tachtler:ArchLinux|{{:tachtler:index:archlinux-48x48.png }}]] Der zentrale Paketmanager bei [[https://www.archlinux.de/|ArchLinux]] ist ''pacman''''pacman'' verwaltet Binärpakete im Format ''.pkg.tar.xz'' (ursprünglich ''.pkg.tar.gz'')welche das Programm aus den offiziellen Paketquellen beziehtEs lassen sich auch zusätzlichinoffiziell Paketquellen einbinden und über die Paketverwaltung installieren.+[[tachtler:ArchLinux - Repository spiegeln|{{:tachtler:index:pacman-48x48.png }}]] Der Paketmanager [[https://archlinux.org/pacman/|pacman]] ist eines der wichtigsten Unterscheidungsmerkmale von [[https://archlinux.org/|ArchLinux]]. Er kombiniert ein einfaches Format für Binärpakete mit einem leicht zu bedienenden [[https://wiki.archlinux.org/title/Arch_Build_System|Build-System]]Das Ziel von [[https://archlinux.org/pacman/|pacman]] ist esdie einfache Verwaltung von Paketen zu ermöglichen, unabhängig davon, ob sie aus den [[https://wiki.archlinux.org/title/Official_repositories|offiziellen Repositories]] oder aus eigenen Builds stammen. 
 + 
 +[[https://archlinux.org/pacman/|Pacman]] hält das System auf dem neuesten Standindem es die Paketlisten mit dem "Master-Server" synchronisiert. Dieses Server/Client-Modell erlaubt es dem Benutzer auch, Pakete mit einem einfachen Befehl herunterzuladen/zu installieren, komplett mit allen erforderlichen Abhängigkeiten.
  
 ^ Beschreibung      ^ Externer Link                                                                   ^ ^ Beschreibung      ^ Externer Link                                                                   ^
Zeile 176: Zeile 178:
 ===== Hilfsprogramme ===== ===== Hilfsprogramme =====
  
 +==== paccache ====
 +
 +''paccache'' ist ein Werkzeug zur Bereinigung des **"Pacman-Cache"**, welcher sich im Verzeichnis 
 +  * ''/var/cache/pacman/pkg''
 +befindet.
 +
 +Um den Befehl verfügbar zu haben, muss das Paket ''pacman-contrib'' mit z.B. dem nachfolgendem Befehl installiert werden:
 +<code>
 +# pacman -S pacman-contrib
 +resolving dependencies...
 +looking for conflicting packages...
 +
 +Package (1)               New Version  Net Change  Download Size
 +
 +community/pacman-contrib  1.4.0-1        0.10 MiB       0.04 MiB
 +
 +Total Download Size:   0.04 MiB
 +Total Installed Size:  0.10 MiB
 +
 +:: Proceed with installation? [Y/n] Y
 +:: Retrieving packages...
 + pacman-contrib-1...    37.7 KiB  0.00   B/s 00:00 [----------------------] 100%
 +(1/1) checking keys in keyring                     [----------------------] 100%
 +(1/1) checking package integrity                   [----------------------] 100%
 +(1/1) loading package files                         [----------------------] 100%
 +(1/1) checking for file conflicts                    [----------------------] 100%
 +(1/1) checking available disk space                [----------------------] 100%
 +:: Processing package changes...
 +(1/1) installing pacman-contrib                    [----------------------] 100%
 +Optional dependencies for pacman-contrib
 +    findutils: for pacdiff --find [installed]
 +    mlocate: for pacdiff --locate
 +    sudo: privilege elevation for several scripts [installed]
 +    vim: default merge program for pacdiff [installed]
 +:: Running post-transaction hooks...
 +(1/2) Reloading system manager configuration...
 +(2/2) Arming ConditionNeedsUpdate...
 +</code>
 +
 +Nachfolgender Befehl listet den installierten Inhalt des Pakets ''pacman-contrib'' auf:
 +<code>
 +# pacman -Qil pacman-contrib
 +Name            : pacman-contrib
 +Version         : 1.4.0-1
 +Description     : Contributed scripts and tools for pacman systems
 +Architecture    : x86_64
 +URL             : https://git.archlinux.org/pacman-contrib.git/about/
 +Licenses        : GPL
 +Groups          : None
 +Provides        : None
 +Depends On      : fakeroot  pacman  perl
 +Optional Deps   : findutils: for pacdiff --find [installed]
 +                  mlocate: for pacdiff --locate
 +                  sudo: privilege elevation for several scripts [installed]
 +                  vim: default merge program for pacdiff [installed]
 +Required By     : None
 +Optional For    : None
 +Conflicts With   : None
 +Replaces        : None
 +Installed Size  : 103.38 KiB
 +Packager        : Daniel M. Capella <polyzen@archlinux.org>
 +Build Date      : Wed 29 Jul 2020 03:17:14 AM CEST
 +Install Date    : Thu 03 Dec 2020 08:49:34 AM CET
 +Install Reason  : Explicitly installed
 +Install Script  : No
 +Validated By    : Signature
 +
 +pacman-contrib /usr/
 +pacman-contrib /usr/bin/
 +pacman-contrib /usr/bin/checkupdates
 +pacman-contrib /usr/bin/paccache
 +pacman-contrib /usr/bin/pacdiff
 +pacman-contrib /usr/bin/paclist
 +pacman-contrib /usr/bin/paclog-pkglist
 +pacman-contrib /usr/bin/pacscripts
 +pacman-contrib /usr/bin/pacsearch
 +pacman-contrib /usr/bin/pacsort
 +pacman-contrib /usr/bin/pactree
 +pacman-contrib /usr/bin/rankmirrors
 +pacman-contrib /usr/bin/updpkgsums
 +pacman-contrib /usr/lib/
 +pacman-contrib /usr/lib/systemd/
 +pacman-contrib /usr/lib/systemd/system/
 +pacman-contrib /usr/lib/systemd/system/paccache.service
 +pacman-contrib /usr/lib/systemd/system/paccache.timer
 +pacman-contrib /usr/share/
 +pacman-contrib /usr/share/man/
 +pacman-contrib /usr/share/man/man8/
 +pacman-contrib /usr/share/man/man8/checkupdates.8.gz
 +pacman-contrib /usr/share/man/man8/paccache.8.gz
 +pacman-contrib /usr/share/man/man8/pacdiff.8.gz
 +pacman-contrib /usr/share/man/man8/pacsort.8.gz
 +pacman-contrib /usr/share/man/man8/pactree.8.gz
 +pacman-contrib /usr/share/man/man8/updpkgsums.8.gz
 +pacman-contrib /usr/share/vim/
 +pacman-contrib /usr/share/vim/vimfiles/
 +pacman-contrib /usr/share/vim/vimfiles/ftdetect/
 +pacman-contrib /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim
 +pacman-contrib /usr/share/vim/vimfiles/ftplugin/
 +pacman-contrib /usr/share/vim/vimfiles/ftplugin/PKGBUILD.vim
 +pacman-contrib /usr/share/vim/vimfiles/syntax/
 +pacman-contrib /usr/share/vim/vimfiles/syntax/PKGBUILD.vim
 +</code>
 +
 +Um den verbrauchten Speicherplatz des **"Pacman-Cache"** im Verzeichnis ''/var/cache/pacman/pkg'' zu ermitteln, kann nachfolgender Befehl verwendet werden:
 +<code>
 +# du -sh /var/cache/pacman/pkg
 +667M /var/cache/pacman/pkg
 +</code>
 +
 +Um durch einen **Testlauf** vorab erst einmal ermitteln zu können, wie viel Speicherplatz durch eine Bereinigung mittels dem Befehl ''paccache'' eingespart bzw. freigegeben werden kann, kann nachfolgender Befehl verwendet werden:
 +<code>
 +# paccache -dk2
 +
 +==> finished dry run: 17 candidates (disk space saved: 313.61 MiB)
 +</code>
 +
 +Um **alle Pakete zu entfernen, welche __nicht__ mehr installiert sind** kann nachfolgender Befehl verwendet werden:
 +<code>
 +# paccache -ruk0
 +
 +==> finished: 1 packages removed (disk space saved: 416.58 KiB)
 +</code>
 +
 +Um **nur die __jüngsten zwei Versionen__ aller Pakete zu behalten** und **alle vorhergehenden Versionen zu entfernen**, kann nachfolgender Befehl verwendet werden:
 +<code>
 +# paccache -vrk2
 +removed '/var/cache/pacman/pkg/tzdata-2020a-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/vim-8.2.1584-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/python-setuptools-1:50.3.0-1-any.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/glib2-2.64.5-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/glib2-2.66.1-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/vim-runtime-8.2.1584-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/linux-lts-5.4.63-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/linux-lts-5.4.70-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/libldap-2.4.50-2-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/util-linux-2.36-3-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/linux-firmware-20200817.7a30af1-1-any.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/python-cryptography-3.1-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/pacman-mirrorlist-20200801-1-any.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/ansible-2.9.13-1-any.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/ansible-2.10.0-1-any.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/ca-certificates-mozilla-3.56-1-x86_64.pkg.tar.zst'
 +removed '/var/cache/pacman/pkg/openssh-8.3p1-4-x86_64.pkg.tar.zst'
 +
 +==> finished: 17 packages removed (disk space saved: 313.61 MiB)
 +</code>
 +
 +==== /usr/lib/systemd/system/paccache.timer ====
 +
 +Um mittels dem Befehl 
 +  * ''paccache -r''
 +**__automatisch__** eine Bereinigung durchzuführen, gibt es einen ''systemd''-**Timer**.
 +
 +Bei aktiviertem Timer wird der **"Pacman-Cache"** - **__wöchentlich__** bereinigt.
 +
 +Damit jedoch **wöchentlich** durch den **systemd - timer** eine Bereinigung durchgeführt werden kann, muss mit nachfolgendem Befehl, der mit der Installation mit gekommene Timer
 +  * ''/usr/lib/systemd/system/paccache.timer''
 +aktiviert werden:
 +<code>
 +# systemctl enable --now paccache.timer
 +Created symlink /etc/systemd/system/timers.target.wants/paccache.timer → /usr/lib/systemd/system/paccache.timer.
 +</code>
 +* //Die Angabe des Parameters ''--now'' bewirkt die __sofortige Ausführung!__//
 +
 +Ob dies korrekt funktioniert hat, kann mit nachfolgendem Befehl überprüft werden:
 +<code>
 +# systemctl list-timers
 +NEXT                        LEFT        LAST                        PASSED    UNIT                         ACTIVATES                     
 +Fri 2020-12-04 00:00:00 CET 14h left    Thu 2020-12-03 08:29:45 CET 33min ago shadow.timer                 shadow.service                
 +Fri 2020-12-04 08:45:04 CET 23h left    Thu 2020-12-03 08:45:04 CET 18min ago systemd-tmpfiles-clean.timer  systemd-tmpfiles-clean.service
 +Mon 2020-12-07 00:00:00 CET 3 days left n/a                         n/      paccache.timer               paccache.service              
 +
 +3 timers listed.
 +Pass --all to see loaded but inactive timers, too.
 +</code>
  
tachtler/archlinux_-_pacman.1606980819.txt.gz · Zuletzt geändert: 2020/12/03 08:33 von klaus