Чтобы узнать UUID файловых систем, укажите устройство и отфильтруйте тег UUID:
blkid -s UUID -o value /dev/sda1
Если устройство неизвестно, сначала используйте lsblk -f.
vbetool — устаревшая утилита для обращения к BIOS/VBE; на современных системах она может не работать. Для управления питанием монитора в графической сессии X11 обычно используют:
xset dpms force off
Команда требует установленного xset и активной X11-сессии; в Wayland её поведение зависит от окружения рабочего стола.
Иногда при сборке пакета из SRPM (в частности postgresql от 1C) вываливается следующее сообщение:
1 out of 1 hunk FAILED -- saving rejects to file src/pl/plperl/GNUmakefile.rej
Чтобы вывести строки конфигурационного файла, не являющиеся пустыми или комментариями:
grep -vE '^[[:space:]]*(#|$)' clients.conf
Случайная строка из 8 шестнадцатеричных символов (для идентификаторов, но не для паролей):
openssl rand -hex 4
Чтобы отключить IPv6 во всей системе, используйте параметр ядра ipv6.disable=1 в командной строке загрузки и перезагрузите систему. Для временного отключения без перезагрузки можно применить sysctl:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
Чтобы просмотреть данные DMI/SMBIOS о системе и компонентах оборудования, выполните от имени суперпользователя:
sudo dmidecode -q
dmidecode показывает сведения из таблиц прошивки, а не выполняет непосредственное обнаружение всего оборудования; часть данных может быть неполной или неточной.
Установка системной даты и времени обычно выполняется от имени суперпользователя. Формат команды GNU date:
sudo date MMDDhhmm[[CC]YY][.ss]
В современных системах, где работает синхронизация времени, предпочтительнее управлять временем через timedatectl.
Рекурсивное удаление каталогов .svn из дерева файлов. Команда необратима, поэтому проверьте список найденных каталогов перед удалением:
find . -type d -name .svn -prune -exec rm -rf -- {} +
Просмотр интерфейсов некоторых USB-устройств в sysfs (набор путей зависит от оборудования и драйверов):
find /sys/class -path '*/device/interface' -type f -print0 |
while IFS= read -r -d '' interface; do
printf '%s: %s\n' "$(basename "$(dirname "$(dirname "$interface")")")" "$(cat "$interface")"
done
Запуск rngd для подачи данных от аппаратного генератора случайных чисел в ядро (если доступен /dev/hwrng):
rngd -r /dev/hwrng
Использовать /dev/urandom в качестве источника для rngd бессмысленно: это уже интерфейс генератора случайных данных ядра, а не аппаратный источник энтропии.
Чтобы создать отображения разделов в образе диска, созданном с помощью dd, выполните:
kpartx -av /path/to/diskimage
Номер loop-устройства не гарантирован, поэтому ориентируйтесь на вывод команды. Отображения появятся в /dev/mapper; например, раздел можно смонтировать так:
sudo mount /dev/mapper/loop0p1 /mnt/
После работы удалите отображения командой sudo kpartx -d /path/to/diskimage.
Просмотр информации о сертификате PEM:
openssl x509 -in cert.pem -noout -text
Просмотр сертификата сайта в консоли. Параметр -servername передаёт SNI, а перенаправление stdin не позволяет команде ждать ввода:
openssl s_client -connect gmail.com:443 -servername gmail.com </dev/null
Просмотр статистики по системным вызовам для команды
strace -qcf ls
Запуск новой оболочки с дополнительной эффективной группой для текущей сессии:
newgrp new_group_name
Команда не изменяет членство пользователя в системе постоянно; для этого требуется добавить пользователя в группу, например с помощью usermod, после чего войти в систему заново.
Проброс Unix-сокета Docker по локальному TCP-порту. Порт привязан только к loopback; доступ к Docker-сокету фактически предоставляет привилегии root на удалённом хосте:
ssh -N -L 127.0.0.1:2375:/run/docker.sock root@remote
Linux в браузере
Linux можно запустить прямо во вкладке браузера. В таких проектах браузер выполняет эмулятор компьютера или виртуальную машину WebAssembly, внутри которой запускается настоящий образ ядра Linux. Это не полноценная замена установленной системе: производительность ограничена, а доступ к файлам и устройствам компьютера изолирован браузером.
- JSLinux — классический проект Fabrice Bellard. Доступны Alpine Linux, Buildroot и Fedora для эмулируемых x86 и RISC-V систем.
- v86 — браузерный x86-эмулятор с Linux, BSD, DOS и другими системами. Можно выбрать готовый образ или загрузить собственный.
- WebVM — браузерная Linux-среда с терминалом и инструментами разработчика, работающая локально в WebAssembly.
Для первого запуска удобнее всего открыть JSLinux и выбрать Alpine Linux с консольным интерфейсом. Не вводите в публичные демонстрации пароли, токены и другие конфиденциальные данные: это экспериментальные среды, предназначенные для обучения и развлечения.