Управление настройками времени и даты
А чтобы включить синхронизацию с ntp-сервером:
timedatectl предназначена для удобного управления временем, датой, часовым поясом и настройками синхронизации времени. Чтобы получить информацию о текущих настройках, достаточно просто ввести:timedatectlУстановить дату и время (работает только при выключенной синхронизации):
timedatectl set-time "2030-01-01 00:00:01"Отключить синхронизацию с ntp-сервером:
timedatectl set-ntp 0(В этой и других подобных командах из набора systemd в качестве булевых значений можно использовать
1\0, on\off, true\false)А чтобы включить синхронизацию с ntp-сервером:
timedatectl set-ntp 1Отобразить список часовых поясов и установить подходящий:
timedatectl list-timezonesloginctl: управление сеансами пользователей.
Эта простая утилита, входящая в состав systemd, позволяет получать информацию о том, какие пользователи находятся в системе в данный момент, как давно они вошли, какой uid им принадлежит, сколько сеансов запущено на данный момент и т.д. Кроме того, loginctl позволяет всем этим управлять.
Примеры использования:
Чтобы заблокировать текущую сессию, выполните:
Эта простая утилита, входящая в состав systemd, позволяет получать информацию о том, какие пользователи находятся в системе в данный момент, как давно они вошли, какой uid им принадлежит, сколько сеансов запущено на данный момент и т.д. Кроме того, loginctl позволяет всем этим управлять.
Примеры использования:
Чтобы заблокировать текущую сессию, выполните:
loginctl lock-sessionЧтобы вывести список открытых сеансов:
loginctl list-sessionsПолучить список залогинившихся пользователей:
loginctl list-usersВывести информацию о состоянии текущего сеанса (или любого другого, если добавить id), включая список дочерних процессов и номер виртуальной консоли:
loginctl session-statusВозможности systemd
systemd — подсистема инициализации и управления службами в Linux.
Основная особенность — интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск ОС.
Помимо простого запуска и контроля служб, systemd предлагает некоторые другие удобные функции, для использования которых ранее системным администраторам приходилось прибегать к помощи дополнительных программ-демонов.
Среди таких функций:
1. сокет-активация служб (заменяет inetd);
2. запуск сервисов по расписанию (заменяет cron);
3. работа с аппаратным сторожевым таймером (заменяет watchdog);
4. смена корня (заменяет chroot);
5. автомонтирование томов и сетевых ресурсов (заменяет mount и fstab);
6. journalctl — служба журналирования;
7. systemd-analyze — анализ скорости запуска служб;
8. systemd-boot — UEFI-загрузчик (заменяет GRUB).
systemd — подсистема инициализации и управления службами в Linux.
Основная особенность — интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск ОС.
Помимо простого запуска и контроля служб, systemd предлагает некоторые другие удобные функции, для использования которых ранее системным администраторам приходилось прибегать к помощи дополнительных программ-демонов.
Среди таких функций:
1. сокет-активация служб (заменяет inetd);
2. запуск сервисов по расписанию (заменяет cron);
3. работа с аппаратным сторожевым таймером (заменяет watchdog);
4. смена корня (заменяет chroot);
5. автомонтирование томов и сетевых ресурсов (заменяет mount и fstab);
6. journalctl — служба журналирования;
7. systemd-analyze — анализ скорости запуска служб;
8. systemd-boot — UEFI-загрузчик (заменяет GRUB).
Архитектура systemd
Подсистема оперирует специально оформленными файлами конфигурации — модулями. Каждый модуль отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и тому подобные ресурсы.
systemd поддерживает следующие типы модулей:
Подсистема оперирует специально оформленными файлами конфигурации — модулями. Каждый модуль отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и тому подобные ресурсы.
systemd поддерживает следующие типы модулей:
.target — позволяет группировать модули, воплощая концепцию уровней запуска;.service — отвечает за запуск сервисов (служб), также поддерживает вызов интерпретаторов для исполнения пользовательских скриптов;.mount — отвечает за монтирование файловых систем;.automount — позволяет отложить монтирование файловых систем до фактического обращения к точке монтирования;.swap — отвечает за подключение файла или устройства подкачки;.timer — позволяет запускать модули по расписанию;.socket — предоставляет службам поддержку механизма сокет-активации;.slice — отвечает за создание контейнера cgroups;.device — позволяет реагировать на подключение устройств;.path — управляет иерархией файловой системы.Что такое 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
Репозиторий APT — это сетевой сервер или локальный каталог, содержащий пакеты deb и файлы метаданных, которые доступны для чтения инструментами APT.
Если
Утилита
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 команда
(условный) пример, чтобы добавить PPA Пупкина В, который предоставляет Proga версии 41.x, вы должны запустить:
Персональные архивы пакетов (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-битные пакеты:
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 влияет на текущую среду выполнения оболочки, в большинстве оболочек она реализована как встроенная команда.
Общий синтаксис wait имеет следующий вид:
wait [options] IDID — это идентификатор процесса или задания. Если ID не указан, команда ожидает завершения всех дочерних фоновых заданий.
Например, чтобы дождаться фонового процесса с
PID 3549 , вы должны использовать:wait 3549Команда wall в Linux
wall — это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей. Сообщения можно вводить либо на терминале, либо в содержимом файла.
Синтаксис команды wall следующий:
Самый простой способ передать сообщение — вызвать команду wall с сообщением в качестве аргумента:
wall — это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей. Сообщения можно вводить либо на терминале, либо в содержимом файла.
Синтаксис команды wall следующий:
wall [OPTIONS] [<FILE>|<MESSAGE>]Если файл не указан, wall читает сообщение со стандартного ввода.
Самый простой способ передать сообщение — вызвать команду wall с сообщением в качестве аргумента:
wall "The system will be restarted in 10 minutes."И сообщение будет передано всем пользователям, которые в данный момент вошли в систему.
Как транслировать сообщения из файла в терминал с помощью утилиты wall
wall — это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
Чтобы транслировать содержимое файла, вызовите команду wall за которой следует имя файла:
wall — это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
wall читает из файла только при вызове root!Чтобы транслировать содержимое файла, вызовите команду wall за которой следует имя файла:
wall file.txtЧтение из файла — намного удобнее, чем чтение сообщения через терминал, особенно если вы регулярно отправляете одни и те же сообщения.
Передача сообщения пользователю или группе
Чтобы отправить сообщение только определенному пользователю, используйте команду
Чтобы отправить сообщение для группы под именем devs, запустите команду с параметром
Чтобы отправить сообщение только определенному пользователю, используйте команду
write
write пользователь [терминал]Также есть утилита
wall, с помощью которой можно отправлять сообщения. Она отображает сообщение для всех пользователей и для определенных групп.Чтобы отправить сообщение для группы под именем devs, запустите команду с параметром
-g:wall -g devs [терминал]Группа также может быть указана по ее
GID (идентификатору группы).Как управлять доступом на запись для терминала?
Использование:
Если никакие опции не указаны, то mesg отображает текущий статус доступа к вашему терминалу.
mesg — UNIX-утилита, управляет доступом на запись для терминала данного пользователя. Обычно используется для разрешения или запрета другим пользователям писать на терминал данного пользователя.Использование:
mesg [y|n]где
y — разрешить другим пользователям доступ на запись к вашему терминалу, а n — запретить доступ на запись к вашему терминалу.Если никакие опции не указаны, то mesg отображает текущий статус доступа к вашему терминалу.
Команда Basename в Linux
Она поддерживает два формата синтаксиса:
Самый простой пример — вывести имя файла с удаленными ведущими каталогами:
basename — это утилита командной строки, которая удаляет каталог и конечный суффикс из заданных имен файлов.Она поддерживает два формата синтаксиса:
basename NAME [SUFFIX]basename берет имя файла и печатает последний компонент имени файла. При желании он также может удалить любой конечный суффикс.
basename OPTION... NAME...
Самый простой пример — вывести имя файла с удаленными ведущими каталогами:
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
Когда ядро обновляется, если вы не используете
В большинстве современных дистрибутивов Linux утилита
Чтобы перезагрузить систему Linux, просто введите:
Когда ядро обновляется, если вы не используете
Livepatch или KernelCare, вам необходимо перезагрузить систему Linux. Перезагрузка системы также может потребоваться в других обстоятельствах, например, при устранении неполадок оборудования, установке приложений и т. Д. Если вы используете автономный сервер Linux, вам нужно знать, как перезапустить систему из командной строки.В большинстве современных дистрибутивов Linux утилита
systemctl заменяет большинство команд управления питанием, используемых в старых дистрибутивах Linux, на sysvinit. Команды reboot и shutdown являются псевдонимами systemctl и доступны в системе по соображениям совместимости.Чтобы перезагрузить систему Linux, просто введите:
sudo systemctl rebootСистема будет немедленно перезагружена.
Как импортировать ключи GPG?
Для импорта публичного ключа выполните:
Для добавления приватного ключа из файла private.key выполните команду:
Для импорта публичного ключа выполните:
gpg --import public.keyЭта команда добавит публичный ключ, который находится в файле "
public.key".Для добавления приватного ключа из файла private.key выполните команду:
gpg --import private.keyКак сгенерировать пару публичный-приватный ключ в GPG?
Для генерирования пары ключей запустите команду:
⁃ Ваше полное имя
⁃ Адрес электронной почты
Затем программа покажет выбранный вами идентификатор пользователя и спросит, всё ли правильно? Если всё правильно, вам нужно будет ввести O. Затем программа попросит ввести пароль.
Вместо
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.