LAN * Администрирование – Telegram
LAN * Администрирование
1.59K subscribers
110 photos
27 videos
108 files
36 links
Этот канал - локальная копия интересных статей, упакованных в удобный для просмотра формат (HTML, без скриптов и рекламы), поставляемый с исходниками для самостоятельной сборки

ИСХОДНИКИ ТУТ - @local_source

Админ - @Local_Area_Network_bot
Download Telegram
Искусство программирования на языке сценариев командной оболочки / Advanced Bash-Scripting Guide

📔
Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток . . . постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев - это написание сценариев.
📔

Содержание в комментариях
Искусство_программирования_на_языке_сценариев_командной_оболочки.zip
378.6 KB
📝 Искусство программирования на языке сценариев командной оболочки. Mendel Cooper, перевод Андрей Киселев

👥
#Администратору #Программисту

#️⃣
#Bash #Linux #Книга
#️⃣

🔗 @Local_Area_Network
👍8
Механизмы контейнеризации: cgroups
🗂
Cgroups: краткая история
Архитектура
Иерархия cgroups: практическое знакомство
Пример 1: управление процессорными ресурсами
Пример 2: управление памятью
Пример 3: управление устройствами
Cgroups и контейнеры
Недостатки cgroups
Cgroup v2: что нового
Заключение
🗂
👍4
#Заметки

Удобное расширение-переводчик для Firefox

🔗 github.com/FilipePS/Traduzir-paginas-web

В отличии от большинства других расширений - это умеет переводить абзац под курсором без лишних телодвижений и переходов на другие сайты, навел и сразу получил перевод (ищите в настройках "Show translated text when hovering over sites with these languages").
Также расширение может переводить только выделенный текст с помощью горячих клавиш (смотрите в настройках).

Рекомендую тем, кто английский знает, но некоторые слова всё же требуют перевода

Работает кстати и для локальных файлов
👍8🔥3
Protocol Buffers — протокол сериализации (передачи) структурированных данных, предложенный Google как эффективная бинарная альтернатива текстовому формату XML. Разработчики сообщают, что Protocol Buffers проще, компактнее и быстрее, чем XML, поскольку осуществляется передача бинарных данных, оптимизированных под минимальный размер сообщения

Protocol Buffer Basics: Python
🗂
The Problem Domain
Where to Find the Example Code
Defining Your Protocol Format
Compiling Your Protocol Buffers
The Protocol Buffer API
Enums
Standard Message Methods
Parsing and Serialization
Writing A Message
Reading A Message
Extending a Protocol Buffer
Advanced Usage
🗂
👍6🔥1
#Заметки #VSCode

Когда вы устали выходить за скобки/кавычки стрелками на клавиатуре, либо же кнопкой end - есть изящное решение!

🔥 TabOut - https://github.com/albertromkes/tabout

В любой непонятной ситуации - жмите Tab и ваш курсор выкинет за ближайшую открывающую или закрывающую скобку/кавычку

Вроде мелочь, а крайне удобно

👇 Ниже скринкаст последовательного нажатия Tab
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
#Заметки #Linux

Кстати, пока искал чем записать скринкаст - нашел удобную утилиту под Linux

💻 Peek - https://github.com/phw/peek

Умеет записывать GIF, APNG, WebM, MP4 да еще и интуитивно понятный интерфейс, одним словом - удобно!
👍5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
#Заметки #Bash

Про поиск в bash и выбор предыдущих команд - знают все, но вот за то, что это всё можно сделать намного проще и быстрее - знают не многие :-)

Представляю вашему вниманию 2 строки, которые облегчат вашу жизнь сразу после прописывания в ~/.bashrc

bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'

Их эффект такой, вы в терминале вводите начало команды и просто нажимаете стрелку вверх. Всё, bash найдёт среди вашей истории команды с таким же началом и дополнит текущий ввод

Подробности в коротком видео выше ⬆️

P.s.: А какими ухищрениями и настройками bash пользуетесь вы?
🔥11👍5
#Заметки #XFCE4 #Regex

Действия на регулярках в Whisker меню

Whisker - это альтернативное "меню пуск" для xfce4 (на скриншоте слева), в котором есть удобные "Поисковые действия" с возможностью использовать регулярные выражения. Вот только как передавать результат регулярки в команду - нигде не описано

Если кратко: результат совпадения регулярки можно передать в команду с помощью косой черты и цифры за ней, где цифра обозначает номер группы совпадений в регулярке:
\1 - первая группа совпадений
\2 - вторая группа
...
\0 - все группы

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

Поиск в яндексе
Шаблон - ^(z|я|y|н)(.*), где (z|я|y|н) - группа 1, а (.*) группа 2
Команда - exo-open --launch WebBrowser https://yandex.ru/search/?text=\2 , тут используем только вторую группу, т.к. нам нужен только сам запрос

Калькулятор
Шаблон - ^((\d+)(\^|\+|-|\*|/)(\d+))+((\^|\+|-|\*|/)(\d+))*$
Команда - exo-open --launch TerminalEmulator bash -c "echo -n '\0 = '; calc -p \0; read"

Если же регулярные выражения вам ни к чему, то в командах можно передавать значения с помощью маркеров %u и %s, которые обозначают URI (специальные символы заменяются) и простой текст соответственно

Например, уже добавленные команды в меню делают так:

man
Шаблон - #
Команда - exo-open --launch TerminalEmulator man %s
👍5🔥1
Кстати, xfce 4.18 (новый) на ядре Linux 6.0 - потребление оперативки 900 мб без запущенных программ
😱 😱 😱 😱 😱 😱 😱
🔥5
В чате посоветовали поставить LXQt, вся система 730 мб
Ради интереса ставил fluxbox - 500 мб

Давайте что-ли сравним, у кого сколько по потреблению оперативки

Пишите в чат!
👍2
#Заметки

Восстановление linux после битой файловой системы

Итак, пишу средства решения проблемы с которой столкнулся 20 минут назад. Выключился свет, комп погас, после включения системы я сразу попал в initramfs, побилась файловая система ext4

Не пугаемся, пробуем нажать ctrl+d, устройство либо начнет грузиться дальше, либо попросит самостоятельно сделать fsck (утилита для восстановления файловых систем), не заставляем его долго ждать - делаем fsck на предложенный раздел, в моём случае это был fsck /dev/sda4. В процессе восстановления вас попросят несколько раз согласиться, жмите a чтобы соглашаться всегда.
После проверки жмите еще раз ctrl+d, если повезет - вы загрузитесь, если выпала паника ядра - пробуйте грузить другое ядро из grub, в противном случае - переустанавливайте.

Мне повезло, я загрузился, однако, сломались несколько пакетов

# Лечим пакеты

Ставим debsums:
sudo apt install debsums

Ищем битые пакеты:
sudo debsums -c | xargs -rd '\n' -- dpkg -S | cut -d : -f 1 | sort -u
debsums проверяет md5 хеши пакетов, dpkg -S ищет пакет по имени файла

Переустанавливаем битые пакеты:
sudo apt install --reinstall <список пакетов с предыдущей команды>

Если предыдущие команды с установкой и поиском отрабатывают с ошибкой - возможно что-то сломалось из пакета coreutils, а dpkg -S этот пакет по его файлам не видит (не знаю почему), смотрим руками битые файлы:
sudo debsums | grep -v 'OK'

И пробуем обновить coreutils:
sudo apt install --reinstall coreutils

В моём случае сломался touch и mkdir (оба отрабатывали с segmentation violation, 139 ошибка)

P.s.: Вам жутко не повезет, если сломается python, ибо apt без python тоже ломается, чем чинить - не знаю, мне помог fsck, а так смотрите по ошибкам и гуглите

Удачи!
👍16
Кстати, пол года назад начал учиться в Яндекс Практикуме на Python разработчика. Если интересно, могу не на правах рекламы рассказать, что там и как, без маркетингового вороха (мне не платят). Вдруг кто-то собирался идти

Задавайте вопросы в комментарии или в бота @Local_Area_Network_bot
👍17🎉1
Systemd для продолжающих. Part 1 - Запуск юнитов по временным событиям
🗂
Пролог
Часть первая, очевидная. Таймеры.
Событийные таймеры
«Монотонные» таймеры
Прочие параметры
Таймстампы, диапазоны, тестирование, примеры
Список статей серии
Ресурсы
🗂
👍5
Systemd для продолжающих Part 1.html
145.1 KB
📝 Systemd для продолжающих. Part 1 — Запуск юнитов по временным событиям

👥
#Администратору

#️⃣
#Systemd #Linux
#️⃣

🔗 @Local_Area_Network
👍5🔥1
Systemd для продолжающих. Part 2 — Триггеры на различные события
🗂
Systemd.path - триггер на события в файловой системе
Практическое применение systemd.path
Возможные директивы слежения для systemd.path
Дополнительные параметры
Сравнение функционала systemd.path c incron и inotify-tools
Systemd.automount - триггеры автомонтирования ФС
Практика
Список статей серии
Ресурсы
🗂
👍5
Systemd для продолжающих. Part 2.html
117.6 KB
📝 Systemd для продолжающих. Part 2 — Триггеры на различные события

👥
#Администратору

#️⃣
#Systemd #Linux
#️⃣

🔗 @Local_Area_Network
👍5