Ana içeriğe geç

Ubuntu Paket Yönetimi

Ubuntu, yazılımı yüklemek, yükseltmek, yapılandırmak ve kaldırmak için kapsamlı bir paket yönetim sistemine sahiptir. Ubuntu bilgisayarınız için 60.000'den fazla yazılım paketinden oluşan organize bir tabana erişim sağlamanın yanı sıra, paket yönetimi olanakları aynı zamanda bağımlılık çözümleme yetenekleri ve yazılım güncelleme denetimi de içerir.

Sistem yöneticileri tarafından kolayca otomatikleştirilebilen basit komut satırı araçlarından Ubuntu'da yeni olanlar tarafından kullanımı kolay bir grafik arayüze kadar, Ubuntu'nun paket yönetim sistemiyle etkileşim kurmak için çeşitli araçlar mevcuttur.

Giriş

Ubuntu'nun paket yönetim sistemi, Debian GNU / Linux dağıtımı tarafından kullanılan aynı sistemden türetilmiştir. Paket dosyaları, Ubuntu bilgisayarınızda belirli bir işlevi veya yazılım uygulamasını uygulamak için gerekli tüm dosyaları, meta verileri ve talimatları içerir.

Debian paket dosyaları tipik olarak .deb uzantısına dahiptir ve genellikle çevrimiçi olarak veya CD-ROM diskleri gibi fiziksel ortamda bulunan paket koleksiyonları olan havuzlarda bulunur. Paketler normalde önceden derlenmiş ikili formattadır; bu nedenle kurulum hızlıdır ve yazılımın derlenmesini gerektirmez.

Çoğu paket bağımlılıklar kullanır . Bağımlılıklar, düzgün çalışması için ana paketin gerektirdiği ek paketlerdir.

APT

Apt komutu, Ubuntu'nun Gelişmiş Paketleme Aracı (APT) ile çalışan, yeni yazılım paketlerinin yüklenmesi, mevcut yazılım paketlerinin yükseltilmesi, paket listesi dizininin güncellenmesi ve hatta tüm Ubuntu'nun yükseltilmesi gibi işlevleri yerine getiren güçlü bir komut satırı aracıdır.

Apt yardımcı programının bazı popüler kullanım örnekleri:

  • Bir Paket Kurun: apt aracını kullanarak paketlerin kurulumu oldukça basittir. Örneğin, nmap ağ tarayıcısını kurmak için aşağıdakileri yazın:
sudo apt install nmap
  • Bir Paketi Kaldırma: Bir paketin (veya paketlerin) çıkarılması da kolaydır. Önceki örnekte kurulu paketi kaldırmak için aşağıdakileri yazın:
sudo apt remove nmap

Info

Çoklu Paketler: Yüklenecek veya kaldırılacak, boşluklarla ayrılmış birden fazla paket belirtebilirsiniz.

Ayrıca, --purge seçeneğinin eklenmesi apt remove paket yapılandırma dosyalarını da kaldıracaktır. Bu, istenen etki olabilir veya olmayabilir, bu nedenle dikkatli kullanın.

  • Paket Dizinini Güncelleyin: APT paket dizini, esas olarak /etc/apt/sources.list dosyada ve /etc/apt/sources.list.d dizinde tanımlanan depolardan mevcut paketlerin bir veritabanıdır. Yerel paket dizinini depolarda yapılan son değişikliklerle güncellemek için aşağıdakileri yazın:
sudo apt update
  • Paketleri Yükseltme: Zamanla, bilgisayarınızda halihazırda yüklü olan paketlerin güncellenmiş sürümleri, paket depolarından (örneğin güvenlik güncellemeleri) kullanılabilir hale gelebilir. Sisteminizi yükseltmek için, önce paket dizininizi yukarıda belirtildiği gibi güncelleyin ve ardından şunu yazın:
sudo apt upgrade

Paketlerin yüklenmesi ve kaldırılması gibi apt komutunun eylemleri, /var/log/dpkg.log günlük dosyasına kaydedilir.

APT kullanımı hakkında daha fazla bilgi için şunu yazın:

apt help

dpkg

dpkg, Debian tabanlı sistemler için bir paket yöneticisidir . Paketleri kurabilir, kaldırabilir ve oluşturabilir, ancak diğer paket yönetim sistemlerinden farklı olarak paketleri veya bunların bağımlılıklarını otomatik olarak indirip yükleyemez. Apt ve Aptitude daha yeni ve dpkg üzerine ek özellikler katıyor. Bu bölüm, yerel olarak kurulan paketleri yönetmek için dpkg kullanmayı kapsar:

Sistemin paket veritabanındaki tüm paketleri, kurulu ve kaldırılmış tüm paketler dahil olmak üzere, bir terminal bilgi istemi türünden listelemek için:

dpkg -l

Sisteminizdeki paketlerin sayısına bağlı olarak bu, büyük miktarda çıktı oluşturabilir. Belirli bir paketin kurulu olup olmadığını görmek için çıktıyı grep aracılığıyla yönlendirin:

dpkg -l | grep apache2

Bir dosyayı hangi paketin yüklediğinden emin değilseniz, dpkg -S size söyleyebilir. Örneğin:

dpkg -S /etc/host.conf 
base-files: /etc/host.conf

Üstteki Çıktı, /etc/host.conf'un temel dosya paketine ait olduğunu gösterir.

Info

Paket yükleme işlemi sırasında birçok dosya otomatik olarak oluşturulur ve dosya sisteminde bulunsalar bile dpkg -Shangi pakete ait olduklarını bilemeyebilirler.

Bir .deb dosyasını aşağıdaki gibi kurabilirsiniz

sudo dpkg -i zip_3.0-4_amd64.deb

Bir paketin kaldırılması şu şekilde gerçekleştirilebilir:

sudo dpkg -r zip

Warning

Dpkg kullanarak paketleri kaldırma, çoğu durumda önerilmez. Sistemin tutarlılığını korumak için bağımlılıkları yöneten bir paket yöneticisi kullanmak daha iyidir. Örneğin dpkg -r zip kullanmak zip paketini kaldırır, ancak ona bağlı olan tüm paketler yinede kurulu kalır ve artık düzgün çalışmayabilirler.

Info

Daha fazla dpkg seçenekleri için: man dpkg

APT Yapılandırması

Advanced Packaging Tool (APT) sistem havuzlarının konfigürasyonu, /etc/apt/sources.list dosya ve /etc/apt/sources.list.d dizinde saklanır.

Depoları etkinleştirmek veya devre dışı bırakmak için dosyayı düzenleyebilirsiniz. Örneğin, paket işlemleri gerçekleştiğinde Ubuntu CD-ROM'unu yerleştirme gerekliliğini devre dışı bırakmak için, dosyanın üstünde görünen CD-ROM için uygun satırı yorumlamanız(Başına diyez işareti ekleyin) yeterlidir:

# no more prompting for CD-ROM please
# deb cdrom:[DISTRO-APT-CD-NAME - Release i386 (20111013.1)]/ DISTRO-SHORT-CODENAME main restricted

Ekstra Depolar

Ubuntu için resmi olarak desteklenen paket depolarına ek olarak, olası kurulum için binlerce paket ekleyen topluluk tarafından korunan ek depolar da vardır. En popüler iki tanesi evren ve çoklu evren depolarıdır. Bu depolar resmi olarak Ubuntu tarafından desteklenmez, ancak topluluk tarafından yönetildikleri için genellikle Ubuntu bilgisayarınızla kullanım için güvenli olan paketleri sağlarlar.

Note

Çoklu evreli depodaki paketler genellikle ücretsiz bir işletim sistemiyle dağıtılmalarını engelleyen lisans sorunlarına sahiptir ve bulunduğunuz yerde yasa dışı olabilirler.

Warning

Ne tavsiye edilebilir evren veya çoklu evren depoları resmen desteklenen paketleri içermektedir. Özellikle, bu paketler için güvenlik güncellemeleri olmayabilir.

Tek bir uygulamanın geliştiricisi tarafından sağlanan paket kaynaklarında olduğu gibi, bazen yalnızca bir paket sunan birçok başka paket kaynağı da mevcuttur. Bununla birlikte, standart olmayan paket kaynakları kullanırken her zaman çok dikkatli ve tedbirli olmalısınız. Herhangi bir kurulum gerçekleştirmeden önce kaynağı ve paketleri dikkatlice araştırın, çünkü bazı paket kaynakları ve bunların paketleri sisteminizi bazı açılardan kararsız veya işlevsiz kılabilir.

Varsayılan olarak, evren ve çoklu evren havuzları etkindir, ancak bunları devre dışı bırakmak isterseniz /etc/apt/sources.list aşağıdaki satırları düzenleyin ve yorumlayın:

deb http://archive.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME universe multiverse
deb-src http://archive.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME universe multiverse

deb http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME universe
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME universe
deb http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-updates universe

deb http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME multiverse
deb http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-updates multiverse

deb http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-security universe
deb-src http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-security universe
deb http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-security multiverse
deb-src http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-security multiverse

Otomatik güncellemeler

Katılımsız yükseltme paketi, güncellenmiş paketleri otomatik olarak yüklemek için kullanılabilir ve tüm paketleri güncellemek veya yalnızca güvenlik güncellemelerini yüklemek için yapılandırılabilir. Öncelikle, aşağıdakileri bir terminale girerek paketi kurun:

sudo apt install unattended-upgrades

Katılımsız yükseltmeleri yapılandırmak için /etc/apt/apt.conf.d/50unattended-upgrades, aşağıdakileri düzenleyin ve ihtiyaçlarınıza uyacak şekilde ayarlayın:

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

Bazı paketler de kara listeye alınabilir ve bu nedenle otomatik olarak güncellenmez. Bir paketi kara listeye almak için listeye ekleyin:

Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

Info

İkili "//" yorum görevi görür, bu nedenle "//" nin ardından gelen her şey değerlendirilmeyecektir.

Otomatik güncellemeleri etkinleştirmek /etc/apt/apt.conf.d/20auto-upgrades için uygun apt yapılandırma seçeneklerini düzenleyin ve ayarlayın:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Yukarıdaki yapılandırma paket listesini günceller, her gün mevcut yükseltmeleri indirir ve yükler. Yerel indirme arşivi her hafta temizlenir. Ubuntu'nun daha yeni sürümlerine yükseltilen sunucularda, yanıtlarınıza bağlı olarak yukarıda listelenen dosya orada olmayabilir. Bu durumda, bu isimde yeni bir dosya oluşturmak da işe yaramalıdır.

Info

Katılımsız yükseltmelerin sonuçları günlüğe kaydedilir /var/log/unattended-upgrades

Otomatik Güncelleme Bildirimi

Yapılandırma Unattended-Upgrade::Mail, /etc/apt/apt.conf.d/50unattended-upgrades gözetimsiz yükseltmelerin, yükseltilmesi gereken veya sorunlu tüm paketleri ayrıntılı olarak bir yöneticiye e-posta ile göndermesini sağlar.

Bir başka kullanışlı paket ise apticron. apticron, sistemdeki mevcut güncellemeleri olan paketler hakkında yöneticiye bilgi ve her paketteki değişikliklerin bir özetini e-postayla göndermek için bir cron işi yapılandıracaktır.

Apticron paketini kurmak için bir terminalde şunu girin:

sudo apt install apticron

Paket yüklendikten sonra, /etc/apticron/apticron.conf e-posta adresini ve diğer seçenekleri ayarlamak için düzenleyin :