Jak korzystać z Menedżera pakietów Pkg na FreeBSD 12

Wprowadzenie

FreeBSD to system operacyjny typu open source podobny do Uniksa, używany do zasilania nowoczesnych serwerów, komputerów stacjonarnych i platform wbudowanych. Giganci tacy jak Netflix, Yahoo !, WhatsApp, BBC i Sony używają FreeBSD w jakiejś formie. System FreeBSD nie jest tak powszechnie znany jak Linux, głównie dlatego, że Linux od wielu lat koncentruje się na Pulpicie, a projekt FreeBSD był bardziej oparty na serwerze.

W tym przewodniku dowiesz się o zarządzaniu pakietami we FreeBSD 12.

Porty a pakiety

W FreeBSD mamy dwa różne sposoby instalowania oprogramowania dodatkowego: poprzez kolekcję portów lub porty oraz za pomocą wstępnie skonfigurowanych pakietów do instalacji i zarządzania oprogramowaniem.

Ports to system do budowania dodatkowego oprogramowania na FreeBSD. Dzięki Portom zaczynasz od surowego kodu źródłowego dostarczonego przez dostawcę oprogramowania i budujesz oprogramowanie dokładnie tak, jak potrzebujesz, włączając i wyłączając funkcje według potrzeb.

Pakiety to wstępnie skompilowane oprogramowanie, które powstaje w wyniku budowania portów, przy użyciu opcji, które według opiekunów portów będą najbardziej przydatne dla jak najszerszego grona osób, i zgrupowania ich w pakiet, aby ułatwić ich instalację. Pakiety pozwalają szybko instalować, odinstalowywać i aktualizować oprogramowanie dodatkowe. System pakowania FreeBSD nazywa się pakiet , lub pkg. Informacje o pakiecie są przechowywane w bazie danych SQLite, którą można zapytać o dane pakietu.

Kolejną ważną rzeczą dotyczącą zarządzania pakietami FreeBSD jest lokalizacja plików binarnych pakietów. Pakiety instalują pliki binarne poniżej /usr/local, a większość plików konfiguracyjnych kończy się /usr/local/etcraczej niż /etc. Jeśli pochodzisz ze świata Linuksa, możesz uznać to za bardzo rzadkie.

Menedżer pakietów FreeBSD, pkg

Następną generacją zamiennika tradycyjnych narzędzi do zarządzania pakietami FreeBSD jest pkg. Oferowanie wielu funkcji, które sprawiają, że radzenie sobie z pakietami binarnymi jest szybsze i łatwiejsze, pkgjest najprostszym sposobem na zainstalowanie oprogramowania, które nie jest jeszcze zawarte w podstawowym systemie FreeBSD. Jest to pojedynczy program z wieloma podkomendami, którego będziesz używać do prawie wszystkich operacji na pakietach, takich jak instalowanie, usuwanie i sprawdzanie pakietów. Wszystkie operacje na pakietach i zmiany muszą być uruchamiane jako rootlub przez sudo.

Oto jak zainstalowałbyś curlpakiet na FreeBSD:

pkg install curl

Możesz podać polecenie za pomocą, -yaby uniknąć Proceed with this action? [y/N]:pytania podczas instalowania oprogramowania, lub możesz skonfigurować, pkgaby zawsze zakładać -yw pliku konfiguracyjnym.

Aby usunąć pakiet, użyj delete:

pkg delete curl

Jak widać, jest to bardzo proste i intuicyjne.

Skorzystaj pkg helpz szybkiego opisu dostępnych komend lub pkg help <subcommand>wyświetl stronę podręcznika dla konkretnej komendy:

pkg help
pkg help install
pkg help delete

Instalowanie pkg

Podstawowa wersja FreeBSD nie jest dostarczana z pkgzainstalowanym menedżerem pakietów. Przy pierwszej próbie zainstalowania pakietu pkgpojawi się monit o zainstalowanie narzędzia do zarządzania pakietami. Załóżmy na przykład, że pierwszym pakietem, który chcesz zainstalować na nowym FreeBSD, jest wgetnastępujący terminal:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

Uderzysz Yi ENTERrozpocznie się instalacja narzędzia do zarządzania pakietami. Po jego zainstalowaniu wgetzostanie zainstalowany początkowy pakiet oprogramowania, który chcesz zainstalować ( ).

Możesz także zainstalować system pakowania samodzielnie, bez dodawania innych pakietów, uruchamiając pkg bootstrap. Dodatkowo pkgwie, jak zainstalować i zaktualizować siebie i inne pakiety.

UWAGA: Instancje Vultr są pkginstalowane domyślnie, więc nie trzeba go instalować.

Konfiguracja pkg

pkgProgram jest zaprojektowany, aby być bardzo elastyczne, z każdej komendy posiadające wiele opcji. Można nawiązać dostosowane, ale spójne zachowanie dla większości programów z pliku konfiguracyjnego dla całego systemu pkg, zlokalizowanych w /usr/local/etc/pkg.conf.

Plik zawiera skomentowane wartości domyślne dla pkg. Po przeczytaniu tego pliku możesz dowiedzieć się wiele o tym, jak się pkgzachowuje. Konfiguracja jest napisana w uniwersalnym języku konfiguracji (UCL) i jest wiele skomentowanych opcji konfiguracji i sporo aliasów. Zmienne mogą być ustawione na liczbę całkowitą, ciąg znaków lub wartość logiczną:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

Możesz zdefiniować aliasy dla pkgkomend w pkg.conf. W dolnej części pkg.confznajduje się sekcja oznaczona etykietą ALIAS. Kiedy często uruchamiasz złożone polecenia, powinieneś dodać aliasy.

Więcej informacji na temat formatu pliku i opcji można znaleźć na pkg.conf(5)stronie podręcznika :

man pkg.conf

Znajdowanie paczek

Po zainstalowaniu menedżera pakietów możesz instalować pakiety. Jeśli jesteś administratorem systemu, wiesz, że różne systemy operacyjne przypisują różne nazwy do spakowanych wersji tego samego oprogramowania. Na przykład pakiet dla serwera WWW Apache we FreeBSD będzie miał zupełnie inną nazwę niż pakiet Apache w różnych dystrybucjach Linuksa. Więc zanim będziesz mógł cokolwiek zainstalować, musisz dowiedzieć się, jaka jest nazwa pakietu, który chcesz zainstalować.

Projekt FreeBSD oferuje kilka zestawów pakietów w publicznym repozytorium i są one aktualizowane co kilka dni. Obecnie istnieje ponad 25 000 pakietów.

Na przykład spróbujmy wyszukać serwer WWW Apache:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

Znajdzie wszystkie pakiety z apacheich nazwami. Zwróci to długą listę, ale szukasz tego apache24pakietu. Krótki opis każdej paczki. To powinno ci pomóc w podjęciu decyzji, który pakiet zainstalować, ale nie zawsze jest to proste.

Niektóre wyszukiwania mogą wygenerować setki wyników. Będziesz musiał użyć różnych opcji wiersza poleceń, aby przyciąć lub dostosować wyniki wyszukiwania. Zajrzyj na pkg-searchstronę podręcznika lub stronę pomocy, pkg help searchaby dowiedzieć się więcej o typowych opcjach wyszukiwania.

Jeśli nie masz pewności, czy pakiet jest tym, czego naprawdę chcesz, możesz użyć następującego polecenia, aby wyszukać szczegóły pakietu:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "[email protected]"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

To polecenie daje wiele użytecznych informacji o pakiecie.

Instalowanie pakietów

Aby zainstalować oprogramowanie, użyj installpodkomendy i nazwy pakietu do zainstalowania:

pkg install apache24

Podczas instalowania pakietów z pkg install, pkgkonsultuje się z lokalnym katalogu pakiet, a następnie pobiera żądany pakiet z repozytorium co pkg.FreeBSD.org. Po zainstalowaniu pakiet jest rejestrowany w przechowywanej bazie danych SQLite /var/db/pkg/local.sqlite. Uważaj, aby nie usunąć tego pliku, w przeciwnym razie system utraci kontrolę nad pakietami, które zostały zainstalowane. Jeśli oprogramowanie ma zależności, pkgwymyśl je i zainstaluj wraz z pakietem podstawowym. Pakiety instalowane jako zależności nazywane są pakietami automatycznymi .

Menedżer pakietów ma możliwość pobierania pakietów przez Internet i zapisywania ich w jednym miejscu na dysku. Pozwala to zainstalować je w innym czasie. Możesz użyć pkg fetchpolecenia, aby pobrać pakiet bez instalowania go:

pkg fetch nginx

To polecenie pobierze tylko Nginx bez jego zależności. Możesz użyć -dflagi, aby pobrać wszystkie zależności, a także nazwany pakiet:

pkg fetch -d nginx

Pakiety są pobierane do katalogu pamięci podręcznej pakietów /var/cache/pkg. Po pobraniu pakietów pkgdodasz je do tego katalogu. Możesz wyświetlić listę plików, aby zobaczyć, co zawiera:

ls /var/cache/pkg

Teraz, aby zainstalować pobrany pakiet po pobraniu, uruchom pkg installnormalnie. Proces instalacji używa buforowanych plików zamiast pobranych.

Z czasem katalog pamięci podręcznej pakietów może się powiększać. pkg cleanKomenda usuwa wszelkie buforowane pakiety, które zostały zastąpione przez nowsze wersje, a także wszelkie pliki, które nie są już w repozytorium:

pkg clean

Jeśli chcesz usunąć wszystkie pakiety z pamięci podręcznej, użyj -aflagi:

pkg clean -a

Jeśli chcesz automatycznie wyczyścić pamięć podręczną pakietu po każdej instalacji lub aktualizacji pakietu, ustaw pkg.confopcję AUTOCLEANna true.

Uzyskiwanie informacji o zainstalowanych pakietach

Jeśli zapomnisz, które pakiety zainstalowałeś w systemie, możesz użyć, pkg infoaby uzyskać pełną listę zainstalowanego oprogramowania:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

Jeśli chcesz uzyskać więcej informacji o zainstalowanym pakiecie, użyj pkg infoi nazwę pakietu. Pokazuje to szczegóły instalacji pakietu w przyjaznym dla człowieka raporcie:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

Możesz zobaczyć wiele przydatnych informacji, takich jak wersja oprogramowania, czas instalacji oprogramowania, licencja na oprogramowanie, flagi czasu kompilacji i inne. Sprawdź pkg-infostronę podręcznika, aby uzyskać szczegółowe informacje.

Usuwanie pakietów

Aby odinstalować pakiety binarne, użyj pkg deletekomendy. Jest również dostępny jako pkg remove:

pkg delete nginx
# or
pkg remove nginx

Otrzymasz listę pakietów do usunięcia i ile miejsca to zwolni.

Jeśli usuniesz pakiet, od którego zależą inne pakiety, pkgusuwa również pakiety zależne.

Blokowanie paczek

Może się zdarzyć, że pakiet na serwerze nigdy nie będzie aktualizowany. Po zablokowaniu pakietu pkgnie można go uaktualnić, obniżyć, odinstalować ani ponownie zainstalować. Stosuje te same reguły do ​​zależności pakietu i programów, od których zależy.

Użyj, pkg lockaby zablokować pakiet:

pkg lock openssl

Ten opensslpakiet jest teraz zamknięty.

Aby wyświetlić listę wszystkich aktualnie zablokowanych pakietów w systemie, użyj -lflagi:

pkg lock -l

Aby usunąć blokadę, użyj pkg unlockpolecenia:

pkg unlock openssl

Aby zablokować lub odblokować wszystkie pakiety jednocześnie, użyj -aflagi:

pkg lock -a
pkg unlock -a

Repozytoria paczek

Obsługiwane są repozytoria pakietów pkg, które są nazywane kolekcjami pakietów. Możesz dodawać, usuwać, włączać i wyłączać repozytoria. Należy skonfigurować każde repozytorium we własnym pliku w formacie UCL. Oficjalne repozytoria FreeBSD należą do /etc/pkgkatalogu. FreeBSD jest dostarczane z włączonym repozytorium „FreeBSD”. Plik konfiguracyjny znajdziesz w /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

W razie potrzeby możesz dodawać i usuwać repozytoria. Jak /etc/pkgjest zarezerwowane dla oficjalnych repozytoriów FreeBSD, będziesz potrzebować innego katalogu. Tradycyjna lokalizacja to /usr/local/etc/pkg/repos. Jeśli chcesz użyć innego katalogu, musisz ustawić lokalizację pkg.confz REPO_DIRSopcją. Lokalny katalog repozytorium domyślnie nie istnieje, więc musisz go utworzyć mkdir -p /usr/local/etc/pkg/repos. Umieść własne konfiguracje repozytorium w tym katalogu.

Przykładowe pkgkomendy

W tej sekcji wymieniono niektóre z najczęściej używanych komend, których najprawdopodobniej będziesz używać podczas administrowania serwerem FreeBSD:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

Ważne pliki i katalogi

  • Plik pkgkonfiguracyjny -/usr/local/etc/pkg.conf
  • Katalog zarezerwowany dla oficjalnych repozytoriów FreeBSD - /etc/pkg
  • Plik repozytorium FreeBSD - /etc/pkg/FreeBSD.conf
  • Tradycyjna lokalizacja niestandardowych repozytoriów - /usr/local/etc/pkg/repos
  • Katalog pamięci podręcznej pakietów - /var/cache/pkg
  • Baza danych SQLite - /var/db/pkg/local.sqlite

streszczenie

FreeBSD zapewnia dwie uzupełniające się technologie instalowania oprogramowania firm trzecich: kolekcję portów FreeBSD, do instalacji ze źródła i pakietów, do instalacji z gotowych plików binarnych. Ponieważ FreeBSD bardziej zdecydowanie przesuwa system w kierunku uniwersalnego zarządzania pakietami, spróbuj w pkgjak największym stopniu zarządzać oprogramowaniem innych firm . Unikaj używania portów, chyba że żądane oprogramowanie nie ma wersji spakowanej lub musisz dostosować opcje czasu kompilacji.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.