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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Добавление репозиториев 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
Как в GPG шифровать файлы, чтобы их можно было отправить в виде сообщения

По умолчанию файлы сохраняются в бинарный формат OpenPGP (в этом формате файл может занимать значительно меньше места чем исходный файл до шифрования). Если вы откроете зашифрованный файл, то убедитесь, что это бинарные данные, которые невозможно передать копированием-вставкой без потери их функциональности.

Но иногда может возникнуть необходимость переслать зашифрованный файл или сообщение по почте или в мессенджере в виде обычного текста. Это возможно с помощью опции -a, которая создаёт зашифрованный файл в формате ASCII.

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

В результате будет создан файл с расширением .asc (в данном случае это файл test.php.asc).
Как в GPG зашифровать сообщение

Для зашифровки сообщения используйте следующую конструкцию:

echo 'text message' | gpg -e -a -r 'destination'

Обратите внимание, что опция -a добавлена для того, чтобы зашифрованное сообщение можно было скопировать и вставить в мессенджер или в email (или распечатать на принтере). Без этой опции будут выведены бинарные данные.

Зашифрованное сообщение будет выведено в стандартный вывод, то есть в терминал. Если вы хотите сохранить зашифрованное сообщение в файл, то используйте конструкцию:

echo 'text message' | gpg -e -a -r 'destination' > file
Как расшифровать файлы и сообщение в GPG?

Для расшифровки используется опция -d:
Пример расшифровки файла:

gpg -d test.php.gpg

Причём данные будут выведены прямо в стандартный вывод (в терминал). Чтобы сохранить данные в файл используйте опцию -o, после которой укажите имя нового расшифрованного файла:

gpg -d -o test.php test.php.gpg

Также gpg может расшифровывать данные из стандартного ввода. В этом можно убедиться подобной конструкцией:

echo 'My text message' | gpg -e -a -r 'username' | gpg -d
Как посмотреть получателей зашифрованного в GPG файла

Если вы не хотите расшифровывать файл (а может быть просто не можете из-за отсутствия приватного ключа), но хотите посмотреть, кому он предназначен, то для этого имеется опция --list-only.

Вместе с этой опцией нужно использовать опцию -d, а также указать проверяемый файл, пример:
gpg --list-only -d test.php.gpg

Причём вплоть до 2019 года, почти до самых последних версий gpg, у опции --list-only есть интересный баг: если на компьютере, где выполняется проверка, имеется приватный ключ пользователя, кому предназначен данный файл, то не выводиться ничего. Это может запутать, поскольку также ничего не выводиться в случае, если получатель зашифрован. Чтобы обойти этот баг, используйте опцию -v, получается примерно следующая команда:
gpg --list-only -v -d test.php.gpg