-
O YUM trochę bardziej zaawansowanie…
Jak poznać nowe możliwości kolejnego narzędzia? Najlepiej rozwiązać przykładowe problemy w wybranych scenariuszach, a nóż, może to kiedyś się przydać. Dzisiaj pobawimy się narzędziem YUM. Prześledzimy jego możliwości, pod kątem przygotowania lokalnego repozytorium z aktualizacjami. W jakim celu nam się to przyda?
1)Aktualizujemy jeden komputer i chcemy raz ściągnięte aktualizacje wykorzystać do zaktualizowania pozostałych komputerów(zakładamy, że zainstalowane oprogramowanie na wszystkich jest takie same).
2)Po przywróceniu systemu z obrazu chcemy jak najszybciej go uaktualnić do nowej wersji, wtedy możemy wykorzystać do tego celu lokalne repozytorium z aktualizacjami.
Oczywiście to nie gotowa lista, to dwie moje propozycję, może komuś to przydać się częściowo lub w całości do czegoś innego.
Pierwsze co to robimy katalog gdzie YUM będzie ściągał aktualizację, niech będzie to np.:
mkdir /media/SYSTEM/Downloads/redhat/updates_el6
Następnie wykonujemy polecenie aktualizacji dodając dodatkowe opcje:
yum update –downloadonly –downloaddir=/media/SYSTEM/Downloads/redhat/updates_el6
„downloadonly” odpowiada za to, że YUM tylko ściągnie paczki, nie instalując ich.
„downloaddir=xxx” wskazuje, gdzie YUM ma wrzucać pobierane paczki. (W miejsce xxx wskazujemy katalog)
Co dalej? W następnym kroku musimy zainstalować program do tworzenia metainformacji dotyczących repozytorium. Za pomocą programu „createrepo” znajdujęcego się np. w repozytorium EPEL.
yum install createrepo –enablerepo=EPEL
(Oczywiście jeżeli u was, EPEL jest zawsze aktywne nie trzeba wpisywać „enablerepo”, przykład pokazuje, że jak instalować jeżeli repozytorium jest nieaktywne, a chcemy coś jednorazowo zainstalować.)
teraz tworzymy repozytorium:
createrepo /media/SYSTEM/Downloads/redhat/updates_el6
W następnym kroku dodajemy lokalne repozytorium do bazy YUMa:
touch /etc/yum.repos.d/local.repo
Dodajemy zawartość(ulubionym edytorem, w moim przykładzie będzie to tak: mcedit /etc/yum.repos.d/local.repo):
[local]
name=Lokalne repozytorium
baseurl=file:///media/SYSTEM/Downloads/redhat/updates_el6
gpgkey=
gpgcheck=0
enabled=0
Teraz możemy aktualizować poleceniem:
yum update –disablerepo=* –enablerepo=local.
enablerepo już znamy. Natomiast disablerepo służy do wyłączenie w danej sesji wszystkich repozytoriów. Użycie tych dwóch poleceń w ten sposób razem. Powoduje wyłączenie wszystkich repozytoriów i aktywowanie podanych przez nas (W tym przypadku, jednego: local).
Co jeszcze może się przydać?
yum-rhn-plugin – plugin wsparcia dla Red Hat Network i Spacewalk.
yum-plugin-versionlock – zablokowanie przed aktualizacją do nowszej wersji konkretnych paczek.
yum-presto – wtyczka presto dla YUM.
Warto przeszukać swoje repozytoria, znajdziemy tam więcej wtyczek do YUMa dzięki którym będziemy mogli osiągać jeszcze lepsze funkcję w zarządzaniu oprogramowaniem w naszych systemach. W przyszłości zajmiemy się również pisaniem skryptów i wykorzystamy tą wiedze.
Pożyteczne, dziękuję 😉
Mała poprawka:
zamiast -enable/disablerepo
powinno być –enable/disablerepo
A teraz zauważam róznicę (mnie się wydawało że to jeden myślnik)
Witam,
Warto zauważyć, że jest to tylko jedna z kilku metod do tworzenia lokalnego repozytorium pakietów. Innym wyjściem jest po prostu zrobienie kopii jakiegoś już działającego repo. Robi się to mniej-więcej tak: http://konrad.bechler.pl/2010/11/lokalne-repozytorium-dla-yuma/
K.
Witam,
Oczywiście jest kilka, jak nie kilkanaście metod. Tutaj pokazałem takie możliwości, każda jest dobra do czegoś innego. Ważne jest co chcemy osiągnąć, i jakie mamy uwarunkowania w firmie.