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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Модули в Python, которые могут быть полезными для написания скриптов

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

⁃ Модуль os предоставляет функции для создания/удаления файлов и папок, выполнения команд в командной строке, управления процессами и т.д.

⁃ Модуль re предоставляет функции для работы с регулярными выражениями.

⁃ Модуль argparse предоставляет удобный способ обработки аргументов командной строки.

⁃ Модуль datetime предоставляет классы для работы с датами и временем.
Преимущества использования Perl для автоматизации задач в Linux

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

#!/usr/bin/perl

print "Привет, мир!\n";

Его преимущества:
⁃ Регулярные выражения: Perl известен своей мощной поддержкой регулярных выражений.
⁃ Кросс-платформенность: Perl является кросс-платформенным языком, что означает, что вы можете написать Perl-скрипт в Linux и запустить его на другой операционной системе, такой как Windows или macOS, без изменений.
⁃ Perl также предоставляет множество модулей для работы с сетью и широкий спектр модулей для работы с файлами.
Создание собственного пакета в Linux

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

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

Вот некоторые основные инструменты, которые часто используются:
1. Build-essential
2. GNU Autotools
3. Checkinstall
4. rpmbuild
5. dh_make
Build-essential

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

В состав build-essential входят следующие основные компоненты:

1. Компиляторы: В основном это GCC, который является стандартным компилятором в среде разработки Linux.
2. Библиотеки разработчиков (dev-пакеты): Это заголовочные файлы и статические библиотеки, необходимые для разработки и сборки программ.
3. Util-linux: Этот пакет содержит различные утилиты командной строки, которые помогают в разработке и сборке программ (chroot, fdisk, mount).
4. dpkg-dev: Этот пакет содержит инструменты, необходимые для создания и управления пакетами в формате Debian (.deb).
5. make: Это универсальный инструмент для автоматизации сборки программ.
GNU Autotools

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

Набор инструментов GNU Autotools включает в себя следующие компоненты:
1. GNU Autoconf — инструмент для создания скриптов "configure" автоматически. С помощью Autoconf можно определить зависимости программы, проверить наличие библиотек и других компонентов, а также установить различные параметры конфигурации.

2. GNU Automake — инструмент для создания Makefile из специализированного файла "Makefile.am".

3. GNU Libtool — инструмент для упрощения создания и использования динамических библиотек. Libtool абстрагирует сложности, связанные с созданием и использованием различных форматов библиотек (например, .so или .dll), обеспечивая переносимость программного кода между различными платформами.
Checkinstall

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

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

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

Основное преимущество Checkinstall заключается в простоте установки, отслеживании и удалении программ, установленных из исходного кода.
rpmbuild

Командный инструмент, входящий в пакет rpm-build, используемый для сборки RPM-пакетов из исходных файлов(RPM — формат пакетов и утилита для управления пакетами в системах на базе Red Hat).

Чтобы создать RPM-пакет с помощью rpmbuild, вам нужно создать специальный файл спецификации (.spec), в котором указываются все необходимые детали и инструкции для сборки пакета.

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

После создания .spec файла и необходимых исходных файлов, вы можете запустить команду rpmbuild, указав путь к .spec файлу. rpmbuild выполнит сборку пакета в соответствии с указанными настройками и создаст готовый RPM-пакет.
dh_make

Утилита в ОС на базе Debian, которая помогает автоматизировать создание файла спецификации (debian/control) и других файлов, необходимых для упаковки программного обеспечения в формате Debian-пакета.

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

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

Обратите внимание, что dh_make представляет собой только исходный набор файлов и структуру папок для пакета Debian. Вы по-прежнему должны вручную настроить содержимое и файлы конфигурации для вашего пакета.
GNU Autoconf

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

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

Этот процесс конфигурации основан на использовании файла "configure.ac", который содержит инструкции на специальном языке макроопределений M4. С помощью Autoconf и M4, "configure.ac" преобразуется в скрипт "configure", который может быть запущен на целевой системе для автоматической проверки и настройки программного обеспечения.
GNU Automake

Инструмент, который упрощает процесс создания и управления файлами сборки (Makefile).

Automake основан на системе сборки GNU Make и позволяет разработчикам определить зависимости между файлами и задать правила для сборки проекта. Automake использует скрипты Makefile.am, которые содержат инструкции для создания Makefile. Затем, с помощью утилиты "automake", эти скрипты обрабатываются и преобразуются в соответствующие Makefile.

Automake обеспечивает автоматическую генерацию сложных правил сборки, включая компиляцию, линковку, установку и тестирование проекта.
GNU Libtool

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

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

Libtool часто используется вместе с GNU Autoconf и GNU Automake, чтобы обеспечить полную систему автоматической настройки, сборки и установки проектов.
Легковесная оболочка LXDE в Linux

Это одна из самых легких и быстрых графических сред в Linux.

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

LXDE имеет низкие требования к системным ресурсам, что делает его подходящим выбором для старых компьютеров или компьютеров с ограниченной памятью.
Легковесная оболочка Xfce в Linux

Графическая среда Xfce также известна своей легкостью и производительностью.

Она обладает большим набором функций и более современным дизайном по сравнению с LXDE.

Также она более настраиваемая и предлагает пользовательские панели инструментов, окна и темы, позволяя адаптировать макет рабочего стола под свои потребности.
LDAP-сервер в Linux

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

2. Во время установки LDAP-сервера будет предложено задать пароль для административной учетной записи. Задайте пароль и запомните его

3. Отредактируйте файл /etc/ldap/slapd.conf, указав базовый DN, а также некоторые дополнительные параметры, такие как максимальный размер БД и файл журнала.

4. В файле конфигурации определите используемые схемы и манифесты.
Например:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema inetorgperson.schema
include /etc/ldap/schema/nis.schema

5. Создайт базу данных и административную учетную запись, выполнив команду:
sudo dpkg-reconfigure slapd

6. Перед запуском LDAP-сервера убедитесь, что настройки в файле конфигурации заданы правильно, выполнив команду:
sudo slaptest -u

7. Если ошибок нет, запустите LDAP-сервер:
sudo service slapd start
nftables

Утилита командной строки для управления брандмауэром в Linux, которая заменяет устаревшую команду iptables.

Примеры использования:
1. Создание таблицы и цепочки:
Создать таблицу:
nft add table inet mytable
Создать цепочку в таблице:
nft add chain inet mytable mychain

2. Добавление правил:
Добавить правило для разрешения доступа из конкретного IP-адреса:
nft add rule inet mytable mychain ip saddr 192.168.1.100 accept
Добавить правило для блокировки порта:
nft add rule inet mytable mychain tcp dport 22 drop
Добавить правило для перенаправления порта: nft add rule inet mytable mychain tcp dport 80 redirect to :8080

3. Удаление правил:
Удалить правило:
nft delete rule inet mytable mychain handle 5
Удалить все правила из цепочки:
nft flush chain inet mytable mychain

4. Сохранение и загрузка правил:
Сохранить правила в файл:
nft list ruleset > myfile.nft
Загрузить правила из файла:
nft -f myfile.nft
Iptables vs Nftables

Выбор между iptables и nftables зависит от ваших потребностей и уровня опыта.

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

Необходимо отметить, что nftables представляет будущее развитие брандмауэра в Linux и будет заменять iptables в перспективе.
Apache в Linux

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

Ключевые функции веб-сервера Apache:
⁃ Виртуальные хосты
⁃ SSL и безопасность
⁃ Управление доступом и аутентификацию на основе IP-адреса или пароля.
⁃ Настройка перенаправлений (редиректов) или URL-переадресаций.
⁃ Настройка сжатия и кэширования файлов для улучшения производительности.
⁃ Логирование и анализ логов для отслеживания активности на сервере и выявления проблем.

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

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

Виртуальные хосты позволяют вам хостить несколько веб-сайтов на одном сервере с разными доменными именами или IP-адресами.

Для настройки виртуальных хостов с помощью Apache, вам потребуется настроить отдельные конфигурационные файлы для каждого веб-сайта.

Конфигурационные файлы Apache обычно находятся в директории /etc/httpd/conf.d/ или /etc/apache2/sites-available/ в зависимости от дистрибутива Linux.
SSL и безопасность в Apache

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

SSL (Secure Sockets Layer) - это протокол безопасного соединения, позволяющий шифровать данные между клиентами и серверами, чтобы защитить информацию от несанкционированного доступа.

Для настройки SSL на веб-сервере Apache, вам потребуется установить SSL-сертификат, который выдает доверенная организация. Затем вы можете настроить конфигурационный файл Apache для включения поддержки SSL и указания пути к вашему сертификату.
Postfix

Postfix - это один из самых популярных почтовых серверов в Linux-системах, который обеспечивает эффективную доставку и прием электронной почты. Вот некоторые особенности:

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