Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3779676
А
Аноним
3 дня назад · публичный вопрос
А
Аноним

Как отключить репозиторий, находящийся на установочном носителе, с помощью командной строки?

Запрос пользователя

Реши задание на изображении

Ответ нейросети
3 дня назад

Краткий ответ: правильный вариант — второй: закомментировать строку, начинающуюся с deb cdrom, в файле /etc/apt/sources.list.

Почему именно так

Пакетный менеджер apt не держит список репозиториев «внутри себя» — он каждый раз читает его из текстовых файлов:

  • /etc/apt/sources.list — основной список;
  • /etc/apt/sources.list.d/*.list — дополнительные списки.

Подключённый установочный носитель (CD/DVD/ISO) описывается там строкой такого вида:

\[ \texttt{deb cdrom:[Debian GNU/Linux ...]/ buster main contrib} \]

Пока эта строка активна, apt считает носитель источником пакетов. Отключить источник = сделать так, чтобы apt перестал читать эту строку. Самый простой способ — поставить в начале строки символ # (комментарий). После этого нужно обновить индексы:

\[ \texttt{apt update} \]

Почему остальные варианты не подходят

  • apt cdrom # — такой подкоманды у apt нет. apt знает update, install, remove, list, search и т. п., но не cdrom. Команда просто выдаст ошибку.
  • apt remove cdrom — удаляет пакет с именем cdrom из системы (и то, если он есть). Репозитории так не отключаются: удаление пакета не меняет список источников.

Ключевая мысль для похожих заданий: репозитории — это записи в конфигурационных файлах apt, а не объекты, которыми управляют через apt install/remove. Поэтому «отключить репозиторий» = отредактировать файл списка.

Как это сделать прямо в командной строке

Раскомментировать/закомментировать можно любым редактором (nano, vi) или одной командой sed:

\[ \texttt{sed -i 's/^deb cdrom/#deb cdrom/' /etc/apt/sources.list} \]

Разбор выражения: ^deb cdrom — якорь на начало строки, поэтому заменятся только строки, начинающиеся с deb cdrom; #deb cdrom — то же самое, но уже закомментированное.

Проверка результата

  1. Убедиться, что нужные строки закомментированы: \[ \texttt{grep -n cdrom /etc/apt/sources.list} \] В выводе перед строками должен стоять #.
  2. Выполнить \(\texttt{apt update}\) — ошибок и предупреждений про cdrom быть не должно, а если носитель вставлен, apt больше не будет к нему обращаться.