Apt-get install komutunu kullanırken 'Evet'i otomatik olarak yanıtla


356

apt-get install"Evet / devam etmek istiyor musunuz?" E "evet" cevabını vermenin bir yolu var mı ?

Yanıtlar:



175

İle ilgili sorun:

apt-get --yes install $something

Paket imza sahibinin genel anahtarının anahtarlıkta mı yoksa başka bir koşulda mı olduğunu manuel olarak onaylaması istenecektir. Bir onay istemediğinden emin olmak için sadece şunu yap:

apt-get --yes --force-yes install $something

Bu ayarların kalıcı olmasını istiyorsanız, /etc/apt/apt.conf.d/ içinde /etc/apt/apt.conf.d/90forceyes gibi, aşağıdaki içeriğe sahip bir dosya oluşturun:

APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";

3
Çeşitlilik için +1. Hepsi -ysıkıcı olmaya başladı. (Ayrıca daha eksiksiz bir cevap.)
Dennis Williamson,

1
Bu, "Evet, söylediklerimi yap!" İfadesini yazmaya devam etmek için dediğinde işe yarar mı? Etrafta ne varsa o zaman? Bunu, chrooted debian resmimdeki sysvinit'i systemd ile değiştirmeye çalışırken ortaya çıkar.
Lennart Rolland

13
Lütfen hiçbir zaman kullanmayın --force-yes: Bu, ilgili bir konuya verilen cevaplarındebian-devel önerdiği gibi --force-yessistemi kullanılamaz hale getirebilir. (Cevap düşürmem, çünkü aslında OP'nin belirttiği soruyu cevaplıyor, ancak yine de cevaba BÜYÜK KIRMIZI BİR UYARI
eklerdim

7
APT :: Get :: Varsay-Evet "doğru"; liman işçisi konteynırındaki kurulumda kesintiden kaçınmamda bana yardımcı oldu.
Mehdi Sadeghi

3
kuvvet-evet itiraz edildi. tracker.mender.io/browse/CFE-2360
rrawat

53

Ayrıca, etkileşimli bir bilgi istemi göründüğünde otomatik olarak varsayılan cevaplara geçmek isterseniz, DEBIAN_FRONTEND=noninteractive

Tek kurulum:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]

Örneğin:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix

Tüm güncellemeler:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y update 

Sen ayarlayabilirsiniz ince seçenekleri ile -o Dpkg::Options::="--force-confdef"ve -o Dpkg::Options::="--force-confold".

Örnekler:

apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"

veya

apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade

Etkileşimli bilgi istemi örneği:

görüntü tanımını buraya girin

İlginç okuma: Bir Debian paketinin katılımsız kurulumunu gerçekleştirme


1
Mükemmel cevap. Yine de -y, hizmetleri yeniden başlatmak isteyip istemediğim soruluyor. Tüm talepleri tamamen ortadan kaldırmak için buna ihtiyacım vardı.
wisbucky

14
APT::Get::Assume-Yes "true";

APT::Get::force-yes "true";

Bu en azından girmeli /etc/apt/apt.confve yorumlanmalıdır. Endişeleniyorum Ubuntu, Microsoft'un her zaman izin istemesinin üstesinden geldiğini söylüyor.

"Emin misin?", Elbette eminim, klavyeden yazarak, tıklanınca mutlu olacak eğitimli bir maymun değilim.

Daha sonra kapı "Dışarıya çıkmak istediğinden emin misin?" Diye soracak.
Fırın, "Yemek yapmak istediğinize emin misiniz?"
Otomobil, "Fren uygulamak istediğinize emin misiniz?"
Yangın söndürücü "Yangını söndürmek istediğinizden emin misiniz?"
Üzgünüm Dave, bunu yapmana izin veremem.
HAL9000 bir daralma kullanabilir, ancak Veri kullanamadı veya kullanamadı.


3
HAL9000 ve dpkg'dan izin isteme farkı, HAL'in “hayır, dönem” dediği, “Evet, söylediğim gibi yap” meselesi, yalnızca sisteminizi tamamen ve tamamen yıkmak üzereyseniz ortaya çıkıyor. İstediğin buysa, devam et. Ancak bu durumda bir uyarı olması makul görünüyor.
Wouter Verhelst


7
apt-get -y update
apt-get -y install [package]

2
+1, ama neden updateizin gerekiyor?
amyassin

@ amyassin apt-get updatekomutu, root izinleri gerektirir çünkü root tarafından sahip olunan sistem dosyaları olan yerel paket listelerini (indeksler) günceller.
jjmontes

3

genellikle el kitabındaki seçenekler iyi sonuç vermelidir

apt-get -y --force-yes install package

başarılı olmazsa yeskomutu kullanmayı deneyebilirsiniz .

yes | apt-get -y --force-yes install package

Bunu serseri bir kabuk sağlama komut dosyası ile kullandım

Not: İnteraktif olmamakla birlikte genellikle hayır diyen ile o zaman şunu deneyebilirsiniz:

yes no | apt-get install package

1

Yeni ( iyi ) apttakma ad, -y( --yes) anahtarını da alır:

sudo apt -y upgrade

1

Her zaman -y argümanını istiyorsanız, satırı eklemenizi tavsiye ederim.

alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands

.bashrc içine. Bu açıklamada açıklandığı gibi otomatik olarak tüm apt-get komutlarınıza -y argümanını ekler ve bu nedenle tüm indirmeleri onaylar.


NOT: .bashrc'nizi geri dönene ve kabuğu yeniden başlatana kadar bu doğru kalacaktır.


1

Bir komut dosyasında, özellikle wireshark kurarken varsayılan olmayan bir yöntem seçmenin bir yolunu arıyordum ve aşağıdaki gibi bir kabukla etkileşimde bulunmak için tmux kullanmaya başladım:

# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach
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.