Próbowałem zainstalować niektóre programy w Debianie i to mój pierwszy raz, kiedy używam Linuksa, więc mam trochę problemów. Kiedy próbuję zainstalować build-essential
z:
sudo apt-get install build-essential
lub innym podobnym poleceniem, pojawia się komunikat, że brak „kandydata do instalacji”
Szukałem odpowiedzi w innych pytaniach, takich jak to, ale nie mogę znaleźć rozwiązania.
Komentarze
- packages.debian.org/…
- spróbuj aby najpierw uruchomić
sudo apt-get update
, może brakować listy pakietów
Odpowiedź
Poniższy błąd E: Package "build-essential" has no installation candidate
oznacza, że nie masz repozytorium main
na swoim sources.list
Pakiet build-essential
jest dostępny na main
repozytorium.
Firdt, powinieneś edytować sources.list
:
sudo apt edit-sources
dodać następujące wiersze ( próbka sources.list
z main
i contrib
):
deb http://httpredir.debian.org/debian jessie main contrib deb-src http://httpredir.debian.org/debian jessie main contrib deb http://httpredir.debian.org/debian jessie-updates main contrib deb-src http://httpredir.debian.org/debian jessie-updates main contrib deb http://security.debian.org/ jessie/updates main contrib deb-src http://security.debian.org/ jessie/updates main contrib
Zapisz i uruchom następujące polecenia, aby zainstalować pakiet build-essential
:
sudo apt update sudo apt upgrade sudo apt install build-essential
Komentarze
- OK, ale jak to zrobić w kontenerze docker?
- Próbuję edytować źródła, ale pojawia się błąd: apt-edit: nie znaleziono polecenia
Odpowiedź
Aby Apt wiedział o dostępnych pakietach, potrzebuje prawidłowej konfiguracji w /etc/apt/sources.list
(zwykle jest to inicjowane poprawnie podczas instalacji dystrybucji) i musi pomyślnie pobrać Packages
ze skonfigurowanych lokalizacji sieciowych. Typowe scenariusze błędów obejmują
- Przestarzała konfiguracja. Jeśli próbujesz użyć dystrybucji, która nie jest już obsługiwana, niegdyś poprawne adresy URL w
/etc/apt/sources.list
przestaną działać. Objawem są błędy „Nie znaleziono pliku” lub „Brak trasy do hosta”, jeśli cały serwer zniknął. - Problemy z zaporą, które uniemożliwiają Apt pobranie
Packages
pliki, z podobnymi objawami. Jeśli możesz łączyć się z lokalizacjami skonfigurowanymi przez Apt z innego miejsca, być może potrzebujesz użyć proxy? - Przejściowe błędy serwera, które zwykle znikają same po kilku minutach lub godzinach.
- Nie udało się uruchomić
apt-get update
. Jeśli lokalne kopie plikówPackages
są zbyt stare, będą wskazywać wersje pakietów, których nie ma już w archiwum na serwerze.
Mniej powszechnymi, ale możliwymi do pomyślenia przyczynami problemów byłyby omyłkowe zapakowanie plików konfiguracyjnych (przywrócenie z kopii zapasowej? Uwzględnij wystarczającą ilość informacji w swoim pytaniu, abyśmy mogli podać typowe ustawienia domyślne dla twojej dystrybucji?), są w stanie połączyć się np. z Google za pomocą curl
lub podobnych?) i problemów z dyskiem lokalnym (uszkodzone pliki Packages
? Dysk podłączony tylko do odczytu? ). Jeśli instalowałeś z dysku DVD, możliwe jest również, że tylko dysk DVD jest skonfigurowany w Apt jako źródło pakietu.
W celu bardziej szczegółowego rozwiązywania problemów, każdy komunikat o błędzie lub inny objaw będzie przydatny do zidentyfikowania błąd, ale zrozumienie systemu na tym poziomie często wystarcza do samodzielnego zdiagnozowania.
Drobną irytacją jest to, że adresy URL konfiguracji nie są wyraźnie widoczne na zwykłym wyjściu Apt; konfiguracja wygląda następująco
deb http://example.net/path distribution section another
, a sam Apt wypełnia niektóre części, tworząc pełną ścieżkę URL do jednego lub większej liczby plików Packages
na serwerze. opcja --print-uris
, możesz zobaczyć, co dokładnie próbuje pobrać.