Будет ли изменение хранилища в программном центре влиять на sources.list

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

Можно ли будет установить программное обеспечение из мультиверса с помощью «apt-get»?

0
задан 28 September 2013 в 14:22

1 ответ

1123 Нет, это будет невозможно. apt-get работает с репозиториями, которые определены в sources.list, как это делает центр программного обеспечения.

Подобные «многоуровневые» системы вы найдете во многих местах в Linux. Чтобы проиллюстрировать это, давайте посмотрим, как установлено приложение «низкого уровня». Для установки приложения необходимо скопировать несколько (в большинстве случаев множество) приложений в несколько (или несколько) разных каталогов. Исполняемый файл должен идти в один каталог, некоторые библиотеки должны идти в другой каталог, некоторые руководства (справочные страницы) должны идти в еще один каталог, некоторые значки должны идти в еще один каталог и так далее. Когда вы захотите удалить приложение позже, вам придется «привести в порядок» все эти файлы во всех этих разных местах.

Чтобы сделать это проще, есть менеджер пакетов dpkg. Пакет deb (названный так потому, что изначально был разработан для Debian, на котором основан Ubuntu) - это, более или менее, архив, содержащий файлы с информацией о том, куда эти файлы должны идти. Когда вы устанавливаете пакет, файлы копируются в соответствующие места; когда вы удалите его, файлы будут удалены. Для этого используются «обычные» инструменты низкого уровня, такие как, например, tar. Это иллюстрирует концепцию: dpkg использует то, что уже есть, чтобы упростить задачу.

Кроме того, пакет в основном имеет зависимостей . Пакет может сказать: «Если вы хотите установить меня, вам нужно установить и этот другой пакет, потому что он содержит файлы, которые мне нужны». Или «если вы хотите установить меня, вы не можете установить этот другой пакет, потому что наши файлы будут конфликтовать». Опять же, есть дополнительный слой поверх «скопировать некоторые файлы в нужные каталоги», который использует то, что уже есть.

Следующий вопрос: где мне взять эти пакеты? Вот где появляется следующий слой, подходящие инструменты (apt-get, apt-cache и т. Д.). С помощью apt вы можете управлять источниками пакетов, так называемыми репозиториями , где он может автоматически получать пакеты. Репозиторий может находиться на сервере где-то в сети, на CD или DVD, на локальном жестком диске и так далее. Какие репозитории доступны, определено в sources.list. Из этих репозиториев инструменты apt создают кэш , который, по сути, представляет собой список пакетов, доступных из репозиториев.

Таким образом, если вы устанавливаете пакет с apt-get, он извлекается из соответствующего репозитория и передается dpkg. dpkg, в свою очередь, устанавливает пакет, как описано выше, с такими инструментами, как tar.

На следующем уровне есть инструменты с графическим интерфейсом, такие как Synaptic или центр программного обеспечения. Они предлагают возможность управлять вашими пакетами с помощью графического интерфейса вместо «только» в командной строке. Инструменты GUI «под капотом» передают работу инструментам apt, которые (как описано) используют dpkg, который использует такие инструменты, как tar. Таким образом, apt-get не может знать ни о каких репозиториях, о которых не знает центр программного обеспечения. На самом деле все наоборот: центр программного обеспечения работает «поверх» кэша apt, поэтому он может знать только о репозиториях, определенных в sources.list.

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

0
ответ дан 28 September 2013 в 14:22

Другие вопросы по тегам:

Похожие вопросы: