Похоже, это связано с ошибкой №665487 . Чтобы удалить dovecot-managesolated
, попробуйте временно переименовать /etc/init.d/dovecot
:
sudo mv /etc/init.d/dovecot{,.disabled}
sudo apt-get purge dovecot-managesieved
sudo mv /etc/init.d/dovecot{.disabled,}
Это должно избежать попытки перезапуска dovecot
во время работы пакета удаление.
set -f
- переносимый (то есть POSIX) способ отключить расширение имени файла.
При включении (по умолчанию или с set + f
) расширение имени файла - это операция, выполняемая оболочкой, которая заменяет, когда это возможно, аргументы командной строки, содержащие:
?
= любой одиночный символ и *
= любое количество символов) [a-z12]
= любой символ из ] a
до z
, или 1
или 2
) [^ az]
= любой символ за пределами диапазона a
до z
) [[: xdigit:]]
= любой символ, который можно использовать для представления шестнадцатеричного числа) соответствующими им именами файлов.
Когда отключено, эти аргументы остаются без изменений.
$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??
И в ksh, и в bash команда set -f
отключает создание имени файла («расширение имени пути»). Это эквивалентно установке параметра оболочки noglob
(в обеих оболочках).
Он не позволяет оболочке расширять шаблоны подстановки файлов:
$ ls -l
total 0
-rw-r--r-- 1 kk kk 0 Dec 30 21:39 hello
-rw-r--r-- 1 kk kk 0 Dec 30 21:39 world
$ echo *l[a-k]
world
$ echo *
hello world
$ set -o noglob
$ echo *
*
$ echo *l[a-k]
*l[a-k]
Чтобы отменить (очистить) настройку, используйте либо set + f
, либо set + o noglob
.