Добро пожаловать в Arch Linux с Руководством по установке Window Manager XFCE4 и I3!
Это руководство предоставляет вам пошаговое прохождение установки Arch Linux вместе с диспетчере Windows XFCE4 и I3. Он был тщательно создан на основе моего собственного опыта установки Arch Linux на нескольких устройствах на протяжении многих лет. Это руководство направлено на то, чтобы сделать ваш процесс установки максимально плавным.
Чтобы начать свое путешествие по установке Arch Linux, пожалуйста, следуйте пошаговым инструкциям, указанным ниже.
Если у вас есть какие -либо предложения, исправления или столкнуться с любыми проблемами, следуя руководству, я призываю вас принять участие через GitHub.
Проблемы: Если вы сталкиваетесь с любыми проблемами или у вас есть конкретные вопросы, пожалуйста, откройте проблему в репозитории GitHub для этого руководства. Это позволяет мне эффективно отслеживать и решать ваши проблемы.
Запросы на вытягивание: если у вас есть улучшения или дополнения к руководству, не стесняйтесь отправлять запрос на привлечение. Ваш вклад может помочь улучшить ясность руководства для всех.
Перейдите на страницу загрузки Arch Linux https://archlinux.org/download/
Найдите раздел HTTP Direct Downloads и выберите любое зеркало для загрузки. Выберите зеркало, которое географически ближе к вашему местоположению.
На странице зеркала найдите архив, названный как archlinux-YYYY.MM.DD-x86_64.iso
или archlinux-x86_64.iso
или любой другой файл с суффиксом .iso
. Другие файлы (такие как .txt , .tar.gz и даже .iso.sig ) не нужны для процесса установки.
Вставьте USB-плесень в свой компьютер с по крайней мере 2 ГБ Space Avally.
Найдите соответствующее блочное устройство для папки USB-привязки в /dev
. Обычно это /dev/sdb
.
/dev/sdb
):$ sudo dd conv = fsync oflag = direct status = progress if =./Archlinux-yyyy.mm.dd-x86_64.iso of =/dev/sdb
Вставьте среду установки в компьютер, на котором вы устанавливаете Arch Linux.
Питание на вашем компьютере и нажмите клавишу меню загрузки . Для ноутбука Lenovo ThinkPad X1 Carbon Series этот ключ - F12
.
Загрузитесь из USB-палата и подождите, пока не закончен процесс загрузки.
iwctl
, и установлено контрольное соединение:$ iwctl [iwd]# station wlan0 get-networks [iwd]# station wlan0 connect <имя точки доступа Wi -Fi> [iwd]# exit $ ping 1.1.1.1
$ PACMAN -SYY
fdisk
. Вы можете найти имя устройства хранения, используя команду lsblk
. $ fdisk /dev /nvme0n1
[Повторите эту команду, пока существующие разделы не будут удалены]
Команда (м для помощи): D
Команда (м для помощи): D
Команда (м для помощи): D
[Создать раздел 1: EFI]
Команда (м для помощи): n
Номер раздела (1-128, по умолчанию 1): Введите ↵
Первый сектор (..., по умолчанию 2048): введите ↵
Последний сектор ...: +256 м
[Создать раздел 2: MAIN]
Команда (м для помощи): n
Номер раздела (2-128, по умолчанию 2): Введите ↵
Первый сектор (..., по умолчанию ...): введите ↵
Последний сектор ...: -32G // Двойной размер вашей оперативной памяти
[Создать раздел 3: подмен]
Команда (м для помощи): n
Номер раздела (3-128, по умолчанию 3): Введите ↵
Первый сектор (..., по умолчанию ...): введите ↵
Последний сектор ...: Введите ↵
[Изменить типы разделов]
Команда (м для помощи): t
Номер раздела (1-3, по умолчанию 1): 1
ПАРТИЯ TYPR или псевдоним (тип L, чтобы перечислить все): UEFI
Команда (м для помощи): t
Номер разделения (1-3, по умолчанию 2): 2
ПАРТИЯ TYPR или псевдоним (тип L, чтобы перечислить все): linux
Команда (м для помощи): t
Номер разделения (1-3, по умолчанию 3): 3
ПАРТИЯ TYPR или псевдоним (тип L, чтобы перечислить все): обмен
[Напишите разделение на диск]
Команда (м для помощи): w
$ mkfs.fat -f 32 /dev /nvme0n1p1 # в разделе системы EFI $ mkfs -t ext4 /dev /nvme0n1p2 # на раздел Linux fileSystem $ mkswap /dev /nvme0n1p3 # на раздел Linux Swap
/mnt
:$ mount /dev /nvme0n1p2 /mnt $ mkdir -p/mnt/boot/efi $ mount/dev/nvme0n1p1/mnt/boot/efi $ swapon /dev /nvme0n1p3
$ pacstrap -i /mnt base linux linux -фирминовое обеспечение sudo vim $ genfstab -u -p /mnt> /mnt /etc /fstab
$ arch-chroot /mnt
$ vim /etc/locale.gen # не понаправду $ Locale-Gen $ echo "lang = en_us.utf-8"> /etc/locale.conf # выберите свой локал $ ln -sf/usr/are/ZoneInfo/europe/berlin/etc/localtime # Выберите свой часовой пояс $ hwclock -systohc
$ echo yourhostname > /etc /hostname $ vim /etc /hosts 127.0.0.1 Localhost :: 1 Localhost 127.0.1.1 Yourhostname
$ userAdd -m -g Колесо, хранение, питание, аудио, видео -S /bin /bash yourusername $ passwd root $ passwd yourusername
$ visudo [Нерумманная следующая строка в файле] %колеса все = (все) все
$ pacman -grub efibootmgr $ grub-install /dev /nvme0n1 $ grub -mkconfig -o/boot/grub/grub.cfg
$ pacman -s dhcpcd networkmanager resolvconf $ systemCtl включить DHCPCD $ systemCtl включить сетевой менеджер $ systemCtl включить системс
$ exit $ umount/mnt/boot/efi $ umount /mnt $ перезагрузка
$ timeedatectl set-ntp true
nmcli
:$ nmcli Device Wi -Fi Connect <Имя точки доступа Wi -Fi> Пароль <пароль>
$ sudo pacman -s xorg xorg-apps xorg-xinit xorg-xlsfonts xdotool xclip xsel
$ sudo pacman -s dbus # Автобус сообщений, используемый многими приложениями $ sudo pacman -s intel -ucode # файлы обновления микрокода для процессоров Intel $ sudo pacman -s fuse2 # интерфейс для программ для экспорта файловой системы в ядро Linux $ sudo pacman -s lshw # предоставляет подробную информацию об оборудовании машины $ sudo pacman -Sowertop # инструмент для диагностики проблем с энергопотреблением и управлением питанием $ sudo pacman -s inxi # Полный инструмент информации о системе CLI $ sudo pacman -s acpi # client для батареи, питания и тепловых показаний$ sudo pacman -s base -devel # базовые инструменты для создания пакетов Arch Linux $ sudo pacman -s git # Система управления распределенной версией $ sudo pacman -s Zip # Компрессор/Архивер для создания и модификации Zipfiles $ sudo pacman -s unzip # для извлечения и просмотра файлов в архивах .zip $ sudo pacman -s htop # Interactive CLI Processer Viewer $ sudo Pacman -s Tree # Программа списка каталогов$ sudo pacman -s Dialog # Инструмент для отображения диалоговых окнов из сценариев Shell $ sudo pacman -s Reflector # скрипт для извлечения и фильтрации последнего списка зеркала Pacman $ sudo pacman -s bash -comploys # программируемое завершение для оболочки Bash$ sudo pacman -s iw # cli configuration утилита для беспроводных устройств $ sudo pacman -s wpa_supplicant # утилита, обеспечивающая ключевые переговоры для беспроводных сетей WPA $ sudo pacman -s tcpdump # мощный анализатор пакетов командной строки $ sudo pacman -s mtr # объединяет функциональность Traceroute и Ping в один инструмент $ sudo pacman -s net -tools # инструменты конфигурации для сети Linux $ sudo pacman -s conntrack -tools # Инструменты пользователей для взаимодействия с системой отслеживания NetFilter $ sudo pacman -s ethtool # утилита для управления сетевыми драйверами и оборудованием $ sudo pacman -s wget # сетевая утилита для извлечения файлов из Интернета $ sudo pacman -s rsync # инструмент копирования файла для удаленных и локальных файлов $ sudo pacman -s socat # многоцелевой эстафет $ sudo pacman -s openbsd -netcat # программа Netcat. Вариант OpenBSD. $ sudo pacman -s Axel # Light Command Line скачать акселератор $ sudo pacman -s bind # Я использую утилиту Dig для разрешения DNS из этого пакета
# Инструкции по установке XFCE4 $ sudo pacman -s xfce4 $ sudo pacman -s xfce4-notifyd xfce4-screensaver xfce4-screenshooter $ sudo pacman-С. $ sudo pacman -s сетевой манагер-приложение $ sudo pacman -s xfce4-xkb-plugin xfce4-battery-plugin xfce4-datetime-plugin xfce4-mount-plugin xfce4-netload-plugin xfce4-wavelan-plugin xfce4-pulseaudio-plugin xfce4-weather-plugin XFCE4-WHISKERMENU-PLUGIN # Инструкции по установке i3 $ sudo pacman -s i3 -wm i3status i3lock pango $ sudo pacman -s lxappearance # Вам, скорее всего, понадобятся эти приложения для i3 $ sudo pacman -slibar # neaffate saturtabar для I3 на основе UIS на основе I3 $ sudo pacman -s rofi # как dmenu, но более настраиваемый $ sudo pacman -s ranger # console file manager $ sudo pacman -s alacritty # эмулятор терминала $ sudo pacman -s dunst # менеджер уведомлений $ sudo pacman -s feh # быстрый и легкий просмотрщик изображений $ sudo pacman -s xss -lock # контроллер блокировки экрана $ sudo pacman -s flameshot # приложение экрана $ sudo pacman -s gsimplecal # небольшой виджет календаря
ly
, чтобы он был минимализм:$ sudo pacman -s ly $ sudo SystemCtl включает ly
$ sudo pacman -s ttf-dejavu ttf freefontfont ttf-liberation ttf-droid terminus-font $ sudo pacman-noto-fonts noto-fonts-emoji ttf-ubuntu-font-family ttf-roboto ttf-roboto-mono
$ sudo pacman -s sof -firmware # звук открытой прошивка $ sudo pacman -s pulseaudio # функциональный звуковой сервер общего назначения $ sudo pacman -s pavucontrol # pulseaudio complort $ sudo pacman -s alsa -utils # advanced linux sound architecture -утилиты $ sudo pacman -s alsa -plugins # дополнительные плагины ALSA
$ sudo pacman -Bluez Bluez -Utils Blueman $ sudo systemctl включить Bluetooth
$ sudo pacman-Cups Cups-Filters Cups-Pdf System-Config-Printer hplip $ sudo SystemCtl включить чашки.
/usr/share/applications/system-config-printer.desktop
и set Categories=System;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
$ sudo pacman -s tlp tlp -rdw $ sudo SystemCtl включает TLP # выполнить следующие команды, только при использовании TLP-RDW: $ sudo systemCtl включить networkmanager-dispatcher.service $ sudo SystemCtl Mask Systemd-rfkill.service $ sudo SystemCtl Mask Systemd-rfkill.socket
$ sudo SystemCtl включает fstrim.timer
$ sudo pacman -s arc-gtk-theme Adapta-gtk-theme materia-gtk-teme $ sudo pacman -s papirus-icon-theme
$ sudo Reflector -страна Германия, Австрия, Швейцария -Fastest 10 -threads $ (nproc) -save /etc/pacman.d/mirrorlist
$ sudo pacman -s nm-connection-editor networkmanager-openvpn
$ pacman -s vulkan -intel # только для систем с графикой Intel $ pacman -s nvidia -utils # только для систем с графикой nvidia $ pacman -s amdvlk # только для систем с графикой AMD
$ перезагрузка
Откройте свой /etc/fstab
и найдите UUID для вашего перегородка
Откройте файл конфигурации Grub и добавьте резюме uuid в GRUB_CMDLINE_LINUX_DEFAULT
:
$ sudo vim/etc/default/grub Пример: ... Grub_cmdline_linux_default = "Тихое Splash Resume = uuid = <uuid вашего раздела подкайна> " Grub_cmdline_linux_default = "Тихое Splash Resume = Uuid = 97D9E9F5-899F-4E9E-910E-623A5F665271 " ...
$ sudo grub -mkconfig -o/boot/grub/grub.cfg
resume
крюк:$ sudo vim /etc/mkinitcpio.conf Пример: ... Hooks = "Base UDEV RESUME AutodeTect ModConf Block FileSystems Клавиатура FSCK" ...
$ sudo mkinitcpio -p linux
$ sudo systemctl hibernate
$ sudo pacman -s chromium # веб -браузер $ sudo pacman -s obsidian # приложение для съемки $ sudo pacman -s mousepad # простой графический текстовый редактор $ sudo pacman -s file -roller # archive Manager $ sudo pacman -s evince # pdf evironter $ sudo pacman -s xournalpp # pdf редактор $ sudo pacman -s libreoffice # офисные пакеты $ sudo pacman -s gimp # редактор изображений $ sudo pacman -s gpick # color sicker $ sudo pacman -s inkscape # Vector Graphics Editor $ sudo pacman -s fontforge # редактор шрифтов $ sudo pacman -s gparted # # grphical Disk Tool $ sudo pacman -s vlc # видеоплеер $ sudo pacman -s remmina # удаленный настольный клиент $ sudo pacman -Shotcut # Инструмент для редактирования видео $ sudo pacman -s evolution # почтовый клиент $ sudo pacman -s Redshift # Регулирует цветовую температуру экрана $ sudo pacman -s neofetch # Информация о системе командной строки $ sudo pacman -s obs -studio # приложение экрана и потокового потока $ sudo pacman -s Wireshark -Qt # Анализатор сетевого протокола $ sudo pacman -s spotify -launcher # spotify client $ sudo pacman -s telegram -desktop # мой предварительный мессенджер $ sudo pacman -s rclone # управление или переносить файлы в облачном хранилище $ sudo pacman -s openvpn # openvpn client $ sudo pacman -s wireguard -tools # wireguard client $ sudo pacman -s arandr # gui для xrandr
$ git clone https://aur.archlinux.org/yay.git $ CD YAY $ makepkg -si
$ sudo pacman -neovim # мощный редактор консоли $ sudo pacman -s zed # ultimate графический редактор $ sudo pacman -s -stitter # Система анализа для инструментов программирования $ sudo pacman -s ree-sitter-cli # cli инструменты $ sudo pacman -s stow # configuration manager $ sudo pacman -s sqlite3 # console sqlite client $ sudo pacman -s tldr # коллекция упрощенных страниц управления $ sudo pacman -s jq # cli json процессор $ sudo pacman -s tmux # мультиплексор сеанса терминала $ sudo pacman -s nmap # сетевой сканер с расширенными функциями $ sudo pacman -s masscan # высокопроизводительный сетевой сканер сети $ sudo pacman -s pgcli # Консольный клиент для Postgresql $ sudo pacman -s redis # console client для Redis $ sudo pacman -s apache # http server + некоторые полезные утилиты (Htpasswd) $ sudo pacman -s meld # git visual diff и инструмент слияния $ sudo pacman -s websocat # Command Line Client для WebSockets $ sudo pacman -s sshpass # nonintactive SSH -поставщик паролей $ sudo pacman -s git-filter-repo # быстрее и более безопасная альтернатива git filter wranch
sudo setcap 'cap_net_raw+epi' /usr/bin/masscan
, чтобы включить возможность запустить masscan
в качестве пользователя, не являющегося корнями.$ sudo pacman -s ansible # инфраструктура как инструмент кода (голой металл) $ Sudo Pacman -s Podman # CLI инструмент для управления контейнерами $ sudo pacman -s docker # cli инструмент для управления контейнерами $ sudo pacman-Docker-Compose # запустить мультиконтратантные приложения с Docker $ sudo pacman -s kubectl # cli инструмент для управления кластерами Kubernetes $ sudo pacman -s helm # менеджер пакетов для Kubernetes $ sudo pacman -s terraform # инфраструктура как инструмент кода (облака) # Настроить Docker $ sudo SystemCtl включить Docker # включить Docker Daemon на запуск системы # sudo usermod -a -g docker yourusernam $ newgrp Docker # Войдите в Docker Group без перезапуска
$ sudo pacman -s go $ go Установить github.com/fullstorydev/grpcurl/cmd/grpcurl@latestest $ Go Установите github.com/hairyhenderson/gomplate/v4/cmd/gomplate@latestest
$ SUDO PACMAN -S JDK8 -OPENJDK # OPENJDK JAVA 8 комплект разработки $ SUDO PACMAN -S JDK11 -OPENJDK # OPENJDK JAVA 11 Development Kit $ SUDO PACMAN -S JDK17 -OPENJDK # OPENJDK JAVA 17 комплект разработки $ sudo pacman -s jdk21 -openjdk # openjdk java 21 комплект разработки $ sudo pacman -s jdk -openjdk # openjdk java 22 комплект разработки $ sudo Pacman -Smaven # Java Project Tool $ sudo pacman -s gradle # Java Project Management Tool
archlinux-java
. Перечислите все доступные версии JVM, используя archlinux-java status
и установите одну из них, используя archlinux-java set VERSION
.Установите DART и Flutter. Следующие инструкции от https://docs.flutter.dev/get-started/install/linux
Установите C, C ++ и инструменты для разработки низкого уровня:
$ sudo pacman -s gcc # gnu Compiler Collection, C и C ++ Frontends $ sudo pacman -s gdb # gnu отладчик $ sudo pacman -s clang # c/c ++ frontend compiler для LLVM $ sudo pacman -s cmake # c/c ++ инструмент управления проектами $ sudo pacman -Система сборки Ninja # с акцентом на скорость $ sudo pacman -s cuda # nvidia gpu gpu toolkit $ sudo pacman -s nasm # asssembler для архитектуры процессора x86 $ sudo pacman -s boost # c ++ библиотека с общими целями и структурами данных $ sudo pacman -s cdrtools # cd/dvd/dvd/bluray $ sudo pacman -s qemu -full # эмулятор машины с открытым исходным кодом и виртуализатор
$ sudo pacman -s python # python $ sudo pacman -s python -pip # менеджер пакетов Python $ sudo pacman -s python -poetry # менеджер пакетов Python (лучше)
$ sudo pacman -s lua # коллекция инструментов Lua
$ sudo pacman -s nodejs # javascript $ sudo pacman -s npm # менеджер пакетов JavaScript $ sudo pacman -s пряжа # менеджер пакетов Javascript
$ sudo pacman -rust # rust compiler и инструменты для управления проектами
$ sudo pacman -s Linux -Headers # Заголовки для создания модулей ядра Linux $ sudo pacman -s virtualbox-host-dkms # virtualbox Host Modules Модули источники $ sudo pacman -s virtualbox # гипервизор для виртуализации x86
$ sudo pacman -s plantuml # инструмент для создания диаграмм UML
$ sudo pacman -gugo # быстрая и гибкий статический генератор сайтов в Go $ sudo pacman -s dart -sass # реализация Sass (требуется для Hugo)
$ sudo pacman-Gnucash # Личное и малое предпринимательское приложение
$ sudo pacman -s freecad # параметрический 3D 3D -модельер 3D CAD $ sudo pacman -s prusa-slicer # g-code Generator для 3D-принтеров
/etc/pacman.conf
и не почестел (или добавьте) следующие строки:[Multilib] Include = /etc/pacman.d/mirrorlist
$ sudo pacman -syu
$ sudo pacman -s Wine # Слои совместимости для запуска программ Windows $ sudo pacman -Wine -Mono # Замена вина для Microsoft .NET Framework $ sudo Pacman -Замена вина # Wine для интернет -проводника Microsoft $ sudo pacman -s winetricks # установщик для различных библиотек выполнения в вине $ SUDO PACMAN -S Zenity # Диалоговые окны дисплея из сценариев Shell (Wine зависимость)
$ winetricks настроек fontsmooth = rgb
z:
read access ~/.wine/dosdevices
wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available
Символическая ссылка и указывать на ваш $HOME
$ wget http://mirrors.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ mkdir ./texlive $ tar -xvf install-tl-unx.tar.gz -c texlive-strip-components = 1
$ cd ./texlive $ sudo ./install-tl -select-repository
Скачать Zip-Archive отсюда: https://developer.android.com/studio из разделения «Инструменты командной строки только» .
Распаковать архив и копировать cmdline-tools в $ANDROID_HOME
(в моем случае ~/Android
):
$ unzip CommandLineTools-Linux -..._ Andal.zip # Архив, который вы получили с веб-сайта $ mkdir -p ~/android/cmdline -tools/and $ mv ./cmdline-tools/* ~/android/cmdline-tools/astist/
Установите переменную среды ANDROID_HOME
в ~/Andoird
в .bashrc
Установите инструменты платформы, создайте инструменты и принимайте все лицензии:
$ sdkmanager "платформы" "платформы"; Android-29 " $ sdkmanager "Строительные инструменты; 29,0,3" $ sdkmanager -лицензии $ sdkmanager -update
$ sudo pacman -yubikey -manager $ sudo pacman-yubikey-personalization-gui
Бинарная обратная инженерия: gdb
, strace
, ltrace
, ldd
, objdump
radare2
, frida
, Ghidra
, IDA Pro
, cutter
+ rz-ghidra
+ cutterref
, angr-management
API Monitor
, PEiD
, UpxUnpacker
, API-Management
Python: pycdc
Java: jd-gui
, jadx
C#: Avalonia ILSpy
В некоторых ядрах Linux есть несколько разбитых драйверов устройств USB 3.0, которые иногда разбудят систему сразу после запуска процесса гибернации. Если вы видите подобные ошибки в выводе команды dmesg
после неудачной гибернации:
xhci_hcd 0000: 00: 14.0: pm: pci_pm_freeze (): hcd_pci_suspend+0x0/0x20 Возврат -16 xhci_hcd 0000: 00: 14.0: pm: dpm_run_callback (): pci_pm_freeze+0x0/0xc0 возвращает -16 xhci_hcd 0000: 00: 14.0: PM: не удалось заморозить Async: ошибка -16
Чтобы решить проблему, установленную следующие строки в /usr/lib/systemd/system-sleep/xhci
и сделать этот файл исполняемым:
#!/bin/sh run_pre_hook () { Echo "Отключить модуль xhci перед приостановкой $ (date) ..." >> /tmp /systemd_suspend_log grep xhc. *enable/proc/acpi/Quaingup && echo xhc>/proc/acpi/wakeup } run_post_hook () { Echo "Включить модуль xhci после пробуждения из $ (date)" >> /tmp /systemd_suspend_log grep xhc. *disable/proc/acpi/Quackup && echo xhc>/proc/acpi/wakeup } дело $ 1 в pre) run_pre_hook ;; post) run_post_hook ;; эсак
Оригинальное решение: https://gist.github.com/ioggstream/8f380d398aef989ac455b93b92d42048
Это может помочь, если у вас очень крошечный шрифт Grub на вашем мониторе 4K
/etc/default/grub
с текстовым редактором и добавьте следующие строки:Grub_terminal_output = "gfxterm" Grub_gfxpayload_linux = Keep Grub_gfxmode = 1920x1080x32,1024x768x32, Auto
grub.cfg
:$ sudo grub -mkconfig -o/boot/grub/grub.cfg
Это может помочь, если вы используете LightDM и имеете очень крошечный шрифт на своем мониторе 4K
Открыть /etc/lightdm/lightdm.conf
файл и добавить следующую строку под раздел [Seat:*]
:
Display-Setup-Script = xrandr--Output EDP-1-Моде 1920x1080PS вашего вывода экрана, как EDP -1 в моем случае, можно найти в
xrandr -q
$ gsettings set org.gnome.desktop.interface color-scheme 'Prefer-dark'
Settings -> Screensaver -> Activate Screensaver when computer is idle
.resolvectl revert wg0
(измените wg0
на имя интерфейса WHERGUARD). Это предотвратит использование интерфейса Wireguard для всех маршрутов.xrender
на glx
и проверить, помогает ли это. Работал на меня.Window -> Always show menu bar -> disable
/dev/sdb1
) и инициализируйте Luks:$ sudo cryptsetup luksformat /dev /sdb1
/dev/mapper/cryptdev
:$ sudo cryptsetup open /dev /sdb1 cryptdev
ext4
:$ sudo mkfs.ext4/dev/mapper/cryptdev
/mnt
в этом примере и используйте ее по мере того, как вы хотите:$ sudo mount /dev /mapper / cryptdev /mnt
$ sudo umount /mnt $ sudo cryptsetup close cryptdev