andrew Napisano Sierpień 27 Zgłoszenie Share Napisano Sierpień 27 Ze względu na słaby i limitowany dostęp do internetu pomyślałem o stworzeniu lokalnego repozytorium dla kilku kompów w sieci domowej (wszyscy korzystają z Fedory ). Oszczędziło by to czas aktualizacji na kompach i wymagało tylko jednorazowgo ściągnięcia aktualizacji z internetu, a następne kompy korzystały by z lokalego repozytorium. Aktualizuję praktycznie tylko z dnf w konsoli. A więc po kolei: 1. Stworzyłem katalog współdzielony na Synology NAS, udostępniłem dla wszystkich kompów w sieci lokalne. 2. Zamontowałem ten katalog na kompach przez NFS 3. Na wybranym komputerze zainstalowałem libdnf5 Actions plugin 4. Wykorzystując ten plugin, w pliku moja.actions: # Prints the date and time and information about the end of the transaction. # Since package_filter is empty, it executes the commands once. post_transaction::::/usr/local/bin/CreateLocalRepo.sh wywołuję skrypt CreateLocalRepo.sh: W tym pliku kopiowałem wszystkie pakiety z cache`a lokalego kompa na katalog współdzielony NAS`a i wywoływałem createrepo na tym katalogu. Niestety wiązało się to z ponownym przesyłaniem plików z NAS do kompa celem stworzenia plików repo. Trochę usprawniłem proces createrepo instalując Fedora w dockerze na NAS i wywołując zdalnie createrepo na dokerze z Fedorą na Synology NAS. Zawartość skryptu poniżej: #!/bin/sh echo "Coping packages to localRepo" > /dev/stdout cp -n /var/cache/libdnf5/*/packages/* /srv/fedoraLocalRepo/packages/ date > /dev/stdout echo "Docker Create localRepo" > /dev/stdout sshpass -p "xxxxxxxx" ssh [email protected] "/usr/local/bin/docker exec 45a498a4bdad createrepo /home/Repo" > /dev/stdout Teraz proces działa poprawnie, nie ma potrzeby ponownego przesyłania plików z NAS`a do kompa. Proszę o pomoc w usprawnieniu procesu, chciałbym przede wszystkim widzieć komunikaty ze skryptu CreateLocalRepo.sh na konsoli, z której wywołuję #dnf upgrade. Może wypadałoby korzystać z jakiś zmiennych, które wskazują cache`a libdnf5 ? Dzięki za wszelkie uwagi i pomoc. Tak na marginesie to działa . Pominąłem opis konfiguracji nowego repo na pozostałych komputerach. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
SeeM Napisano Sierpień 27 Zgłoszenie Share Napisano Sierpień 27 Dwa słowa: dnf reposync. To tworzy lokalną kopię repozytorium, którą można potem przyrostowo aktualizować. Mam kilkanaście maszyn wirtualnych z CentOS 10 i oszczędza to kupę czasu. Pobrane pliki najlepiej wystawić w sieci lokalnej po http i poprawiać konfigurację dnf przed każdą cotygodnoową aktualizacją. Ja mam do tego prace ansiblowe: podmian konfiguracji dnf na wszystkich hostach, wyczyszenie cache dnf i aktualizacja na wszystkich hostach. Na reposync Fedory będziesz potrzebował z 500 gigabajtów przetrzeni dyskowej. Może więcej. Dawno nie sprawdzałem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@sunrise Napisano Sierpień 27 Zgłoszenie Share Napisano Sierpień 27 Istnieje również plugin dla dnf python3-dnf-plugin-local https://blog.holtzweb.com/posts/fedora-repository-local-mirror-over-LAN/ https://fedoramagazine.org/use-the-dnf-local-plugin-to-speed-up-your-home-lab/ Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
prymula Napisano Wrzesień 2 Zgłoszenie Share Napisano Wrzesień 2 Tak z ciekawości ile czasu potrzebowałeś @andrew aby zbudować repozytorium, przy pomocy 'createrepo' ? Pytam, gdyż budowałem jakiś czas temu lokalne repozytorium dla Arch. I skrypt z poleceniem 'repo-add', dla ~80 GiB pakietów potrzebował dla i3 8gen. ~2.5 doby na zbudowanie bazy danych. Więc przyszło mi swego czasu, zasypiać przy szumie wentylatora - co było w sumie bardzo miłe :) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
andrew Napisano Wrzesień 3 Autor Zgłoszenie Share Napisano Wrzesień 3 @prymulaNa Synology (INTEL Celeron J4125) 2GHz, 2GB RAM: śro, 3 wrz 2025, 22:03:15 CEST Docker Create localRepo C_CREATEREPOLIB: Warning: Cannot parse repomd: /home/Repo/repodata/repomd.xml Directory walk started Directory walk done - 1110 packages Temporary output repo path: /home/Repo/.repodata/ Pool started (with 5 workers) Pool finished śro, 3 wrz 2025, 22:03:42 CEST Pakiety zajmują na razie około 4,3 GB Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
prymula Napisano Wrzesień 4 Zgłoszenie Share Napisano Wrzesień 4 Ta powolność w moim przypadku, mogła wynikać z tego że cel znajdował się na USB HDD. Ale z drugiej strony, słyszałem glosy, że w przypadku Arch to jest po prostu powolne. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się