При установке jackd
с помощью apt-get я дал неправильный ответ на некоторые вопросы. Как мне заставить apt-get снова задать мне вопрос? Я действительно предпочел бы сделать это через менеджер пакетов, чем вносить изменения вручную.
Я попытался очистить его и установить снова. Я также пытался dpkg-reconfigure jackd
.
Вполне вероятно, что dpkg-reconfigure
- это решение, но иногда пакет, к которому относится вопрос, не называется так же, как пакет, который вы установили - либо потому, что это был метапакет, либо потому, что вопрос принадлежал одному из зависимых пакетов.
В этом случае может быть полезно взглянуть на базу данных debconf, чтобы увидеть, есть ли вероятный кандидат, используя debconf-show
, например
$ sudo debconf-show --listowners | grep jack
jackd2
и оказывается, что
$ sudo dpkg-reconfigure jackd2
действительно подсказывает вопрос, который вы ищете.
В интересах читателя, если вы наткнетесь на подобную вещь, это поможет решить следующие проблемы:
dpkg-reconfigure package
также не помогает, так как это может оставить нежелательный (или даже опасный) мусор позади (например, при переключении на имя пользователя git
для пакета gitolite3
он не очищает пользователя по умолчанию gitolite3
). - поскольку он не может знать, использовался ли этот пользователь в то же время). dpkg-reconfigure
, которые не спрашиваются в apt-get install
apt
запрашивать каждое возможное значение конфигурации DEBIAN_FRONTEND=readline DEBIAN_PRIORITY=low apt-get install PACKAGE
Однако, это может не требовать всего, если уже есть кэшированные ответы. Они хранятся в том, что называется debconf
. Файл, в котором он хранится, называется /var/cache/debconf/config.dat
.
Чтобы увидеть всю эту информацию, выполните следующую команду, возможно, прежде чем пытаться установить PACKAGE
:
debconf-show PACKAGE
См. Ниже о некоторых способах избавления от нежелательных записей (существует еще миллион способов конечно).
Предупреждение:
Никогда не редактируйте
/var/cache/debconf/config.dat
самостоятельно. Посмотрите на это, но не изменяйте это с помощью редактора. Это придирчивый файл. Пробелы, вкладки и т. Д. Не касаются их, сохраняют их как есть. Некоторые редакторы пытаются делать умные вещи с пробелами в текстовых файлах. Они уничтожатconfig.dat
. И большую часть времени вы даже не можете видеть это.Вместо этого используйте подходящие инструменты (некоторые из них в
debconf-utils
):
debconf-get-selections
, чтобы выгрузить все,debconf-set-selections
, чтобы установить вещиdebconf-show PACKAGE
чтобы увидеть все параметры debconf изPACKAGE
(это все, чтоdpkg-reconfigure PACKAGE
попросит)echo PURGE | debconf-communicate PACKAGE
- удалить всю информацию debconf из ПАКЕТАНо будьте осторожны, они не предназначены для нормальных людей.
Внимание!
apt-get purge
(он же.apt-get remove --purge
) может уничтожить ценные пользовательские данные. Убедитесь, что вы сохранили резервную копию, просто случайно. Вы были предупреждены.
Противоположностью apt-get install PACKAGE
является apt-get remove --purge PACKAGE
. В настоящее время мы можем написать apt-get purge PACKAGE
и для этого. Без очистки некоторые вещи остаются позади, так что вы можете быстро установить ПАКЕТ снова, сохранив все предыдущие настройки и данные. Это включает в себя все вопросы, задаваемые при первой установке ПАКЕТА.
Однако apt-get purge PACKAGE
удаляет все следы ПАКЕТА, включая его конфигурацию, и довольно часто даже ценные пользовательские данные, которые были сохранены или для ПАКЕТА, будут также полностью удалены!
Так что, если вы видите, что что-то пошло не так при установке пакета, вы можете использовать apt-get purge PACKAGE
, чтобы избавиться от него, так что вы можете попробовать снова установить его правильно. Позже, после того, как вы использовали PACKAGE некоторое время, apt-get purge PACKAGE
, вероятно, выходит очень злым.
Обратите внимание, что apt-get purge PACKAGE
иногда оставляет мусор, когда пакет был перенастроен на dpkg-reconfigure PACKAGE
, потому что purge
работает на том, что известно в «время очистки», а не на том, что было до этого, потому что мало что нет истории о том, что было до последнего dpkg-reconfigure
.
Но если вы уверены, что не осталось ценных данных, для которых нет резервных копий, и вы хотите начать с нового пакета, выполните apt-get purge PACKAGE
. Обратите внимание, что вы можете сделать это даже после удаления пакета с помощью apt-get remove PACKAGE
.
Вы знаете файл, но не знаете, к какому пакету он принадлежит, он найдет его:
dpkg -S /path/to/file
Если это ничего не выводит, это не принадлежит ПАКЕТУ. Так что, возможно, это пользовательские данные или мусор. Вы решаете.
Для КОМАНДЫ вы можете набрать (обратите внимание, что кавычки важны), чтобы найти его ПАКЕТ:
dpkg -S "`which COMMAND`"
Если вы нашли пакет, вы можете получить список всех файлов в пакете:
dpkg -L PACKAGE
(Обратите внимание, что это не включает некоторые файлы, которые генерируются сценариями установки.)
Однако поиск пакета работает только для установленных пакетов. Если вам нужна та же информация для еще не установленных пакетов, попробуйте инструмент apt-file search filename
(сначала вам нужно запустить apt-file update
, чтобы инициализировать его базу данных).
Вы уже установили ПАКЕТ и хотите перенастроить его
dpkg-reconfigure PACKAGE
Вы хотите повторно установить ПАКЕТ с текущими настройками apt-get install --reinstall PACKAGE
Вы хотите переустановить PACKAGE с нуля, удалив все предыдущие (возможно ценные) данные, и задайте все возможные вопросы снова:
apt-get purge PACKAGE
DEBIAN_PRIORITY=low apt-get install PACKAGE
Если вам не нравится интерфейс Curses и вы хотите использовать линейный интерфейс
, добавьте DEBIAN_FRONTEND=readline
перед apt-get
Если вам даже не нравится интерфейс readline и вы хотите просто мертвое простое редактирование строк
добавьте TERM=dumb
перед apt-get
(обратите внимание, что в этом нет ничего особенного из debconf
, это работает с момента рождения Unix).
(Обратите внимание, что вы можете установить это в Среде так же, как export DEBIAN_FRONTEND=readline
, конечно.)
Лучший известный мне источник, где debconf объяснил, так что вы действительно можете понять это, и где я взял большинство деталей для этого здесь, это следующая ссылка, но страница на немецком языке:
http://debiananwenderhandbuch.de /debconf.html
Кстати:
Я тоже пишу это как ссылку на себя, потому что не могу вспомнить все детали. Все это слишком экзотично и в основном отсутствует на страницах руководства.
Этот ответ слишком длинный. Что, вероятно, означает, что apt
и debconf
все еще слишком запутаны.
Я слишком просто столкнулся с этой той же проблемой (на Сервере Ubuntu 18.04), где я установил jackd и хотел реконфигурировать его для включения приоритетов в реальном времени, к которым я выбрал No на начальной установке.
Мне все еще отобразили текст установки на моем экране, когда я прокрутил назад. (через Shift-PageUp) и когда я видел эти две строки:
Setting up jackd1 (1:0.125.0-3) ...
Setting up jackd (5) ...
Я полагал, что мог попытаться реконфигурировать jackd1 вместо jackd.
Конечно же, я сделал a sudo dpkg-reconfigure jackd1
и мне предложили вопрос в реальном времени снова.
Когда я ответил на да на этот раз, это изменило/etc/security/limits.d/audio.conf.disabled файл в/etc/security/limits.d/audio.conf, который является тем, что я сортирую ожидаемых.
Из любопытства я дал команду, которую сделал @steeldriver, и моя система действительно показывала jackd1 вместо jackd2, так, чтобы все имело смысл.
sudo debconf-show --listowners | grep jack
jackd1