Как узнать имена переменных для debconf-set-selections?

Я полагаю, вы написали файл .cpp на сервере Linux, и теперь вы хотите получить файл с сервера Linux на свой домашний компьютер, а затем со своего домашнего компьютера, поэтому что вы можете отправить его на веб-сайт вашего класса.

Чтобы получить файл с сервера Linux, сначала выясните, где этот файл «живет». Итак, пока вы подключены к серверу Linux по SSH, сделайте следующее:

$ readlink -f path/to/your/*cpp
/home/rschulj/homework/foo.cpp

Полученный путь указывает на файл.

Теперь на вашем домашнем компьютере скопируйте ( scp ) файл с сервера:

$ scp /home/rschulj/homework/foo.cpp ~/foo.cpp

Теперь foo.cpp находится в вашем домашнем каталоге. Загрузите его на свой школьный сайт с домашним заданием.

4
20.07.2018, 11:57
2 ответа

Вы можете проверить, что сохраняется в debconf, используя debconf-get-selections. Это полезно, если вы уже выполнили установку.

Кроме того, эти настройки используются в сценариях поддержки пакетов . С помощью выполненной вами команды dpkg-debони находятся в подкаталоге DEBIANкаталога EXTRACTDIR.

Например, изlightdm:

$ grep db_ lightdm/DEBIAN -R
lightdm/DEBIAN/postrm:  db_purge
lightdm/DEBIAN/prerm:    db_unregister shared/default-x-display-manager
lightdm/DEBIAN/prerm:    if db_get shared/default-x-display-manager; then
lightdm/DEBIAN/prerm:      db_metaget shared/default-x-display-manager owners
lightdm/DEBIAN/prerm:      db_subst shared/default-x-display-manager choices "$RET"
lightdm/DEBIAN/prerm:      db_get shared/default-x-display-manager
lightdm/DEBIAN/prerm:     if db_get "$RET"/daemon_name; then
lightdm/DEBIAN/prerm:        db_fset shared/default-x-display-manager seen false
lightdm/DEBIAN/prerm:        db_input critical shared/default-x-display-manager || true
lightdm/DEBIAN/prerm:        db_go
lightdm/DEBIAN/prerm:          db_get shared/default-x-display-manager
lightdm/DEBIAN/prerm:          db_get "$RET"/daemon_name
lightdm/DEBIAN/postinst:  if db_get shared/default-x-display-manager; then
lightdm/DEBIAN/postinst:    if db_get "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then
lightdm/DEBIAN/postinst:db_stop
lightdm/DEBIAN/config:if db_metaget shared/default-x-display-manager owners; then
lightdm/DEBIAN/config:if db_metaget shared/default-x-display-manager choices; then
lightdm/DEBIAN/config:  db_subst shared/default-x-display-manager choices "$OWNERS" || :
lightdm/DEBIAN/config:  db_fset shared/default-x-display-manager seen false || :
lightdm/DEBIAN/config:    db_set shared/default-x-display-manager "$CURRENT_DEFAULT"
lightdm/DEBIAN/config:  if db_get shared/default-x-display-manager; then
lightdm/DEBIAN/config:    db_set shared/default-x-display-manager lightdm
lightdm/DEBIAN/config:    db_fset shared/default-x-display-manager seen true
lightdm/DEBIAN/config:    db_input high shared/default-x-display-manager || :
lightdm/DEBIAN/config:    db_go || :
lightdm/DEBIAN/config:if db_get shared/default-x-display-manager; then

Различные функции db_*являются вспомогательными функциями для обработки debconf, полученными из /usr/share/debconf/confmodule.

Итак, в случае lightdm, shared/default-x-display-managerявляется важным ключом debconf.

2
27.01.2020, 20:47

Вы можете получить переменные для определенного установленного пакета, используяdebconf-show packagename

напр.

$ sudo debconf-show mysql-server-5.7
* mysql-server/root_password: (password omitted)
* mysql-server/root_password_again: (password omitted)
  mysql-server-5.7/start_on_boot: true
  mysql-server/no_upgrade_when_using_ndb:
  mysql-server/password_mismatch:
  mysql-server-5.7/really_downgrade: false
  mysql-server-5.7/nis_warning:
  mysql-server-5.7/postrm_remove_databases: false
  mysql-server-5.7/installation_freeze_mode_active:

Вы можете получить список всех установленных пакетов, которые имеют переменные в базе данных, используя debconf-show --listowners, поэтому, если вы не уверены, как называется пакет, вы можете сделать что-то вроде

# debconf-show --listowners | grep mysql | xargs debconf-show
* mysql-server/root_password: (password omitted)
* mysql-server/root_password_again: (password omitted)
  mysql-server-5.7/postrm_remove_databases: false
  mysql-server-5.7/nis_warning:
  mysql-server-5.7/installation_freeze_mode_active:
  mysql-server/password_mismatch:
  mysql-server-5.7/start_on_boot: true
  mysql-server/no_upgrade_when_using_ndb:
  mysql-server-5.7/really_downgrade: false
11
27.01.2020, 20:47

Теги

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