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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Команда cpio

Команда cpio позволяет использовать утилиту для архивации данных с соответствующим именем. Эта утилита поддерживает как собственный бинарный формат архивов CPIO, так и популярный формат архивов TAR.

Примеры использования:
Извлечение файлов из архива формата CPIO в текущую директорию
cpio -i < archive.cpio

Создание архива формата CPIO с перенаправлением стандартного потока вывода
ls | cpio -o > archive.cpio

Создание архива формата CPIO с указанием имени файла архива
ls | cpio -o -F archive.cpio
Initial RAM Disk 

Сокращение от английского Initial RAM Disk (диск в оперативной памяти для начальной инициализации)  — это временная файловая система, используемая ядром Linux при начальной загрузке. 

Initrd обычно используется для начальной инициализации перед монтированием «настоящих» файловых систем. 

В Linux Kernel HOWTO (руководстве о сборке ядра) пишут, что initrd призван решить проблему курицы и яйца для модульного ядра: для монтирования файловой системы необходим модуль для работы с диском и файловой системой, а для чтения модуля необходима файловая система, с которой этот модуль читается.
Файловая система sysfs (каталог /sys) предоставляет пользователю информацию о ядре Linux, об имеющихся в системе устройствах и драйверах этих устройств.

В нем вы найдете следующие подкаталоги:

• blосk - содержит каталоги для всех блочных устройств, которые есть в вашей системе в настоящее время. Здесь под устройством подразумевается наличие физического устройства и его драйвера. Если вы подключите внешний жесткий диск, то в каталоге /sys/devices появится новое устройство, но в каталоге /sys/block оно появится только, если в системе есть драйвер для работы с этим устройством или же драйвер встроен в само ядро

• bus - здесь находится список шин, которые поддерживает ваше ядро. Заглянув в этот каталог, обнаружите подкаталоги pci, pci_express, scsi и т.д. В каждом из этих каталогов будут подкаталоги devices и drivers. В первом находится информация об устройствах, подключенных к данной шине, во втором - информация о драйверах устройств

• class - позволяет понять, как устройства формируются в классы. Для каждого класса есть отдельный подкаталог в каталоге class

• devices - содержит дерево устройств ядра, точнее структуру файлов и каталогов, которая полностью соответствует внутреннему дереву устройств ядра

• firmware - содержит интерфейсы, предназначенные для просмотра и манипулирования firmwаrе-специфичными объектами и их параметрами

• fs - информация о файловых системах, которые поддерживает ваше ядро

• kernel - общая информация о ядре

• module - здесь найдете подкаталоги для каждого загруженного модуля ядра. Имя подкаталога соответствует имени модуля. В каждом из подкаталогов модулей найдете подкаталог parameters, содержащий специфичные для модуля параметры

• power - позволяет управлять параметрами питания, а также переводить систему из одного состояния питания в другое.
Из окна терминала вам доступны два популярных текстовых редактора: vim и nano.

В большинстве случаев текстовые редакторы позволяют решить четыре задачи:
• открыть/создать текстовый файл;
• изменить текст;
• найти текст;
• сохранить и выйти.

Nano проще, чем vim. Вы можете выбрать любой из них; это вопрос предпочтений.
Чтобы открыть/создать текстовый файл, используйте команды:
vim [имя_файла]
nano [имя_файла]

Когда текстовый файл откроется, можно будет начать вносить изменения:
• в nano вы можете просто свободно вводить свой текст;
• в vim вам нужно нажать клавишу I на клавиатуре, чтобы войти в режим вставки.

Если хотите найти в файле определенное слово, то используйте следующие команды:
• в nano нажмите Ctrl+W;
• в vim команда зависит от того, в каком режиме вы находитесь:
- если вы находитесь в режиме вставки текста, то нажмите клавишу Esc, далее нажмите /, а затем введите слово, которое хотите найти;
- если находитесь в обычном режиме, то просто нажмите /, а затем введите слово, которое хотите найти. 

Пришло время сохранить текст и выйти из текстового редактора:
• в nano нажмите Ctrl+O, чтобы сохранить; нажмите клавишу Enter, чтобы выполнить задачу сохранения; а затем нажмите Ctrl+X, чтобы выйти;
• в vim сначала убедитесь, что находитесь в нормальном режиме (в противном случае нажмите клавишу Esc, чтобы вернуться в него), а затем используйте :wq. w означает «записать», а q — выйти.
Сервер LDAP 

Lightweight Directory Access Protocol — это открытый, независимый от поставщика, прикладной протокол для доступа и обслуживания распределенных информационных служб каталогов по сети Интернет.

Позволяет централизовать управление пользователями, группами, доменами, аутентификацией, хранением информации.

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

Чтобы установить север, можно воспользоваться командой:
sudo apt install slapd ldap-utils
На какие группы Linux-PAM разделяет задачи аутентификации?

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

 2. Модули аутентификации проверяют личность пользователя, например, запрашивая и проверяя пароль или другой секрет. Они также могут передавать аутентификационную информацию другим системам, например связке ключей.

 3. Модули паролей отвечают за обновление паролей и обычно связаны с модулями, используемыми на этапе аутентификации. Они также могут использоваться для обеспечения надежных паролей.

 4. Модули сеанса определяют действия, которые выполняются в начале и конце сеанса. Сеанс начинается после успешной аутентификации пользователя.
Nmon — мониторинг системы Linux и производительности сети

Nmon — это полностью интерактивная утилита командной строки для мониторинга производительности системы Linux, которая изначально была разработана IBM для систем AIX, а затем перенесена на платформу Linux.

Важным преимуществом инструмента nmon является то, что он позволяет отслеживать производительность таких аспектов вашей системы Linux, как загрузка ЦП, использование памяти, дисковое пространство, использование сети, основные процессы, статистика виртуальных машин, файловые системы, ресурсы, микропроцессорная мощность и многое другое, в одном, сжатом представлении.

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

Установить на Ubuntu:
sudo apt-get install nmon
Clear Linux OS 

Дистрибутив, разрабатываемый компанией Intel. В некоторых аспектах отличается от привычных дистрибутивов Linux. Оптимизирован для выполнения на оборудовании Intel.

Clear Linux использует так называемую Stateless-концепцию для хранения конфигураций, которая подразумевает четкое разделение всех настроек и данных. Пользовательские данные, данные операционной системы, пользовательские настройки ОС и конфигурация системы полностью разделены.

В Clear Linux для организации программ используются Бандлы (bundles). Бандл — это один или набор из нескольких пакетов. Каждый бандл является отдельной логической единицей и предоставляет определенную функциональность или стек, который включает в себя все зависимости.
Утилита swupd

Управляет обновлениями и пакетами в системах Clear Linux.

Примеры использования:
Чтобы обновить до последней версии:
sudo swupd update

Показать текущую версию и проверить, существует ли более новая
swupd check-update

Список установленных пакетов
swupd bundle-list

Найдите пакет, в котором существует требуемый пакет
swupd search -b [package]

Установить новый пакет
sudo swupd bundle-add [bundle]

Удалить группу
sudo swupd bundle-remove [bundle]

Исправление сломанных или отсутствующих файлов
sudo swupd verify
sar —  показать активность системы Linux

Утилита, входящая в состав пакета sysstat и предназначенная для сбора, составления отчетов или сохранения информации об активности системы. 

Примеры использования:
Чтобы вывести статистику ввода-вывода и скорости передачи на экран:
sar -b

Чтобы вывести информацию об активности для каждого блочного устройства:
sar -d
Synaptic

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

С помощью Synaptic вы можете управлять источниками пакетов, получать сведения о доступных пакетах, устанавливать/удалять/обновлять пакеты, производить поиск по ключевым словам среди доступных пакетов.

Чтобы установить Synaptic на Ubuntu, можно воспользоваться следующими командами:
sudo apt install synaptic

Открыть программу можно, найдя ярлык в меню рабочего окружения, или введя «sudo synaptic» в терминале.
Двухфакторная аутентификацию для SSH в Linux

По умолчанию SSH уже использует безопасную передачу данных между удаленными машинами, но если вы хотите добавить дополнительный уровень безопасности к вашим SSH-соединениям, вы можете добавить модуль Google Authenticator, который позволяет вам вводить случайный код подтверждения временного пароля (TOTP) при подключении к серверам SSH (нужно будет ввести код подтверждения со своего смартфона или ПК при подключении).

Google Authenticator — это модуль с открытым исходным кодом, который включает реализации токенов проверки одноразовых кодов доступа (TOTP), разработанных Google.

Он поддерживает несколько мобильных платформ, а также PAM (подключаемый модуль аутентификации). Эти одноразовые коды доступа генерируются с использованием открытых стандартов, разработанных инициативой OATH для открытой аутентификации).
Pacman

Pacman – высокоуровневый пакетный менеджер системы Arch Linux и его родственных дистрибутивов (Manjaro, EndeavourOS и др.). Программа написана на языке C# и совмещает высокую функциональность, легкость и производительность. В качестве пакетов используются архивы pkg.tar.xz.

Особенности:
 ⁃ В Pacman совмещены функции работы с репозиториями и установка пакетов в систему, в отличие от систем Debian или Red Hat.
 ⁃ В систему устанавливается новейшее ПО, благодаря модели обновлений «плавающий релиз» (rolling-release).
 ⁃ В репозиториях Pacman располагаются заранее собранные пакеты, что значительно ускоряет процесс инсталляции программ.
 ⁃ Поддержка работы с репозиторием AUR.
iotop — Мониторинг использования дискового ввода-вывода Linux

iotop — это простая утилита, которая позволяет вам отслеживать активность дискового ввода-вывода и использование для каждого процесса.

Можно установить на Ubuntu с использованием:
sudo apt install iotop 

Чтобы изменить задержку между итерациями (по дефолту = 1 сек):
iotop -d 2 

Чтобы команда отображала только процессы:
iotop -P

Чтобы настроить команду на отображение накопленного ввода-вывода, а не пропускной способности:
iotop -a
Flatpak

Flatpak - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы.

Чтобы установить flatpak:
apt-get install flatpak

Для установки приложений при помощи flatpak из-под непривилегированного пользователя следует добавить пользователя в группу fuse:
gpasswd -a USER fuse
(где USER - имя Вашего пользователя)
Scientific Linux (SL)

Дистрибутив Linux, созданный Fermilab, CERN, DESY и ETH Zurich. Это бесплатная операционная система с открытым исходным кодом, основанная на Red Hat Enterprise Linux.

Стабильная платформа для научных вычислений, которую может использовать каждый. Есть прямой доступ к передовому научному программному обеспечению. 

Предоставляет дополнительные пакеты; наиболее заметными среди них являются различные файловые системы, в том числе Cluster Suite и Global File System (GFS), FUSE, OpenAFS, Squashfs и Unionfs, поддержка беспроводных сетей с помощью беспроводной прошивки Intel, MadWiFi и NDISwrapper, Sun Java и Java Development Kit (JDK). , легковесный оконный менеджер IceWM, R — язык и среда для статистических вычислений и почтовый клиент Alpine.
YUM — менеджер пакетов

Используется в дистрибутивах Linux, основанных на пакетах формата RPM. Позволяет облегчить работу с обновлениями дистрибутивов, отслеживая взаимозависимости между пакетами.

YUM позволяет системным администраторам и пользователям настроить автоматизированные обновление ПО и разрешение зависимостей. Для этого используется ряд инструментов, таких как yum-updatesd, yum-updateonboot, yum-cron, PackageKit

YUM работает с репозиториями пакетов от производителя дистрибутива или от сторонних авторов. 

Был создан для решения следующих задач:
 ⁃ поиск пакетов в репозиториях
 ⁃ установка пакетов из репозиториев
 ⁃ установка пакетов из .rpm-файлов, с удовлетворением зависимостей с помощью репозиториев
 ⁃ обновление системы
 ⁃ удаление ненужных пакетов
 ⁃ даунгрейд пакетов
Оболочки Pacman

 1. MakePKG
Скрипт, объединяющий работу компилятора, линкера и других вспомогательных приложений для сборки пакета из PKGBUILD. MakePKG установлен по умолчанию в системе с пакетным менеджером Pacman. Компонент входит в пакет base-devel и ABS

 2. Yay
Программа написана на языке GO и используется для поиска и установки пакета из репозитория AUR. Управления Yay производится посредством командной строки.

 3. Pamac
Графический менеджер пакетов Pamac разработан специально для Manjaro, но может быть установлен в любой дистрибутив на основе Arch Linux. Программа сочетает лёгкость с большим функционалом. В качестве источников используются официальные репозитории дистрибутивов AUR и Snappy.
Portage

Система управления пакетами Gentoo или Calculate Linux. Установка программ для данного дистрибутива несколько отличается от остальных систем Linux. В Gentoo пакетный менеджер использует исключительно исходный код, а не готовые пакеты для установки программ.

Программы собираются под пользовательскую систему и железо, что обеспечивает стабильную работу ОС.

По сравнению с распаковкой программ у других пакетных менеджеров, компиляция в Portage занимает много времени. 

Пользователь может гибко настроить параметры компиляции и полностью управлять процессом сборки. Например, поставить операцию на паузу и продолжить позже.

Для обновления установленного ПО используется система rolling-release, благодаря которой в репозитории дистрибутива поставляются пакеты последней версии, опубликованные разработчиком в течение 1-2 дней.
MDADM

Утилита для управления программными RAID-массивами в Linux (ранее mdctl)

С помощью mdadm можно выполнять следующие операции:
- create — создание RAID-массива из нескольких дисков
- assemble — сборка (ранее созданного) массива и его активация.
- build — объединение дисков в массив (без суперблоков).
- manage — управление массивом: добавление новых свободных дисков (spares) и удаление неработоспособных (faulty devices).
- follow, monitor — следить за одним или несколькими md-устройствами и реагировать на изменение их состояния
- grow — расширение или уменьшение размера (shrink) массива, либо иное его реформирование (reshape).
Logical Volume Manager (LVM)

Система управления томами с данными. Она позволяет создавать поверх физических разделов (или даже неразбитых винчестеров) логические тома, которые в самой системе будут видны как обычные блочные устройства с данными (т.е. как обычные разделы). 

Преимущества:
- одну группу логических томов можно создавать поверх любого количества физических разделов
- размер логических томов можно легко менять прямо во время работы.
- поддерживает механизм снапшотов, копирование разделов «на лету» и зеркалирование, подобное RAID-1

Активно используется, когда необходим механизм снапшотов. Этот механизм крайне важен при бекапе постоянно меняющихся файлов.