Jako administratorzy systemów, zwłaszcza w różnorodnych środowiskach, wielokrotnie spotykamy się z sytuacjami, kiedy posiadamy wiele serwerów, a każdy z nich jest inny. Programista chciał taką dystrybucję, architekt kontenerów inną, natomiast admin z 20letnim stażem zaproponował coś oldskulowego. Dla administratorów z większym doświadczeniem z pewnością operowanie zamiennie różnymi menadżerami pakietów nie sprawia problemów. Mamy jednak XXI wiek i wszystko automatyzujemy, procedury upraszczamy i dostosowujemy narzędzia tak, żeby nam nawet najbardziej doświadczonym adminom pracowało się po prostu wygodnie, szybko, sprawnie i lepiej.

Każdy menadżer pakietów, niezależnie od tego, która dystrybucja – ma wiele opcji, przełączników i potrafi z reguły mniej więcej podobne rzeczy, ale jednak komendy te się różnią. W gąszczu komend łatwo zapomnieć o przełączniku. Jest manual, ale przełączając się między różnymi dystrybucjami musimy szukać. Nie w każdej firmie jest wdrożona automatyzacja, IAC i wszystkie inne nowinki.

Jeśli jesteś adminem i masz problem z przesiadaniem się i przełączaniem między wszystkimi tymi menadżerami paczek – istnieje dla ciebie rozwiązanie. Nazywa się „sysget” i jest nakładką, front-endem na wszystkie inne menadżery pakietów w różnych systemach operacyjnych Linux.

To narzędzie zawiera w sobie wbudowane komendy innych menadżerów paczek i co jest istotne, nie zastępuje ich.  Sysget nie zastąpi twojego menadżera paczek, a jedynie będzie za ciebie wykonywał jego polecenia. Tobie zostanie nauczenie się komend dla jednej nakładki, a sysget po konfiguracji zrobi swoje.

Jakich menadżerów paczek wspiera sysget?

  • apt
  • xbps
  • dnf
  • yum
  • zypper
  • eopkg
  • pacman
  • emerge
  • pkg
  • pkg_mgr
  • chromebrew
  • homebrew
  • nix
  • snap
  • npm
  • flatpak
  • slapt-get
  • pip3
  • GNU guix
  • Ruby gems
  • MacPorts

Co ważne, za pomocą funkcji dodawania menadżera możesz dodać swojego ulubionego, z niewymienionych wyżej menadżerów.

Co potrafi sysget?

– wyszukiwać pakiety
– instalować wskazane i wybrane pakiety
– usuwać pakiety
– usuwać resztki pozostawione przez pakiety – czyścić
– odzyskiwać miejsce poprzez czyszczenie cache menadżera pakietów
– aktualizować bibliotekę
– aktualizować system operacyjny
– aktualizować pojedyncze pakiety

Instalacja sysget

wget -O /usr/local/bin/sysget https://github.com/emilengler/sysget/releases/download/v2.3/sysget

chmod a+x /usr/local/bin/sysget

W chwili pisania tego artykułu, najnowsza jest wersja 2.3 I to ją instalujemy powyżej.

Mamy już zainstalowanego sysget’a.

Pliki konfiguracyjne

Miejscem, gdzie zainstalowany jest sysget to /etc/sysget/

Znajduje się tam plik konfiguracyjny, który zawiera informację o tym, jakiego menadżera pakietów w systemie aktualnie mamy.

Własny menadżer

Jak już wspomniałem, sysget bazuje na znanych sobie popularnych menadżerach pakietów, ale istnieje możliwość dodania kompletnie innego, własnego zestawu.

W tym celu należy w pliku /etc/sysget_custom zdefiniować 8 linijek, jedna pod drugą i dodać komendy do działania w kolejności:

search
install
remove
autoremove
update
upgrade
upgrade_pkg
clean

Wyszukiwanie pakietów

sysget search nazwa_pakietu

Dla przykładu chcemy wyszukać pakiet nginx’a, a naszym systemem jest Debian 11.

Sysget zwróci nam sporo możliwości i dopasowań. Co najważniejsze, zwróci on od razu informację, jaka jest wersja pakietu.

Instalowanie pakietów

Instalujemy wspomnianego nginxa.

sysget install nginx

Jak już wspomniałem, sysget robi to, co robi się na co dzień przy instalacji paczek poprzez danego menadżera pakietów i wydaje w tle odpowiednie polecenia, więc widok powinien być znany.

Usuwanie pakietów

sysget remove nginx

Aktualizacja zainstalowanych pakietów

sysget update

Aktualizacja systemu operacyjnego (nie jest tożsame z aktualizacją pakietów)

sysget upgrade

Usuwanie starych i niepotrzebnych zależności, które zostały po odinstalowanych pakietach

sysget autoremove

Czyszczenie pamięci podręcznej cache naszego menadżera pakietów

sysget clean

Powyżej znalazły się podstawowe komendy sysgeta. Jak widać, jego obsługa jest banalnie prosta i nie powinna sprawić nikomu absolutnie najmniejszych problemów. Może być ciekawą alternatywą dla początkujących, dla leniwych czy dla tych, co zarządzają wieloma serwerami różnych dystrybucji i budują właśnie podstawowe pliki konfiguracyjne ansible i chcą spróbować podejść do automatyzacji kompletnie różnych systemów. Ich aktualizowania, instalowania pakietów jednocześnie i tak dalej.