Arka planda "apt-get install" komutunu nasıl çalıştırabilirim?


17

Ben örnek için, bir paket yüklemeye çalıştığınızda nsnake komutuyla, sudo apt-get install nsnake &süreç hemen durur. Bunu ön plana getirebilir ve sudo şifremi girebilir, ( Ctrl- ile Z) duraklatabilir ve tekrar arka plana gönderebilirim. Ancak, kabuk işlemi derhal duraklatacaktır, örneğin,

katriel@caseylaptop:~$ bg     
[2]+ sudo apt-get install nsnake &   
[2]+  Stopped                 sudo apt-get install nsnake

Arka planda paket kurmak mümkün mü? SSH'landığım bir bilgisayara büyük paketler yüklerken bunu yapmak isteyebilirim.

Yanıtlar:


30

Evet elbette.

Senin gerçekleştirin apt-getkomutu ile etrafındaki süslü şeyler

sudo bash -c 'apt-get -y install guake >/dev/null 2>&1 & disown'

Parça açıklaması:

  • sudo bash -cBölüm yumurtlar Yeni bashsüreç ve çalışır apt-get -y install guake >/dev/null 2>&1 & disownyeni kabuğun içinde.

  • Bu komutlar daha sonra yeni alt kabuğun içinde çalıştırılır:

    • apt-get -y install guake: Çalıştırmak istediğiniz ana apt-get komutu.

      • >/dev/null 2>&1 stdout ve stderr'yi / dev / null değerine bağlar.
    • & disown önceki işi reddeder ve alt kabuktan çıkar.

"Evet |" -y anahtarını kullanırken ne gerekiyor?
user31389

@ user31389: Kesinlikle değil, ancak bir paketin yükleme sırasında başka istemleri olması yardımcı olabilir.
kiri

Bunun neden işe yaradığını (ve neden gerekli olduğunu) anlamak gerçekten güzel olurdu.
katriel

@katriel: Açıklamak o kadar kolay değil. Yine de cevabımda bir açıklama yapmaya çalıştım.
kiri

1
@katriel: Çünkü Ctrl + Z komutu duraklatır , yani duraklatılır (geçici olarak durdurulur).
kiri

17

Her zaman arka planda programları çalıştırmak için ekranı kullanmayı seviyorum .


2
Ekran için +1. Kullanımı kolay ve zaman zaman erişmek istediğiniz arka plan programları için, örneğin irc istemcisi gibi veya bir dizi yola veya dosyaya tekrar tekrar hızlı bir şekilde erişmeniz gerektiğinde birden fazla ssh bağlantısı yerine kullanılabilir
Pichan

4
Bu teorik olarak soruyu cevaplayabilirken, temel kısımlarını buraya dahil etmek ve referans için bağlantı sağlamak tercih edilir.
blade19899

1
tmux'u tercih ederim ekran için .
Michael

9

Herhangi bir programı &çalıştırmak için ve işareti ekleyin ve program çalışırken isteme geri dönün.

sudo apt-get -y install nsnake &

Bununla birlikte, belirli olayların ve bildirimlerin kabukta düzenli olarak açılmasını sağlayabilirsiniz. Bu olayları gizlemek için STDOUT'a yönlendirin

sudo apt-get -y install nsnake >/dev/null &

1
Olaylar sorundu. Çözüm onları STDOUT'a bağlamak gibi görünüyor.
katriel

-1

Bu bir çözüm, ancak önce sudo ile bir şey çalıştırın, örneğin sudo ls. Sudo yetkiniz bir süre hatırlanacak. Daha sonra sadece çalıştırabilirsiniz sudo apt-get -y install nsnake &ve ikinci kez bir şifre istenmez (bir süre geçip yetkilendirmenin süresi dolmadıkça).


Komutunuzun size izin vermeyeceği bilgi istemine hala y yazmanız gerekir.
kiri

@ minerz029 Oh, doğru. Sabit.
user31389

Eminim ne sudo yetkilendirmesi ne de "Y / n" istemi karışıyor, çünkü işi ön plana getirirsem de yapmam gerekmiyor.
katriel
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.