GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alpine Linux Apk-Befehlsbeispiele

Diese Anleitung erklärt, was Apk ist Paket-Manager und wie man verschiedene Alpine Linux-Paketverwaltungsoperationen mit dem Apk-Befehlszeilen-Paket-Manager mit Beispielen ausführt.

Eine kurze Einführung in den apk-Paketmanager

Apk, steht für A lpine P Paket K eeper ist der Standard-Paketmanager für Alpine Linux. Es wird verwendet, um Pakete auf einem laufenden Alpine Linux-System zu installieren, zu aktualisieren, zu aktualisieren, zu suchen, aufzulisten und zu entfernen. Apk ist der Teil von apk-tools Paket, das in allen Alpine Linux-Versionen vorinstalliert ist.

Apk ruft Pakete sowie Informationen über verfügbare Pakete in den Online-Repositories ab. Jedes Repository enthält eine spezielle Indexdatei namens APKINDEX.tar.gz . Alle in einem Repository gespeicherten Softwarepakete sind digital signiert tar.gz Archiv. Sie haben die Erweiterung .apk , und werden oft als "A-Packs" bezeichnet .

Ab Alpine Linux Version 3.3 sind standardmäßig zwei Repositories aktiviert. Sie sind - main und community .

Der [main] Das Repository besteht aus den Paketen, die vom Alpine Linux-Kernteam gründlich getestet und offiziell unterstützt werden. Die [community] Das Repository enthält die von der Community unterstützten Pakete, die von [testing] akzeptiert werden oder [edge] Repository. Der [testing] Repository enthalten normalerweise die neuen, kaputten und/oder veralteten Pakete. Für dieses Repository wird keine Unterstützung bereitgestellt und es ist nicht in den Release-Snapshots enthalten.

Alle Repositories werden in /etc/apk/repositories konfiguriert Datei. Schauen wir uns den Inhalt dieser Datei mit cat an Befehl:

$ cat /etc/apk/repositories

Beispielausgabe:

https://sjc.edge.kernel.org/alpine/edge/main
https://sjc.edge.kernel.org/alpine/edge/community

Jede Zeile in der obigen Datei gibt ein Repository an. Wie Sie in der obigen Ausgabe sehen können, habe ich [edge] aktiviert Repository, es handelt sich also um eine Rolling-Release-Version.

Wenn Sie eine stabile Version verwenden, sollten Sie die Versionsnummer gesehen haben, zum Beispiel v3.12 , wie unten:

https://sjc.edge.kernel.org/alpine/v3.12/main
https://sjc.edge.kernel.org/alpine/v3.12/community

Apk-Befehlsbeispiele zum Installieren und Verwalten von Paketen in Alpine Linux

Die Paketverwaltung mit apk in Alpine Linux ist recht einfach und unkompliziert. Apk enthält nicht viele Optionen und die Syntax ist leichter zu merken.

Die typische Verwendung des apk-Paketmanagers ist:

apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...]

Lassen Sie mich Ihnen einige wichtige Befehle für den täglichen Betrieb zeigen.

1. Hilfe zum apk-Befehl anzeigen

Wenn Sie neu bei apk sind, können Sie jederzeit den Hilfeabschnitt zum apk-Befehl anzeigen, indem Sie diesen Befehl ausführen:

$ apk --help

apk hat viele Unterbefehle, um eine bestimmte Operation auszuführen. Um den Hilfeabschnitt eines Unterbefehls anzuzeigen, führen Sie Folgendes aus:

$ apk add --help

2. Paketliste in Alpine Linux aktualisieren

Um die Liste der verfügbaren Pakete in den Alpine Linux-Repositories abzurufen, führen Sie einfach Folgendes aus:

$ sudo apk update

Beispielausgabe:

fetch https://sjc.edge.kernel.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
v20201218-310-g44bdae590f [https://sjc.edge.kernel.org/alpine/edge/main]
v20201218-333-ga9f7a8a644 [https://sjc.edge.kernel.org/alpine/edge/community]
OK: 13780 distinct packages available

Wie Sie in der obigen Ausgabe sehen können, sind es derzeit 13780 Pakete, die in Alpine-Repositories verfügbar sind. Bitte beachten Sie, dass dies nicht die Gesamtzahl der lokal installierten Pakete ist, sondern die Gesamtzahl der verfügbaren Pakete.

3. Pakete unter Alpine Linux installieren

Um ein Paket hinzuzufügen oder zu installieren, zum Beispiel vim , führen Sie unter Alpine Linux einfach Folgendes aus:

$ sudo apk add vim

Der obige Befehl installiert vim und seine Abhängigkeiten.

(1/3) Installing xxd (8.2.2137-r0)
(2/3) Installing lua5.3-libs (5.3.6-r0)
(3/3) Installing vim (8.2.2137-r0)
Executing busybox-1.32.0-r8.trigger
OK: 163 MiB in 87 packages

Ebenso können Sie mehrere Pakete hinzufügen, indem Sie sie mit einem Leerzeichen wie unten erwähnen:

$ sudo apk PackageName1 PackageName2

3.1. Lokale Pakete installieren

Wenn Sie bereits ein Paket heruntergeladen haben, können Sie es wie folgt installieren.

$ sudo apk add --allow-untrusted vim-8.2.2137-r0.apk

Sie können auch mehrere Pakete installieren:

$ sudo apk add --allow-untrusted PackageName1.apk PackageName2.apk PackageName3.apk

4. Pakete in Alpine Linux entfernen

Um ein installiertes Paket von Ihrem Alpine Linux-System zu deinstallieren oder zu entfernen, führen Sie Folgendes aus:

$ sudo apk del vim

Dieser Befehl entfernt vim und seine Abhängigkeiten.

(1/3) Purging vim (8.2.2137-r0)
(2/3) Purging xxd (8.2.2137-r0)
(3/3) Purging lua5.3-libs (5.3.6-r0)
Executing busybox-1.32.0-r8.trigger
OK: 144 MiB in 84 packages

Wenn Sie mehrere Pakete löschen möchten, erwähnen Sie sie durch Leerzeichen getrennt.

5. Pakete in Alpine Linux suchen

Alpine Linux-Repositories enthalten mehr als 13.000 Pakete. Mit dem Befehl:

können Sie alle verfügbaren Pakete zusammen mit ihrer Beschreibung auflisten
$ apk search -v

Beispielausgabe:

kleopatra-20.08.3-r0 - Certificate Manager and Unified Crypto GUI
py3-libevdev-0.9-r0 - Python3 wrapper around the evdev library
telepathy-farstream-dev-0.6.2_git20190919-r0 - Telepathy GLib-based client library that uses Farstream to handle Call channels (development files)
vulkan-loader-1.2.137-r0 - Vulkan Installable Client Driver (ICD) Loader
mtd-utils-ubi-2.1.2-r0 - MTD utils (UBI and UBIFS commands)
hwids-udev-20201207-r0 - Hardware identification databases (udev integration)
py3-rsa-4.6-r0 - Pure-Python3 RSA implementation
[...]

Um nur die Gesamtzahl der Pakete anzuzeigen, leiten Sie die Ausgabe an wc weiter Befehl wie unten:

$ apk search -v | wc -l

Sie können auch die Liste aller Pakete abrufen, die einem Muster entsprechen. Beispielsweise zeigt der folgende Befehl alle Pakete an, die mit dem Suchbegriff „vim“ übereinstimmen.

$ apk search -v 'vim*'

Wenn Sie nur die Pakete anzeigen möchten, die einen bestimmten Begriff in ihrer Beschreibung enthalten , ausführen:

$ apk search -v --description 'disk'

Oder verwenden Sie kurz -d Schalter:

$ apk search -v -d 'disk'

6. Paketdetails in Alpine Linux anzeigen

Um die Details eines bestimmten Pakets anzuzeigen, können wir info verwenden Befehl wie unten:

$ apk info vim

Sie sehen die kleine Beschreibung des angegebenen Pakets und seiner Website, auf der es gehostet wird.

Beispielausgabe:

vim-8.2.2137-r0 description:
Improved vi-style text editor

vim-8.2.2137-r0 webpage:
https://www.vim.org/

vim-8.2.2137-r0 installed size:
18 MiB

gvim-8.2.2137-r0 description:
advanced text editor, with GUI

gvim-8.2.2137-r0 webpage:
https://www.vim.org/

gvim-8.2.2137-r0 installed size:
29 MiB

Wie Sie sehen können, listet dieser Befehl nicht nur die vim-Paketdetails auf, sondern auch die Details der anderen Pakete, die das Muster "vim" in ihrem Namen enthalten.

Wenn Sie detaillierte Informationen über das angegebene Paket und seine Abhängigkeiten wünschen, verwenden Sie -a Flagge.

$ apk info -a vim

Der obige Befehl zeigt die folgenden Details an:

  • Paketbeschreibung.
  • Website des Pakets.
  • installierte Größe (d. h. die Größe, die das Paket nach der Installation benötigt).
  • den Inhalt des Pakets (d.h. Liste der Dateien, die das Paket installiert).
  • Paketabhängigkeiten, d. h. welche Pakete erforderlich sind, um dieses zu verwenden.
  • welche Pakete erfordern, dass dieses installiert wird.
  • und mehr.

7. Installierte Pakete in Alpine Linux auflisten

Um eine Liste aller installierten Pakete in Ihrem Alpine Linux-System anzuzeigen, führen Sie Folgendes aus:

$ apk info

Beispielausgabe:

lm_sensors
man
virtualbox-guest-modules-virt
musl
libcrypto1.1
libssl1.1
apk-tools
musl-utils
busybox
alpine-baselayout
[...]

Sie können auch die installierten Pakete mit ihrer Versionsnummer und Beschreibung auflisten:

$ apk info -vv

Beispielausgabe:

lm_sensors-3.4.0-r6 - Collection of user space tools for general SMBus access and hardware monitoring.
man-1.14.3-r0 - dummy package for upgrade compatibility.  this can safely be removed
virtualbox-guest-modules-virt-4.14.167-r0 - VirtualBox Additions kernel modules for virt
musl-1.2.2_pre6-r0 - the musl c library (libc) implementation
libcrypto1.1-1.1.1i-r0 - Crypto library from openssl
libssl1.1-1.1.1i-r0 - SSL shared libraries
apk-tools-2.12.0-r3 - Alpine Package Keeper - package manager for alpine
musl-utils-1.2.2_pre6-r0 - the musl c library (libc) implementation
busybox-1.32.0-r8 - Size optimized toolbox of many common UNIX utilities
alpine-baselayout-3.2.0-r8 - Alpine base dir structure and init scripts
[...]

Nur die Gesamtzahl der installierten Pakete auflisten:

$ apk info | wc -l
87

8. Upgrade-Pakete in Alpine Linux

Um ein bestimmtes Paket zu aktualisieren, führen Sie Folgendes aus:

$ sudo apk update
$ sudo apk add -u vim

Oder,

$ sudo apk add --upgrade vim

Um alle installierten Pakete zu aktualisieren, führen Sie Folgendes aus:

$ sudo apk update
$ sudo apk upgrade

Sie können den obigen Befehl auch wie folgt kombinieren:

$ sudo apk -U upgrade

9. Aktualisieren Sie Alpine Linux

Das Upgrade eines laufenden Alpine Linux auf die nächste verfügbare Version ist einfach! Alpine Linux gibt es in zwei Editionen:

  • stabil
  • Rolling-Release (Edge)

Sie können entweder von der aktuellen stabilen Version auf eine neuere Version upgraden oder eine stabile Version in eine Rolling-Release-Version konvertieren.

Ausführlichere Anweisungen finden Sie in der folgenden Anleitung:

  • So aktualisieren Sie Alpine Linux auf die neueste Version

10. Paket vom Upgrade zurückhalten

Manchmal möchten Sie verhindern oder zurückhalten, dass ein Paket aus irgendeinem Grund automatisch aktualisiert wird, wenn Sie Ihr Alpine Linux-System aktualisieren. Es kann viele Gründe geben, ein Paket zurückzuhalten. Beispielsweise benötigt eine Anwendung eine bestimmte Version, um ordnungsgemäß zu funktionieren. Oder das neue Paket kann Ihr System beschädigen. Sie möchten also ignorieren, dass die Pakete aktualisiert werden, wenn Sie das System aktualisieren.

Um ein bestimmtes Paket vom Upgrade abzuhalten, verwenden Sie einen der folgenden Befehle:

$ sudo apk add vim=8.2.0-r0

Oder,

$ sudo apk add 'vim<8.2.1'

Führen Sie dann das System-Upgrade mit dem Befehl:

durch
 $ sudo apk upgrade

Dieser Befehl aktualisiert alle Pakete, behält aber das vim-Paket auf Version 8.2.0 oder niedriger.

Sie können das vim-Paket später wie folgt auf die derzeit verfügbare Version aktualisieren:

$ sudo apk add 'vim>8.2.1'

Sie können auch einen "unscharfen" Versionsabgleich verwenden, um die Version an eine Haupt-/Nebenversion anzuheften. Beispielsweise passt der folgende Befehl auf jede Version von vim, die mit 8.2 beginnt.

$ sudo apk add 'vim=~8.2'

Verwandte Lektüre:

  • Wie man verhindert, dass ein Paket in Arch Linux aktualisiert wird
  • Wie man verhindert, dass ein Paket in Debian, Ubuntu aktualisiert wird

11. Pakete in Alpine Linux herunterladen

Manchmal möchten Sie ein bestimmtes Paket herunterladen, es aber nicht installieren. Lassen Sie uns zum Beispiel das vim-Paket mit dem Befehl herunterladen:

$ apk fetch vim

Der obige Befehl zeigt das vim-Paket aus den Alpine-Repositories an und speichert es im aktuellen Verzeichnis.

$ ls
vim-8.2.2137-r0.apk

Wenn Sie das Paket in einem anderen Pfad speichern möchten, verwenden Sie -o wechseln.

$ apk fetch vim -o ~/Downloads

Bitte beachten Sie, dass dieser Befehl nicht alle erforderlichen Abhängigkeiten herunterlädt, sondern nur das eigentliche Paket.

Um das angegebene Paket zusammen mit allen erforderlichen Abhängigkeiten herunterzuladen, verwenden Sie -R (--recursive ) Flagge:

$ apk fetch -R vim

Beispielausgabe:

Downloading xxd-8.2.2137-r0
Downloading ncurses-libs-6.2_p20201219-r0
Downloading musl-1.2.2_pre6-r0
Downloading lua5.3-libs-5.3.6-r0
Downloading vim-8.2.2137-r0
Downloading ncurses-terminfo-base-6.2_p20201219-r0

Sie können die lokal heruntergeladenen Pakete wie in 3.1 gezeigt installieren. Lokale Pakete installieren Abschnitt.

12. Repository-Details eines Pakets anzeigen

Vielleicht möchten Sie herausfinden, aus welchem ​​Repository ein Paket stammt. Apk hat auch dafür einen Unterbefehl.

Um das Repository anzuzeigen, wird ein Paket (z. B. vim ) installiert wurde und aktualisiert wird, verwenden Sie apk policy Befehl:

$ apk policy vim

Beispielausgabe:

vim policy:
  8.2.2137-r0:
    lib/apk/db/installed
    etc/apk/cache
    https://sjc.edge.kernel.org/alpine/edge/main

Wie Sie sehen können, wurde das vim-Paket von [main] installiert Repository.

13. Statistiken von Paketen und Repositories anzeigen

Wir können die Statistiken über installierte Pakete und Paket-Repositories mit dem Befehl ausdrucken:

$ apk stats

Beispielausgabe:

installed:
  packages: 87
  dirs: 485
  files: 9617
  bytes: 171270144
  triggers: 5
available:
  names: 30975
  packages: 13773
atoms:
  num: 9761

14. Paket-Cache leeren

Standardmäßig werden alle installierten Pakete in /etc/apk/cache/ zwischengespeichert Verzeichnis. Wenn neuere Pakete zum Cache hinzugefügt werden, bleiben die älteren Versionen der Pakete standardmäßig erhalten.

Wenn Sie die älteren Versionen der Pakete nicht möchten, können Sie einfach den Paketcache mit dem Befehl löschen:

$ sudo apk cache clean

Wenn Sie sehen möchten, welche Versionen gelöscht werden, verwenden Sie den Schalter -v (verbose):

$ sudo apk -v cache clean

Wenn Sie versehentlich Pakete aus dem Cache gelöscht haben, können Sie sie mit dem Befehl herunterladen:

$ sudo apk cache download

Sie können auch den Cache löschen und das fehlende Paket mit einem einzigen Befehl herunterladen:

$ sudo apk cache -v sync

Hoffe das hilft.


Linux
  1. 7 Beispiele für Linux-df-Befehle

  2. rm-Befehlsbeispiele unter Linux

  3. ps-Befehlsbeispiele in Linux

  4. sa-Befehlsbeispiele in Linux

  5. w Befehlsbeispiele unter Linux

9 diff-Befehlsbeispiele in Linux

Linux-IP-Befehl mit Beispielen

15 Linux-PS-Befehl mit Beispielen

Erste Schritte mit Alpine Linux Apk-Befehlsbeispielen

id-Befehlsbeispiele in Linux

apt Linux-Befehl mit Beispielen