Несмотря на то, что тема резервного копирования/управления версиями файлов конфигурации может показаться простой на первый взгляд, это одна из самых актуальных тем администрирования системы/инфраструктуры.
Независимо от дистрибутива, для автоматического резервного копирования /etc в качестве простого решения можно установить etckeeper.
По умолчанию он фиксирует /etc в репозитории/системе управления версиями, установленной в той же системе.
Коммиты/резервные копии по умолчанию создаются ежедневно и/или каждый раз при обновлении пакетов.
Пакет etckeeper присутствует практически во всех дистрибутивах Linux.
см.: https://help.ubuntu.com/lts/serverguide/etckeeper.html
или https://wiki.archlinux.org/index.php/Etckeeper
Можно утверждать, что установка этого пакета является хорошим стандартом в отрасли.
Если у вас не установлен etckeeper и вам нужен определенный etc-файл, есть несколько способов; вы можете скопировать его из похожей системы вашей, вы можете попросить своего менеджера пакетов загрузить установочный файл или загрузить его вручную, и извлечь оттуда файл etc; один из самых простых способов — использовать mc (midnight Commander) для перемещения внутри пакетов, как если бы они были каталогами.
Вы также можете использовать репозитории дистрибутива для получения пакетов, в случае debian это http://packages.debian.org
В конце концов, если etc/configurations искажены до неузнаваемости, у вас всегда есть возможность чтобы переустановить конкретный пакет. переместите файлы etc в имя/каталог резервной копии и, например, в Debian:
apt-get install --reinstall package_name
Вы также можете настроить и установить исходные репозитории для вашего конкретного дистрибутива/версии, установить исходный пакет и получить оттуда файлы etc.
https://wiki.debian.org/apt-src (снова пример Debian)
В некоторых пакетах у вас также могут быть образцы файлов конфигурации в /usr/share/doc/package_name , который может быть пригодным или не пригодным для использования.
В крайнем случае, вы также можете найти файлы etc в репозиториях/адресах github, если соответствующие проекты с открытым исходным кодом, просто имейте в виду, что часто дистрибутивы меняют настройки по умолчанию и все вокруг.
Очевидно, что ни один из этих вариантов не освобождает вас от необходимости наличия надежной политики резервного копирования и извлечения из нее потерянных файлов /etc.
Времена также движутся быстро, и, если следовать философии devops, вы также можете полностью отказаться от определенных систем и повторно развернуть их в случае повреждения некоторых файлов; вы также можете использовать CI и повторно развернуть файлы, например, из jenkins.
Мне удалось решить эту проблему с помощью @Takkat путем простого переименования моего pulseaudio
config каталога:
mv ~/.config/pulse ~/.config/pulse.old
После этого pavucontrol
запустился нормально. Я понятия не имею, какой файл в этой директории все испортил. Если для кого-то это окажется информативным, вот что в нем было:
$ ls .config/pulse.old/
cookie e9ec65fd88a04300a02d204ca1e6ff58-default-source
e9ec65fd88a04300a02d204ca1e6ff58-card-database.tdb e9ec65fd88a04300a02d204ca1e6ff58-device-volumes.tdb
e9ec65fd88a04300a02d204ca1e6ff58-default-sink e9ec65fd88a04300a02d204ca1e6ff58-stream-volumes.tdb