Чому я отримую "Command 'deb" не знайдено "?


102

Я натрапив на кілька інструкцій з установки, які включають команду deb. Але виявляється, що ця команда недоступна в моїй установці.

Де я можу отримати цю команду? Чи є обхід?


3
Будь ласка, прийміть відповідь на запитання, де ви маєте хорошу відповідь, щоб показати, що вам подобається відповідь і вона вам найбільше допомогла. Це можна зробити за допомогою галочки зліва.
ζ--

2
Мене збентежує те, що я не усвідомлював, що читав інструкції, не показував мені щось вводити в командному рядку, він показував мені рядок, який потрібно вкласти у файл. Я радий, що ти задав це питання!
Тайлер Колліє

Відповіді:


95

'deb' - це не команда. Він використовується у /etc/apt/sources.listфайлі для позначення сховища програмного забезпечення Debian.

З Ubuntu Manpage - source.list :

Список джерел призначений для підтримки будь-якої кількості активних джерел та різноманітних джерел носія. У файлі перераховано одне джерело на рядок, причому найкраще джерело вказується першим. Формат кожного рядка такий: введіть аргументи uri. Перший елемент, тип, визначає формат для аргументів. uri - універсальний ідентифікатор ресурсу (URI), який є набором більш конкретних і відомих універсальних локаторів ресурсів або URL-адреси.

Тип deb описує типовий дворівневий архів, дистрибутив / компонент Debian. Формат запису Source.list з використанням типів deb та deb-src є:

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

URI для типу deb повинен вказати базу дистрибутива Debian, з якої APT знайде необхідну йому інформацію. розподіл може вказати точний шлях, і в цьому випадку компоненти потрібно опустити, а розподіл повинен закінчуватися косою рисою (/). Це корисно для випадків, коли інтерес представляє лише певний підрозділ архіву, позначений URI. Якщо розподіл не визначає точний шлях, має бути принаймні один компонент.

Отже, якщо я маю deb http://archive.ubuntu.com/ubuntu/ quantal main restrictedв sources.listньому сказати, що у мене є архів Debian, який базується на " http://archive.ubuntu.com/ubuntu/ ", розподіл є "квантальним", а компоненти - "головними" та "обмеженими".


22
І sources.listзнаходиться в /etc/apt/12.04.
Ахмед Фасіх

3
Може бути корисним, якщо ви скажете, що рядки "deb" - це інструкції, додані до списків джерел Aptitude. Це усуне суму плутанини, яку створює вся ця проблема.
Шахріяр Іманов

23

Як і відповідь від @Eric Carvalho deb - це не командний рядок. Якщо у вас деб, то URL-адреса така:

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

Редагувати

Як і фіксація @muru , вам потрібно створити новий файл із розширенням .listу /etc/apt/source.list.d/папку:

Приклад : Я хочу завантажити віртуальну скриньку Oracle, створити новий файл:

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

Потім скопіюйте та вставте рядок deb у цей файл


1
1. Це apt, ні opt(хоча є opt) і 2. Ніколи не редагуйте, /etc/apt/sources.listщоб додавати рядок, якщо це не дзеркало / офіційне сховище Ubuntu. Створіть новий файл у /etc/apt/sources.list.dрозширенні .listз цим рядком.
muru

1
@muru " Ніколи не редагуйте /etc/apt/sources.list, щоб додавати рядок, якщо це не дзеркало / офіційне сховище Ubuntu. " Чому? Звичайно, я створюю .listфайли в /etc/apt/sources.list.dтому, що я роблю за цих обставин, і це те, що я зазвичай рекомендую. Але я не бачу причин наполягати на введенні вручну сторонніх програмних джерел /etc/apt/sources.list.d. Деякі конфілі, коли це можливо, найкраще не редагуються користувачем (наприклад, використовувати /etc/profile.dнад /etc/profile, імовірно, використовувати /etc/sudoers.dбільше /etc/sudoers), але sources.listчасто змінюються. (Навіть налаштований повсюдно для регіонального дзеркала.)
Елія Каган

@EliahKagan, коли ти коли-небудь бачив, щоб Ubiquity додав стороннє сховище (не дзеркальне відображення) до source.list? Або з цього приводу будь-який офіційний інструмент? source.list.d присутній не просто так. Я продовжуватиму наполягати на тому, щоб він використовувався для сторонніх сховищ.
муру

@muru Вибачте, мені не було зрозуміло. Я згадував поведінку повсюдності, щоб вказати, /etc/apt/sources.listне є одним із конфілетів, які можна залишити в спокої, щоб полегшити більш плавне оновлення, - це часто (можливо, зазвичай) мотивація сильних пропозицій віддати перевагу внесення файлів X.dдо редагування X. Я не припускаю, що повсюдність у будь-який спосіб дозволяє репортажу сторонніх організацій. Ти ж не пояснив, що особливого стосується таких репостів, щоб зробити їх фактично неправильним (тобто "Ніколи не редагувати ...") sources.list.
Eliah Kagan

@EliahKagan У цьому немає нічого «насправді неправильного», якщо це проблема з твердженням. "Ніколи [робити X]" не завжди означає, що робити X неправильно, це може означати, що робити X - це погана практика ("Ніколи не використовуй GOTO".). Щасливий зараз? Повторюся: я продовжуватиму наполягати на тому, що izvor.list.d використовуватиметься для сторонніх сховищ та source.list лише для дзеркал та офіційних репостів, якщо ви не зможете дати мені чітку, обґрунтовану причину, чому це гарна ідея не робити так.
муру

10

debне є командою unix. Якщо у вас є такий рядок (джерело для докера):

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

це рядок, який повинен бути доступний у вашому ubuntu, sources.listщоб apt-getможна було знайти майбутні пакунки з цього нового джерела.

Однак редагувати /etc/apt/sources.listфайл безпосередньо не вдало . Замість цього додайте debрядок як запис до нового .listфайлу всередині /etc/apt/sources.list.d/каталогу. Ми створимо такий docker.listфайл:

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

Після цього не забудьте виконати sudo apt-get updateі тепер ви зможете легко знаходити нові пакунки з цього джерела.


8

Деб насправді не є командою (спочатку я теж так думав). Припустимо, що ви намагаєтесь завантажити / встановити деб, зробіть це (наприклад):

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

тоді dpkg -i whatever.deb

потім запустіть команди:

sudo apt-get update

2
100% релевантний і кращий за найкращу відповідь вище. Він, очевидно, намагається завантажити / встановити .deb
dylanh724

2

Для Ubuntu вам не потрібно вручну редагувати, source.listщоб додати сховище. Натомість ви можете використовувати add-apt-repository, як ви це зробили для PPA.

Наприклад, щоб додати сховище LLVM, ви можете зателефонувати:

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

Як бачите, ми повинні передавати debрядок як єдиний аргумент команді.


2

Це не команда CLI.

Це інформація про деякий сховище пакунків Debian (використовується також Ubuntu).

Якщо ви хочете використовувати це сховище:

  1. Відкрийте файл /etc/apt/sources.listз правами адміністратора.

  2. Додайте до цього файлу рядок з інформацією про сховище, починаючи з deb ...

  3. Збережіть файл.

  4. Виконайте цю команду:

    apt-get update

Тепер ви зможете використовувати це сховище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.