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

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

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

В чем отличие Linux от Unix? Если очень‑очень упростить, то можно сказать, что Unix — это предок Linux. Более сложный и развернутый ответ требует немного углубиться в историю.

В семидесятые годы Ричард Столлман придумал клонировать коммерческий и по тем временам дорогостоящий Unix и создать свою операционку, которую он назвал GNU is not Unix или просто GNU. Столлман и компания переписали все компоненты Unix и опубликовали их под придуманной ими «вирусной» лицензией GPL.

Изначально словом Linux называли только созданное Линусом Торвальдсом ядро. Но название Linux и маскот‑пингвин быстро прижились, и ими теперь обозначают всю ОС — несмотря на возражения Столлмана и просьбы писать только GNU/Linux.

Linux в эпоху интернета стал быстро набирать популярность, и коммерческим вариантам Unix со временем просто не осталось места. Тем не менее до сих пор живы его потомки — операционные системы FreeBSD и OpenBSD, которые теперь бесплатны и многое заимствуют из современного «Линукса». Кстати, на FreeBSD основаны macOS и iOS.
[ Журнал Хакер ]
В каком из перечисленных каталогов файлы не должны изменяться без вмешательства системного администратора:
Anonymous Quiz
37%
/usr
9%
/tmp
8%
/home
46%
/var
Релиз браузера Firefox 96

Основные изменения:
- Существенно уменьшена степень нагрузки на основной поток программы.

- Улучшена поддержка обработки медиа. Улучшено шумоподавление, автоматическая регулировка усиления, эхоподавление.

- Предотвращения от атак CSRF (Cross-Site Request Forgery). (Для всех куки теперь используется атрибут SameSite=lax)

- Для всех пользователей включен механизм строгой изоляции сайтов.

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

Проблемы: [ Хабр ] ->
Пользователи с проблемами в работе Firefox 96.0 и 95.02 начали отключать HTTP/3
procs — позиционируется как современная замена команды ps (process on the system).

Консольная Rust утилита для отображения информации об активных и запущенных процессах.

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

procs позволяет проводить поиск процессов по ключевому слову, выводит запущенные процессы приложений Docker (система управления контейнерной виртуализацией), порты TCP/UDP (без запуска от root отображаются только текущего пользователя), скорость чтения/записи (Read/Write) и прочее... Параметры утилиты можно задать из командной строки и/или конфигурационном файле (~/.config/procs/config.toml), работа с утилитой подробно документирована.

GitHub: procs
Некоторые команды мониторинга и отладки

top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

ps -e -o pid,args --forest вывести PID’ы и процессы в виде дерева

pstree отобразить дерево процессов

kill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

kill -TERM 98989 Корректно завершить процесс с PID 98989

kill -1 98989
kill -HUP 98989
заставить процесс с PID 98989 перепрочитать файл конфигурации

lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989

lsof /home/user1 отобразить список открытых файлов из директории /home/user1

strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом ls

strace -f -e open ls > /dev/null вывести вызовы бибилотек

watch -n1 ‘cat /proc/interrupts’ отображать прерывания в режиме реального времени

last reboot отобразить историю перезагрузок системы

last user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней

lsmod вывести загруженные модули ядра

free -m показать состояние оперативной памяти в мегабайтах

smartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMART

smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda

tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра

tail /var/log/messages вывести десять последних записей из системного журнала
This media is not supported in your browser
VIEW IN TELEGRAM
Peco — способен сильно облегчить навигацию, а также поиск (но это не точно).

Это небольшая утилита, которая принимает на вход список строк и выводит на экран псевдографическое меню, с помощью которого можно выбрать или найти нужную строку. Далее Peco отдает эту строку на выход и завершает свою работу (по сути, это консольный аналог dmenu).

Peco можно использовать для навигации и поиска в любых текстовых строках, включая пути. Например, если ты запустишь следующую команду и выберешь каталог, peco напечатает его имя в терминале:

$ ls | peco

Не слишком удобно и полезно. Однако, немного усложнив пример, ты получишь интерактивный cd:

$ cd `ls | peco`

Польза появилась, удобство пострадало. Поэтому создадим для этой команды короткий и простой псевдоним. Для этого добавим следующую строку в ~/.zshrc:
alias cdi='cd `ls | peco`'
Теперь команда cdi будет запускать наш интерактивный cd.

GItHub: Peco
Команды остановки системы

shutdown -h now
init 0
telinit 0
Остановить систему

shutdown -h hours:minutes & запланировать остановку системы на указанное время

shutdown -c отменить запланированную по расписанию остановку системы

shutdown -r now
reboot
перегрузить систему

logout выйти из системы
OSINT в хату.

Asn — удобная утилита для отображения информации об IP и домене.

GitHub: ASN
graphpath — Утилита для быстрого построения ASCII схемы сети прямо в терминале.

GitHub: graphpath
Релиз ядра Linux 5.16

Дата релиза: 9 января 2022

В новую версию принято 15415 исправлений от 2105 разработчиков, размер патча - 45 МБ (изменения затронули 12023 файлов, добавлено 685198 строк кода, удалено 263867 строк). Около 44% всех представленных в 5.16 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 16% связано с сетевым стеком, 4% - с файловыми системами и 4% c внутренними подсистемами ядра.

Подробнее: OpenNET
Bashtop

Инструмент для мониторинга ресурсов из терминала с открытым исходным кодом для систем Linux, macOS и BSD.
Этот инструмент может отображать использование и статистику процессора, памяти, дисков, сети и процессов.
Bashtop написан на Bash с интерфейсом TUI для мониторинга использования ресурсов в вашей системе Linux, macOS или FreeBSD.

Установка Bashtop на Ubuntu:

sudo add-apt-repository ppa:bashtop-monitor/bashtop

sudo apt update

sudo apt install bashtop
Вся мощь команд Linux — в дополнительных параметрах, которые ты можешь указать. Чтобы узнать о них, нужно читать справку (man), но есть способы схитрить и облегчить себе жизнь.

tldr pages - сокращенная версия man, в которой дотошные описания покромсали до абсолютного минимума.

cheat.sh  - онлайновая база данных с примерами популярных вариантов команд.

marker - похожая штука, но офлайн и с подсказками на лету.

explainshell.com - сервис, который автоматически разбирает сложную команду и объясняет значение ее составных частей.
​​Релиз офисного пакета LibreOffice 7.3.
2 февраля 2022

Что там в общем и целом?

Офисный пакет LibreOffice состоит из нескольких компонентов, интегрированных в общее ядро, в частности:
- Текстовый редактор Writer;
- Табличный редактор Calc;
- Средство создания и демонстрации презентаций Impress;
- Векторный редактор Draw;
- Редактор формул Math;
- Система управления базами данных Base.

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

Особенности LibreOffice:
Как следует из названия, LibreOffice — один из крупнейших свободных офисных продуктов. Свобода проявляется в:
- Отсутствии каких-либо лицензионных отчислений за приобретение и использование продукта.
- Отсутствии языкового барьера. Если поддержка вашего языка ещё не включена в LibreOffice, то, несомненно, это скоро изменится.
- Открытом доступе к исходному коду по лицензионному соглашению OSI.

LibreOffice заботится о качестве (да, серьёзно.)
- У LibreOffice богатое наследие. Разработка уходит своими корнями в прошлое. Сообщество имеет более чем 20-летний опыт, на который можно опереться.
- Тысячи пользователей по всему миру принимают участие в бета-тестировании новой версии.
- Процесс создания LibreOffice полностью открыт. У каждого есть возможность принять участие в совершенствовании LibreOffice.

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

Bash Bible

sh bible
Регулярные выражения (regular expressions, сокр. RegExp, RegEx) — формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (wildcard characters). По сути это строка-шаблон (pattern), состоящая из символов и метасимволов и задающая правило поиска.
При реализации механизмов регулярных выражений обычно используются две базовые технологии: НКА (недетерминированный конечный автомат) и ДКА (детерминированный конечный автомат). Механизмы отличаются подходом к сравнению регулярного выражений со строкой. Говорят, что механизм НКА «управляется регулярным выражением», а механизм ДКА «управляется текстом». Самым распространенным является НКА.

Использующие НКА: Perl, PHP, библиотека PCRE библиотека регулярных выражений, .NET, Python, JavaScript.
Использующие ДКА: AWK, flex, lex, MySQL.
XDM (Xtreme Download Manager) — мощный менеджер загрузок с открытым исходным кодом.

- Загружает потоковое видео со скоростью загрузки в пять раз быстрее;
- XDM хорошо работает со всеми доступными браузерами;
- Можно приостановить и возобновить любую прерванную или мертвую загрузку;
- XDM имеет ограничитель скорости, интеллектуальный планировщик и варианты загрузки в очередь;
- Поддерживает различные прокси-серверы.

sudo wget https://github.com/subhra74/xdm/releases/download/7.2.11/xdm-setup-7.2.11.tar.xz

tar -xvf xdm-setup-7.2.11.tar.xz

sudo sh install.sh
Slackware по праву считают старейшим Linux дистрибутивом. Первый релиз вышел 17 июля 1993 г.

Основатель дистрибутива — американец Патрик Фолькердинг.

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

Патрик Фолькердинг в то время являлся (а может быть и сейчас является) участником религиозной группы Church of the SubGenius (Церковь Суб-Гениев), ее еще называют Церковь недомудреца, является пародийной религией. Ее сообщество стремится постичь состояние «Немощь» (англ. Slack) — то есть стремление к недеянию, чувству свободы и независимости. Отсюда и появилось название дистрибутива.

За основу был взят Softlanding Linux System. SLS появился в 1992 году и его также можно считать старейшим Linux дистрибутивом. SLS содержал не только Ядро Linux но и некоторые утилиты, GNU Emacs, а также реализацию X Window System
Kali Linux 2022.1.

релиз: 14 февраля 2022

Добавлены новые утилиты:
- dnsx — выполнение DNS запросов.

- email2phonenumber — получение телефонного номера по адресу электронной почты.

- naabu — быстрый сканер портов.

- nuclei — сканирование сети на основе шаблонов.

- PoshC2 — «proxy aware C2» фреймворк.

- proxify — перехват HTTP/HTTPS трафика.
Перенаправление потоков.

В bash (как и многих других оболочках) есть встроенные файловые дескрипторы: 0 (stdin), 1 (stdout), 2 (stderr).

stdout — Стандартный вывод. Сюда попадает все что выводят программы
stdin — Стандартный ввод. Это все что набирает юзер в консоли
stderr — Стандартный вывод ошибок.

Для операций с этими дескрипторами, существуют специальные символы: > (перенаправление вывода), < (перенаправление ввода). Оперировать ими не сложно. Например:

cat /dev/random > /dev/null
# перенаправить вывод команды cat /dev/random в /dev/null (абсолютно бесполезная операция)
Закон Линуса

Один из «Законов Линуса», названный в его честь и сформулированный программистом Эриком Рэймондом в четвертой части его эссе «Собор и базар» (The Cathedral and the Bazaar), гласит: при достаточном количестве глаз все ошибки лежат на поверхности (Given enough eyeballs, all bugs are shallow). То есть чем больше человек тестирует программу, тем больше вероятность обнаружения любой проблемы. Хотя этот закон и некоторые программисты оспаривают, считая, что если «тестеры» не обладают требуемой квалификацией, то их количество не имеет значения и не гарантирует безопасность кода.