Zastanawiałem się, dlaczego centrum oprogramowania nie pobiera wszystkich żądanych aplikacji i instaluje jeden po drugim, gdy kończą pobieranie. Lub zamiast tego, dlaczego centrum oprogramowania nie pobiera aplikacji, gdy druga się instaluje
apt
software-center
package-management
JesusLives ii
źródło
źródło
sudo apt-get install
może zainstalować tyle pakietów, ile chcesz. Musisz znać nazwę pakietu.Odpowiedzi:
To jest dobre pytanie. Jest tak, ponieważ jest oparty na tych samych narzędziach pakietowych, których używają apt-get i inni. Zostały one zaprojektowane w taki sposób, że oczekuje się dostarczenia wszystkich pakietów do zainstalowania, a reszta nastąpi automatycznie. Jest to bardzo dobre w większości przypadków, ale w przypadku Software Center powoduje pewne problemy. Trzeba albo najpierw wybrać pakiety, które chcesz zainstalować, a następnie kliknąć przycisk, aby je pobrać i zainstalować, lub musisz ustawiać w kolejce aplikacje, a następnie pobierać i instalować jeden po drugim. Zapewnia to znacznie lepszą obsługę, jeśli instalujesz jedną aplikację, niż konieczność korzystania z tych dodatkowych kliknięć, ale jest również denerwujące, gdy „robisz zakupy”.
Można to naprawić, więc spodziewam się, że w przyszłości zostanie to naprawione, ale oznacza to odtworzenie lub przepisanie istniejących narzędzi, więc nie sądzę, aby miało to bardzo wysoki priorytet.
Pozwól mi rozwinąć:
Pakiet może zależeć od innych pakietów. Jeśli te pakiety nie są dostępne, pakiet nie może zostać zainstalowany. Tak więc narzędzia takie jak apt-get najpierw pobiorą wszystkie pakiety, o które prosisz, i wszystkie pakiety, na których polegają itp., A następnie zainstalują je wszystkie. Więc zwykle dostarczasz wszystkie pakiety, które chciałeś za jednym razem, a najpierw są one pobierane, a następnie instalowane.
Gdy zdecydujesz się zainstalować aplikację w centrum oprogramowania, zazwyczaj chcesz, aby natychmiast zaczęła pobierać i instalować. Aby jednak upewnić się, że wszystko jest w porządku, w danym momencie można wykonać tylko jedną instalację. Dlatego podczas instalowania aplikacji musisz poczekać, aż aplikacja zostanie całkowicie pobrana i zainstalowana, zanim rozpocznie się kolejne pobieranie i instalacja.
Można to naprawić, nie używając apt-get do zainstalowania pakietów, ale zamiast tego pobierając pakiety ręcznie, a następnie używając dpkg, aby je zainstalować, gdy będą gotowe. Nadal nie będziesz w stanie zainstalować dwóch pakietów jednocześnie, ale będziesz mógł rozpocząć pobieranie nowych pakietów, gdy poprzednio rozpoczęte instalacje się kończą. W niektórych przypadkach zaoszczędziłoby to sporo czasu, więc jest to dobry pomysł. Ale w większości przypadków nie ma to większego znaczenia, więc wysiłek jest lepiej skoncentrowany gdzie indziej.
źródło
możesz zainstalować tylko jeden pakiet naraz
sudo apt-get install
, ale możesz zainstalować kilka pakietów za pomocą jednego polecenia. Lubię to:sudo apt-get install ubuntu-desktop lubuntu-desktop
Spowoduje to zainstalowanie zarówno
ubuntu-desktop
ilubuntu-desktop
wszelkich wymaganych zależności we właściwej kolejności.Również podczas aktualizacji systemu
sudo apt-get upgrade
najpierw pobierasz całe oprogramowanie, a następnie instalujesz jeden pakiet naraz.Powodem,
dla którego nie można zainstalować kilku pakietów jednocześnie, jest to, że tylko jedna instancja może korzystać z
apt-get
uprawnień w tym samym czasie. Wynika to z faktu, żeapt-get
blokujesoftware sources
i blokuje korzystanie z nich przez dowolne inne polecenie.Przykład
Załóżmy, że jakoś uruchamiasz 2 osobne apt-get, jak mówi @Rinzwind, to teoretycznie możesz przynajmniej edytować listę źródeł w tym samym czasie, gdy używasz jej do znajdowania i instalowania nowego oprogramowania. Może to prowadzić do tego, że zainstalowany program edytuje listę źródeł i dodaje niebezpieczne repozytorium w tym samym czasie, gdy aktualizujesz system. Może to być problem z bezpieczeństwem.
Kolejny przykład
Także jeśli edytujesz listę źródeł za pomocą 2 oddzielnych poleceń, wtedy podczas zapisywania zastąpisz najnowszą wersję, która będzie tą, którą zapisano jako ostatnią. Co oznacza, że polecenie na środku nie miałoby żadnego efektu, ponieważ zapisałeś starszą wersję.
Windows zachowuje się podobnie, używając instalatora „oficjalnego” (MSI)
Pakiety korzystające z oficjalnego instalatora Windows (MSI) ZOSTANĄ ODRZUCONE, aby uruchamiać więcej niż jedną instancję na raz. Jest tak, ponieważ baza danych instalatora MSI jest podobna do
sources.list
plików informacyjnych dpkg itp. - nie chcesz, aby więcej niż jeden instalator modyfikował / blokował je jednocześnie.Jednak wiele pakietów Windows korzysta z zewnętrznych instalatorów, takich jak Installshield, NSIS itp., Które będą działać obok siebie, ponieważ nie muszą uzyskiwać dostępu / modyfikować bazy danych MSI. Podobnie w systemie Linux / Ubuntu nikt nie powstrzymuje Cię przed uruchomieniem skryptu instalacyjnego A
apt-get
, Atar -xzf
i Perl / Bash jednocześnie :)źródło
sudo
w tym samym czasie, ale jeśli chodzi o pakiet zarządzania, tylko jedna taka aplikacja może zainstalować lub usuń pakiety w danym momencie, ponieważ działaapt
dostaje blokadę nasources.list
i stąd ewentualne próbuje się uruchomić inną aplikację zarządzającą pakietami, nie zostanie zablokowana na tym pliku, a zatem nie będzie działać.Po pierwsze, niech będzie wiadomo, że ta odpowiedź pochodzi z tego, co zebrałem z moich doświadczeń z
dpkg
iapt
. Nie spojrzałem na rzeczywisty kod centrum oprogramowania, aby to ustalić.Jest to limit projektowania bazowego oprogramowania.
Część
dpkg
systemu używanego przez Ubuntu do pakietów zawiera funkcję, która „blokuje”/var/lib/dpkg/lock
plik, aby zapobiec nadpisywaniu się wielu plikówdpkg
(apt-get
a Centrum oprogramowania Ubuntu jest nakładkami) i innych złych, złych rzeczy.Co dzieje się po zainstalowaniu oprogramowania? To, co się dzieje, zaczyna się
sudo apt-get install chromium-browser
(na przykład Chromium).A kiedy tak się dzieje, blokada się uruchamia. Po dodaniu więcej niż jednego pakietu do zainstalowania, czeka go, aż pierwszy zakończy się, zanim uruchomi następne
apt
polecenie.źródło
Niektóre działania, takie jak odświeżanie menu, indeksowanie czcionek i rekonfiguracja bibliotek, muszą być wykonywane tylko raz, jeśli wszystkie pakiety są zainstalowane w tym samym czasie. Druga zaleta, miejmy nadzieję, nie powinna się często zdarzać, ale jeśli chcesz zainstalować pakiety, które się wykluczają, znasz ją przed pobraniem wszystkich.
Ostatnia zaleta jest szczególnie ważna, gdy instalujesz lub aktualizujesz wiele pakietów naraz: jeśli trzeba odpowiedzieć na pytania, wszystkie pojawią się po sobie podczas postępu instalacji. Możesz więc kontynuować pracę zamiast bycia co 5 minut innym pytaniem.
źródło
Powodem, dla którego dwa wystąpienia apt-get nie mogą działać jednocześnie, jest to, że aplikacja odczytuje / zapisuje kilka plików krytycznych dla działania systemu. Odczytywanie lub zapisywanie pliku za pomocą operacji apt-get, podczas gdy inna wykonuje na nim te same operacje, spowoduje problemy z niewłaściwą konfiguracją i / lub uszkodzeniem plików. Kiedy więc pojawia się operacja apt-get, „blokuje” potrzebne pliki, aby kolejna operacja nie mogła być wykonywana jednocześnie, czyli podnosi flagę informującą inne operacje, że pliki są aktualnie w użyciu.
Jednak jednoczesne pobieranie plików wymaganych przez apt (a raczej pobieranie z wielu źródeł) jest możliwe za pomocą polecenia apt-fast
https://github.com/ilikenwf/apt-fast
źródło
prosty sposób na zainstalowanie kilku plików jednocześnie, wykonaj następujące kroki
Otwórz terminal i typ:
a następnie wpisz ponownie
poczekaj na zakończenie instalacji.
źródło
dostajesz pakiet, podczas gdy drugi instaluje się np. w terminalu 1
następnie pobierz inny pakiet w innym terminalu2
aby zobaczyć inne opcje dostępne w apt-get, zapoznaj się z jego prostym typem
źródło