Как я могу вернуть файл конфигурации обратно в первоначально установленную версию после того, как я ее отредактировал?

Посмотрите на эту страницу http://ubuntuguide.net/how-to-charge-ipad-on-ubuntu-linux-via-usb-ports

Убедитесь, что вы прочитали всю страницу, включая комментарии .

Если у вас iPad2, вам нужно будет изменить идентификатор продукта перед компиляцией.

Я использовал эти инструкции сейчас, мне просто нужно запустить ipad-charge в терминале, когда я подключаюсь мой iPad2.

Надеюсь, это поможет.

1
задан 16 September 2015 в 02:40

5 ответов

Если вред уже сделан, вот способ командной строки вернуть официальную версию файла конфигурации. Сначала загрузите файл пакета (либо с помощью apt-get --download-only, как показано ниже, либо со страницы пакета на сайте packages.ubuntu.com), а затем извлеките его содержимое во временное место. Затем вы можете скопировать файл в /etc. Обязательно соблюдайте исходные разрешения (большинство файлов в /etc принадлежат root и mode 644 (то есть доступны для чтения и записи в корне), но каждое исключение существует по важной причине).

sudo apt-get --download-only --reinstall install foo
mkdir /tmp/foo
dpkg-deb -x /var/cache/apt/archives/foo_VERSION_ARCH.deb /tmp/foo

Обратите внимание, что это не относится к файлам конфигурации, которые не относятся к пакету, например /etc/fstab или /etc/passwd. Если вы потеряете их, вы по своему усмотрению. (Большинство из них очень системно-зависимы).

В будущем я рекомендую использовать packages.ubuntu.com . Установите пакет и запустите sudo etckeeper init. Это устанавливает контроль версий для всех файлов в /etc. Вам не нужно делать что-либо еще для управления программным обеспечением; вам нужно только взаимодействовать с ним, когда вы хотите выполнить операцию управления версиями, например, ссылаться на старые файлы.

По умолчанию, в Ubuntu, etckeeper использует . Измените настройку в /etc/etckeeper/etckeeper.conf перед запуском etckeeper init, если вы предпочитаете Darcs, Git или Mercury.

С Bazaar, чтобы вернуть /etc/foo.conf в последнюю завершенную версию:

cd /etc
sudo bzr revert foo.conf

Если вы хотите вернуться вовремя, используйте sudo bzr log foo.conf, чтобы просмотреть историю файла, и sudo bzr revert -r 42 foo.conf, если вы определили, что revno: 42 - это ревизия, к которой вы хотите вернуться.

12
ответ дан 26 May 2018 в 00:28

Вы можете загрузить пакет вручную с пакетов.ubuntu.com, извлечь файл и заменить его версией.

Или вы могли бы:

sudo rm /etc/foo.conf # just for good measure
sudo apt-get --purge --reinstall install foo

Второе чувство гораздо более жестоким. Он может также стереть другую конфигурацию, если он использует несколько файлов. Во-первых, это больше щелчков и усилий, но кажется гораздо более безопасным.

Во-вторых, вы можете просто удалить файл, и -reinstall может его заменить. Если это так, это будет безопаснее.

7
ответ дан 26 May 2018 в 00:28
  • 1
    Нет, удаление файла конфигурации считается допустимой модификацией и сохраняется с помощью apt. – Ryan Thompson 11 November 2010 в 22:00
  • 2
    Можно ли очистить и переустановить пакет, если от него зависят другие установленные пакеты? – Ryan Thompson 28 August 2012 в 05:11
  • 3
    @RyanThompson Да, apt-get --reinstall purge package не повредит иждивенцам. – Oli♦ 28 August 2012 в 12:00
  • 4
    К сожалению, это не сработает. – Anwar 28 August 2016 в 12:21

В зависимости от пакета вы можете найти конфигурационный файл по умолчанию в /usr/share/doc/foo/examples.

1
ответ дан 26 May 2018 в 00:28

Использовать Synaptic (настройка Ubuntu еще удобнее, но синаптика более прямолинейна) и выберите «полностью удалить пакет». Это приведет к удалению всех файлов конфигурации (возможно, вы захотите сделать резервную копию этих файлов!).

Затем переустановите. Все готово.

С Ubuntu Tweak вы получаете еще больше возможностей для очистки, перезагрузки и резервного копирования конфигурации. Может быть, вы хотите взглянуть на него. Он находится в центре программного обеспечения.

стр. s .: Synaptic также использует опцию «чистка» (как упоминалось выше Оли ...) - просто с графическим интерфейсом для более удобной обработки.

0
ответ дан 26 May 2018 в 00:28
  • 1
    Какой пакет удаляет файлы в вашем домашнем каталоге при его удалении? Я считаю это серьезной ошибкой! – Gilles 11 November 2010 в 23:45
  • 2
    @ Гилс: Ты прав. Личные настройки в вашем домашнем каталоге не будут затронуты чисткой. Я отредактировал и исправил вышеизложенное. СРЮ – piedro 12 November 2010 в 04:39
  • 3
    Очистка пакета не может быть вариантом, если другие зависят от него. – Ryan Thompson 28 August 2012 в 05:11

Наконец-то я нашел ответ, который я смутно помнил много лет назад:

dpkg --force-confnew --force-confmiss -i PACKAGE.deb

Аргумент «confnew» заставляет dpkg заменять измененные файлы конфигурации пакетами, а также «confmiss», Аналогично с файлами конфигурации, которые были удалены.

В соответствии с этим чатом, вы также можете использовать эти параметры через apt-get следующим образом:

apt-get -o DPkg::Options::="--force-confnew --force-confmiss" --reinstall install PACKAGE

, который экономит вас от необходимости находить файл deb.

Очевидно, что эти параметры опасны и могут сдуть важные файлы конфигурации системы, если они были использованы неправильно.

0
ответ дан 26 May 2018 в 00:28
  • 1
    Проблема с --force-confnew заключается в том, что она только установит новые файлы конфигурации, если версия изменена. Если вы переустанавливаете ту же версию, она не будет устанавливать новый файл конфигурации, поскольку я его явно проверял – Anwar 28 August 2016 в 11:11
  • 2
    И --force-confmiss установит только новый файл конфигурации, если версия изменена, а config отсутствует. Как описано в man-странице confmiss: If a conffile is missing and the version in the package did change, always install the missing conffile without prompting. This is dangerous, since it means not preserving a change (removing) made to the file. – Anwar 28 August 2016 в 11:13

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

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