apt-get, apt ve aptitude

Debian'ın vazgeçilmez paket yöneticisi pek çok Linux dağıtımının rüyası olmuştur. Son zamanlarda pek çok Linux dağıtımı apt-get kullanımına destek vermektedir ve de çoğuna kurulabilmektedir.

 

apt-get, apt ve aptitudeapt-get'in en önemli özelliği kurmak istediğiniz paketi paket depolarından kendisi bulabilmekte ve paket çakışmalarını en güvenli şekilde çözerek sisteme kurabilmektedir

Şimdi apt-get kullanımına önemli bir kaç örnek vermek gerekirse;

Debian paketlerinin yeni sürümlerinin olup olmadığını kontrol etmek için ve paket depoları ile sisteminizde bulunan paketlerin versiyonlarını / farklılıklarını karşılaştırır ve mevcut listeyi günceller. (herhangibir kurulum söz konusu değildir, sadece listeyi günceller)
apt-get update


Sisteme kurulu paketleri güncellemek için ve apt-get update komutu ile güncellediğiniz listeye göre sisteminizde bulunan paketler en güncel sürüme yükseltilir. Sadece sistemde mevcut kurulu paketleri günceller, Mevcut hiçbir paket silinmez.

apt-get upgrade

Debian sistemini var olan daha güncel bir sisteme güncelemek için ve sistemdeki en fazla yetkiye sahip komuttur. Mevcut paketlerin güncellenmesi, sistemde olmayan yeni bağımlılıkların kurulması, gerek kalmayan bağımlılıkların silinmesi ve sorunlu olan bağımlılıkların çözümü ve sisteminizin güncel kernel sürümüne yükseltilmesine kadar birçok görevi üstlenir. Sisteminizde paket kurulumlarından kaynaklı hatalarda başvurabileceğiniz bir komuttur. Sisteminizi yeni bir dağıtıma yükseltmez.

apt-get dist-upgrade

Lazım olan bir paketi sisteme kurmak için;
apt-get install paket_adi

Birden fazla paketi aynı anda kurabilmek için paket isimlerini yan yana yazın;
apt-get install paket_adi diger_paket .... ....

Kurulu olan paketi kaldırmak için;
apt-get remove paket_adi

Kurulu olan paketler kaldırıldığında paket sistemden tamamen silinmez daha sonra tekrar kurulması gerekjebileceğinden. Tamamen silmek için --purge parametresi eklenmelidir.
apt-get remove --purge paket_adi

Sadece tek bir paketi güncellemek için;
apt-get upgrade paket_adi

Örneğin bir paket kuracağınız zaman onun adını tam olarak yazmanız gerekiyor, ya paketin adını tam olarak bilemiyorsak.

Onun içinde paket isimlerini araştırabileceğimiz bir parametre var.
apt-cache search paket_adi

İsim benzerliğinden pek çok paket bulunabilir, bulunan paketleri süzebilir veya sayfa sayfa göstermek için bir kaç parametre ekleyebiliriz.
apt-cache search paket_adi | more

Bazı paketleri kurmakta sorun yaşıyor olabilirsiniz, paket çakışmaları gibi. O zaman bu sorunu da çözmek için bir parametremiz var.
apt-get install paket_adi --fix-broken

Bazı paketleri irdirmek istiyor ama daha sonra kurmak istiyorsanız -d parametresi yeterlidir. Kurmak istediğinizde zaten sistemde olduğu için internetten yeniden indirmeden hemen kurulacaktır.
apt-get install paket_adi -d

Sistemde kurulu olan paketlerde çakışma sorunu olup olmadığını kontrol etmek için;
apt-get check

Sistemde bekleyen eski kurulum dosyalarını kaldırmak için;
apt-get autoclean

Sistemde kurulduktan sonra bekleyen paketleri kaldırmak için;
apt-get clean

 

Proxy ardından güncelleme yapmak için
http_proxy=http://192.168.0.1:800/ aptitude update
$ sudo http_proxy=http://[[user][:pass]@]host[:port]/ apt-get update
$ sudo https_proxy=https://[[user][:pass]@]host[:port]/ apt-get update
$ sudo ftp_proxy=ftp://[[user][:pass]@]host[:port]/ apt-get update

 

apt-get  Yerine Aptitude Kullanmayi Gerektirecek Nedenler 


1- Aptitude, apt-get'in yapabildigi tum islemleri fazlasiyla yerine getirebilir.

'aptitude update', 'aptitude upgrade' veya 'aptitude install' komutlari apt-get'in kullanimi ile benzerlik tasir. Hatta Aptitude ilave
bir kaç guzellikte icerir ('aptitude hold', 'aptitude markauto' vb.).
Bu baglamda, apt-get kullanimina alismissaniz, bu aliskanliginizi kolayca aptitude uzerine yonlendirebilirsiniz.

2- Aptitude, sisteme yuklediginiz paketleri otomatik olarak izler.

Diyelimki A paketini kurdunuz, bu paket kendisine bagimli olan bir kac farkli kitaplik ve paket daha kurdu, daha sonra bu A paketini sistemden kaldirmak istediginizde; -sayet- A paketini kurarken sisteminize yuklemis olduguz diger kitapliklar, paketler oksuz (yalniz) kalacaksa onlarida sisteminizden kaldirir. Boylelikle bu tur durumlarda oksuz (yalniz) kalan paketleri takip edebilmek icin 'deborphan' tarzi yazilimlara ihtiyaciniz olmaz. Apt-get bu konuda yetersizdir.

3- Aptitude, paketlerin kurulumunda o paket tarafindan Recommend (tavsiye) edilen paketleride kurar.

Debian depolarinda yer alan paketlerin bir cogu baska bir paketi veya paketleri Recommend (tavsiye) eder. Yani A paketini kurarken, A paketinin yaninda tavsiye edilen baska bir B paketi de olabilir. Ornegin, bir pakete ait belgeler genelde 'Recommend' edilen paketler kategorisinde yer alir. Aptitude ontanimli ayarlarinda, bir paketi kurarken -varsa- Recommend
edilen diger paketi/paketleri de kurar.

İstenirse, aptitude ayarlari degistirilerek, bir paket kurulurken o pakete Suggest edilen paketlerin kurulumu da saglanabilir.

4- Aptitude'u normal sistem kullanicisi olarak da kullanabilirsiniz.

Aptitude'u normal kullanici olarak GUI modunda calistirabilirsiniz. Yapmak istediginiz degisiklikleri yaparak, uygulayabilirsiniz. Uygulamaya gecerken sizden 'root' sifresi istenir, root sifresini girerek yapmak istediginiz degisiklikleri uygulayabilirsiniz.

Aptitude'un GUI uzerinden kullanimi kolaydir ve bir cok avantaj sunar.
Yaptiginiz degisiklikleri uygulamaya koymaktan vazgecerseniz 'ctrl-u' ile yaptiginiz islemleri geri alabilirsiniz.Normal kullanici olarak aptitude'a bu islemi uygulamaya sok demek icin root sifresini girmeniz gerekir. Bu da dikkatli davranmayi ve islemleri emin olarak yapabilmenizi saglar.
Boylelikle Sisteminiz hatali paket islemlerine karsi koruma altinda olur (dogrudan root yerine 'sudo' ile calismak gibi).

5- Aptitude, güçlü kullanicı arabirimine ve arama yeteneklerine sahiptir.

Aptitude paketlerin ismi, tanimlari, bagimliliklari vb. gibi bir cok bilgiye kolayca ulasabilmenizi saglar. Ayrica cok guclu filtreleme ve arama yeteneklerine sahiptir. Bu sayede aradiginiz pakete hizlica ulasabilirsiniz.

6- Aptitude, modasi gecmis (eskimis) paketleri takip eder.

Debian bir paketin dagitimini durdurmus olabilir. Apt bu tur paketleri sisteminizde bulundurmaya devam eder. Aptitude, modasi gecmis (eskimis) veya sizin tarafinizdan yerel makinenizde olusturulmus paketleri takip eder. Bunlarin takibi icin 'Obsolete and Locally Created Packages' isimli bir bolum ayirmistir. Bu tur paketleri bu bolumden takip edip dilerseniz
uzerinde islem yapabilirsiniz.

7- Aptitude, yazilim demetlerinin kurulabilmesine olanak tanir.

Masaustu Ortami, Web sunucusu, DNS sunucusu gibi yazilim demetleri iceren bilesenlerin secilip kurulabilmesine veya bu yazilim demetlerinden istenilen paketlerin secilip kurulabilmesine olanak saglar.

Sarge'in kurulumda da 'tasksel' ekraninda 'elle paket secimi' yapacak olursaniz aptitude devreye girecek paketleri elle tek tek secebilmenize veya yazilim demeti olarak isaretleyebilmenize yardimci olacaktir.

8- Aptitude birden fazla kaynagi destekler.

sources.list dosyaniz bir paketin birden fazla surumune erisebilecek sekilde ayarlanmis ise, aptitude size bu paketin ulasilabilen surumlerini listeler ve secim yapabilmenizi saglar.

9- Aptitude yaptiginiz islemlerin kaydini tutar.

Aptitude, aptitude ile kurulan, kaldirilan, guncellenen paketlerin kaydini /var/log/aptitude dosyasinda tutar. Bu kayit gecmiste paketler ile ilgili ne tur islemler yapmis oldugumuzu gorebilmemiz acisindan cok onemlidir.

10- Aptitude ile Mayin Tarlasi Oynayabilirsiniz :)

Aptitude icerisinde 'minesweeper' oyununu bulundurur. Caniniz sıkılınca oynayabilir stres atabilirsiniz :)

 

Apt ve Apt-get Arasındaki Fark, Hangisini Kullanmalı

Bir Linux dağıtımı olan Debian sahip olduğu güçlü paket yöneticisi “Advanced Packaging Tool” (APT) başta otomatik paket kurulumları, sistem bağımlılıkları olmak üzere pek çok özelliği ve kolaylığı kullanıcılarına sunuyor. Ubuntu, Linux Mint, Elementary OS vs. gibi pek çok dağıtım da Advanced Packaging Tool (APT) sistemini kullanmakta. apt ve apt-get arasındaki fark (var mı?), hangisini kullanmalı

2016 yılında Ubuntu 16.04 LTS sürümde “apt-get” komutunun yanında “apt” komutunu da kullanmaya (kararlı olarak) başladı. Yani normalde:

apt-get install paketadı

yanında

apt install paketadı

komutunu yazarak da aynı işlemi yapabiliyorsunuz.
Apt-get ve apt komutları arasındaki fark nedir diye size benim gibi merak ediyorsanız buradan devam edelim.

APT vs APT-GET

apt-getapt-cache ilgili iyi bir rehber yada kullanma kılavuzuna baktığınızda ortama bir Linux kullanıcısının hiç bir zaman kullanmayacağı okadar çok komutu olduğunu gerebilirsiniz ki bunların bazıları aynı işi yaparbilir. İşte burada da bir karışıklık doğmasına sebep olabiliyor.

İşte bu sorunu çözmek için apt-cache ve apt-get komutlarının çok kullanılan komutlarını bir araya getirip, nadir kullanılan ve anlaşılması güç olan komutlarını bir kenara bırakıyor.

Yani apt komutu apt-cache ve apt-get komutlarını gerekli seçenekleriyle yapılandırılmış bir şekilde paketlerinizi yönetiyor.

Apt komutu apt-cache ve apt-get komutlarına göre biraz daha ALL in ONE diyebileceğimiz bir daha geniş işlevselliğe sahip bir komut olmuş durumda. Ayrıca son kullanıcı memnuniyetini düşünülerek yapılmış bir komut.

Buna ek olarak da terminale birazda açıklayıcı bilgi ve görsellik ekliyor. Mesela durum ve ya ilerleme çubuğu, kaç paket yükseltilecek yükseltilebilir gibi.

apt komutu Yerini aldığı komut Komutun işlevi
apt install apt-get install Paket kurmak
apt remove apt-get remove Paket kaldırmak
apt purge apt-get purge Paketi ayarlarıyla birlikte kaldırmak
apt update apt-get update Repo indekslerini yenile
apt upgrade apt-get upgrade Yükseltilebilir tüm paketleri yükselt
apt autoremove apt-get autoremove Kullanılmayan paketleri kaldır
apt full-upgrade apt-get dist-upgrade Bağımlılıkları ile birlikte tüm sistemin güncellemesi
apt search apt-cache search Program arama
apt show apt-cache show Paket detaylarını göster

Ayırıca

Yeni apt komutları Komutun işlevi
apt list Paketleri kriterleriyle göster (yüklenmiş yada yükseltilebilir)
apt edit-sources Kaynak listesini editle

 

Apt-get geleceği ne olur? Bu komutun yerini apt ile değişeceği konusunda bir bilgi bulamadım. Ayrıca apt-get komutu çok daha fazla seçeneğe sahip. Bu yüzden devam edeceğini düşünüyorum.

Ama son kullanıcı olarak pek çok dağıtım apt-get komutu yerine apt komutunu kullanmanızı öneriyor. Ve ayrıca kullanımının daha kolay ve daha az komutu aklınızda tutmanız gerekiyor.


Sonuç ve Değerlendirme

  • apt, paket yönetimi için gerekli komutları sağlayan apt-get ve apt-cache komutlarının bir alt kümesidir. apt-get kullanımdan kaldırılmayacak olsa da, normal bir kullanıcı olarak apt'yi daha sık kullanmaya başlamalısınız.
  • apt-get (ve apt-cache) klasik arayüzdür, apt aynı işlevselliğe sahip yeni arayüzdür. aptitude, farklı bir çözümleyici stratejisi, isteğe bağlı tam ekran kullanıcı arayüzü ve diğer bazı özelliklere sahip eski bir isteğe bağlı programdır. Bazı insanlar ek özellikler için kullanırken, diğerleri çözümleyicisinin daha iyi olduğunu düşünüyor.
  • Sadece düz bir yükleme paketi yaparsanız veya temiz bir debian güncellemesi yaparsanız, apt, apt-get ve aptitude arasında çok fazla fark yoktur. "Resmi debian tavsiyesi" artık apt. Öte yandan ciddi bir frankendebian vakası (karıştırma repoları / backports / ppas / yerel paketler vb.) Varsa, muhtemelen Aptitude dışında bir şey yapamazsınız. Aptitude, apt ve apt-get öğelerinden farklıdır, çünkü çakışmaları elle çözebileceğiniz bir UI moduna sahiptir.

Örneğin debian 10 için non-free firmware-iwlwifi paketini apt ile kuramadığımız halde aptitude ile kurduk.

apt-get, apt ve aptitude

Sorunlar

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

Mevcut apt-key add kullanımınız şöyle görünüyorsa:     

wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key eklentisi -

       Daha sonra bunu doğrudan şununla değiştirebilirsiniz (ancak aşağıdaki öneriye dikkat edin):

wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc

 
Kaynak :

 

 

 

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...