Измените редактор по умолчанию на vim для _ sudo systemctl edit [unit-file] _

1. Да, установка No_COW в пустом файле не означает отключение контрольной суммы его данных.

Это потому, что вы не можете обновлять данные и контрольную сумму атомарно - в какой-то момент в процессе записи они должны быть несовместимы. Это считается плохим.

Установка No_COW для непустого файла в настоящее время невозможна (см. №2).

Вывод таков, что отключение CoW для каждого файла также приводит к потере правильности контрольной суммы такого файла. Это не очень очевидно для нового пользователя Btrfs, и я думаю, что это необходимо добавить в Btrfs wiki .

2. Нет, No_COW не может быть установлен для непустого файла, поэтому chattr + C не может запускать контрольную сумму для экстентов.

Вы можете использовать + C только для файла без экстентов.

Таким образом, по определению в этом файле не будет никаких ранее существовавших экстентов с контрольной суммой.


Этот ответ представляет собой резюме, основанное на обсуждении списка рассылки Btrfs .

18
02.12.2017, 20:21
3 ответа

Я использую псевдоним оболочки:

sc='sudo SYSTEMD_EDITOR=/bin/vi /usr/bin/systemctl'

Тогда просто:

sc edit service-name

Также полезно избегать ввода 7 из 9 символов systemctlв таких случаях, как restartи т. д.

3
27.01.2020, 19:45

Я не терплю Нано и предпочитаю убить комара из пушки.

Я удаляю Nano и помещаю на его место символическую ссылку на vim.

Готово.

0
27.01.2020, 19:45

Единственные способы, которые сработали для меня, это:

  • Корневая оболочка(suили sudo -i), настройка SYSTEMD_EDITOR=/usr/bin/vim, затемsystemctl edit <unit>
  • Настройка SYSTEMD_EDITOR, затемsudo -E systemctl edit <unit>
  • sudo SYSTEMD_EDITOR=/usr/bin/vim systemctl edit <unit>

Я пытался установить EDITORи VISUALи SYSTEMD_EDITORдля bash и zsh, для пользователя и root, но это работало только из корневой оболочки, устанавливая переменную после sudoили используя sudo с -E.

Я также отредактировал sudoers (sudo visudo), чтобы добавить:
Defaults env_keep += "SYSTEMD_EDITOR"
Тем не менее, я обнаружил, что переменная не указана в sudo systemctl show-environment, хотя sudo echo $SYSTEMD_EDITORпоказывает vim.

Я установил переменную с помощью:
sudo systemctl set-environment SYSTEMD_EDITOR=/usr/bin/vim
И подтверждено sudo systemctl show-environment.

Но даже после этого для меня работают только те способы, которые перечислены вверху.

0
25.08.2020, 00:58

Теги

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