“Sudo apt-get update” ne yapar?


Yanıtlar:


550

Kısaca, apt-get updateaslında yazılımın yeni sürümlerini yüklemiyor. Bunun yerine, yalnızca depolara yeni gelen paketlerin yanı sıra, yükseltme ihtiyacı duyan paketler için paket listelerini de günceller.

  • apt-get updatePaket listelerini depolardan indirir ve paketlerin en yeni sürümleri ve bağımlılıkları hakkında bilgi edinmek için bunları "günceller". Bunu tüm depolar ve PPA'lar için yapacak. Gönderen http://linux.die.net/man/8/apt-get :

    Paket dizin dosyalarını kaynaklarından yeniden senkronize etmek için kullanılır. Mevcut paketlerin dizinleri /etc/apt/sources.list(5) 'de belirtilen konumlardan getirilir . Güncelleme, yükseltme veya dağıtımdan önce her zaman gerçekleştirilmelidir.

  • apt-get upgradeAPT bu yeni sürümleri hakkında bir şey biliyorsa, makinede bulunan paketlerin yeni sürümlerini alır apt-get update.

    Gönderen http://linux.die.net/man/8/apt-get :

    Sistemde yüklü olan tüm paketlerin en yeni sürümlerini /etc/apt/sources.list(5) 'de sıralanan kaynaklardan yüklemek için kullanılır . Hali hazırda yeni sürümlerle birlikte kurulan paketler alındı ​​ve yükseltildi; Hiçbir koşulda şu anda yüklü paketler kaldırılmaz, henüz kurulmamış paketler alınmaz ve kurulmaz. Şu anda kurulu paketlerin yeni sürümleri, başka bir paketin yükleme durumunu değiştirmeden yükseltilemeyen sürümleri geçerli sürümlerinde bırakılacaktır. [Vurgu madeni] Önce güncelleme yapılmalı, böylece apt-get paketlerin yeni sürümlerinin mevcut olduğunu bilir.

  • apt-get dist-upgradetarafından yapılan aynı işi apt-get upgradeyapacak, ayrıca bağımlılıkları da akıllıca idare edecek, böylece eski paketleri kaldırabilir veya yenilerini ekleyebilir. Buraya bakın: "dağıtım yükseltme" nedir ve neden "yükseltme" işleminden daha fazla yükseltme yapıyor?

    Gönderen http://linux.die.net/man/8/apt-get :

    Yükseltme işlevini gerçekleştirmeye ek olarak, bu seçenek yeni paket sürümleriyle değişen bağımlılıkları da akıllıca ele alır; apt-get "akıllı" bir çatışma çözme sistemine sahiptir ve gerekirse en az önemli olanların pahasına en önemli paketleri yükseltmeye çalışacaktır. /etc/apt/sources.list(5) dosyasını istenen paket dosyalarını almaya gelen yerlerin bir listesini içerir. Ayrı paketler için genel ayarları aştıran bir mekanizma için ayrıca apt_preferences (5) 'e bakınız.

Komutları &&aşağıdaki gibi birleştirebilirsiniz :

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

veya bağımlılıkların sürüm şartlarına göre en yeni sürümleri mümkün kılmak için:

sudo apt-get update && sudo apt-get dist-upgrade

Her sudoiki süreye de ihtiyacınız var , ancak sudovarsayılan olarak son sudoişlemden bu yana 5 ya da birkaç dakika içinde size bilgi vermediğinden , şifreniz yalnızca bir kez (veya hiç değil) istenecek.


11
sudo apt-get updatePaketleri kurduğumuzda her zaman komutu çalıştırmamız gerekir mi? Yapmazsak dezavantajı nedir?
JohnnyQ

14
@JohnnyQ Bu komutu çalıştırmazsanız, eski bir paketi yükleyebilirsiniz.
ζ--

Ah o zaman sadece bir kongre şey gibi geliyor. Bu yüzden, özellikle de genellikle güncellenmeyen temel komutlarla sadece temel paketleri kullanıyorsanız, bunun gerçekten gerekli olmadığını varsayıyorum. Durumumdaki sorun bu apt-get updatebiraz zaman alıyor, buradaki internet hala ilkel.
JohnnyQ,

2
@JohnnyQ, apt-get güncellemeniz yavaşsa, apt-get dist yükseltme işleminiz de yavaş olacaktır, bu yüzden önce apt-get güncellemesini yapmamak bir tartışma değildir. Ayrıca, /etc/apt/sources.d/ klasörüne bakarak apt-get güncellemenizi hızlandırabilirsiniz; eklenmiş herhangi bir özel depo olup olmadığını ve bunlardan biri yanıt vermeyebilir, bu da güncelleme sürecinin tamamını yavaşlatır.
Mladen B.

1
Bu arada, "apt", Advanced Packaging Tool anlamına gelir ( wiki.debian.org/Apt "APT Nedir?"). Geçen gün öğrendiğim bir şeyi paylaşacağımı sanıyordum. ("apt" çoğu kez apt-get, man apt'de görünür, ancak daha önce kısaltılmış kısaltmayı hiç görmemiştim).
jgreve

47

Bir Google araması, herhangi bir terminal komutunun tanımını verebilir - terminalde - yardımcı olabilir. Örneğin,

apt-get --help

sudo apt-get update temelde üç bölümden oluşur:

sudo

Süper kullanıcı (root) yetenekleriyle aşağıdaki komutu yerine getirir. Sistem dosyalarını değiştirmeyi veya uygulama kurmayı gerektiren birçok işlem, yapılması için ekstra izinler gerektirir.

apt-get

Ubuntu'nun yazılım paketlerini kurmak, kaldırmak ve yönetmek için kullandığı komut satırı aracıdır

update

Paket listelerini internet üzerindeki bir sunucudan güncelleyen apt-get programının kullanması için bir seçenektir. Paket listeleri apt-get yardımcı programına apt-get kullanarak yükleyebileceğiniz yazılım paketleri hakkında önemli bilgiler sağlar. apt-get, bu komutları, yüklenecek bir komut verildiğinde hangi yazılımın yükleneceğini belirlemek için kullanır. Örneğin

sudo apt-get install guake

Guake terminalini şu anda bilgisayarımın yerel yazılım listelerinde listelendiği gibi kurar. Ancak bu, uygun sürüm olmayabilir veya program yeniyse, mevcut olmayabilir. Böylece, apt-get ile bir yazılım yüklerken, genellikle

sudo apt-get update
sudo apt-get install <package>

apt-get öğesinin paketin en son sürümünü yüklemesini bilmesini sağlamak.

Bilgi için başka bir yararlı kaynak help.ubuntu.comsitedir. Örneğin, bu siteyi aradıysanız AptGet / Howto'yu sonuçlardan biri olarak apt-getbulacaksınız .


Alex, temelde sizin yaptığınız gibi komutu kullanabilir miyim: "apt-get update apt-get install <package>" Temelde 2 komutu sadece 2 komutu birlikte yazarak yapabilir miyim?
Elysium

1
@Elysium Evet, &&aralarında varsasudo apt-get update&&sudo apt-get install foo bar baz
ζ--

7
Kullanma &&, ikinci komutun yalnızca birincisi başarılı olursa çalışacağı anlamına gelir. İlk komutun başarısını umursamıyorsanız, ;onun yerine kullanın.
Flimm

4
Bir Google araması beni bu soruya / cevaba yönlendirdi. Just FYI;)
teewuane

19

Çalıştırmak sudo apt-get update, tüm depolardan ve PPA'lardan gelen paketlerinizin güncel olduğundan emin olmanızı sağlar. Bu komutu çalıştırmazsanız, yüklediğiniz çeşitli paketlerin eski sürümlerini veya bağımlılık sorunlarını daha da kötüleştiriyor olabilirsiniz. PPA'yı yeni eklediyseniz ve güncellemediyseniz, PPA'dan veya deposundan bir paket listeniz olmadığından, PPA'dan hiçbir şey çalışmaz.

Özetle: Yüklemeden önce çalıştırmanız şiddetle tavsiye edilir sudo apt-get update, ancak en sondan beri depoları veya PPA'ları değiştirmediyseniz , gerçekten zamana basarsanız atlanabilirapt-get update .


13

Bilgisayarınızdaki kullanılabilir yazılım listesini günceller.

Bilgisayarınızda, Ubuntu sunucularının kullanabileceği tüm yazılımları içeren bir liste (katalog gibi) bulunmaktadır. Ancak mevcut yazılım ve sürümler değişebilir, bu nedenle bir "güncelleme" sunucuya isabet edecek ve yerel listelerini (veya kataloglarını) güncellemek için hangi yazılımların mevcut olduğunu görecektir.

Not updatefarklıdır upgrade. Güncelleme, yukarıda belirtildiği gibi, mevcut yazılımları getirecek ve listeleri upgradebilgisayarınıza yüklerken yeni yazılım sürümlerini yükleyecektir (gerçek yazılım güncellemeleri).

Yazılımınızı gerçekten güncellemek için (listeleri "güncellemeyin" değil) komutu çalıştırın.

sudo apt-get upgrade

genellikle bir "güncellemeden" sonra yürütülür.


O sudo apt-get installzaman ne için? Genel bir yükseltme yerine belirli paketlerin kurulması?
Peter Mortensen

12

apt-get updateYerel depo bilgilerini güncellediğinden, yeni paketleri kurmadan önce bir kez çalıştırmanız gerekir . Birbiri ardına kısa bir süre sonra birden fazla paket kuracaksanız, çalıştırmanız gerekmez apt-get update. Ayrıca, yazarsanız aynı anda birden fazla paket yükleyebilirsiniz. sudo apt-get install package1 package2...


Bunun için güzel hile!
Emerson Hsieh

6

Paketleri komut satırından sudo apt-get install ...(veya sudo aptitude install ...) kullanarak veya bunları komut satırından ( yerine upgradeveya dist-upgradebunun yerine install) yükselttiğinizde , aşağıdaki bilgiler yerel sistem yapılandırmanızdan ve Internet'ten değil elde edilir:

  1. hangi paketler mevcut

  2. hangi sürümleri mevcut

  3. mevcut paketlerin nereden alınması gerektiği

Çalıştırılması sudo apt-get update(veya sudo aptitude update) bunu yerel sisteminizde günceller. Bu, halihazırda kurulu olan paket paketlerinde hangi güncellemelerin mevcut olduğuna ilişkin İnternet kaynaklarından hangi paketlerin yüklenebileceği hakkında bilgi edinme adımıdır .

Bir GUI arayüzlü (Güncelleme Yöneticisi, Yazılım Merkezi veya Synaptic Paket Yöneticisi) paketleri kurduğunuzda, çalışma sudo apt-get updateotomatik olarak yapılır. Paketleri komut satırından yüklediğinizde değil, ve çok yakın zamanda yapmadığınız sürece her zaman bunu kendiniz yapmanız gerekir .

Hangi paketlerin güncellenmiş sürümlerinin mevcut olduğu hakkında bilgi çalıştığından sudo apt-get update(veya sudo aptitude update) elde edildiğinden , herhangi bir paketi kurmadan önce bunu çalıştırmanız ve herhangi bir Yazılım eklememiş veya kaldırmamış olsanız bile en son güncellemeleri yüklemek için çalıştırmanız gerekir. Kaynaklar (PPA gibi) .

Lütfen aynı anda birden fazla paket yönetimi işlemi yapacaksanız, sudo apt-get updateher birinin önüne geçmeniz gerekmeyeceğini unutmayın . Sadece bilgiler bir süredir güncellenmediyse, onu çalıştırdığınızdan emin olmanız gerekir.


4

Eliah Kagan'ın yukarıda belirttiği gibi, bir GUI uygulamasının /'den önce çalışacağını beklersiniz , ancak nispeten yeni bir saldırgan güvenlik VM makinesinde, bir dakikalığına beni şaşırtan ilginç bir hata 404 keşfettim.apt-get updateapt-get installapt-get upgrade

Komut satırından koştum apt-get updateve sonra tekrar Sistem Araçları / Yazılım Güncelleme komutunu denedim ve bu sefer 404 hatası olmadan çalıştı.

Yani, her zaman apt-get updateGUI uygulamalarından çalıştırıldığını varsayamazsınız sanırım ...


İlginç ... Sizinle sunucu arasında apt-getçalıştırdığınızda, Yazılım Güncelleyici / Güncelleme Yöneticisi'ni çalıştırarak yapılan otomatik kontrolden daha iyi idare edilen sıradan bir ağ durumu olabilir mi? Bir HTTP proxy kullanıyor musunuz? Ve tekrar başarabilmeni sağlayabiliyor musun, yoksa sadece bir kere mi oldu? İzole bir anomali varsa, belki de sorunun geçici bir sunucu yanlış yapılandırmasından kaynaklanıp kaynaklanmadığını merak ediyorum. Hangi aynayı kullanıyorsun? Daha fazla bilgi ile belki de cevabımı geliştirebilirim. (Btw, bu ayrı bir cevap olarak mı düşünülüyor, yoksa bir yoruma
çevrilmeli

3

Benden önce pek çok kişi tarafından söylendiği gibi, yerel deponuzu günceller (paket listesi).

Yüklemeye çalışırsanız sorunla karşılaşabilirsiniz.

apt-get install foobar

foobar veya bağımlılık depodaki en son sürümlerine sahip değil. Bu, özellikle bir .deb dosyasını elle veya 3. bir partiden ppa kurarken sorunlu olabilir.

Temel olarak listenizin ana listeyle eşleştiğinden emin olmanızı sağlar .


2

Ubuntu’ya VLC media player yükleme örneğini ele alalım :

sudo apt-get update

Mevcut güncellemeler için depoları kontrol edecektir.

Buna karşılık

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

VLC media player'ı aradığımız depolardan kuracağız.

Bir kök kullanıcı (yönetici) olarak giriş yapmış sudoolsaydınız, süper kullanıcı ayrıcalıklarına sahip olduğunuzdan kullanmak zorunda değilsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.