Upgrade aplikacji w FreeBSD
22 grudnia 2005, maquina
Dla początkującego użytkownika FreeBSD proces aktualizacji oprogramowania jest niebanalną czynnością. Nie ma prostych programów obsługujących wszystkie etapy instalacji, a niespodziewane błędy i pomyłki mogą zniechęcić do tego systemu nawet bardzo cierpliwych. Oto krótki instruktaż, przedstawiający poszczególne kroki, jakie powinno się wykonać, aby upgrade aplikacji na FreeBSD odbył się bezboleśnie.
Instalacji oprogramowania można dokonać na dwa sposoby: za pomocą pakietów - przygotowanych, skompilowanych zestawów lub portów - dostosowanych na potrzeby FreeBSD kodów źródłowych.
Każdy skompilowany port jest pakietem, zatem tak naprawdę różnica pomiędzy tymi dwoma sposobami dotyczy tego, czy chcemy sami ustawiać różne opcje konfiguracji w przypadku portów, czy też wolimy domyślne ustawienia danego programu. Najlepszym wyborem jest rozważne korzystanie z obu sposobów upgrade-u. Przy niektórych aplikacjach, takich jak serwer Apache, ustawienia kompilacji mogą wpłynąć znacznie na ich zachowanie. Z drugiej strony, niektóre duże aplikacje (np. środowisko KDE) nie muszą zazwyczaj być poddawane jakiejkolwiek konfiguracji, więc wygodniej jest instalować je za pomocą skompilowanych pakietów.
Proces pakietowego upgrade-u jest rzeczą bardzo prostą. Wystarczy (jako root) wykonać następujące polecenie: pkg_add -r aplikacja, gdzie pod aplikacja podstawiamy odpowiednią nazwę pakietu.
Instalacja za pomocą systemu portów wymaga znacznie więcej czynności,
1. Po pierwsze należy skopiować plik /usr/share/examples/cvsup/ports-supfile do własnego katalogu (n.p. /root/upgrade/) i zmienić w nim wartość pola *default host na cvsup.pl.FreeBSD.org, lub — wedle uznania — na jeden z adresów wymienionych w podręczniku FreeBSD.
2. Zainstalować pakiet cvsup za pomocą polecenia: pkg_add -r cvsup lub pkg_add -r cvsup-without-gui, w zależności od tego czy chcemy korzystać z interfejsu graficznego, czy nie.
Program cvsup służy do aktualizacji kolekcji portów, czyli drzewa katalogów znajdującego się w /usr/ports/. Każdy port aplikacji ma odpowiadający sobie katalog, np. /usr/ports/polish/kadu/, w którym znajduje się kilka plików, m.in. plik Makefile, który opisuje podstawową konfigurację portu.
3. Uruchomić program cvsup z argumentem będącym lokacją zmienionego pliku ports-supfile, na przykład: cvsup /root/upgrade/ports-supfile. Do argumentów cvsup możemy dodać dodatkowe opcje, na przykład -L 2, która określa poziom wyświetlanych szczegółów działania programu. Wszystkie z nich są opisane w manualu cvsup
4. Należy teraz zaktualizować bazę danych dotyczącą portów. Można to zrobić na dwa sposoby:
- o ile nie zmienialiśmy ustawień pobieranych portów w pliku
ports-supfile(to znaczy pozycjaports-allnie jest poprzedzona znakiem #) możemy pobrać najnowszy plik bazy danych z serwera wydając polecenie:cd /usr/ports/ && make fetchindex. Ważne jest, aby wykonać to polecenie zaraz po aktualizacji kolekcji portów, gdyż w przeciwnym wypadku możemy pobrać wersję pliku bardziej aktualną niż nasze dane. - wykonać polecenie
portsdb -Uu, które utworzy aktualną wersję bazy danych (może to zająć nieco czasu).
5. Niektóre porty nie mogą zostać z jakichś względów zaktualizowane standardową metodą. Informacje o takich wyjątkach są zawarte w pliku /usr/ports/UPDATING. Jako, że stosowanie się do poleceń tam zawartych eliminuje znaczną część problemów podczas upgrade-u, tego kroku nie należy omijać pod żadnym względem!
6. Posiadając już aktualną bazę danych portów, możemy przystąpić do instalacji. Aby sprawdzić, które programy posiadają nowsze wersje można uruchomić program pkg_version, który wyświetli nam informacje na temat aktualności pakietów. Jeżeli nie chcemy niczego modyfikować i zgodnie z plikiem /usr/ports/UPDATING nie ma żadnych problemów z pakietami, które chcemy aktualizować, możemy wywołać polecenie portupgrade -a, które to rozpocznie update wszystkich zainstalowanych programów. Do argumentów portupgrade warto dodać na stałe kilka opcji, takich jak zapisywanie logów (opcja -L). Aby to zrobić można dodać do zmiennych powłoki wartość PORTUPGRADE, która będzie przechowywała domyślne opcje programu, dodawane do każdego jego uruchomienia.
7. Po zakończeniu procesu instalacji możemy (ale nie musimy, jeżeli bardzo nie chcemy
) zadbać o miejsce na dysku twardym za pomocą programu portsclean, które służy do usuwania wszelkich nieaktualnych plików, takich jak przestarzałe biblioteki lub kody źródłowe.
Tak właśnie przebiega aktualizacja aplikacji na FreeBSD. Oczywiście podczas instalacji zdarzają się też błędy niezależne od naszej konfiguracji systemu i nieuwzględnione w pliku UPDATING. W takich przypadkach najlepiej posłużyć się wyszukiwarką internetową i sprawdzić, czy błąd został odnotowany przez ekipę FreeBSD lub innych użytkowników (na przykład na liście dyskusyjnej freebsd-ports).
W przypadku chęci instalacji nowego oprogramowania za pomocą systemu portów można skorzystać z wyszukiwarki online, lub przeszukać własną bazę portów za pomocą polecenia: cd /usr/ports/ && make search opcje gdzie pod opcje można podstawić (między innymi):
name=nazwa— szukanie po nazwie portukey=klucz— szukanie po kluczucat=kategoria— szukanie po kategorii
lub dowolna kombinację opcji. Gdy odnajdziemy już port aplikacji, który chcemy zainstalować, możemy wykonać polecenie portupgrade -N nazwa.
Usuwanie zainstalowanych pakietów jest natomiast rzeczą bardzo prostą — wystarczy wydać polecenie pkg_delete nazwa. Należy jednak pamiętać, że argument pkg_delete musi, w przeciwieństwie do argumentów portupgrade, być pełną nazwą pakietu, włącznie z dokładną jego wersją. Aby dowiedzieć się, jakie pakiety są obecnie zainstalowane, można skorzystać z programu pkg_info.
Warto też wiedzieć, że polecenia instalacji portu/de-instalacji pakietu można wykonywać w inny sposób: przechodząc do katalogu portu i wydając polecenie make z odpowiednimi argumentami. Przykładowo: cd /usr/ports/polish/kadu/ && make install clean wykona podobne czynności jak polecenie portupgrade polish/kadu. Więcej o opcjach make dla kolekcji portów można znaleźć w manualu.
Pomocne linki:
Komentarze (RSS) | Trackback (URI)
Liczba komentarzy: 2
W komentarzach możesz używać prostych znaczników HTML. Przykłady:
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>




‘Instalacja za pomocą systemu portów wymaga znacznie więcej czynności,…’
KPorts - kde-apps.org
Rozumiem że artykuł jest stary, i pisała go osoba nie mająca w tamtym okresie zielonego pojęcia o ty co pisze, jednak teraz ludzie też to czytają. Więc usuńcie te bzdury, albo poprawcie, bo narmalnie mi wstyd za Was. System zarządzania paczkami (portami) we FreeBSD jest uważany za wzór dla innych systemów, żadna dystrybucja linuxa nie ma tak przyjaznego systemu.