GNU/Linux >> Znalost Linux >  >> Linux

Příklady příkazů Alpine Linux Apk

Tato příručka vysvětluje, co je Apk správce balíčků a jak provádět různé operace správy balíčků Alpine Linux pomocí správce balíčků příkazového řádku Apk s příklady.

Stručný úvod do správce balíčků apk

Apk, znamená A lpine P ackage K eeper, je výchozí správce balíčků pro Alpine Linux. Používá se k instalaci, aktualizaci, upgradu, vyhledávání, seznamování a odstraňování balíčků na běžícím systému Alpine Linux. Apk je součástí apk-tools balíček, který je předinstalován ve všech verzích Alpine Linux.

Apk načte balíčky a také informace o dostupných balíčcích v online úložištích. Každé úložiště obsahuje speciální indexový soubor s názvem APKINDEX.tar.gz . Všechny softwarové balíčky uložené v úložišti jsou digitálně podepsány tar.gz archiv. Mají příponu .apk , a často se jim říká "a-packy" .

Počínaje Alpine Linuxem verze 3.3 jsou ve výchozím nastavení povolena dvě úložiště. Jsou - main a community .

[main] úložiště se skládá z balíčků, které jsou důkladně testovány a oficiálně podporovány základním týmem Alpine Linux. [community] úložiště obsahuje komunitou podporované balíčky, které jsou přijímány z [testing] nebo [edge] úložiště. [testing] repozitář má obvykle nové, poškozené a/nebo zastaralé balíčky. Pro toto úložiště není poskytována žádná podpora a není zahrnuto ve snímcích vydání.

Všechna úložiště se konfigurují v /etc/apk/repositories soubor. Pojďme se podívat na obsah tohoto souboru pomocí cat příkaz:

$ cat /etc/apk/repositories

Ukázkový výstup:

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

Každý řádek ve výše uvedeném souboru označuje úložiště. Jak můžete vidět ve výše uvedeném výstupu, povolil jsem [edge] repozitář, takže jde o průběžnou verzi.

Pokud používáte stabilní verzi, měli byste vidět číslo verze, například v3.12 , jako níže:

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

Příklady příkazů Apk pro instalaci a správu balíčků v Alpine Linux

Správa balíčků pomocí apk v Alpine Linuxu je poměrně jednoduchá a přímočará. Apk neobsahuje mnoho možností a syntaxe je snadněji zapamatovatelná.

Typické použití správce balíčků apk je:

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

Dovolte mi ukázat vám několik důležitých příkazů pro každodenní operace.

1. Zobrazit nápovědu k příkazu apk

Pokud s apk začínáte, můžete si kdykoli zobrazit nápovědu k příkazu apk spuštěním tohoto příkazu:

$ apk --help

apk má mnoho dílčích příkazů k provedení konkrétní operace. Chcete-li zobrazit sekci nápovědy dílčího příkazu, spusťte:

$ apk add --help

2. Aktualizujte seznam balíčků v Alpine Linux

Chcete-li získat seznam dostupných balíčků v repozitářích Alpine Linux, jednoduše spusťte:

$ sudo apk update

Ukázkový výstup:

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

Jak můžete vidět ve výše uvedeném výstupu, aktuálně je jich 13780 balíčky dostupné v úložištích Alpine. Upozorňujeme, že toto není celkový počet lokálně nainstalovaných balíčků, ale celkový počet dostupných balíčků.

3. Nainstalujte balíčky v Alpine Linux

Chcete-li přidat nebo nainstalovat balíček, například vim , v Alpine Linux jednoduše spusťte:

$ sudo apk add vim

Výše uvedený příkaz nainstaluje vim a jeho závislosti.

(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

Podobně můžete přidat více balíčků tak, že je zmíníte mezerou jako níže:

$ sudo apk PackageName1 PackageName2

3.1. Nainstalujte místní balíčky

Pokud jste si již stáhli balíček, můžete jej nainstalovat, jak je uvedeno níže.

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

Můžete také nainstalovat více balíčků:

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

4. Odeberte balíčky v Alpine Linux

Chcete-li odinstalovat nebo odebrat nainstalovaný balíček ze systému Alpine Linux, spusťte:

$ sudo apk del vim

Tento příkaz odstraní vim a jeho závislosti.

(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

Pokud chcete smazat více balíčků, uveďte je oddělené mezerou.

5. Prohledávejte balíčky v Alpine Linux

Repozitáře Alpine Linux obsahují více než 13 000 balíčků. Všechny dostupné balíčky můžete vypsat spolu s jejich popisem pomocí příkazu:

$ apk search -v

Ukázkový výstup:

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
[...]

Chcete-li zobrazit pouze celkový počet balíků, převeďte výstup do wc příkaz jako níže:

$ apk search -v | wc -l

Můžete také získat seznam všech balíčků odpovídajících vzoru. Například následující příkaz zobrazí všechny balíčky, které odpovídají hledanému výrazu "vim".

$ apk search -v 'vim*'

Pokud chcete zobrazit pouze balíčky, které ve svém popisu obsahují konkrétní výraz , spustit:

$ apk search -v --description 'disk'

Nebo krátce použijte -d přepínač:

$ apk search -v -d 'disk'

6. Zobrazit podrobnosti o balíčku v Alpine Linux

Pro zobrazení detailů konkrétního balíčku můžeme použít info příkaz jako níže:

$ apk info vim

Uvidíte malý popis daného balíčku a jeho webové stránky, kde je hostován.

Ukázkový výstup:

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

Jak můžete vidět, tento příkaz vypisuje nejen podrobnosti o balíčku vim, ale také podrobnosti o dalších balíčcích, které obsahují ve svém názvu vzor "vim".

Pokud chcete podrobné informace o daném balíčku a jeho závislostech, použijte -a vlajka.

$ apk info -a vim

Výše uvedený příkaz zobrazí následující podrobnosti:

  • popis balíčku.
  • webová stránka balíčku.
  • velikost instalované (tj. velikost požadovaná balíkem po jeho instalaci).
  • obsah balíčku (tj. seznam souborů, které balíček nainstaluje).
  • Závislosti balíčků, tj. jaké balíčky jsou nutné k použití tohoto balíčku.
  • které balíčky vyžadují instalaci tohoto.
  • a další.

7. Seznam nainstalovaných balíčků v Alpine Linux

Chcete-li zobrazit seznam všech nainstalovaných balíčků ve vašem systému Alpine Linux, spusťte:

$ apk info

Ukázkový výstup:

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

Můžete také vypsat nainstalované balíčky s jejich číslem verze a popisem:

$ apk info -vv

Ukázkový výstup:

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
[...]

Vypsat pouze celkový počet nainstalovaných balíčků:

$ apk info | wc -l
87

8. Upgradujte balíčky v Alpine Linux

Chcete-li upgradovat konkrétní balíček, spusťte:

$ sudo apk update
$ sudo apk add -u vim

Nebo,

$ sudo apk add --upgrade vim

Chcete-li upgradovat všechny nainstalované balíčky, spusťte:

$ sudo apk update
$ sudo apk upgrade

Výše uvedený příkaz můžete také zkombinovat do jednoho, jako je níže:

$ sudo apk -U upgrade

9. Upgradujte Alpine Linux

Upgrade běžícího Alpine Linuxu na další dostupnou verzi je snadný! Alpine Linux přichází ve dvou edicích:

  • stabilní
  • rolující uvolnění (hrana)

Můžete buď upgradovat z aktuální stabilní verze na novější verzi, nebo převést stabilní verzi na průběžnou verzi.

Podrobnější pokyny jsou k dispozici v následující příručce:

  • Jak upgradovat Alpine Linux na nejnovější verzi

10. Podržte balíček z upgradu

Někdy chcete při upgradu vašeho systému Alpine Linux z nějakého důvodu zabránit nebo pozastavit automatickou aktualizaci balíčku. Důvodů, proč balíček pozdržet, může být mnoho. Například určitá verze vyžaduje aplikaci, aby správně fungovala. Nebo může nový balíček poškodit váš systém. Chcete tedy ignorovat aktualizace balíčků při aktualizaci systému.

Chcete-li podržet konkrétní balíček z aktualizace, použijte některý z následujících příkazů:

$ sudo apk add vim=8.2.0-r0

Nebo,

$ sudo apk add 'vim<8.2.1'

A poté proveďte aktualizaci systému pomocí příkazu:

 $ sudo apk upgrade

Tento příkaz aktualizuje všechny balíčky, ale ponechá balíček vim na verzi 8.2.0 nebo nižší.

Později můžete upgradovat balíček vim na aktuálně dostupnou verzi, jak je uvedeno níže:

$ sudo apk add 'vim>8.2.1'

Můžete také použít "fuzzy" shodu verzí k připnutí verze k hlavnímu/vedlejšímu vydání. Například následující příkaz bude odpovídat jakékoli verzi vim, která začíná 8.2.

$ sudo apk add 'vim=~8.2'

Související čtení:

  • Jak ignorovat balíček z upgradu v Arch Linuxu
  • Jak zabránit upgradu balíčku v Debianu, Ubuntu

11. Stáhněte si balíčky v Alpine Linux

Někdy si chcete stáhnout konkrétní balíček, ale nechcete jej instalovat. Například si stáhněte balíček vim pomocí příkazu:

$ apk fetch vim

Výše uvedený příkaz zobrazí balíček vim z repozitářů Alpine a uloží jej do aktuálního adresáře.

$ ls
vim-8.2.2137-r0.apk

Pokud chcete balíček uložit do jiné cesty, použijte -o přepínač.

$ apk fetch vim -o ~/Downloads

Upozorňujeme, že tento příkaz nestáhne všechny požadované závislosti, ale pouze aktuální balíček.

Pro stažení daného balíčku se všemi požadovanými závislostmi použijte -R (--recursive ) příznak:

$ apk fetch -R vim

Ukázkový výstup:

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

Můžete nainstalovat lokálně stažené balíčky, jak je uvedeno v 3.1. Nainstalujte místní balíčky sekce.

12. Zobrazit podrobnosti o úložišti balíčku

Možná budete chtít zjistit, ze kterého úložiště balíček pochází. Apk má pro to také dílčí příkaz.

Chcete-li zobrazit úložiště, balíček (např. vim ) byl nainstalován z a bude aktualizován z, použijte apk policy příkaz:

$ apk policy vim

Ukázkový výstup:

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

Jak můžete vidět, balíček vim byl nainstalován z [main] úložiště.

13. Zobrazit statistiky balíčků a repozitářů

Statistiky o nainstalovaných balíčcích a úložištích balíčků můžeme vytisknout pomocí příkazu:

$ apk stats

Ukázkový výstup:

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

14. Vyčistěte mezipaměť balíčků

Ve výchozím nastavení jsou všechny nainstalované balíčky uloženy do mezipaměti v /etc/apk/cache/ adresář. Když jsou do mezipaměti přidány novější balíčky, ve výchozím nastavení zůstanou starší verze balíčků.

Pokud nechcete starší verze balíčků, můžete jednoduše vymazat mezipaměť balíčků pomocí příkazu:

$ sudo apk cache clean

Pokud chcete vidět, které verze byly odstraněny, použijte přepínač -v (podrobný):

$ sudo apk -v cache clean

Pokud jste omylem smazali balíčky z mezipaměti, můžete si je stáhnout příkazem:

$ sudo apk cache download

Můžete také vymazat mezipaměť a stáhnout chybějící balíček jediným příkazem:

$ sudo apk cache -v sync

Doufám, že to pomůže.


Linux
  1. 7 Příklady příkazů Linux df

  2. 8 Příklady příkazů Linux TR

  3. sa Příklady příkazů v Linuxu

  1. Příklady příkazů rm v Linuxu

  2. Příklady příkazů ps v Linuxu

  3. w Příklady příkazů v Linuxu

  1. Příklady příkazů ac v Linuxu

  2. Příklady příkazů df v Linuxu

  3. du příklady příkazů v Linuxu