Bina Pkg-Repositori Anda Sendiri Dengan Poudriere

Sejak versi 9.2, FreeBSD telah memperkenalkan alat baru untuk menggantikan perintah lama pkg _ * - pkg, juga dikenal sebagai pkgng. Ia sangat serupa dengan Debian aptatau Fedora yumtetapi mempunyai beberapa ciri yang sangat menarik. Salah satunya adalah kemungkinan menggunakan pakej penyimpanan peribadi anda sendiri dengan mudah.

Mengapa anda mahu berbuat demikian? Repositori pkg rasmi dibina dari pokok port FreeBSD dengan pilihan yang sangat terhad. Sebagai contoh, pakej rasmi untuk PHP kekurangan sokongan untuk MySQL. Sebab lain mungkin kerana anda ingin mempunyai dua repositori, satu dengan X11 diaktifkan - untuk desktop anda - dan satu dengan X11 dilumpuhkan - untuk pelayan anda. Terdapat banyak pilihan dan kemungkinan, dan tutorial ini akan menunjukkan kepada anda bagaimana untuk membina repositori anda sendiri dengan Poudriere , alat untuk membuat pakej besar-besaran.

Saya menganggap bahawa anda mempunyai VPS baru dengan FreeBSD 10 x64 terpasang. Pertama sekali, anda memerlukan port-tree pada sistem anda:

cd /usr
portsnap fetch extract

Kemudian, anda perlu memasang Poudriere dari sumber (Pilihan lalai adalah baik!):

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

Seterusnya, buat fail konfigurasi asas:

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

... dan edit mengikut keperluan anda. Berikut adalah permulaan yang baik:

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

Daripada menggunakan portstree biasa sistem anda, Poudriere menggunakan salinannya sendiri. Anda mesti mendapatkannya dengan arahan berikut:

poudriere ports -c

Sekarang, buat penjara untuk pembangun berjalan dalam:

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

Sebelum anda dapat mula membina pakej, anda sebenarnya harus memberitahu Poudriere apa yang harus dibina. Buka editor teks kegemaran anda dan tambahkan beberapa pakej:

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

... dan simpan fail di bawah /usr/local/etc/buildlist. Sekiranya anda tidak mahu pilihan lalai, anda boleh mengkonfigurasi pilihan untuk setiap pakej dalam fail tersebut. Ini dilakukan dengan mengeluarkan arahan berikut:

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

Jika tidak, anda boleh mula membina:

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

Jumlah masa operasi ini akan berbeza-beza berdasarkan kelajuan CPU VPS anda. Setelah proses selesai, bungkusan segar anda dapat dijumpai, disusun mengikut build-jail, di /usr/local/poudriere/data/packages/.

Sekarang, anda memerlukan pelayan web untuk benar-benar memberikan pakej tersebut ke mesin anda yang lain. Saya memilih Nginx kerana ia cekap dan ringan. Pasang melalui port (Pilihan lalai baik!):

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

Setelah proses pemasangan selesai, anda perlu mengkonfigurasi Nginx untuk melayani direktori paket. Untuk melakukannya, edit /usr/local/etc/nginx/nginx.confdengan penyunting teks kegemaran anda:

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

Akhirnya, pastikan pelayan web bermula semasa boot:

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

... dan mulakan pelayan:

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

Kemungkinan dengan Poudriere sangat besar. Anda boleh mengetahui lebih lanjut mengenai Poudriere dengan membaca entri laman web. Sekiranya anda berencana untuk menggunakan penyediaan seperti ini dalam lingkungan produksi, akan menjadi kepentingan terbaik anda untuk membaca tentang penandatanganan pakej, dan mempertimbangkan untuk memastikan sambungan ke pelayan web anda dengan TLS. Tetapi buat masa ini, anda sudah bersedia untuk bergoyang!

Untuk mengaktifkan repositori pada klien, jalankan arahan ini pada mesin pelanggan:

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

Isi myrepo.confdengan kandungan berikut. Anda boleh menggunakan nama apa pun untuk fail ini, dengan syarat ia mempunyai .confakhiran.

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

Seterusnya, kemas kini pangkalan data pakej dengan arahan:

pkg update

Anda kini boleh memasang pakej dari repositori baru anda!



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut