Debian убрать cd rom из репозитория

Обновлено: 05.07.2024

Устанавливайте репозитории в Debian легко и быстро. В статье мы расскажем, что такое репозитории, какие они бывают, а также, как происходит настройка репозиториев в Debian.

Ч то такое репозитории в Linux

Все программы в Linux распространяются в виде пакетов ― набора программ, упакованных в специальный формат. Пакеты можно скачать из репозиториев. Репозитории ― это хранилища в Интернете, в которых находятся файлы пакетов приложений Linux. Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит проверенные и стабильные версии программ.

Пакеты можно установить на Linux одним из двух способов: через инструменты с графическим интерфейсом ( менеджеры файлов ) или через командную строку ( терминал ). Подключение репозиториев в Debian происходит через терминал. С его помощью вы вводите команду — обращаетесь к репозиторию, и программа устанавливается.

Для работы с программным обеспечением на Debian надо знать псевдонимы версий Debian, официальные репозитории, а также виды веток программных пакетов. Сначала рассмотрим основные репозитории и разделы в Debian.

Т ипы официальных репозиториев в Debian

Существует официальный список репозиториев Дебиан. Расскажем про каждый из них подробнее.


В этом репозитории находятся самые актуальные и стабильные версии программ, именно их рекомендуется использовать. Программы, которые оказались в этом репозитории, прошли много проверок и доработок, чтобы стать надежным ПО. Часто в этом репозитории публикуют не самые свежие версии, зато самые надежные. Он формируется из ветки Testing после тщательной доработки.

В репозитории Testing находятся разработанные программы, которые ещё не прошли много тестов, чтобы перейти в ветку Stable. Пакеты в Testing попадают из репозитория Unstable. Использовать программы из репозитория Testing следует, только чтобы ознакомиться с возможностями нового релиза программы, так как они могут иметь ошибки при использовании.

Sid ― это репозиторий с самым свежим программным обеспечением. Если в репозитории Testing ошибок может совсем не быть, так как до этого программа уже прошла большой путь проверок, то здесь ПО только начало свой путь. Использовать программы из этого репозитория не рекомендуется. Также Unstable может нарушить зависимости пакетов, так что потом вернуться на Stable будет трудно.

Oldstable — кодовое имя предыдущего Stable репозитория. При публикации новой версии Stable, предыдущая переходит в ветку Oldstable. Для этого репозитория ещё продолжают выпускаться обновления безопасности.

Experimental репозиторий содержит пакеты и утилиты, которые только разрабатываются и находятся в состоянии начальной версии. Он предназначен для разработчиков и тестировщиков.

Backports ― компромисс между Stable-веткой и набором программ Testing. Он содержит преимущественно пакеты из Testing и немного из Unstable. Пакеты из Backports, где это возможно, устанавливаются без новых библиотек. Это сделано для того, чтобы при необходимости можно было вернуться на Stable. Если вам нужно ПО из веток Testing и Unstable, то лучше использовать этот репозиторий.

В Debian каждый репозиторий состоит из нескольких веток (разделов):

  • main ― эта ветка включается в каждый дистрибутив. Она подчиняется принципам свободного программного обеспечения. Ветка не зависит от других пакетов, которые не входят в раздел «main»;
  • contrib ― эта ветка подчиняется принципам свободного программного обеспечения и зависит только от пакетов, которые не входят в раздел «main». Может понадобиться прошивка ROM или ПО, которое имеет собственника, например Java от Oracle;
  • non-free ― содержит пакеты, которые противоречат принципам свободного программного обеспечения или имеют патенты и другие юридические ограничения.

Пакеты в каждой из веток (main, contrib и non-free) полностью готовы к работе с дистрибутивом Debian. Также для добавления репозитория вам понадобятся названия псевдонимов версий Debian.

П севдонимы версий Debian

Все версии (релизы) Debian имеют псевдонимы. Каждая версия названа в честь одного из героев мультфильма «История игрушек»:

  • Debian 7 ― Wheezy,
  • Debian 8 ― Jessie,
  • Debian 9 ― Stretch,
  • Debian 10 ― Buster,
  • Debian 11 ― Bullseye.

Знание релизов понадобится при добавлении репозитория.

К ак добавить официальный репозиторий в Debian

Операционная система хранит адреса всех репозиториев в специальном файле sources.list , который расположен в каталоге /etc/apt . Чтобы подключить репозиторий, нужно добавить в sources.list адрес web-сервера репозитория.

Как подключить репозиторий Debian:

1. Откройте терминал сочетанием клавиш Ctrl+Alt+T .

2. Отредактируйте файл /etc/apt/sources.list . Введите в терминал:

sudo nano /etc/apt/sources.list


3. В конец файла вставьте команду с адресом репозитория:


  • deb ― указывает на то, что это пакет Debian;
  • ссылка на репозиторий пакетов Debian (выглядит, как обычный URL-адрес сайта). На сайте Debian есть ссылки на зеркала , а также список сгруппированных пакетов , по категориям Stable, Testing, Unstable;
  • название версии Debian ― кодовое имя дистрибутива, псевдоним (например, Buster ― Debian 10, Stretch ― Debian 9, Jessie ― Debian 8, и т.д);
  • main ― компонент, который указывает на полностью свободное программное обеспечение. Также можно указать компоненты contrib и non-free.

Пример. Чтобы скачать программу MariaDB для Debian 10, надо ввести:

4. Сохраните и закройте файл сочетанием клавиш Ctrl+O и Ctrl+X

5. Обновите пакеты:

sudo apt-get update

Готово, установка репозиториев в Debian прошла успешно.

К ак удалить репозиторий в Debian

Удаление репозиториев в Debian можно провести двумя способами.

Способ 1. Удаление строки

1. Откройте терминал сочетанием клавиш Ctrl+Alt+T .

2. Откройте файл /etc/apt/sources.list . Введите в терминал:

sudo nano /etc/apt/sources.list

3. Найдите запись с репозиторием и удалите её:


Способ 2. Комментирование строки

1. Откройте терминал сочетанием клавиш Ctrl+Alt+T .

2. Откройте файл /etc/apt/sources.list . Введите в терминал:

sudo nano /etc/apt/sources.list

Для любого сервера необходимо иметь возможность оперативно получить актуальное свежее программное обеспечение. Я расскажу, как настраивать список репозиториев в Debian - добавлять, удалять, редактировать разные repository в sources.list. Разберем внимательно эту тему, обратив внимание на различные нюансы, которые присутствуют, как и в любом другом деле.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Данная статья является частью единого цикла статьей про сервер Debian.

Цели статьи

  1. Рассмотреть различные ветки официальных репозиториев.
  2. Подробно рассказать, как настраивать репозитории в debian.
  3. Показать на примере, как настроить локальный репозиторий.
  4. Составить список актуальных репозиториев для старых версий Debian.

Введение

В первую очередь расскажу, что такое репозиторий (repository) своими словами. В общем случае это место, где хранятся и поддерживаются какие-то данные. Применительно к операционным системам и конкретно к Debian, репозиторий - это файловый сервер, который хранит у себя пакеты для установки на операционную систему . Это могут быть как пакеты программ, так и обновлений для сервера в виде новых ядер, системных утилит и т.д.

Существуют repository не только для операционных систем, но и для программ. Там могут быть как уже скомпилированные и готовые к установке пакеты, так и исходные коды программных продуктов. Большинство репозиториев содержат готовые пакеты. Это относится и к стандартным репозиториям Debian.

Помимо официальных списков реп (транскрипция от сокращения repo), есть сторонние, которые поддерживают производители программ либо энтузиасты. Нужно внимательно относиться к сторонним репозиториям, не добавлять их бездумно. Там может располагаться любое ПО, в том числе не то, что заявлено изначально. Либо они могут быть взломаны для размещения вредоносных программ.

Управлением пакетами и работой с repository lists в Debian занимаются отдельные утилиты:

  • apt
  • apt-get
  • synaptic
  • aptitude и др.

В данной статье мы не будем рассматривать их отличия, так как это тема отдельного повествования. Все они работают со стандартным списком источников, который в общем случае располагается в /etc/apt/sources.list.

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

Список репозиториев в sources.list

Изначально, содержимое sources.list будет зависеть от того, какой источник для пакетов вы выбрали во время установки debian. К примеру, в моем случае для системы Debian 10 он выглядит следующим образом.

Репозитории Debian в sources.list

Для Debian 11 bullseye немного изменился формат записи для репозитория security. Теперь он выглядит так:

Репозитории Debian 11 Bullseye

В общем случае файл sources.list имеет следующую структуру:

deb и deb-src тип архива, бинарные пакеты (deb) или пакеты с исходным кодом (deb-src)
http://site.example.com/debian url репозитория
distribution псевдоним релиза (bullseye, buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.)
component main, contrib или non-free набор пакетов

Про псевдонимы релизов и наборы пакетов мы поговорим ниже более подробно в соответствующем разделе.

Помимо основного файла sources.list, репозитории могут располагаться в отдельных файлах в директории /etc/apt/sources.list.d. Формат файлов такой же, как и у основного. Обычно туда добавляют отдельно в каждый файл набор источников для какой-то определенной программы. Например, proxmox размещает в отдельном файле свой платный репозиторий.

Типы официальных репозиториев в Debian

Как я уже показал выше, в sources.list используются псевдонимы, либо классы релиза, а так же разные ветки наборов пакетов. С псевдонимами релизов все понятно. Они названы в честь персонажей мультфильма История игрушек (Toy story) - Wheezy, Jessie, Stretch, Buster, Bullseye и т.д. А вот насчет классов релизов поговорим отдельно. Существуют следующие официальные классы релизов Debian.

Stable

Стабильная ветка официального текущего релиза Debian. То есть это самая свежая и актуальная версия, которую рекомендуется использовать. Официальный репозиторий стабильной ветки содержит проверенный набор программ, зачастую не очень свежих версий. Это плата за надежность. В production рекомендуется использовать пакеты именно из репозитория stable.

В этом репозитории регулярно публикуются все актуальные обновления текущего релиза. Он формируется из ветки Testing, которая в момент релиза новой версии превращается в Stable.

Oldstable

Oldstable - кодовое имя предыдущего stable repository. Для этого репозитория выпускаются обновления безопасности. Ветка Oldstable формируется из Stable предыдущего релиза на момент публикации нового.

Testing

Testing содержит в себе текущее состояние разработки нового стабильного релиза. После его выхода, testing становится stable. Пакеты в testing попадают из репы unstable. В общем случае использовать репозиторий testing следует только для тестовых целей, чтобы посмотреть на новый релиз.

Для этого можно сделать чистую установку текущего релиза, затем изменить repo со stable на testing и обновиться. Вы получите свежую версию тестового релиза, который готовится к выпуску.

Unstable (sid)

Sid это repository с самым свежим программных обеспечением. Проблема только в том, что оно еще не протестировано достаточным образом для использования. Если вы точно уверены, что вам нужен новый софт и он не сломает вам систему, можете поставить его из unstable репозитория. Но в общем случае, делать это не рекомендуется.

Даже если софт из unstable не повредит работе системы, он может нарушить зависимости пакетов, так что потом может быть затруднительно вернуться на stable repo.

Experimental

Experimental repository содержит пакеты и утилиты, которые в данный момент только разрабатываются и находятся в состоянии alpha версии. Этот репозиторий предназначен только для разработчиков и тестировщиков. Если будете его использовать в рабочей системе, с большой долей вероятности, сломаете ее.

Backports

Backports repository выступает как некий компромисс между стабильностью основной ветки и свежим набором программ из ветки testing. Репозиторий backports содержит пакеты преимущественно из testing и немного из unstable (только для обновлений безопасности).

Пакеты из backports там, где это возможно, устанавливаются без новых библиотек, которых нет в стабильной версии. Это сделано, чтобы можно было с большей вероятностью опять вернутся на stable, в случае необходимости.

Если вам нужен софт из веток testing и unstable, лучше использовать backports. Репозиторий создан как раз для того, чтобы не прыгать между этими ветками.

Это все, что касается деления репозиториев по классам релизов. Есть еще небольшое разделение, которое явно нигде не описано и сразу не догадаешься, как оно работает и устроено.

Важное замечание. Я не рекомендую в качестве репозиториев указывать классы релизов - stable, oldstable и т.д. Всегда явно указывайте название релиза - bullseye, buster, stretch и т.д. Иначе в случае выхода нового релиза, вы при обычном обновлении получите обновление релиза, даже если не собирались его обновлять.

Security updates

Существует отдельный репозиторий только для security updates. Добавить его можно следующим образом:

Смысл этого repo в том, что сюда попадают только обновления безопасности и ничего другого. Вы можете настроить автоматическую установку пакетов из этого репозитория и не переживать о том, что что-то сломается. обновления сюда попадают максимально быстро после выпуска исправлений.

Stable-updates

Еще один отдельный репозиторий для установки пакетов через механизм stable-updates. Добавить его можно следующим образом.

Через этот repository вы будете по мере выпуска получать обновления, которые готовятся к публикации в очередном обновлении релиза. Так называемые Point Releases - 10.1, 10.2 и т.д. Случаются они не часто, примерно раз в 2-3 месяца, но проверенные для них обновления можно получить ранее как раз с помощью stable-updates.

Ветки main, contrib, non-free

Каждый официальный репозиторий Debian имеет по 3 ветки:

  1. main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других источников. Эти пакеты считаются частью дистрибутива Debian. Они полностью свободны для любого использования.
  2. contrib пакеты так же содержат DFSG-compliant ПО, но их зависимости могут требовать дополнительное ПО, которое может быть в других источниках, например ветке non-free.
  3. non-free содержит все остальное ПО, которое не соответствует DFSG.

DFSG - Debian Free Software Guidelines, критерии Debian по определению свободного ПО. В любом случае, пакеты из всех трех веток main, contrib и non-free полностью протестированы и подготовлены для работы с дистрибутивом Debian.

Теперь, зная всю теорию по репозиториям в Debian, мы можем проанализировать файл sources.list, который мы получили после установки. В нем подключены 3 репозитория с ветками main.

Это stable repo текущего релиза. Далее идет security repository для установки свежих обновлений безопасности.

И в завершении stable-updates для получения стабильных обновлений до очередного Point Release текущего дистрибутива.

Признаюсь честно, я много лет администрировал сервера с Debian, а до конца не понимал, что у меня записано в sources.list. Разобрался полностью только сейчас, когда писал статью. До этого просто копировал по привычке конфиги с репами. Догадывался о чем там речь, но точно не знал. Теперь восполнил пробел и поделился с вами информацией.

Добавить новый repository в debian

Теперь от теории перейдем к практике. Давайте вручную добавим новый репозиторий в Debian. К примеру, нам нужно установить на сервер стабильную версию MariaDB. Для этого добавим ее репозиторий. Это можно сделать либо в файле sources.list, но лучше создать отдельный в sources.list.d. Назовем его MariaDB.list.

После подключения репозитория, надо добавить его gpg ключ.

Теперь обновим кэш пакетов. Это нужно делать каждый раз после подключения нового репозитория.

Добавление репозитория в Debian

Можно выполнить поиск пакета, чтобы убедиться, что новый репозиторий подключен.

Новый репозиторий

Как я уже говорил, для настройки нового репозитория, вы могли просто добавить эти же 2 строки с параметрами в sources.list напрямую. Разницы никакой нет.

Зеркало официального репозитория yandex mirror

Repository yandex mirror можно так же использовать для сетевой установки систем.

Sources List Generator (генератор списка репозиториев)

В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.

Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.

К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:

  1. Репозиторий Stable
  2. Ветка main (просто отключил ветки contrib и non-free)
  3. Mirror - Russia
  4. Включить репозитории Security и Updates
  5. Добавить repo для софта - Docker, MariaDB, Nginx, NodeJS, Php, Webmin

В итоге получил вот такой sources.list

К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.

В целом, я бы не рекомендовал использовать такие сервисы по генерации готовых списков. Я не вижу проблем, чтобы вручную все сделать и проконтролировать процесс.

Локальный репозиторий

Есть несколько способов создать локальный репозиторий Debian. Из того, что я пробовал, самым простым и удобным мне показался apt-mirror, но у него есть один баг, если его использовать как зеркало официальных репозиториев. Он не качает переводы в формате .gz и.xz, только .bz2. В итоге, когда будете использовать локальный репозиторий в качестве зеркала официального, получите ошибку:

Дальше создаем каталог для локального репозитория и конфиг.

Конфиг делаем примерно следующего содержания.

Выполняем инициализацию репозитория.

Теперь можно добавлять пакеты в локальный репозиторий следующей командой.

Для того, чтобы подключить локально новый репозиторий, его нужно добавить в sources.list.

После этого выполняете обновление кэша пакетов и увидите в списке репозиториев свой локальный.

Локальный репозиторий Debian

Архив репозиториев для старых версий

Ниже представляю готовые настройки репозиториев для прошлых версий.

Debian 9 stretch

Репозитории Debian 9 stretch пока еще находятся в основных репозиториях:

В скором времени они тоже переедут в архив. Случится это в июне 2022 года, когда кончится период длительной поддержки. Тогда их можно будет подключить по следующим адресам:

Debian 8 jessie

Репозитории Debian 8 jessie:

Debian 7 wheezy

Репозитории Debian 7 wheezy:

Debian 6 squeeze

Репозитории Debian 6 squeeze:

Возможные ошибки

Рассмотрим наиболее популярные ошибки, которые возникают при добавлении и обновлении репозиториев.

Репозиторий не содержит файла Release

Текст ошибки, по идее, дает готовый ответ. В репозитории нет обязательного файла Release. Но суть в том, что он скорее всего есть. Дело тут чаще всего в том, что вы добавили к себе репозиторий, который не содержит указанной вами ветки. К примеру, вы добавили репозиторий в дистрибутив Buster, а в репозитории нет поддержки этого дистрибутива. Предыдущие есть, а этого нет.

Ровно эту же ошибку вы получите, если будете использовать старую, снятую с поддержки версию Debian. В какой-то момент стандартные репозитории перестанут поддерживать вашу версию дистрибутива и вы получите ошибку. Вам надо будет либо обновляться до более свежей версии, либо использовать архивные репозитории.

Заключение

Постарался собрать весь материал, который касается настройки репозиториев в Debian в одном месте. Если есть какие-то ошибки или неточности, а так же дополнения, прошу сообщить в комментариях. Писал все сам, нигде не переводил у других и не копировал. Постарался раскрыть тему своими словами максимально понятно.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.

К разработчикам мы ещё вернёмся, а вот для простых людей и вправду неочевидны. А потому всё что некоторые люди некоторые вещи делают неправильно. Делал бы их неправильно и я, но я засунул ноздри глубже, чем следует.

Зададимся целью научиться получать список пакетов в репозитории. Просто СПИСОК ПАКЕТОВ В РЕПОЗИТОРИИ. А в качестве репозитория будем использовать болванки (тем более, что мне прислали из Китая Iodd2541, надо же его опробовать )

Вариации на тему apt-cache. Вот оно и неправильно.

или, что то же самое

/var/lib/apt/lists/ область хранения информации о состоянии каждого ресурса пакетов, заданного в списке источников

А в ангоязычном manе разработчики не написали почему-то этого. Ну да ладно
===================================

Теперь, зная правильный способ нахождения списка пакетов в репозитории, найдём какой-нибудь пакет и всё встанет на свои места.

В папке /var/lib/apt/lists изначально списка пакетов нет

Файл /etc/apt/sources.list пуст

Ну всё, собсно. Вставим диск "Астралинукс Орёл 1.1", (что уж есть) примонтируем,

в папке /var/lib/apt/lists появятся нужные нам файлы; 3 штуки. OS%20Astra%20Linux%201.11%20orel%20-%20amd64%20DVD%20_dists_orel_contrib_binary-amd64_Packages
OS%20Astra%20Linux%201.11%20orel%20-%20amd64%20DVD%20_dists_orel_main_binary-amd64_Packages
OS%20Astra%20Linux%201.11%20orel%20-%20amd64%20DVD%20_dists_orel_non-free_binary-amd64_Packages Пока всё предсказуемо. Диск отмонтируем, вставим вот такой вот (Астралинукс Смоленск 1.5), но только версии 1.5 (просто потому, что она у меня есть), примонтируем, добавим, обновим и снова найдём пакет gcc:

Горькая правда заключается в том, что пакета gcc на дистрибутиве Астралинукс Смоленск 1.5 отродясь не было

Вот и всё, собсно. Такой ситуации можно было бы избежать. если бы строчка c ненужным дистрибутивом была закомменчена (командой, обратной команде apt-cdrom add, о чём и тема-то моя.)

Заодно, кстати, можно было бы и ненужные файлы /var/lib/apt/lists/*Packages поудалять

УДАЛИЛА бы из папки /var/lib/apt/lists ненужные файлы. Ага, после чего мы бы на самом деле не нашли пакет gcc потому, что его просто-напросто нет.

А теперь что получается. Перед тем, как скомандовать

, либо вручную правь /etc/apt/sources.list, либо вручную же удаляй ненужные файлы /var/lib/apt/lists/*Packages либо сиди и всматривайся в вывод выискивая, какому дистрибутиву принадлежит пакет и есть ли этот дистрибутив в данный момент на компе.

$ grep ^Package: /var/lib/apt/lists/*Packages | grep "gcc$"
/var/lib/apt/lists/OS%20Astra%20Linux%201.11%20orel%20-%20amd64%20DVD%20_dists_orel_main_binary-amd64_Packages:Package: gcc
user@astra:

Ну Вы ещё репозиторий OpenWRT (или даже ещё левее) присобачьте, будет вообще хорошо :-)

Мнения будут такие, что нефиг в Debian прикручивать всякие Астралинуксы.
Или, как уже сказали выше, OpenWRT.

Есть Debian, есть его официальные репы. С конкретными адресами.
Есть болванки, которые можно прикрутить в качестве локальных реп, но это - всего лишь приятный бонус, не более. Я сам этим пользовался в мою бытность на Debian - прикручивал iso в качестве локальных реп, чтобы не тянуть каждый пакет из интернета (быстрее и устойчивее).

Наличие команды apt-cdrom add совсем не означает, что туда можно запихивать любые болванки. Запихнуть-то, конечно, можно, но результат будет. вот как у Вас, примерно.

Вообще-то любая строка в sources.list подразумевает, что данный репозиторий доступен.
И в этом смысле болванка мало чем отличается от репов где-то на сервере.

Горькая правда заключается в том, что пакета gcc на дистрибутиве Астралинукс Смоленск 1.5 отродясь не было

А с чего Вы решили, что пакет gcc "найден" на диске "Астралинукс Смоленск 1.5"?
Он найден в списках, связанных с доступными источниками - сетевыми репами, болванками, каталогами и пр. Какой именно источник имеется в виду - неизвестно. Любой из доступных. При установке пакета будет попытка связаться с этим источником. Если это болванка - будет запрос "вставить диск".

У меня было добавлено 5 образов DVD для Debian Lenny и это именно так и работало: при установке пакета появлялся запрос "вставить нужный диск" (указывалось, какой именно), если вдруг был примонтирован не тот образ. И наличие целых пяти "болванок" (а на самом деле iso-образов) в sources.list не создавало никаких проблем.

Пускай скрипят мои конечности.
Я - повелитель бесконечности.
Мой блог Зачем слова говорить? "нефиг", "прикручивать", "запихивать". Есть конкретная ситуация- есть болванка с пакетами и нужно узнать, какие на ней есть пакеты. А не узнать потому, что
Наличие команды apt-cdrom add совсем не означает, что туда можно запихивать любые болванки. Запихнуть-то, конечно, можно, но результат будет. вот как у Вас, примерно.

То есть лежит себе болванка с пакетами, я хожу такой облизываюсь возле неё и не могу даже пакеты посмотреть какие на ней есть. Не установить, заметьте, а просто посмотреть. Ну ладно, я вас понял, чё.

А с чего Вы решили, что пакет gcc "найден" на диске "Астралинукс Смоленск 1.5"?
Он найден в списках, связанных с доступными источниками - сетевыми репами, болванками, каталогами и пр. Какой именно источник имеется в виду - неизвестно. Любой из доступных. При установке пакета будет попытка связаться с этим источником. Если это болванка - будет запрос "вставить диск".

с чего я решил, я написал. Понимаете, меня совсем не радует перспектива узнавать, где есть пакет во время его установки, хотя разговора нет, это СТОПРОЦЕНТНЫЙ СПОСОБ. А мой способ не стопроцентный, тут я согласен, пока не установишь, точно нельзя быть уверенным. Мда.

То есть у вас я прочёл:

если хочешь узнать, где есть пакет, устанавливай его. Та болванка, с которой он установится его и содержит.

Но вообще, команда, обратная apt-cdrom add и

apt-get update
grep ^Package: /var/lib/apt/lists/*Packages | grep "gcc$" Есть конкретная ситуация- есть болванка с пакетами и нужно узнать, какие на ней есть пакеты. А не узнать потому, что Потому что неправильно пользуемся инструментами. И вместо использования apt-cache изобретаем велосипеды с grep.
То есть лежит себе болванка с пакетами, я хожу такой облизываюсь возле неё и не могу даже пакеты посмотреть какие на ней есть. Не установить, заметьте, а просто посмотреть. Посмотреть можно. Примонтировать и посмотреть. Там наверняка есть файл со списком пакетов.
Или использовать apt-cache . Он Вам всё покажет. Уж не знаю, чем он Вам так насолил, что Вы предпочитаете grep'ать списки.
Понимаете, меня совсем не радует перспектива узнавать, где есть пакет во время его установки

Это и не требуется. То, что я сказал выше насчет запроса диска в момент установки - это всего лишь иллюстрация того, что разные диски могут одновременно присутствовать в списках источников и это не вызывает никакой путаницы. По крайней мере, в Debian. Потому что каждый диск (iso, во всяком случае) снабжен уникальным идентификатором. Так же должно быть и в Астралинукс, если всё сделано по уму и ничего не поломали.
Более того, после выполнения apt-cdrom add для всех имеющихся болванок/образов, списки пакетов в дальнейшем можно будет смотреть без всяких проблем и для этого даже болванки вставлять не придётся. Но это при использовании apt-cache . А ещё, помнится, была возможность посмотреть источник для конкретного пакета (к какому диску/образу/репозиторию он относится). Какой именно инструмент это обеспечивал - не помню, так как Debian не использую уже года четыре, но по-моему, всё тот же apt-cache .

А вот когда Вы делаете

apt-get update
grep ^Package: /var/lib/apt/lists/*Packages | grep "gcc$"

grep Вам находит пакет из общих списков, то есть вообще из всех доступных источников, в том числе серверов. Соответственно, наличие/отсутствие болванки в приводе в этот момент ни на что не влияет.
Пакет в этом случае находится (или не находится) по общим спискам без привязки к источникам, ибо grep про источники не в курсе просто вот никак.

Кроме того, надо иметь в виду, что apt-get update обновляет списки в соответствии с sources.list, поэтому нужно предварительно удалять/добавлять строки в sources.list, иначе вызов apt-get update ничего не даст - списки источников останутся те же, следовательно и списки пакетов - те же.
И команда, обратная к apt-cdrom add здесь ничем не поможет, так как кроме cd-rom есть ещё куча других источников - серверы, каталоги, локальные репы.

Вывод: Пользуйтесь для поиска пакетов специальными инструментами, не изобретая велосипедов - и проблема уйдет сама собой.

Я понимаю что проблема решаеться комментированием второй репы, но почему у меня по умолчанию после установки взялись первые два репозитория ? Что собственно с этим делать, просто убрать и все ? Раньше с таким не сталкилвался и дело в том что при установке системы я не указывал никакую опцию типо установки ПО через cdrom.


Ставь с netinstall.


Я и до 11 с этим сталкивался. Видимо, артефакт с тех времён, когда .iso действительно писали на CD.

А оттуда и появилось, раньше на нескольких DVD шёл Debian, чтоб с них можно было полнофункциональный Linux развернуть, без выхода в интернеты. Ну например 4-ый Etch шёл на 4 DVD, 5 Lenny на пяти, если официально заказывался, то так пачкой и присылали. И у них сложилось, что устанавливаешь как бы с 1 DVD образа, а остальные в интернете и подтягивает оттуда. И не важно с чего ты ставил, но если не версию netinstall, то будет считаться что с 1 DVD, а во время установки, не графическим установщиком если, то когда ставишь, то там есть пункты «вставить DVD №2» и.т.д.

Надеюсь доходчиво объяснил? У меня вон в коллекции лежат пачками DVD диски с 3 Woody и до 5 Lenny, с фирменными логотипами на дисках. А так-то я до 7-го пользовался Debian на сервере небольшом, но начиная с 7-го - он мне переставил нравиться, но это лично мой опыт и мнение, не претендующее на истину в последней инстанции.


Ну например 4-ый Etch шёл на 4 DVD

Буржуй, у меня было на 21 cd диске, до сих пор где-то лежит эта башня.

Спокойной удаляйте эти строки.

ЗЫ Уже намекали, что текущий установщик полная хрень и его будут менять на calamares. Шило на мыло замена.

Почему буржуй? У меня был ДВД привод от Pioner и Тик пишущий. А плюсом, к 4 DVD Etch, были скачанные и нарезанные 2хCD, один NonFree, второй Multimedia. У меня это всё пол города переписало :) И даже некоторые предприятия. Я плату за распространение не брал, но от подарков не отказывался, в виде натуральной копчёной колбасы или натурального растительного подсолнечного масла, не рафинированного, в 3л. канистре капроновой, хотя я не просил, сами давали.


grem ★★★★★ ( 13.10.21 08:12:22 )
Последнее исправление: grem 13.10.21 08:13:16 (всего исправлений: 1)


Ну ты же с .iso образа, пусть и записанного на флешку, ставил? Вот это он и есть. Это репозитории, что были использованы в процессе установки. Обычно эти репозитории в конце установки закомментированы становятся, странно, что у тебя не так.

Читайте также: