Dlaczego pojawia się komunikat „Polecenie„ deb ”nie został znaleziony?

102

Natknąłem się na kilka instrukcji instalacji, które zawierają polecenie deb. Wygląda jednak na to, że to polecenie nie jest dostępne w mojej instalacji.

Gdzie mogę uzyskać to polecenie? Czy jest w pobliżu praca?

Kevin Burton
źródło
3
Zaakceptuj odpowiedź na pytania, na które masz dobrą odpowiedź, aby pokazać, że podoba Ci się odpowiedź, która najbardziej ci pomogła. Możesz to zrobić za pomocą znacznika wyboru po lewej stronie.
ζ--
2
Wstydzę się, że nie zdawałem sobie sprawy, że instrukcje, które czytałem, nie pokazywały mi czegoś do pisania w wierszu poleceń, pokazywały mi wiersz do umieszczenia w pliku. Cieszę się, że zadałeś to pytanie!
Tyler Collier

Odpowiedzi:

95

„deb” nie jest poleceniem. Jest używany w /etc/apt/sources.listpliku do wskazania repozytorium oprogramowania Debian.

Z Ubuntu Manpage - sources.list :

Lista źródeł jest zaprojektowana do obsługi dowolnej liczby aktywnych źródeł i różnych mediów źródłowych. Plik zawiera jedno źródło w wierszu, a najbardziej preferowane źródło jest wymienione na początku. Format każdej linii to: wpisz argumenty uri. Pierwszy typ elementu określa format argumentów. uri to uniwersalny identyfikator zasobu (URI), który jest nadzbiorem bardziej szczegółowego i znanego uniwersalnego lokalizatora zasobów lub adresu URL.

Typ deb opisuje typowe dwupoziomowe archiwum Debiana, dystrybucja / komponent. Format wpisu sources.list przy użyciu typów deb i deb-src jest następujący:

deb [ options ] uri distribution [component1] [component2] [...]

Identyfikator URI typu deb musi określać podstawę dystrybucji Debian, na podstawie której APT znajdzie potrzebne informacje. dystrybucja może określać dokładną ścieżkę, w którym to przypadku komponenty muszą zostać pominięte, a dystrybucja musi kończyć się ukośnikiem (/). Jest to przydatne, gdy interesująca jest tylko konkretna podsekcja archiwum oznaczona przez URI. Jeśli rozkład nie określa dokładnej ścieżki, musi być obecny co najmniej jeden składnik.

Tak więc, jeśli mam deb http://archive.ubuntu.com/ubuntu/ quantal main restrictedw sources.listnim informację, że mam archiwum Debiana oparte na „ http://archive.ubuntu.com/ubuntu/ ”, dystrybucja jest „kwantowa”, a komponenty są „główne” i „ograniczone”.

Eric Carvalho
źródło
22
I sources.listjest w /etc/apt/dniu 12.04.
Ahmed Fasih
3
Może być przydatny, jeśli powiesz, że wiersze „deb” to instrukcje dodane do list źródeł Aptitude. To wyeliminowałoby zamieszanie, które powoduje cały ten problem.
Shahriyar Imanov
23

Podobnie jak odpowiedź @Eric Carvalho deb nie jest wierszem poleceń Jeśli masz deb, to adres URL:

deb http://download.virtualbox.org/virtualbox/debian trusty contrib 

Edytować

Podobnie jak zatwierdzanie @muru , musisz utworzyć nowy plik z rozszerzeniem .listdo /etc/apt/source.list.d/folderu:

Przykład : Chcę pobrać wirtualną skrzynkę Oracle, utworzyć nowy plik:

sudo gedit /etc/apt/sources.list.d/oracle-virtualbox-trusty.list 

Następnie skopiuj i wklej linię deb do tego pliku

Ahmed Hamdy
źródło
1
1. Jest apt, nie opt(choć istnieje opt) i 2. Nigdy nie edytuj, /etc/apt/sources.listaby dodać linię, chyba że jest to lustro / oficjalne repozytorium Ubuntu. Utwórz nowy plik /etc/apt/sources.list.dz rozszerzeniem .listo tej linii.
muru
1
@muru „ Nigdy nie edytuj /etc/apt/sources.list, aby dodać linię, chyba że jest to lustro / oficjalne repozytorium Ubuntu. ” Dlaczego? Oczywiście, tworzenie .listplików /etc/apt/sources.list.djest tym , co robię w tych okolicznościach i zwykle to zalecam. Ale nie widzę powodu, by nalegać, aby ręcznie dodać źródła oprogramowania innych firm /etc/apt/sources.list.d. Niektóre pliki konfiguracyjne są, gdy jest to możliwe, najlepiej nie edytowane przez użytkownika (np. Użyj /etc/profile.dponad /etc/profile, prawdopodobnie użyj /etc/sudoers.dponad /etc/sudoers), ale sources.listczęsto są zmieniane. (Nawet dostosowane przez Ubiquity do regionalnego lustra.)
Eliah Kagan
@EliahKagan, kiedy widziałeś, jak Ubiquity dodaje repozytorium innej firmy (nie dublowanie) do sources.list? A może jakieś oficjalne narzędzie? source.list.d jest obecny z jakiegoś powodu. Będę nadal nalegać, aby był używany do repozytoriów stron trzecich.
muru
@muru Przepraszamy, nie było jasne. Wspomniałem, że zachowanie Ubiquity, aby wskazać, /etc/apt/sources.listnie jest jednym z elementów, które można zostawić w spokoju, aby ułatwić płynniejszą aktualizację - jest to często (być może zwykle) motywacja za silnymi sugestiami, aby preferować tworzenie plików X.ddo edycji X. Nie sugeruję, że Ubiquity w jakikolwiek sposób umożliwia repozytorium podmiotów trzecich. Nie wyjaśniłeś jednak, co jest specjalnego w takich repozytoriach, aby naprawdę źle to zrobić (tj. „Nigdy nie edytuj ...”), aby je wprowadzić sources.list.
Eliah Kagan
@EliahKagan Nie ma w tym nic „złego”, jeśli to twój problem ze stwierdzeniem. „Nigdy [nie X]” nie zawsze oznacza, że ​​robienie X jest złe, może i oznacza, że ​​robienie X to zła praktyka („Nigdy nie używaj GOTO.”). Szczęśliwa teraz? Powtórz: będę nadal nalegał, aby źródła.list.d były używane do repozytoriów i źródeł.list stron trzecich tylko do kopii lustrzanych i oficjalnych repozytoriów, chyba że możesz podać mi jasny, solidny powód, dla którego to dobry pomysł, a nie aby to zrobić.
muru
10

debnie jest poleceniem uniksowym. Jeśli masz linię podobną do następującej (źródło dokera):

deb https://apt.dockerproject.org/repo ubuntu-xenial main

jest to linia, która musi być dostępna w twoim Ubuntu sources.list, aby apt-getmóc znaleźć przyszłe pakiety z tego nowego źródła.

Jednak /etc/apt/sources.listbezpośrednią edycją pliku nie jest dobrą praktyką . Zamiast tego dodaj debwiersz jako wpis do nowego .listpliku w /etc/apt/sources.list.d/katalogu. Stworzymy taki docker.listplik:

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

Po zakończeniu pamiętaj o wykonaniu sudo apt-get updatei powinieneś być w stanie łatwo znaleźć nowe pakiety z tego źródła.

Rakib
źródło
8

Deb nie jest tak naprawdę poleceniem (na początku też tak myślałem) - Zakładając, że próbujesz pobrać / zainstalować deb, zrób to (na przykład):

wget http://whatever.com/whatever.deb

następnie dpkg -i whatever.deb

następnie uruchom polecenia:

sudo apt-get update
dylanh724
źródło
2
W 100% trafne i lepsze niż najlepsza odpowiedź powyżej. Najwyraźniej próbuje pobrać / zainstalować .deb
dylanh724,
2

W systemie Ubuntu nie trzeba ręcznie edytować, source.listaby dodać repozytorium. Zamiast tego możesz użyć add-apt-repository, tak jak w przypadku PPA.

Na przykład, aby dodać repozytorium LLVM, możesz wywołać:

sudo add-apt-repository 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty main'

Jak widać, musimy przekazać deblinię jako pojedynczy argument do polecenia.

Benoit Blanchon
źródło
2

To nie jest polecenie CLI.

To jest informacja o niektórych repozytoriach pakietów Debiana (używanych także przez Ubuntu).

Jeśli chcesz użyć tego repozytorium:

  1. Otwórz plik /etc/apt/sources.listz uprawnieniami administratora.

  2. Dodaj do tego pliku linię z informacją o repozytorium zaczynającą się od deb ...

  3. Zapisz plik.

  4. Uruchom to polecenie:

    apt-get update

Teraz będziesz mógł korzystać z tego repozytorium.

simhumileco
źródło