Как известно программное обеспечение в Linux устанавливается из централизованных хранилищ – репозиториев. Для работы с ними используется специальное ПО – пакетный менеджер.
В Debian и основанных на нем дистрибутивах это APT. Список репозиториев находится в
/etc/apt/sources.list. Но не всегда набор программ в официальном репозитории является достаточным. Какое-то ПО может отсутствовать, какое-то иметь слишком старые версии. В этом случае обычно подключаются дополнительные репозитории содержащие нужные версии программ.
Добавить их можно по-разному, можно внести записи прямо в
/etc/apt/sources.list, но в приличном обществе принято создавать отдельные файлы с расширением .list в /etc/apt/sources.list.d. Это позволяет более гибко управлять репозиториями, чтобы отключить не нужные достаточно просто удалить файл или сменить его расширение.Более подробно можно прочитать в нашей статье:
▫️ Linux - начинающим. Управление пакетами в Debian и Ubuntu
Но следует понимать, что добавление сторонних репозиториев – это потенциально опасная операция и один из самых доступных способов сломать систему.
Поэтому всегда смотрите что на самом деле будет установлено вместе с новым пакетом, проверив его зависимости и посмотрев их источники.
Также можете смоделировать процесс установки использовав ключ
-s:apt install имя_пакета -s
А вообще, если речь идет о небольших программах или пользовательском софте проверить нет ли нужного пакета в формате Snap или Flatpack. В этом случае все нужное пакет принесет с собой и риск сломать систему минимальный.
Про работу Snap читайте:
▫️ Linux - начинающим. Учимся работать со Snap
Еще один распространенный сценарий – это использование репозиториев предыдущего выпуска для получения пакетов, которые требуются некоторому софту, чаще коммерческому, по зависимостям, но отсутствуют в текущей версии.
Чаще всего это безопасно, то есть свои особенности, в частности с возможным обновлением пакета. Можно, конечно, поставить ему HOLD, но это не всегда правильно, особенно если пакет продолжает получать обновления в рамках предыдущего выпуска.
Более правильно в таких случаях использовать технологию APT Pinning, подробнее здесь:
▫️ Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
Ну и наконец, если вы все-таки не вняли первоначальному совету и превратили
/etc/apt/sources.list непонятно во что и все сломали, либо наоборот решили навести порядок, то может стать вопрос: а где взять исходное содержимое этого файла.Можно спросить у Гугла, можно подсмотреть на другой аналогичной системе, но зачем, если можно восстановить его содержимое одной командой:
cat /usr/share/doc/apt/examples/sources.list > /etc/apt/sources.list
Кстати, в той же директории есть оригиналы и других важных файлов из директории
/etc/apt, рекомендуем ознакомиться.