FreeBSD 12de Pkg Paket Yöneticisi Nasıl Kullanılır

Giriş

FreeBSD, modern sunuculara, masaüstlerine ve gömülü platformlara güç sağlamak için kullanılan açık kaynaklı Unix benzeri bir işletim sistemidir. Netflix, Yahoo !, WhatsApp, BBC ve Sony gibi devler bir şekilde FreeBSD kullanıyor. FreeBSD sistemi Linux kadar yaygın olarak bilinmemektedir, çünkü Linux yıllarca Masaüstüne odaklanmıştır ve FreeBSD projesi daha fazla sunucu tabanlı olma eğilimindedir.

Bu kılavuzda, FreeBSD 12'de paket yönetimi hakkında bilgi edineceksiniz.

Limanlar ve Paketler

FreeBSD'de eklenti yazılımı kurmanın iki farklı yolu vardır: Bağlantı Noktaları Koleksiyonu veya Bağlantı Noktaları aracılığıyla ve yazılımı yüklemek ve yönetmek için önceden yapılandırılmış paketler aracılığıyla .

Ports, FreeBSD üzerinde ek yazılım oluşturmak için kullanılan bir sistemdir. Bağlantı Noktaları ile yazılım satıcısı tarafından sağlanan ham kaynak koduyla başlar ve yazılımı tam olarak ihtiyacınız olan şekilde oluşturur, özellikleri istediğiniz gibi etkinleştirir ve devre dışı bırakır.

Paketler önceden derlenmiş bir yazılımdır ve bağlantı noktası oluşturucunun, bağlantı noktası koruyucusunun çok çeşitli insanlar için en yararlı olacağını düşündüğü seçenekleri kullanarak ve bunları kolayca yüklenebilmeleri için bir pakette paketlediklerinin sonucudur. Paketler, eklenti yazılımını hızlı bir şekilde yüklemenizi, kaldırmanızı ve yükseltmenizi sağlar. FreeBSD'nin paketleme sistemine paket adı verilir veya pkg. Paket bilgileri, paket verileri hakkında sorgulayabileceğiniz bir SQLite veritabanında depolanır.

FreeBSD paket yönetimi ile ilgili bir diğer önemli şey paket ikili dosyalarının yeridir. Paketler ikilileri altına yükler /usr/localve çoğu yapılandırma dosyası bunun /usr/local/etcyerine sonuçlanır /etc. Linux dünyasından geliyorsanız bunu çok nadir bulabilirsiniz.

FreeBSD paket yöneticisi, pkg

Geleneksel FreeBSD paket yönetim araçları için yeni nesil yedek pkg. İkili paketlerle uğraşmayı daha hızlı ve daha kolay hale getiren birçok özellik sunmak pkg, FreeBSD'nin temel sistemine zaten dahil olmayan yazılımları yüklemenin en kolay yoludur. Paketlerin yüklenmesi, kaldırılması ve araştırılması gibi paketlerde hemen hemen her işlem için kullanacağınız birçok alt komut içeren tek bir programdır. Tüm paket işlemleri ve değişiklikleri, olarak rootveya üzerinden gerçekleştirilmelidir sudo.

curlPaketi FreeBSD'ye nasıl kuracağınız aşağıda açıklanmıştır :

pkg install curl

Yazılımı yüklerken sorudan -ykaçınmak için komutu besleyebilir Proceed with this action? [y/N]:veya pkgher zaman -ybir yapılandırma dosyasında varsaymayı yapılandırabilirsiniz.

Paketi kaldırmak için şunu kullanırsınız delete:

pkg delete curl

Gördüğünüz gibi, çok basit ve sezgisel.

Kullanım pkg helpmevcut alt komutlarının bir hızlı başvuru için, ya pkg help <subcommand>belli bir alt komutuyla manuel sayfasını görüntülemek için:

pkg help
pkg help install
pkg help delete

yükleme pkg

FreeBSD'nin stok sürümü, pkgpaket yöneticisi kurulu olarak gönderilmez. İlk olarak bir paket kurmaya çalıştığınızda pkg, paket yönetim aracını kurmanızı ister. Örneğin, yeni FreeBSD'nize yüklemek istediğiniz ilk paketin olduğunu wgetve terminalinizde aşağıdaki istemi göreceğinizi varsayalım:

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

Vuracaksınız Yve ENTERpaket yönetim aracı kurulumu başlayacak. Yerleştirildikten sonra, yüklemek istediğiniz ilk yazılım paketi ( wget) yüklenecektir.

Ayrıca, paketleme sistemini başka paketler eklemeden, kendi başına kurabilirsiniz pkg bootstrap. Ayrıca, pkgkendini ve diğer paketleri nasıl yükleyeceğinizi ve güncelleyeceğini bilir.

NOT: Vultr örnekleri pkgvarsayılan olarak yüklenmiştir, bu yüzden yüklemenize gerek yoktur.

yapılandırma pkg

pkgProgram birçok seçenek olan her alt komutuyla, son derece esnek olacak şekilde tasarlanmıştır. İçin sistem genelinde yapılandırma dosyası pkgbulunan çoğu program için özelleştirilmiş, ancak tutarlı davranış oluşturabilirsiniz /usr/local/etc/pkg.conf.

Dosya için açıklanmış varsayılanlar içeriyor pkg. Sadece bu dosyayı okuyarak, nasıl pkgdavrandığı hakkında çok şey öğrenebilirsiniz . Yapılandırma evrensel yapılandırma dilinde (UCL) yazılmıştır ve çok sayıda yorumlanmış yapılandırma seçeneği ve birkaç takma ad vardır. Değişkenler bir tamsayı, bir dize veya bir Boolean değerine ayarlanabilir:

#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;
. . .

pkgİçindeki alt komutlar için diğer adlar tanımlayabilirsiniz pkg.conf. Altında, pkg.confetiketli bir bölüm bulacaksınız ALIAS. Kendinizi tekrar tekrar karmaşık komutlar çalıştırırken bulduğunuzda, diğer adlar eklemelisiniz.

Dosya formatı ve seçenekler hakkında daha fazla bilgi için pkg.conf(5)kılavuz sayfasına bakabilirsiniz :

man pkg.conf

Paketleri bulma

Yüklü bir paket yöneticiniz olduğuna göre, paketleri yükleyebilirsiniz. Bir sys-admin iseniz, farklı işletim sistemlerinin aynı yazılımın paketlenmiş sürümlerine farklı adlar atadığı gerçeğini biliyorsunuzdur. Örneğin, FreeBSD'deki Apache web sunucusu için bir paket, farklı Linux dağıtımlarındaki paketlenmiş Apache'den tamamen farklı bir ada sahip olacaktır. Bu nedenle, herhangi bir şey yüklemeden önce, yüklemek istediğiniz paketin adının ne olduğunu bulmanız gerekir.

FreeBSD Projesi halka açık bir depoda birkaç paket seti sunar ve bunlar birkaç günde bir güncellenir. Şu anda 25.000'den fazla paket var.

Örneğin, Apache web sunucusunu aramaya çalışalım:

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

İle birlikte tüm paketleri bulacaktır apache. Bu uzun bir liste döndürür, ancak aradığınız şey apache24pakettir. Her paketin kısa bir açıklaması vardır. Bu, hangi paketi kuracağınıza karar verirken size yardımcı olacaktır, ancak her zaman basit değildir.

Bazı aramalar yüzlerce sonuç üretebilir. Arama sonuçlarını kırpmak veya ayarlamak için farklı komut satırı seçenekleri kullanmanız gerekir. Genel arama seçenekleri hakkında daha fazla bilgi edinmek için pkg-searchkılavuz sayfasına veya yardım sayfasına bakın pkg help search.

Bir paketin gerçekten istediğiniz şey olup olmadığından emin değilseniz, paketin ayrıntılarını aramak için aşağıdaki komutu kullanabilirsiniz:

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"
# . . .
# . . .

Bu komut size paket hakkında birçok faydalı bilgi verecektir.

Paketleri yükleme

Yazılım yüklemek için, installalt komutunu ve yüklenecek paketin adını kullanın:

pkg install apache24

İle Eğer paketleri yüklediğinizde pkg install, pkgyerel paket katalog danışır, o zaman en deposundan istenen paket indirir pkg.FreeBSD.org. Paket yüklendikten sonra, saklanan bir SQLite veritabanına kaydedilir /var/db/pkg/local.sqlite. Bu dosyayı silmemeye dikkat edin, aksi takdirde sisteminiz hangi paketlerin kurulu olduğunu takip etmez. Yazılımın bağımlılıkları varsa, pkgbunları anlayacak ve temel paketle birlikte yükleyecektir. Bağımlılık olarak yüklenen paketlere otomatik paketler denir .

Paket yöneticisi, paketleri sadece internet üzerinden indirme ve diskte tek bir konuma kaydetme yeteneğine sahiptir. Bu, onları başka bir zamanda yüklemenizi sağlar. pkg fetchPaketi yüklemeden paketi indirmek için komutu kullanabilirsiniz :

pkg fetch nginx

Bu komut bağımlılıkları olmadan sadece Nginx'i getirecektir. Sen kullanabilirsiniz -dtüm bağımlılıkları yanı sıra adlandırılan paket kapmak için bayrak:

pkg fetch -d nginx

Paketler, paket önbellek dizinine indirilir /var/cache/pkg. Paketleri getirdikten sonra, pkgbunları bu dizine ekler. İçeriğini görmek için dosyaları listeleyebilirsiniz:

ls /var/cache/pkg

Şimdi, indirilen bir paketi getirme işleminden sonra yüklemek için pkg installnormal şekilde çalıştırın . Yükleme işlemi, indirilenler yerine önbelleğe alınan dosyaları kullanır.

Zamanla, paket önbellek dizini büyüyebilir. pkg cleanKomut yeni versiyonlarıyla değiştirilmiştir olan tüm önbelleğe alınmış paketleri, hem de depoda artık hiçbir paket dosyalarını kaldırır:

pkg clean

Önbelleğe alınan tüm paketleri kaldırmak istiyorsanız -abayrağı kullanın :

pkg clean -a

Her paketin yüklenmesinden veya yükseltilmesinden sonra paket önbelleğini otomatik olarak temizlemek istiyorsanız, pkg.confseçeneği AUTOCLEANolarak ayarlayın true.

Kurulu paketler hakkında bilgi edinme

Bir sisteme hangi paketleri yüklediğinizi unutursanız pkg info, yüklü yazılımların tam bir listesini elde etmek için kullanabilirsiniz :

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
# . . .
# . . .

Yüklü bir paket hakkında daha fazla bilgi istiyorsanız, öğesini pkg infove paket adını kullanın . Bu, paket kurulum ayrıntılarını insan dostu bir raporda gösterir:

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

Yazılımın sürümü, yazılım yükleme zamanı, yazılım lisansı, derleme zamanı bayrakları ve daha fazlası gibi birçok yararlı bilgi görebilirsiniz. Kontrol pkg-infotüm ayrıntılar için man sayfalarına.

Paketleri kaldırma

İkili paketleri kaldırmak için pkg deletealt komutunu kullanın . Ayrıca şu şekilde de mevcuttur pkg remove:

pkg delete nginx
# or
pkg remove nginx

Kaldırılacak paketlerin bir listesini ve bunun ne kadar yer açacağını göreceksiniz.

Diğer paketlerin bağımlı olduğu bir paketi pkgkaldırırsanız, bağlı paketleri de kaldırır.

Kilit paketleri

Sunucunuzdaki bir paketin asla yükseltilmemesini istediğiniz bir zaman olabilir. Bir paketi kilitlediğinizde, pkgyükseltmez, düşürmez, kaldırmaz veya yeniden yüklemezsiniz. Aynı kuralları paketin bağımlılıklarına ve bağlı olduğu programlara da uygular.

pkg lockBir paketi kilitlemek için kullanın :

pkg lock openssl

Bu opensslpaket şimdi kilitlendi.

Sistemde şu anda kilitli olan tüm paketleri listelemek için şu -lbayrağı kullanın :

pkg lock -l

Kilidi kaldırmak için şu pkg unlockkomutu kullanın:

pkg unlock openssl

Sistemdeki tüm paketleri bir kerede kilitlemek veya kilidini açmak için -abayrağı kullanın :

pkg lock -a
pkg unlock -a

Paket depoları

Paket depoları olarak pkgadlandırılan paket depoları tarafından desteklenir . Havuz ekleyebilir, kaldırabilir, etkinleştirebilir ve devre dışı bırakabilirsiniz. Her havuzu UCL biçimini kullanarak kendi dosyasında yapılandırmalısınız. Resmi FreeBSD depoları /etc/pkgdizine aittir . FreeBSD, "FreeBSD" etkin repo ile birlikte gelir. Yapılandırma dosyasını şu konumda bulabilirsiniz /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
}

Depoları gerektiği gibi ekleyebilir ve kaldırabilirsiniz. Gibi /etc/pkgresmi FreeBSD depoları için ayrılmıştır, başka bir dizin gerekir. Geleneksel konumdur /usr/local/etc/pkg/repos. Farklı bir dizin kullanmak istiyorsanız pkg.conf, REPO_DIRSseçenekle bir konum ayarlamanız gerekir . Yerel depo dizini varsayılan olarak mevcut olmadığından, dizini ile oluşturmanız gerekir mkdir -p /usr/local/etc/pkg/repos. Kendi dizin yapılandırmalarınızı bu dizine koyun.

Örnek pkgalt komutlar

Bu bölümde, FreeBSD sunucusunu yönetirken büyük olasılıkla kullanacağınız en sık kullanılan alt komutlar listelenecektir:

# 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

Önemli dosyalar ve dizinler

  • pkgYapılandırma dosyası -/usr/local/etc/pkg.conf
  • Resmi FreeBSD depoları için ayrılmış dizin - /etc/pkg
  • FreeBSD veri havuzu dosyası - /etc/pkg/FreeBSD.conf
  • Özel depolar için geleneksel konum - /usr/local/etc/pkg/repos
  • Paket önbellek dizini - /var/cache/pkg
  • SQLite veritabanı - /var/db/pkg/local.sqlite

özet

FreeBSD, üçüncü taraf yazılımı yüklemek için iki tamamlayıcı teknoloji sunar: FreeBSD Bağlantı Noktaları Koleksiyonu, kaynak ve paketlerden yükleme için, önceden oluşturulmuş ikili dosyalardan yükleme için. FreeBSD, sistemi evrensel paket yönetimine daha kararlı bir şekilde kaydırdığından, üçüncü taraf yazılımları pkgmümkün olduğunca yönetmeye çalışın . İstediğiniz yazılımın paketlenmiş sürümü yoksa veya derleme zamanı seçeneklerini özelleştirmeniz gerekmedikçe bağlantı noktalarını kullanmaktan kaçının.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun