Введение
Всем привет, меня зовут Абай, я обычный пользователей Linux.
В последнее время часто замечаю, что у пользователей Linux в Казахстане постоянно проблемы с установкой NCALayer, поэтому решил написать гайд, который простым языком объяснит, как установить его.
NCALayer - программное обеспечение, которое предоставляет возможность использовать средства ЭЦП НУЦ РК в веб-приложениях, а также обеспечивает работу Java в браузерах. Если простым языком, то предоставляет возможность использовать ЭЦП на различных сайтах, которые предоставляют государственные услуги, чтоб аутентифицировать себя и подписывать документы.
Оговорка
Данное руководство рассчитано на пользователей Linux дистрибутивов из семейства RHEL (Fedora, CentOS, AlmaLinux, RHEL) и Debian (Debian, Ubuntu, Linux Mint, Pop_OS! и т.д.), которые используют пакетные менеджеры yum, dnf, apt. На других дистрибутивах вы вероятно сможете воспользоваться данным скриптом, однако нужно будет вручную поставить nss-tools через ваш пакетный менеджер.
Функция в скрипте, которая отвечает за установку nss-tools:
installNSS3() {
if [ `command -v apt-get ` ]; then
sudo apt install -y libnss3-tools >/dev/null # Автоустановка зависимости для сертификатов для Debian-based
elif [ `command -v yum ` ]; then
sudo yum install -y nss-tools >/dev/null # Автоустановка зависимости для сертификатов для RHEL-based
elif [ `command -v dnf ` ]; then
sudo dnf install -y nss-tools >/dev/null # Автоустановка зависимости для сертификатов для RHEL-based
fi
if [ -z "$(getInfoCertutil)" ]; then
printf "${COLOR_OFF}\n";
printf "${BLACK_ON_RED}Программу nss-tools установить не удалось!\n"
printf "${COLOR_OFF}\n";
echo
else
printf "${COLOR_OFF}\n";
printf "${BLUE_BG_BOLD}Программа nss-tools успешно установилась!\n"
printf "${COLOR_OFF}\n";
echo "SUCCESS"
fi
}
Как видите установки под другие пакетные менеджеры здесь нет.
Скачивание NCALayer
Для того, чтоб скачать исходники со скриптом под Linux, нам нужно перейти по данной ссылке -> https://ncl.pki.gov.kz/
Как перейдете на данную ссылку, то пролистываете ниже и нажимаете на ссылку "NCALayer для Linux" после чего начнется скачивание.
После чего ждем скачивания данного архива
Дальше открываете терминал и прописываете команду ниже, чтоб перейти в директорию, в которую скачался наш архив и увидеть ее содержимое:
cd Downloads && ls
После чего следующей командой берем и разархивируем данный архив в папку ncalayer:
unzip ncalayer.zip -d ncalayer
Переходим следующей командой в директорию ncalayer, где хранится наш скрипт установки и делаем его исполняемым файлом:
cd ncalayer && chmod +x ncalayer.sh && ls
Ошибка, на которой многие не могут установить NCALayer
Прописываем команду ниже и ловим ошибку:
./ncalayer.sh
Теперь попробуем другую команду, запускающая установку через терминал, прожимая на всех вопросах Enter. Она сначала начнет работать, но потом все равно ничего не поставит:
./ncalayer.sh --nogui
Как видите ничего не будет работать, поскольку не была найдена утилита xxd при установке
Теперь берем и удаляем неправильную установку NCALayer с помощью той же команды:
./ncalayer.sh --nogui
После чего нажимаем D и Enter, чтоб ее удалить:
Решаем данную ошибку одной волшебной командой
Непонятно зачем кто-либо решил сделать зависимость от утилиты xxd при установке ПО, которая входит в текстовый редактор vim, однако это и является всей проблемой при установке. Команды для ее решения приведены ниже.
Debian-based дистрибутивы:
sudo apt-get install vim
RHEL-based дистрибутивы:
sudo dnf install vim
Или же:
sudo yum install vim
Повторная установка
Теперь пробуем еще раз провести установку через скрипт с помощью команды:
./ncalayer.sh --nogui
Во время установки на всех пунктах просто прожимаем Enter, чтоб приложение поставилось в домашнюю папку пользователя, оно было добавлено в автозагрузку и также сразу были установлены все сертификаты в браузер.
Теперь переходим на любой сайт, где используется ЭЦП для авторизации и видем, что все работает
Удаление NCALayer
Пишите команду ниже, чтоб активировать скрипт удаления:
cd /home/$USER/NCALayer && ./ncalayer.sh --nogui
И прожимаем D и Enter:
Заключение
В принципе установка NCALayer не является какой-то слишком сложной, однако все же непонятно, почему в инструкции не написан простой момент, что нужно иметь установленный Vim для установки приложения.
Также момент с установкой без gui, не упоминается в приложенной инструкции, а лишь помечен в исходниках самого скрипта, что тоже можно было бы добавить в нее.
P.S. В полной инструкции на Linux все же написано о консольной установке на странице 11, но не в приложенной.
Ну и последней моей критикой в сторону инструкции будет, что не написано, что можно посмотреть полный man для скрипта через:
./ncalayer.sh --help
Однако, в любом случае спасибо, что хоть имеется какой-либо порт ПО под Linux.