Как я могу временно включить репозиторий или цель и легко отключить их без использования vim / sed / etc? [дубликат]

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

0
задан 22 December 2020 в 15:30

1 ответ

Если у вас уже есть или вы можете установить 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

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

https://unix.stackexchange.com/a/534340/103652

0
ответ дан 21 December 2020 в 18:28

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

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