Archiwum kategorii: Red Hat Enterprise Linux

Ilustracja wektorowa: Niebieskie mechaniczne ramię robota układa fioletowe sześciokątne klocki na szarej platformie z napisem RPM. Metafora budowania pakietów systemowych.

Terraformer na Fedorze i RHEL – instalacja z RPM (bez ściągania binarek!)

Mam projekt, który na AWS był klikany ręcznie, ale zdecydowanie dojrzał do tego, żeby przejść na model infrastructure as a code i zacząć go terraformować. Dlatego postanowiłem zrobić podejście na leniwca i skorzystać z polecanego terraformera – narzędzia, które pozwala na import istniejącej infrastruktury do kodu Terraforma.

To świetny plan, jednak jeśli Twoim celem jest działający Terraformer na Fedorze, szybko napotkasz pewne niedogodności. Teoretycznie wszystko pięknie brzmi, ale jak zwykle diabeł tkwi w szczegółach…

Instalacja Terraformer na Fedorze – w czym problem?

Instalacja na Fedorze okazała się być… cóż, nieoptymalna. Oficjalna dokumentacja radzi sobie po prostu ściągnąć binarkę i wrzucić ją gdzieś do PATH.

No i tu się zaczyna moja frustracja. Pobieranie binarek z internetu i wrzucanie ich do systemu to zły pomysł. Dlaczego?

  • Brak aktualizacji przez menedżer pakietów
  • Żadnej kontroli wersji
  • Kompletny brak integracji z systemem
  • No i po prostu… to brzydkie 🙂

Rozwiązanie: COPR na ratunek

Skoro narzędzie jest przydatne, a instalacja nieoptymalna, to co można zrobić? No właśnie – spakować je porządnie w RPM i udostępnić w repozytorium!

Także wziąłem się za robotę i przygotowałem COPR, w którym będzie dostępna najnowsza stabilna wersja terraformera.

Repozytorium dostępne jest tutaj:
https://copr.fedorainfracloud.org/coprs/szydell/terraformer/

Instalacja

Dodanie repozytorium i instalacja są bajecznie proste:

sudo dnf copr enable szydell/terraformer
sudo dnf install terraformer

I to tyle. Teraz terraformer będzie aktualizowany razem z resztą systemu.

Co jest wspierane?

Pakiety Terraformer RPM dostępne są dla:

  • Fedora (różne wersje)
  • RHEL (i pochodne, typu CentOS Stream, Rocky, Alma)
  • Różne architektury (x86_64, aarch64)

Co jeżeli czegoś brakuje?

Jeżeli potrzebujesz wsparcia dla innej dystrybucji, wersji, albo znalazłeś jakiś błąd – śmiało zgłaszaj issue:
https://github.com/szydell/terraformer_on_fedora/issues

Kod do budowania paczek też jest tam dostępny, także jak ktoś chce coś poprawić, to pull requesty mile widziane!

Terraformer na Fedorze nie musi być uciążliwy w instalacji. Dzięki paczkom RPM z COPR masz wszystko, czego potrzebujesz: automatyczne aktualizacje, integrację z systemem i porządek w zależnościach. Jeśli korzystasz z Fedory, RHEL lub pochodnych – to rozwiązanie jest dla Ciebie.

Zapełniony /boot na Fedorze?

Fedora i wiele innych dystrybucji zakłada przy instalacji dedykowaną partycję /boot. Nie jest ona jakoś przesadnie wielka, bo i nie musi. Gdy jednak wgrywamy aktualizacje na bieżąco, może dojść do sytuacji w której dojdzie do jej przepełnienia. Przy próbie aktualizacji systemu komendą dnf może to wyglądać jak poniżej:

Error Summary
-------------
Disk Requirements:
   At least 29MB more space needed on the /boot filesystem.

Co więc zrobić gdy /boot ma twoim jest pełny? Komenda poniżej skasuje wszystkie kernele inne niż ten na którym pracujesz:

sudo dnf remove --oldinstallonly -y

A może nie chcesz kasować wszystkich na wypadek konieczności powrotu do starszej wersji? Możesz skasować bez np. dwóch najnowszych:

dnf remove --oldinstallonly --setopt installonly_limit=2 kernel

Komendy te możesz zastosować też na Amazon Linux 2023, Nobara Linux, czy Red Hat Enterprise Linux od wersji 8 w górę.

Logo Linux Fedora
Fedora Linux

Nobara Linux Logo
Nobara Linux

logo programu Podman

docker/podman search

docker search – przydatna funkcjonalność, do przeszukiwania repozytoriów.

Osobiście używam główne do znalezienia dostępnych kontenerów UBI od red hata. 🙂

docker search registry.access.redhat.com/ubi

Inne używane czasami zastosowanie, to wyszukanie przygotowywanych przez fedoraproject kontenerów np. w danej wersji fedory:

[root@laPtak ~]# podman search registry.fedoraproject.org/f39
NAME                                                 DESCRIPTION
registry.fedoraproject.org/f39/flatpak-kde5-runtime  
registry.fedoraproject.org/f39/flatpak-kde5-sdk      
registry.fedoraproject.org/f39/flatpak-kde6-runtime  
registry.fedoraproject.org/f39/flatpak-kde6-sdk      
registry.fedoraproject.org/f39/flatpak-runtime       
registry.fedoraproject.org/f39/flatpak-sdk  

Tak znalezione kontenery można pobrać później korzystając z komendy docker/podman pull.