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:38] 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 178: Zeile 180:
 ==== paccache ==== ==== paccache ====
  
-''paccache'' ist ein Werkzeug zur Bereinigung des Pacman-Cache, welcher sich im Verzeichnis +''paccache'' ist ein Werkzeug zur Bereinigung des **"Pacman-Cache"**, welcher sich im Verzeichnis 
   * ''/var/cache/pacman/pkg''   * ''/var/cache/pacman/pkg''
 befindet. befindet.
-  + 
-Um den Befehl verfügbar zu haben, muss das Paket ''pacman-contrib'' mit nachfolge z.B. Befehl installiert werden:+Um den Befehl verfügbar zu haben, muss das Paket ''pacman-contrib'' mit z.B. dem nachfolgendem Befehl installiert werden:
 <code> <code>
 # pacman -S pacman-contrib # 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> </code>
  
 Nachfolgender Befehl listet den installierten Inhalt des Pakets ''pacman-contrib'' auf: Nachfolgender Befehl listet den installierten Inhalt des Pakets ''pacman-contrib'' auf:
 <code> <code>
-# pacman -Ql pacman-contrib+# 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> </code>
  
tachtler/archlinux_-_pacman.1606981101.txt.gz · Zuletzt geändert: 2020/12/03 08:38 von klaus