GNU/Linux >> Belajar Linux >  >> FreeBSD

Menggunakan Portsnap untuk Memperbarui Koleksi Pohon Port FreeBSD

Portsnap adalah sistem alternatif untuk mendistribusikan dan memperbarui struktur port FreeBSD dengan aman, yang lebih mudah digunakan daripada CVSup. Portsnap pertama kali disertakan dalam FreeBSD 6.0. Seperti CVSup, Portsnap menggunakan model tarik pembaruan:Pohon port yang dikemas dan ditandatangani ditempatkan di server web yang menunggu secara pasif bagi klien untuk meminta file dengan menjalankan portsnap secara manual oleh pengguna atau mengatur tugas cron untuk mengunduh pembaruan secara otomatis pada secara teratur.

Pada sistem FreeBSD yang lebih lama, Portsnap tidak disertakan secara otomatis, tetapi dapat diinstal dari port sysutils/portsnap dengan menggunakan perintah:

# pkg_add -r portsnap

Portsnap pertama mengambil dan memperbarui snapshot kompres dari pohon port FreeBSD yang disimpan di /var/db/portsnap/ (di /usr/local/portsnap/ jika Portsnap diinstal dari Koleksi Port FreeBSD) secara default, dan kemudian hanya mengekstrak dan memperbarui file yang tidak terkompresi pohon port langsung di /usr/ports.

Perilaku dan operasi Portsnap dikendalikan oleh file konfigurasi portsnap.conf yang terletak di /etc (di /usr/local/etc/ jika Portsnap diinstal dari Koleksi Port FreeBSD, dan file konfigurasi tidak dibuat secara otomatis ketika baru diinstal, sebagai gantinya Anda akan menemukan portsnap.conf.sample, salin saja sebagai portsnap.conf). Umumnya, file konfigurasi default akan melakukan tugasnya.

Pada baris perintah, opsi berikut didukung, meskipun sebagian besar waktu tidak perlu digunakan, beberapa dapat dikonfigurasi dalam file konfigurasi itu sendiri:

-d workdir :Menyimpan file yang berfungsi (mis. pembaruan yang diunduh) di workdir. (default:/var/db/portsnap, atau seperti yang diberikan dalam file konfigurasi)

-f conffile :Baca konfigurasi dari dari conffile. (default:/etc/portsnap.conf)

-I :Untuk perintah pembaruan, perbarui file INDEX, tetapi bukan pohon port lainnya.

-k KEY :Harapkan kunci publik dengan hash SHA256 yang diberikan. (default:membaca nilai dari file konfigurasi)

-p portsdir :Saat mengekstrak atau memperbarui snapshot yang tidak terkompresi, operasikan pada direktori portsdir. (default:/usr/ports/, atau seperti yang diberikan dalam file konfigurasi.)

-s server :Ambil file dari server atau kumpulan server yang ditentukan. (default:portsnap.FreeBSD.org , atau seperti yang diberikan dalam file konfigurasi.)

path :Untuk perintah ekstrak saja, operasikan hanya pada bagian dari pohon port yang dimulai dengan path. (mis. portsnap sysutils/port akan mengekstrak sysutils/portsman, sysutils/portsnap, sysutils/portupgrade, dll.)

Sinopsis untuk baris perintah Portsnap adalah:

portsnap [-I] [-d workdir] [-f conffile] [-k KEY] [-p portsdir] [-s server] perintah ... [path]

Penggunaan Portsnap

  1. Buat direktori kosong /usr/ports jika tidak ada.
    # mkdir /usr/ports
  2. Ambil dan unduh snapshot terkompresi dari Koleksi Ports ke /var/db/portsnap (atau lokasi lain yang ditentukan dalam file konfigurasi). Koneksi internet diperlukan pada tahap ini) dan perbarui snapshot yang ada.
    # portsnap fetch
  3. Jika Anda menjalankan Portsnap untuk pertama kalinya (bahkan jika pohon port telah dibuat atau diisi, untuk membiarkan Portsnap menetapkan garis dasar dari mana portsnap dapat menentukan bagian mana dari pohon port yang perlu diperbarui) atau /usr /ports belum diisi, ekstrak snapshot dan ganti file dan direktori yang ada, dan buat pohon port yang dipelihara Portsnap ke /usr/ports:
    # portsnap extract

    Langkah ini dapat dilewati jika Anda hanya memperbarui struktur port.

  4. Jika Anda sudah memiliki /usr/ports yang terisi dan Anda baru saja memperbarui, jalankan perintah berikut sebagai gantinya:
    # portsnap update

Catatan:Untuk memperbarui Pohon Port FreeBSD, langkah 1 dan 3 dapat digabungkan menjadi satu perintah:portsnap fetch update (tidak mendukung Portsnap versi lama).

Menjalankan Portsnap sebagai Cron Job

pengambilan portnap tidak akan dapat dijalankan dari tugas cron untuk menghindari beban permintaan pengunduhan yang tiba-tiba melonjak ke server Portsnap. Sebagai gantinya, ada perintah portsnap cron khusus, yang menunggu dan tidur selama durasi acak hingga 3600 detik sebelum mengambil pembaruan, seolah-olah perintah fetch telah ditentukan.

Untuk menjalankan portsnap secara otomatis dengan cron job, cukup tambahkan baris ke /etc/crontab (baris mengatur waktu ke 3 pagi setiap hari, Anda dapat memilih waktu Anda sendiri):

0 3 * * * root /usr/sbin/portsnap cron

Ini akan memastikan bahwa snapshot koleksi port FreeBSD selalu terbaru dan dapat dengan cepat diekstraksi ke /usr/ports.

Catatan:Menjalankan portsnap update from cron tidak disarankan karena dapat menyebabkan masalah jika menginstal atau memperbarui port terjadi pada saat cron job berjalan. Portsnap akan memperbarui atau menghapus file yang sedang digunakan oleh port build. Namun, menjalankan portsnap -I update untuk memperbarui port File indeks dimungkinkan, dan dapat digunakan bersama dengan versi port untuk mengidentifikasi perangkat lunak yang diinstal yang kedaluwarsa.

Untuk memperbarui snapshot terkompresi port dan file INDEX di /usr/ports/, dan mengirim email jika ada port yang diinstal kedaluwarsa, gunakan baris berikut di /etc/crontab:

0 3 * * * root portsnap -I cron update && pkg_version -vIL=

Catatan:Portsnap versi lama tidak mendukung daftar beberapa perintah (mis., pembaruan cron) dalam pemanggilan portsnap yang sama. Jika baris di atas gagal, coba ganti portsnap -I cron update dengan portsnap cron &&portsnap -I update .


FreeBSD
  1. Cara Memeriksa Port Jarak Jauh Dapat Dicapai Menggunakan Perintah 'nc'

  2. Freebsd – Bagaimana Cara Mengekspor Folder Ke Subnet Menggunakan Nfs Di Freebsd 9.0?

  3. Cara Membuka Port di Ubuntu dan CentOS menggunakan IPtables

  1. 15 'Contoh Perintah Sockstat' yang Berguna untuk Menemukan Port Terbuka di FreeBSD

  2. Cara Memantau Switch dan Port Jaringan Menggunakan Nagios

  3. Cara memperbarui Perangkat Lunak Linux Ubuntu Menggunakan Command Line

  1. Panduan Instalasi FreeBSD 11.1

  2. Cara memperbarui/meningkatkan Debian/Ubuntu Linux menggunakan Ansible

  3. Cara mengubah alamat situs WordPress di phpmyadmin menggunakan SQL