Linux для чайника – Telegram
Linux для чайника
20K subscribers
87 photos
4 files
78 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Что такое apt-key?

apt-key - это утилита, используемая для управления ключами, которые APT (пакетный менеджер) использует для аутентификации пакетов. Она тесно связана с утилитой add-apt-repository (добавляет внешние репозитории)

Примеры использования:
Отобразить список доверенных ключей:
apt-key list

Добавить ключ в список доверенных:
apt-key add {{public_key_file.asc}}

Удалить ключ из списка доверенных:
apt-key del {{key_id}}

Ключам, добавленные с помощью apt-key, apt доверяет глобально. Такой ключ может быть использован для авторизации добавления любого другого внешнего хранилища, что представляет собой важную проблему безопасности.
Команда add-apt-repository

add-apt-repository — это скрипт Python, который позволяет вам добавить репозиторий APT в /etc/apt/sources.list или в отдельный файл в каталоге /etc/apt/sources.list.d. Команду также можно использовать для удаления уже существующего репозитория.

Репозиторий APT — это сетевой сервер или локальный каталог, содержащий пакеты deb и файлы метаданных, которые доступны для чтения инструментами APT.

Если add-apt-repository недоступен в вашей системе, вы получите сообщение об ошибке «Команда add-apt-repository не найдена».

Утилита add-apt-repository включена в software-properties-common . Для его установки выполняем:
sudo apt update
sudo apt install software-properties-common
Добавляем репозитории с помощью add-apt-repository

Базовый синтаксис команды add-apt-repository такой:
add-apt-repository [options] repository

Где repository является репозиторием PPA, либо может быть обычной записью репозитория, которую можно добавить в файл sources.list

По умолчанию в ubuntu 18.04 и новее add-apt-repository также обновляет индекс пакета, если открытый ключ репозитория импортируется.

Индекс пакетов — это база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.

Если по каким-либо неведанным причинам вы хотите удалить ранее включенный репозиторий, используйте параметр --remove.
Добавление репозиториев PPA

Персональные архивы пакетов (PPA) — с помощью этой службы, пользователи загружают исходные пакеты Ubuntu, которые создаются и публикуются благодаря Launchpad в качестве подходящего репозитория.

При добавлении репозитория PPA команда add-apt-repository создает новый файл в каталоге /etc/apt/sources.list.d/

(условный) пример, чтобы добавить PPA Пупкина В, который предоставляет Proga версии 41.x, вы должны запустить:
sudo add-apt-repository ppa:pupkinv/proga-41
Что такое wine?

Wine — это не виртуальная машина (соответственно, сама аббревиатура «Wine Is Not an Emulator» говорит нам об этом), а уровень совместимости, служащий для запуска приложений Windows на UNIX-подобных ОС. (Сюда же POSIX-совместимые, т.е. Linux, BSD, Mac).

Все просто: в данном случае, системные вызовы Windows преобразуются в эквивалентные вызовы POSIX, используемые ОС на основе Unix, а виртуальная машина (эмулятор), для примера говоря, ничего не преобразует, а имитирует внутреннюю логику Windows.

Чтобы установить wine, первым шагом будет — включение мультиархитектуры (если оно надо вообще), что позволит вам установить на машину как 64-битные, так и 32-битные пакеты:
sudo dpkg --add-architecture i386
sudo apt update

Ну а дальше просто устанавливаем, как любую утилиту:
sudo apt install wine64 wine32

На момент выхода поста, БД приложений Wine насчитывает 28943 приложения.
wait — это команда, которая ожидает завершения заданных заданий и возвращает статус выхода ожидаемой команды.

Поскольку команда wait влияет на текущую среду выполнения оболочки, в большинстве оболочек она реализована как встроенная команда.

Общий синтаксис wait имеет следующий вид:
wait [options] ID

ID — это идентификатор процесса или задания. Если ID не указан, команда ожидает завершения всех дочерних фоновых заданий.

Например, чтобы дождаться фонового процесса с PID 3549 , вы должны использовать:
wait 3549
Команда wall в Linux

wall — это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей. Сообщения можно вводить либо на терминале, либо в содержимом файла.

Синтаксис команды wall следующий:
wall [OPTIONS] [<FILE>|<MESSAGE>]

Если файл не указан, wall читает сообщение со стандартного ввода.

Самый простой способ передать сообщение — вызвать команду wall с сообщением в качестве аргумента:
wall "The system will be restarted in 10 minutes."

И сообщение будет передано всем пользователям, которые в данный момент вошли в систему.
Как транслировать сообщения из файла в терминал с помощью утилиты wall

wall — это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.

wall читает из файла только при вызове root!

Чтобы транслировать содержимое файла, вызовите команду wall за которой следует имя файла:
wall file.txt

Чтение из файла — намного удобнее, чем чтение сообщения через терминал, особенно если вы регулярно отправляете одни и те же сообщения.
Передача сообщения пользователю или группе

Чтобы отправить сообщение только определенному пользователю, используйте команду write

write пользователь [терминал]

Также есть утилита wall, с помощью которой можно отправлять сообщения. Она отображает сообщение для всех пользователей и для определенных групп.

Чтобы отправить сообщение для группы под именем devs, запустите команду с параметром -g:

wall -g devs  [терминал]

Группа также может быть указана по ее GID (идентификатору группы).
Как управлять доступом на запись для терминала?

mesg — UNIX-утилита, управляет доступом на запись для терминала данного пользователя. Обычно используется для разрешения или запрета другим пользователям писать на терминал данного пользователя.

Использование:
mesg [y|n]

где y разрешить другим пользователям доступ на запись к вашему терминалу, а n запретить доступ на запись к вашему терминалу.

Если никакие опции не указаны, то mesg отображает текущий статус доступа к вашему терминалу.
Команда Basename в Linux

basename — это утилита командной строки, которая удаляет каталог и конечный суффикс из заданных имен файлов.

Она поддерживает два формата синтаксиса:
basename NAME [SUFFIX]
basename OPTION... NAME...

basename берет имя файла и печатает последний компонент имени файла. При желании он также может удалить любой конечный суффикс.

Самый простой пример — вывести имя файла с удаленными ведущими каталогами:
basename /etc/passwd

Вывод будет включать имя файла:
passwd
Удаление конечного суффикса с помощью basename

Чтобы удалить любой конечный суффикс из имени файла, передайте суффикс в качестве второго аргумента:
basename /etc/hostname name

Результат:
host

Обычно эта функция используется для удаления расширений файлов:
basename /etc/sysctl.conf .conf

В результате останется только sysctl.

Другой способ удалить конечный суффикс — указать суффикс с параметром -s ( --suffix=SUFFIX ):
basename -s .conf /etc/sysctl.conf
Команды перезагрузки Linux

Когда ядро обновляется, если вы не используете Livepatch или KernelCare, вам необходимо перезагрузить систему Linux. Перезагрузка системы также может потребоваться в других обстоятельствах, например, при устранении неполадок оборудования, установке приложений и т. Д. Если вы используете автономный сервер Linux, вам нужно знать, как перезапустить систему из командной строки.

В большинстве современных дистрибутивов Linux утилита systemctl заменяет большинство команд управления питанием, используемых в старых дистрибутивах Linux, на sysvinit. Команды reboot и shutdown являются псевдонимами systemctl и доступны в системе по соображениям совместимости.

Чтобы перезагрузить систему Linux, просто введите:
sudo systemctl reboot

Система будет немедленно перезагружена.
Как импортировать ключи GPG?

Для импорта публичного ключа выполните:

gpg --import public.key

Эта команда добавит публичный ключ, который находится в файле "public.key".

Для добавления приватного ключа из файла private.key выполните команду:

gpg --import private.key
Как сгенерировать пару публичный-приватный ключ в GPG?

gpg — это инструмент шифрования и электронного подписывания. В его работе используется ассиметричное шифрование, основанное на двух ключах: приватный и публичный.

Для генерирования пары ключей запустите команду:
gpg --gen-key

Вам нужно будет ввести:
⁃ Ваше полное имя
⁃ Адрес электронной почты
Затем программа покажет выбранный вами идентификатор пользователя и спросит, всё ли правильно? Если всё правильно, вам нужно будет ввести O. Затем программа попросит ввести пароль.

Вместо --gen-key можно использовать опцию --full-generate-key, которая также сгенерирует пару ключей, но покажет больше опций. При использовании --gen-key некоторые значений опций используются по умолчанию.
Как посмотреть или сохранить свой публичный (открытый) ключ в GPG?

Чтобы посмотреть публичный ключ используйте опцию --export, а также опцию -a, которая означает, что выводимые данные должны быть не в бинарном формате, а в ASCII (то есть текстовом, пригодном для копирования-вставки в сообщение мессенджера или электронной почты), в конце укажите имя пользователя:

gpg --export -a [name]

Для сохранения публичного ключа в файл используйте перенаправление вывода:

gpg --export -a [name] > public.key

В результате публичный ключ будет сохранён в файл public.key.
Как посмотреть или сохранить свой приватный (секретный) ключ в GPG?

Для просмотра и экспорта приватного ключа используется опция
--export-secret-key:

gpg --export-secret-key -a [name]

Для сохранения в файл:

gpg --export-secret-key -a [name] > private.key

Или с опцией -o:
gpg --export-secret-key -a -o private.key [name]
Утилита ipmitool

ipmitool — утилита для управления устройствами с поддержкой IPMI

Эта программа позволяет управлять функциями интеллектуального интерфейса управления платформой (IPMI) либо локальной системы с помощью драйвера устройства ядра, либо удаленной системы с использованием IPMI.

Эти функции включают в себя печать информации о FRU, настройку локальной сети, показания датчиков и удаленное управление питанием шасси.

Управление IPMI локального системного интерфейса требует установки и настройки совместимого драйвера ядра IPMI. В Linux этот драйвер называется OpenIPMI и входит в стандартные дистрибутивы.

Для управления удаленной станцией необходимо включить и настроить интерфейс IPMI-over-LAN. В зависимости от конкретных требований каждой системы может быть возможно включить интерфейс LAN с помощью ipmitool через системный интерфейс.
Для чего нужны fingerprint в GPG

Fingerprint ключей в gpg имеют примерно следующий вид:
D743 875D 1BB6 095A 366B B81F 3BFD 8738 3926 AC69

Отпечаток может выполнять функцию идентификатора ключа — то есть вместо указания имени пользователя можно использовать отпечаток.

Например для удаления секретного ключа, используя в качестве идентификатора отпечаток:
gpg --delete-secret-key 'D743 875D 1BB6 095A 366B B81F 3BFD 8738 3926 AC69'

Вторая функция применения отпечатка — это верификация публичного ключа.

Посмотреть опечаток для ключа определённого пользователя можно командой:
gpg --fingerprint <username>
Шифрование файлов и данных с GPG

Про шифрование в gpg нужно знать:
1) Что оно может быть ассиметричным и симметричным
2) Шифрование можно совмещать с подписыванием файла.
3) Зашифровать можно одним или более публичными ключами.

Для шифрования файла используя симметричный метод с паролем используйте опцию -c (либо её длинный аналог --symmetric).

Следующая команда для шифрования файла test.php паролем в gpg:
gpg -c test.php

В результате шифрования будет создан файл с расширением .gpg (в данном случае это будет файл test.php.gpg).

Для того, чтобы зашифровать файл симметричным шифрованием с возможностью расшифровки приватным ключом нужно использовать сразу несколько опций:
-e — означает шифрование данных
-c — означает симметричное шифрование
-r 'id' — означает зашифровать данные для пользователя с определённым id

gpg -e -c -r <username> test.php