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 pozycja ports-all nie 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 portu
  • key=klucz — szukanie po kluczu
  • cat=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:

Znalazłeś literówkę? Zgłoś ją używając formularza!

Wpisz wynik działania: cztery + 4:

Komentarze (RSS) | Trackback (URI)

Liczba komentarzy: 2

zwiń wątek aureli  9 stycznia 2007 o godz. 14:54 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: 0 [Pokaż komentarz]

‘Instalacja za pomocą systemu portów wymaga znacznie więcej czynności,…’
KPorts - kde-apps.org :-)

 
zwiń wątek que_pasa  1 października 2007 o godz. 10:10 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: 0 [Pokaż komentarz]

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.

 
Identyfikator (wymagane)
Adres e-mail (wymagany - nie pokażemy go publicznie)
Adres URI
Rozmiar pola: zmniejsz rozmiar | zwiększ rozmiar

Literówki najlepiej zgłaszać jabberem: michuk@jakilinux.org lub kocio@jabber.org!

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>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.

RSS

Możesz śledzić komentarze do tego artykułu poprzez specjalny kanał; RSS 2.0 .

Porównaj dystrybucje!

vs

Dołącz do nas!

Programujesz w PHP? Znasz Wordpressa? Dołącz do szalonego zespołu programistów Grupy Jakilinux!
Więcej o współpracy na blogu Grupy Jakilinux.

Butik JL

jakilinux butik
Obejrzyj więcej produktów i wybierz coś dla siebie.

Subskrybuj Biuletyn!

Biuletyn Grupy Jakilinux to okresowy subiektywny przegląd najważniejszych informacji o których piszemy w naszych serwisach, który wysyłamy e-mailem. Subskrybuj biuletyn!

Reklama

To jest miejsce na Twoją reklamę! Więcej informacji: Reklama w jakilinux.org