Zbuduj własne repozytorium Pkg z Poudriere

Od wersji 9.2 FreeBSD wprowadziło nowe narzędzie, które zastępuje stare polecenia pkg _ * - polecenia - pkg, znane również jako pkgng. Jest bardzo podobny do Debiana aptlub Fedory, yumale ma kilka bardzo fajnych funkcji. Jedną z nich jest możliwość łatwego korzystania z własnego, prywatnego repozytorium pakietów.

Dlaczego chcesz to zrobić? Oficjalne repozytoria pkg są zbudowane z drzewa portów FreeBSD z bardzo ograniczonym zestawem opcji. Na przykład oficjalny pakiet PHP nie obsługuje MySQL. Innym powodem może być chęć posiadania dwóch repozytoriów, jednego z włączonym X11 - na pulpicie - i drugiego z wyłączonym X11 - dla serwerów. Istnieje wiele opcji i możliwości, a ten samouczek pokaże, jak zbudować własne repozytorium za pomocą Poudriere , narzędzia do masowej budowy pakietów.

Zakładam, że masz świeżą VPS z zainstalowanym FreeBSD 10 x64. Przede wszystkim potrzebujesz drzewa portów w swoim systemie:

cd /usr
portsnap fetch extract

Następnie musisz zainstalować Poudriere ze źródła (domyślne opcje są w porządku!):

cd /usr/ports/ports-mgmt/poudriere
make install clean

Następnie utwórz podstawowy plik konfiguracyjny:

cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf

... i edytuj go zgodnie z własnymi potrzebami. Oto dobry początek:

FREEBSD_HOST=http://ftp.freebsd.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
POUDRIERE_DATA=$/data
USE_PORTLINT=no
USE_TMPFS=yes
DISTFILES_CACHE=/usr/ports/distfiles
CHECK_CHANGED_DEPS=yes
# Edit this according to your VPS' CPU.
PARALLEL_JOBS=1
NOLINUX=yes

Zamiast korzystać ze zwykłego portu twojego systemu, Poudriere używa własnej kopii. Musisz go uzyskać za pomocą następującego polecenia:

poudriere ports -c

Teraz stwórz więzienie dla konstruktora do działania w:

poudriere jail -c -j testjail -v 10.0-RELEASE -a amd64

Zanim zaczniesz budować pakiety, będziesz musiał powiedzieć Poudriere, co powinien zbudować. Otwórz swój ulubiony edytor tekstu i dodaj kilka pakietów:

www/firefox
im/pidgin
sysutils/tmux
editors/vim

... i zapisz plik pod /usr/local/etc/buildlist. Jeśli nie chcesz domyślnych opcji, możesz skonfigurować opcje dla każdego pakietu w tym pliku. Odbywa się to poprzez wydanie następującego polecenia:

poudriere options -cf /usr/local/etc/buildlist

W przeciwnym razie możesz zacząć budować:

poudriere bulk -f /usr/local/etc/buildlist -j testjail

Czas potrzebny na wykonanie tej operacji będzie się różnić w zależności od szybkości procesora VPS. Po zakończeniu procesu możesz znaleźć nowe pakiety posortowane według build-jail w /usr/local/poudriere/data/packages/.

Teraz potrzebujesz serwera, aby faktycznie obsługiwać te pakiety na innych komputerach. Wybrałem Nginx, ponieważ jest wydajny i lekki. Zainstaluj go przez porty (domyślne opcje są w porządku!):

cd /usr/ports/www/nginx
make install clean

Po zakończeniu instalacji musisz skonfigurować Nginx do obsługi katalogu pakietów. Aby to zrobić, edytuj za /usr/local/etc/nginx/nginx.confpomocą swojego ulubionego edytora tekstu:

server {
    listen       80;
    server_name  localhost;
    root /usr/local/poudriere/data/packages/testjail-default;
    location / {
            autoindex on;
    }
}

Na koniec upewnij się, że serwer WWW uruchamia się przy rozruchu:

echo "nginx_enable=YES" >> /etc/rc.conf

... i uruchom serwer:

/usr/local/etc/rc.d/nginx start

Możliwości Poudriere są ogromne. Możesz dowiedzieć się więcej o Poudriere, czytając wpis na stronie podręcznika. Jeśli planujesz używać takiej konfiguracji w środowisku produkcyjnym, w twoim najlepszym interesie będzie również przeczytanie o podpisywaniu pakietów i rozważenie zabezpieczenia połączenia z serwerem WWW za pomocą TLS. Ale na razie jesteś gotowy na rock!

Aby aktywować repozytorium na kliencie, uruchom następujące polecenia na komputerze klienckim:

mkdir -p /usr/local/etc/repos
vi /usr/local/etc/repos/myrepo.conf

Wypełnij myrepo.confnastępującą treścią. Możesz użyć dowolnej nazwy dla tego pliku, pod warunkiem, że ma on .confprzyrostek.

poudriere: {
  url: "http://yoururl"
  mirror_type: "http",
  enabled: yes
}

Następnie zaktualizuj bazę danych pakietów za pomocą polecenia:

pkg update

Możesz teraz instalować pakiety z nowego repozytorium!



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.