Я хочу иметь возможность временно включить non-free
или contrib
, но я не хочу, чтобы они были включены все время, поскольку я пытаюсь использовать программное обеспечение с открытым исходным кодом в качестве как можно больше.
Если у вас уже есть или вы можете установить software-properties-common
, вы получите отличный и простой инструмент командной строки, чтобы сделать именно это. Возможно, он у вас уже есть, если вы использовали PPA (персональный архив пакетов) для установки дополнительного программного обеспечения в вашей системе, в противном случае вы можете запустить
sudo apt update
sudo apt install software-properties-common -y # the -y accepts a prompt for you
Я столкнулся с этим, пытаясь установить mbrola и голоса для него.Веб-сайт, предложенный для получения этих несвободных компонентов, похоже, не работает, поэтому я искал альтернативы и, наконец, выяснил, что они были упакованы для Debian/Ubuntu, просто недоступны в исходных текстах по умолчанию.
Во-первых, вы можете проверить свои существующие источники, чтобы узнать, включены ли уже несвободные или несвободные ресурсы. Эта команда рекурсивно '-r' ищет что-либо '' во всех файлах, совпадающих с sources.list*, который включает sources.list.d/ и все файлы в нем, и выводит каждую строку каждого файла, перед которой стоит имя файла.
grep -r '' /etc/apt/sources.list*
# we'll also save this list to a file to easily see which files get updated
grep -r '' /etc/apt/sources.list* > /tmp/apt-lists-before.txt
Теперь, чтобы включить contrib
или non-free
, они находятся в отдельных строках, потому что этот инструмент требует, чтобы вы указывали только по одному за раз.
sudo add-apt-repository non-free
sudo add-apt-repository contrib
Затем снова проверьте файлы sources.list*.
grep -r '' /etc/apt/sources.list*
# we'll also save this list to a file to easily see which files get updated
grep -r '' /etc/apt/sources.list* > /tmp/apt-lists-after.txt
# compare the two lists
diff /tmp/apt-lists-*
Если вы удовлетворены тем, что он добавил новые цели, вы можете запустить sudo apt update
и apt search mbrola
, чтобы увидеть пример новых доступных пакетов, которых раньше не было. .
sudo apt update
apt search mbrola
Теперь вы можете установить желаемое программное обеспечение, а затем отключить источники non-free
или contrib
, что позволит программному обеспечению работать, но не будет автоматически обновляться. Если новая версия какого-либо обычного пакета вызывает проблемы с несвободным пакетом, вы можете повторить этот процесс, чтобы снова включить репозиторий non-free
и посмотреть, есть ли после sudo apt update
это обновление для пакета с sudo apt --upgradable
.
sudo apt install mbrola mbrola-us1 -y # the -y accepts a prompt for you
sudo add-apt-repository --remove contrib
sudo add-apt-repository --remove non-free
См. также отличные вопросы и ответы, в которых описывается разрешение обновления только определенных несвободных пакетов с блокировкой остальных.