Какая эпоха LUKS отображается при запуске luksDump?

Первая проблема заключается в том, что имя двоичного файла openvpnсовпадает с записью в каталоге init.d.

complete | grep -i openvpn

дает

complete -F _service /etc/init.d/openvpn

В Ubuntu и ее производных это происходит из кода в/usr/share/bash-completion/bash_completion(части bash-completionпакета ).

for svcdir in ${sysvdirs[@]}; do
    for svc in $svcdir/!($_backup_glob); do
        [[ -x $svc ]] && complete -F _service $svc
    done
done

Закомментируйте этот блок. Перезапустите ваш экземпляр bash. Попробуйте выполнить автозаполнение openvpnс помощью TAB и выполните

complete | grep -i openvpn

Это производит

complete -F _openvpn /etc/init.d/openvpn

Вторая проблема исходит из /usr/share/bash-completion/completions/openvpn. Он пытается автоматически заполнять файлы.conf из /etc/openvpn и является препятствием, если вы попытаетесь запустить openvpn с каким-либо специальным файлом конфигурации -hoc, лежащим за пределами /etc/openvpn.

Просто удалите его и перезапустите экземпляр bash.

sudo rm /usr/share/bash-completion/completions/openvpn

Теперь вы должны получить стандартное завершение файла для команды openvpn с помощью клавиши TAB.

Если вы запустите

complete -p | grep openvpn

после того, как вы попытались выполнить автозаполнение после openvpn, теперь вы должны получить

complete -F _minimal openvpn`

Лучшим подходом было бы исправление/расширение -сценариев завершения bash для openvpn. Но это история для другого дня.


Если позже вы захотите вернуться к первоначальному состоянию пакета bash-completion, просто переустановите его с помощью следующей команды.

apt-get install --reinstall bash-completion
4
08.05.2021, 20:13
0 ответов

Теги

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