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

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

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

Библиотека для криптографических функций и инструмент для работы с SSL/TLS протоколами.

Примеры:
1. Генерация ключей:
openssl genrsa -out private.key 2048

2. Создание сертификата:
openssl req -new -key private.key -out certificate.csr

3. Создание самоподписанного сертификата:
openssl req -new -x509 -key private.key -out certificate.crt -days 365

4. Шифрование и расшифрование файлов:
openssl enc -aes-256-cbc -salt -in input.txt -out encrypted.txt

5. Создание и проверка цифровой подписи:
openssl dgst -sha256 -sign private.key -out signature.bin document.txt
iconv - утилита командной строки, которая используется для конвертации текстовых данных из одной кодировки в другую.

Несколько примеров ее использования:

Пример 1: Преобразование из UTF-8 в ASCII
iconv -f UTF-8 -t ASCII input.txt > output.txt

Этот пример преобразует содержимое файла input.txt из кодировки UTF-8 в ASCII и записывает результат в output.txt.

Пример 2: Изменение кодировки файла
iconv -f ISO-8859-1 -t UTF-8 input.txt > output.txt

Эта команда изменяет кодировку файла input.txt с ISO-8859-1 (Latin-1) на UTF-8 и записывает результат в output.txt.

Пример 3: Указание файла для стандартного ввода и вывода
iconv -f WINDOWS-1251 -t UTF-8 < input.txt > output.txt

Этот пример использует стандартный ввод (input.txt) с кодировкой WINDOWS-1251 и выводит результат в output.txt с кодировкой UTF-8.

Пример 4: Рекурсивное преобразование файлов в директории
find /path/to/directory -type f -name '*.txt' -exec iconv -f UTF-8 -t ISO-8859-1 {} -o {} \;

Этот пример находит все файлы с расширением .txt в указанной директории и конвертирует их содержимое из UTF-8 в ISO-8859-1.
Berkeley Internet Name Domain

Наиболее популярный DNS-сервер в мире, который широко используется на серверах Linux. Рассмотрим установку и настройку:

1. Для установки BIND в Ubuntu или Debian, выполните команду:
sudo apt-get install bind9

2. Настройка файла named.conf (основной файл конфигурации BIND). Нужно указать настройки, такие как интерфейс и зоны для обслуживания.

3. Создание файлов зон. Они содержат информацию о доменных именах и соответствующих IP-адресах.

4. Добавление записей в файл зоны. Откройте соответствующий файл зоны и добавьте записи в следующем формате:
domain.com. IN A 192.168.1.1
(это создаст запись, где domain.com соответствует IP-адресу 192.168.1.1.)

5. Перед запуском BIND убедитесь, что настройки в файле named.conf и файлы зон заданы правильно. Выполните команду sudo named-checkconf, чтобы проверить конфигурационный файл.

6. Если ошибок нет, запустите BIND: sudo service bind9 start (в Ubuntu/Debian)
VLAN в Linux

VLAN (Virtual Local Area Network) - это механизм, который позволяет разделять сети на виртуальные отдельные сегменты.

В Linux существует поддержка VLAN через утилиту vconfig или команду ip.

Они позволяют настраивать виртуальные интерфейсы VLAN, добавлять и удалять теги VLAN и управлять VLAN-трафиком.
Обновление SSL/TLS сертификатов в Linux

SSL/TLS сертификаты имеют ограниченный срок действия, обычно год или два. Поэтому регулярное обновление сертификатов важно для обеспечения безопасности.

Обновление сертификата включает в себя генерацию нового CSR, его отправку в сертификационный орган и замену старого сертификата на новый на сервере.

Перед обновлением сертификатов важно проверить их срок действия. Используйте команду openssl с опцией x509 и параметром -enddate, чтобы проверить сроки действия сертификатов:
openssl x509 -in certificate.crt -noout -enddate
Certbot

Инструмент, разработанный для автоматической генерации и управления SSL-сертификатами для веб-сайтов.

Certbot предоставляет простой способ получения, продления и настройки SSL-сертификатов. Он автоматически обновляет сертификаты, чтобы они оставались действительными, и автоматически настраивает веб-сервер для использования этих сертификатов.

Certbot поддерживает множество веб-серверов, включая Apache, Nginx, Microsoft IIS и другие. Он также проверяет, что вы владеете доменным именем, используя различные методы верификации, включая HTTPS-соединение и записи в DNS.

Использование Certbot позволяет веб-сайтам защитить свои соединения и повысить доверие пользователей, улучшая безопасность и привлекательность их онлайн-присутствия.
Работа с Certbot в терминале

Certbot - это программное обеспечение для автоматической установки, обновления и управления SSL-сертификатами в Linux-системах.

Вот несколько примеров использования Certbot в Linux:

1. Установка Certbot на Ubuntu:
sudo apt update
sudo apt install certbot


2. Получение сертификата для одного домена с поддоменами:
sudo certbot certonly --nginx -d example.com -d www.example.com -d subdomain.example.com

3. Автоматическое обновление сертификатов:
sudo certbot renew

4. Проверка статуса сертификатов:
sudo certbot certificates
BleachBit

Свободное и открытое програмное обеспечение для очистки системы.

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

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

Кроме того, BleachBit также поддерживает безопасное удаление файлов, чтобы предотвратить их возможное восстановление.
Stacer

Инструмент управления системой для операционной системы Linux.

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

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

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

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

Preload анализирует поведение приложений при запуске и запоминает, какие файлы и библиотеки они используют. Затем он предварительно загружает эти файлы в память, чтобы они стали доступными быстрее при следующем запуске приложения. Это позволяет сократить время ожидания и повысить отзывчивость приложений.
ULauncher

Быстрый и легкий поиск и запуск программ для Linux.

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

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

Утилита для управления энергопотреблением на Linux.

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

TLP предлагает различные настройки, которые позволяют управлять разными аспектами энергопотребления, такими как яркость экрана, скорость процессора, настройки USB и Bluetooth и многое другое.

Она оптимизирует энергопотребление, активируя энергосберегающие режимы и отключая ненужное оборудование при необходимости.
Zram-config

Инструмент для настройки и управления модулем ZRAM в Linux. ZRAM - это компрессирующее блочное устройство, которое может использоваться для сжатия и хранения данных в оперативной памяти.

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

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

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

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

Преимущества использования виртуальных рабочих столов:
⁃ Организация и систематизация рабочего пространства
⁃ Улучшение концентрации и продуктивности
⁃ Оптимизация ресурсов системы

Для использования виртуальных рабочих столов в Linux вам может понадобиться настроить соответствующий инструмент управления рабочими столами, такой как GNOME Shell, KDE Plasma или Xfce.
Создание собственных горячих клавиш

Настройка и использование горячих клавиш в Linux упрощает работу с ОС.

В настройках клавиатуры вы можете создавать собственные горячие клавиши, назначая им команды или скрипты:
- Нажмите на кнопку "+", чтобы добавить новую команду и назначить ей сочетание клавиш.
- Выберите команду, которую вы хотите выполнить, или укажите собственный путь к скрипту.
Советы по оптимизации использования жесткого диска

1. Используйте файловую систему с поддержкой журналирования, такую как ext4 или XFS. Они обеспечивают более быстрое и надежное чтение и запись данных на жесткий диск.

2. Дефрагментируйте жесткий диск.
Она помогает организовать файлы логичным образом и ускоряет доступ к данным.

3. Очистите жесткий диск от ненужных файлов и фрагментов. Удалите временные файлы, кэш, скачанные файлы и другие ненужные данные.

4. Оптимизируйте настройки виртуальной памяти.

5. Используйте программы для мониторинга и управления дисковым пространством
Утилита ss (Socket Statistics) в Linux предоставляет информацию о сетевых сокетах, соединениях TCP/UDP, маршрутах и других сетевых параметрах.

Несколько примеров использования ss:

Отобразить все открытые сокеты:
ss -a


Отобразить информацию о всех TCP-соединениях:
ss -t


Отобразить информацию о всех UDP-соединениях:
ss -u


Отобразить статистику по сетевым сокетам в реальном времени:
ss -s


Отобразить подробную информацию о TCP-соединениях и фильтровать вывод по заданному адресу и порту (например, IP-адресу 192.168.0.1 и порту 80):
ss -t -a 'dst 192.168.0.1:80'


Отобразить информацию о сетевых интерфейсах и маршрутах:
ss -i


Отобразить информацию о сокетах, которые находятся в состоянии ожидания:
ss -o state wait


Отобразить подробную информацию о конкретном сокете с заданным идентификатором:
ss -t -a -e sport = :<порт>


Отобразить информацию о сокетах, установленных в режиме прослушивания:
ss -l


Отобразить информацию о сокетах с указанным типом протокола (например, RAW, DGRAM, STREAM):
ss -t -a -K <тип_протокола>
Генерировать пароли своим собственным умом довольно утомительно, но есть простой способ сделать это автоматически. OpenSSL есть на любой машине.

openssl rand -base64 20
(20 - количество символов. Задаем своё.)

Либо можем установить для таких целей pwgen:
sudo apt install pwgen

(ходят слухи, что пароль от pwgen более стойкий)
И используем:

pwgen -Bs 20 1

(20 - количество символов. 1 - количество сгенерированных паролей)
Каталог /lost+found/

Именно там хранятся все файлы, на которые нет ссылок.

Такое бывает, ... когда при удалении файла произошел сбой в работе, например отключилось питание. При следующем включении компьютера происходит проверка файловых систем на наличие ошибок, а поскольку ошибка была найдена, то запускается программа fsck. После этого поврежденные и восстановленные программой fsck файлы будут помещены в каталог /lost+found/, зайдя в который вы можете самостоятельно их просмотреть и при необходимости переместить в нужное вам место. 

Посмотреть, что там у тебя сейчас есть, можно так:

sudo su
ls -l /lost+found/
Команды для отображения базовой информации и управления системой

df — показывает, сколько пространства занято на подключенных дисках и разделах. По умолчанию отображает данные в килобайтах. Можно переключиться на мегабайт, добавив параметр -m. Это выглядит так: df -m.

du — расскажет, сколько места занимает конкретный файл или папка. Чтобы узнать, насколько тяжелая директория Desktop, введем: du ~/Desktop. du отображает информацию в блоках. Но это неудобно, поэтому обычно к ней добавляют опцию -h, чтобы появились привычные мегабайты, килобайты и байты.

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

uname — вывод информации о системе и сервере. Аргумент -a показывает имя компьютера, версию ядра, текущую дату и время, разрядность системы и ее тип. Можно запрашивать отдельные фрагменты данных через дополнительные опции: -s — только имя ядра; -n — имя компьютера (ноды) в сети; -o — название операционной системы; -p — тип процессора; -s — версия ядра.

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

date — из названия ясно, что команда отображает текущее время и дату.

sleep — задерживает запуск скриптов на выбранный период времени. Единица времени указывается через опции: -s — секунды; -m — минуты; -h — часы; d — дни.
В чем отличие LТS-версии от нe-LTS?

Аббревиатура LTS расшифровывается как Long Term Support - релиз с долгосрочной поддержкой. Действительно, LТS-версия имеет именно такую поддержку, т. е. на протяжении 5 лет вы будете получать все нужные обновления для вашей ОС - разработчики Ubuntu будут выпускать их, а вы можете быть уверены, что эти обновления никоим образом не затронут стабильность работы вашей версии операционной системы.

Обычные версии ОС Ubuntu, т. е. не-LТS-версии (выпускаемые каждые полгода), содержат все новшества, которые могут быть включены в последующие релизы (выпуски) LТS-версий.

Логично предположить, что такие версии предназначены в основном для тех, кто интересуется новинками и кому интересно экспериментировать с системой.