Как-то мы с тобой познакомились с etckeeper, ну дак вот, есть еще такая штука —
ㅤ
Это херня для управления dotfiles (конфигурационными файлами, которые обычно начинаются с точки, например,
Я сейчас такие файлы просто в гит руками херачу. Из основного у меня это конфиг для вима и zshrc со всякими алиасами и настройками.
На убунту ставится так:
Для других операционок мануальчик здесь.
Ну поставили и чо дальше? А дальше запускаем:
Добавляем например .bashrc
Эта команда скопирует bashrc в
Теперь отредактируй файл:
И посмотрим изменения:
То есть началась вестись история изменений, что довольно удобно. Теперь например ты запортачил свой
Запускаем:
Нажимаешь к пример «o» = overwrite.
Хоба! И bashrc успешно восстанавливается. Прекрасно!
Теперь как с гитом работать:
В принципе стандартная практика, первой командой переходим в каталог
Затем на другой машине делаем:
Конфиги успешно подтягиваются. Если репа приватная, то на офф сайте есть чтиво как это настроить.
Я этим пользоваться не буду, мне привычнее свои поделки запускать. Но ты имей в виду что существует такая пепяка. Возможно где-то прикрутишь и оно тебе облегчит трудовые будни.
Сайт проекта: https://www.chezmoi.io/
На гитхабе: https://github.com/twpayne/chezmoi
tags: #utilites #linux
—
🔔 @bashdays➡️ @gitgate
ChezMoi.ㅤ
Это херня для управления dotfiles (конфигурационными файлами, которые обычно начинаются с точки, например,
.bashrc, .vimrc, .gitconfig) на нескольких устройствах.Я сейчас такие файлы просто в гит руками херачу. Из основного у меня это конфиг для вима и zshrc со всякими алиасами и настройками.
ChezMoi как раз всю эту рутину берет на себя. Из коробки есть синхронизация между устройствами, поддержка git, создание набора конфигураций для разных ОС, шаблоны и куча еще всякого.На убунту ставится так:
snap install chezmoi --classicДля других операционок мануальчик здесь.
Ну поставили и чо дальше? А дальше запускаем:
chezmoi init
Добавляем например .bashrc
chezmoi add ~/.bashrc
Эта команда скопирует bashrc в
~/.local/share/chezmoi/dot_bashrcТеперь отредактируй файл:
chezmoi edit ~/.bashrc
И посмотрим изменения:
chezmoi diff
То есть началась вестись история изменений, что довольно удобно. Теперь например ты запортачил свой
.bashrc в следствии экспериментов, как откатиться?Запускаем:
chezmoi -v apply
Нажимаешь к пример «o» = overwrite.
Хоба! И bashrc успешно восстанавливается. Прекрасно!
Теперь как с гитом работать:
chezmoi cd
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:$GITHUB_USERNAME/dotfiles.git
git branch -M main
git push -u origin main
В принципе стандартная практика, первой командой переходим в каталог
~/.local/share/chezmoi ну а дальше база гита.Затем на другой машине делаем:
chezmoi init https://github.com/$GITHUB_USERNAME/dotfiles.git
Конфиги успешно подтягиваются. Если репа приватная, то на офф сайте есть чтиво как это настроить.
Я этим пользоваться не буду, мне привычнее свои поделки запускать. Но ты имей в виду что существует такая пепяка. Возможно где-то прикрутишь и оно тебе облегчит трудовые будни.
Сайт проекта: https://www.chezmoi.io/
На гитхабе: https://github.com/twpayne/chezmoi
tags: #utilites #linux
—
Please open Telegram to view this post
VIEW IN TELEGRAM
10 28 8
Отлаживал сегодня багу связанную с правами доступа. В суть произошедшего вникать не будем.
Главное, что багу помогла решить утилита —
Из этого нихуя не понятно, давай просмотрим на практике.
ㅤ
У меня php работает под юзером bashdays. Но при открытии админки, нихуя не работает.
Проверяю путь до админки:
Хм… и вижу, что с правами каталога wp-admin что-то совсем не так.
Но почему не использовать
Вот и ответ.
Ключи для namei:
Давай сравним
⚪ namei
- разбирает полный путь на компоненты
- показывает каждый компонент пути и его права
- отображает права доступа на каждый узел пути
- раскрывает симлинки и показывает, куда они ведут
- выводит ошибки если путь где-то прерывается
⚪ ls
- показывает только содержимое текущего каталога
- показывает права только конечного узла
- показывает права доступа в текущем каталоге
- не показывает цепочку ссылок (только сами ссылки)
- меньше подходит для цепочек узлов.
Я
Изучай.
tags: #utilites #linux
—
🔔 @bashdays➡️ @gitgate
Главное, что багу помогла решить утилита —
namei. Устанавливать не нужно, идет в коробке.Утилита namei — разбивает путь до папки/файла на составляющие и выводит права доступа для каждой из них.
Из этого нихуя не понятно, давай просмотрим на практике.
ㅤ
У меня php работает под юзером bashdays. Но при открытии админки, нихуя не работает.
Проверяю путь до админки:
namei -l /var/www/bashdays/htdocs/wp-admin/index.php
f: /var/www/bashdays/htdocs/wp-admin/index.php
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x bashdays bashdays www
drwxr-xr-x bashdays bashdays bashdays
drwx--x--x bashdays bashdays htdocs
drwx------ root root wp-admin
-rw-r--r-- bashdays bashdays index.php
Хм… и вижу, что с правами каталога wp-admin что-то совсем не так.
Но почему не использовать
ls -la?ls -la /var/www/bashdays/htdocs/wp-admin/index.php
-rw-r--r-- bashdays bashdays /var/www/bashdays/htdocs/wp-admin/index.php
Вот и ответ.
Ключи для namei:
l — показывает подробный вывод (long listing) для каждого компонента пути.
m — показывает права доступа (в виде числового значения, как ls -l).
o — показывает владельца и группу каждого компонента.
v — детализирует информацию о путях и ошибках.
x — показывает права доступа в виде rwx (читаемо).
Давай сравним
- разбирает полный путь на компоненты
- показывает каждый компонент пути и его права
- отображает права доступа на каждый узел пути
- раскрывает симлинки и показывает, куда они ведут
- выводит ошибки если путь где-то прерывается
- показывает только содержимое текущего каталога
- показывает права только конечного узла
- показывает права доступа в текущем каталоге
- не показывает цепочку ссылок (только сами ссылки)
- меньше подходит для цепочек узлов.
Я
namei пользуюсь достаточно редко, но метко. В основном руки заточены на ввод именно ls -la. Тут уж как привык. Возможно namei тебе зайдет. Изучай.
tags: #utilites #linux
—
Please open Telegram to view this post
VIEW IN TELEGRAM
31 154
Нашел на просторах пиздатый генератор реверс-шелов, разнообразие способов просто зашкаливает.
ㅤ
Мастхевная штука для пентестеров и тех, кто подобными штуками увлекается. Ну и чисто ради любопытства можно просто позырить.
Забирай, пригодится: https://www.revshells.com/
🎄 Ну и еще раз с Наступающим! Нарезали салатиков?
tags: #utilites #linux #security
—
🔔 @bashdays➡️ @gitgate
ㅤ
Мастхевная штука для пентестеров и тех, кто подобными штуками увлекается. Ну и чисто ради любопытства можно просто позырить.
Забирай, пригодится: https://www.revshells.com/
По реверс-шелам у меня есть отдельный пост с подробным мануалом.
🎄 Ну и еще раз с Наступающим! Нарезали салатиков?
tags: #utilites #linux #security
—
Please open Telegram to view this post
VIEW IN TELEGRAM
11 74
Тут как-то ребята интересовались как написать свою оболочку, что-то вроде своего Баш-беляш. Ну дак вот.
ㅤ
Нашел для тебя минималистичные исходники на «сиськах».
Проект называется «psh» и он сейчас реально пока очень маленький.
А это значит, тебе не составит труда просмотреть 10 сорцов и на их основе создать что-то своё. Ну конечно если ты немного шаришь за «сиськи». Хотя там и так всё на поверхности.
➡️ Исходники тут / Демка тут
ps: А есть еще такой проект: mysh
tags: #utilites
—
🔔 @bashdays➡️ @gitgate
ㅤ
Нашел для тебя минималистичные исходники на «сиськах».
Проект называется «psh» и он сейчас реально пока очень маленький.
А это значит, тебе не составит труда просмотреть 10 сорцов и на их основе создать что-то своё. Ну конечно если ты немного шаришь за «сиськи». Хотя там и так всё на поверхности.
Если ты студент, можешь хорошо выебнуться своей длинной писькой перед преподами. И может тебя по телеку покажут, как когда-то создателя «BolgenOS» или антивируса Бабушкина.
ps: А есть еще такой проект: mysh
tags: #utilites
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Пишу очередной урок для LF и понадобилось мне нагенерить мусорного трафика в прометеус. Чтобы ребятам показать визуально как это будет выглядеть в графане.
Тестировщикам (QA) кстати тоже эта хуйня отлично зайдет, хайлоад там устроить.
ㅤ
Для таких дел я обычно использую 2 утилиты.
Первая (Bombardier) отлично подходит для генерации паразитного http трафика.
Вторая (Stress) можно нагрузить ядра процессора и позырить чо будет. Ну или над жестким диском надругаться или памятью.
Ну а чтобы протестировать no space left on device просто генерим большой файлик удобным тебе способом.
Установка элементарная:
Эти утилиты отлично подходят для тестирования разнообразных алертилок, к примеру alertmanager. Нагнал синтетических данных, получил соплю в графане, алертилка тригернулась и накричала в чатик. Отладил, задеплоил.
Красота и удобно! Для этих дел есть еще всякие
Такие дела, бери на вооружение, мож сгодится в хозяйстве.
tags: #utilites #highload #qa
—
🔔 @bashdays➡️ @gitgate
Тестировщикам (QA) кстати тоже эта хуйня отлично зайдет, хайлоад там устроить.
ㅤ
Для таких дел я обычно использую 2 утилиты.
1. Bombardier
2. Stress
Первая (Bombardier) отлично подходит для генерации паразитного http трафика.
bombardier -c 125 -n 10000000 http://localhost:8080
Вторая (Stress) можно нагрузить ядра процессора и позырить чо будет. Ну или над жестким диском надругаться или памятью.
stress --cpu 4
stress --hdd 100
stress --cpu 4 --vm 2 --io 1 --timeout 20
Ну а чтобы протестировать no space left on device просто генерим большой файлик удобным тебе способом.
Установка элементарная:
apt install bombardier stress
Эти утилиты отлично подходят для тестирования разнообразных алертилок, к примеру alertmanager. Нагнал синтетических данных, получил соплю в графане, алертилка тригернулась и накричала в чатик. Отладил, задеплоил.
Красота и удобно! Для этих дел есть еще всякие
wrk, ab, hey и т.п. но с ними как-то у меня не сложилось.Такие дела, бери на вооружение, мож сгодится в хозяйстве.
tags: #utilites #highload #qa
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Немного съедем с темы и решим задачку с монтированием виндового раздела (BitLocker) в Linux.
Если у тебя есть виндовый диск который запечатан битлокером, оказывается нифига не просто его подключить.
При попытке монтирования получишь ошибку — анкновн файлсистем тайп БитЛохер.
Всё решается с помощью утилиты dislocker.
После установки создаем пару папок:
Смотрим зашифрованные разделы
Расшифровываем раздел, подставляем нужный partition и password. Partition берем тот что нашли через
Монтируем:
Чтобы подключить раздел только для чтения, добавь в обе команды ключ -r. Рекомендую все же подключать с этим ключом.
Если получил ошибку:
То укажи явно тип файловой системы:
Для ntfs:
Для exFat:
Еще момент, вместо пароля можно использовать пароль восстановления, файла BEK или открытого ключа с помощью которого производилось шифрование.
Для пароля восcтановления:
Для открытого ключа:
Для BEK:
Ну вот и всё. Теперь ты умеешь подключить диски с BitLocker.
А что бы такой диск подключался автоматически, камон в fstab:
Подставляем свои значения и радуемся.
➡️ Репа dislocker тут, можешь глянуть что там у нее под капотом.
Кстати диски с битлокером отлично открываются в Fedora Silverblue из коробки (с помощью recovery password). По крайней мере в прошлом году точно открывались. Можешь ее на виртуалку поставить и развлекаться.
tags: #linux #windows #utilites
—
🔔 @bashdays➡️ @gitgate
Если у тебя есть виндовый диск который запечатан битлокером, оказывается нифига не просто его подключить.
При попытке монтирования получишь ошибку — анкновн файлсистем тайп БитЛохер.
Всё решается с помощью утилиты dislocker.
sudo apt install dislocker
После установки создаем пару папок:
sudo mkdir -p /mnt/bitlocker
sudo mkdir -p /mnt/bitlockermount
Смотрим зашифрованные разделы
fdisk -l ну или lsblk. Ну а дальше делаем финт ушами:sudo dislocker <partition> -u<password> -- /mnt/bitlocker
Расшифровываем раздел, подставляем нужный partition и password. Partition берем тот что нашли через
fdisk или lsblk. Что-то типа /dev/sdd1 /dev/sdc1.Монтируем:
sudo mount -o loop /mnt/bitlocker/dislocker-file /mnt/bitlockermount
Чтобы подключить раздел только для чтения, добавь в обе команды ключ -r. Рекомендую все же подключать с этим ключом.
Если получил ошибку:
mount: /mnt/bitlockermount: wrong fs type, bad option, bad superblock on /dev/loop10, missing codepage or helper program, or other error.
То укажи явно тип файловой системы:
Для ntfs:
sudo mount -t ntfs-3g -o loop /mnt/bitlocker/dislocker-file /media/bitlockermount
Для exFat:
sudo mount -t exFAT-fuse -o loop /mnt/bitlocker/dislocker-file /media/bitlockermount
Еще момент, вместо пароля можно использовать пароль восстановления, файла BEK или открытого ключа с помощью которого производилось шифрование.
Для пароля восcтановления:
-p<password>Для открытого ключа:
-cДля BEK:
-f <BEKFILE>Заметь что после ключа -p нет пробела, это важно.
Ну вот и всё. Теперь ты умеешь подключить диски с BitLocker.
А что бы такой диск подключался автоматически, камон в fstab:
<partition> /mnt/bitlocker fuse.dislocker user-password=<password>,nofail 0 0
/mnt/bitlocker/dislocker-file /media/bitlockermount auto nofail 0 0
Подставляем свои значения и радуемся.
Кстати диски с битлокером отлично открываются в Fedora Silverblue из коробки (с помощью recovery password). По крайней мере в прошлом году точно открывались. Можешь ее на виртуалку поставить и развлекаться.
tags: #linux #windows #utilites
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Приветcвую вас, комрады!
🔤 🔤 🔥 🔤 🔤 🔤 🔤 🔤 🔤 🔤
Есть довольно редкоземельная но полезная утилитка, обзывается она - Crane
ㅤ
Примеры использования:
Копирование образа между реестрами (без необходимости их пулить себе).
Бывало у вас такое, что нужно перенести образ из одного реестра в другой?
С crane это делается на раз-два:
Эта команда скопирует образ
Просмотр содержимого образа:
Иногда хочется заглянуть внутрь образа и посмотреть, что там внутри.
С crane это проще простого:
Здесь мы экспортируем файловую систему образа executor и просматриваем список файлов с помощью команды tar.
Извлечение конкретного файла из образа:
Нужно достать нужный файл из образа? Легко!
Эта команда извлечет файл passwd из директории etc образа executor и выведет его содержимое.
Сравнение конфигураций двух версий образа:
Хотите узнать, чем отличаются конфигурации двух версий одного образа? Пожалуйста:
Здесь мы сравниваем конфигурации версий
Получение размера образа:
Интересно, сколько весит ваш образ? Вот как это узнать:
Эта команда выводит суммарный размер конфигурации и всех слоев образа.
Изменение меток и аннотаций образа:
Вы можете добавлять или изменять метки и аннотации в существующем образе без необходимости его повторной сборки:
Эта команда добавит или обновит аннотацию и метку в указанном образе.
Также можно доложить tarbar (архивы .tar .tar.gz .tgz), добавить тэг (удобнее чем в дефолтном докер клиенте), задать другой entrypoint и т.д.
И это ещё не всё)
Но это чем я пользую практически регулярно. + это 1 бинарь (на любимой многими GOшечке) что позволяет спокойно его использовать и в системах автосборки и упростить взаимодействие с контейнерам.
tags: #utilites #devops
—
🔔 @bashdays➡️ @gitgate
Есть довольно редкоземельная но полезная утилитка, обзывается она - Crane
ㅤ
Примеры использования:
Копирование образа между реестрами (без необходимости их пулить себе).
Бывало у вас такое, что нужно перенести образ из одного реестра в другой?
С crane это делается на раз-два:
crane cp gcr.io/shlyapa-project/executor:v1.7.0-debug myharbor.ru/shlyapa-executor:v1.7.0-debug
Эта команда скопирует образ
executor:v1.7.0-debug из реестра gcr.io в ваш собственный реджистри myharbor.ru.Просмотр содержимого образа:
Иногда хочется заглянуть внутрь образа и посмотреть, что там внутри.
С crane это проще простого:
crane export executor - | tar -tvf - | less
Здесь мы экспортируем файловую систему образа executor и просматриваем список файлов с помощью команды tar.
Извлечение конкретного файла из образа:
Нужно достать нужный файл из образа? Легко!
crane export executor - | tar -Oxf - etc/passwd
Эта команда извлечет файл passwd из директории etc образа executor и выведет его содержимое.
Сравнение конфигураций двух версий образа:
Хотите узнать, чем отличаются конфигурации двух версий одного образа? Пожалуйста:
diff <(crane config front:1.32 | jq) <(crane config front:1.33 | jq)
Здесь мы сравниваем конфигурации версий
1.32 и 1.33 образа front с помощью утилиты diff.Получение размера образа:
Интересно, сколько весит ваш образ? Вот как это узнать:
crane manifest gcr.io/buildpacks/builder:v1 | jq '.config.size + ([.layers[].size] | add)'
Эта команда выводит суммарный размер конфигурации и всех слоев образа.
Изменение меток и аннотаций образа:
Вы можете добавлять или изменять метки и аннотации в существующем образе без необходимости его повторной сборки:
crane mutate myharbor.ru/shlyapa-project/bear_ass_image:tag --annotation "org.opencontainers.image.description=New description" --label "version=2.0"
Эта команда добавит или обновит аннотацию и метку в указанном образе.
Также можно доложить tarbar (архивы .tar .tar.gz .tgz), добавить тэг (удобнее чем в дефолтном докер клиенте), задать другой entrypoint и т.д.
И это ещё не всё)
Но это чем я пользую практически регулярно. + это 1 бинарь (на любимой многими GOшечке) что позволяет спокойно его использовать и в системах автосборки и упростить взаимодействие с контейнерам.
tags: #utilites #devops
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 45
Как обычно люди используют screen:
И потом закрывают терминал, а скрипт
ㅤ
Потом возвращаются спустя время и делают:
Убеждаются что скрипт завершил свою работу, ну и выходят, порой даже не закрывая screen сессию
Чем отличается -r и -x
Подход нормальный, никаких тебе ключей запоминать не нужно и т.п.
Но есть такой вариант:
Команда выше создаст сессию screen и запустить скрипт в фоновом режиме. А самое главное отпустит терминал и ты сможешь дальше в нём работать.
И самая киллер-фича — после отработки скрипта, screen сессия автоматически закроется и после выполнения команды:
Еще можно так:
На закуску.
Когда ты подключился к сессии и у тебя там еще работает скрипт, как не закрывая терминал вернуться в интерактивный режим?
Я раньше просто закрывал окно с терминалом и сейчас вижу что много кто так делает.
Все просто, прожимаем
А как посмотреть выхлоп скрипта если сессия закрыта?
Добавь в свой скрипт логирование и обработку экспешенов, пусть оно в файлик пишет результаты своей работы. Нахуй тебе через screen потом ебаться все это просматривать.
Буквально вчера увидел как инженер с утра запустил распаковку базы на сервере, через пару часов у него мигнул интернет, ssh сессия с сервером превратилась в тыкву! Начинайте сначала!
Если запускаешь на сервере что-то очень долгое и не хочешь быть к этому привязан, используй screen! Это мастхев для подобных процедур. По крайней мере сохранишь время и нервы.
Вот и вся наука. Изучай!
tags: #linux #utilites #bash
—
🔔 @bashdays➡️ @gitgate
screen
cd /usr/local/sbin
./db_import.sh
И потом закрывают терминал, а скрипт
db_import.sh продолжает где-то там шуршать и делать свои делишки.ㅤ
Потом возвращаются спустя время и делают:
screen -list
3393.pts-3.dev (Attached)
screen -x 3393.pts-3.dev
или
screen -r 3393.pts-3.dev
Убеждаются что скрипт завершил свою работу, ну и выходят, порой даже не закрывая screen сессию
(3393.pts-3.dev).Чем отличается -r и -x
-r (resume) = подключаемся к сессии которая в данный момент отсоединена, то есть к ней не подключены другие юзеры.
-x (multi-user mode) = подключаемся к сессии к которой уже кто-то подключен, то есть несколько пользователей могут мешать друг другу в рамках одной сессии.
Подход нормальный, никаких тебе ключей запоминать не нужно и т.п.
Но есть такой вариант:
screen -dmS имя_сессии bash /путь/к/скрипту.sh
dmS это параметры для запуска screen в фоновом режиме (detached mode) с именем сессии.
d = запускает сессию в отключенном (detached) режиме.
m = создаёт новую сессию, даже если она существует.
S = имя сессии
Команда выше создаст сессию screen и запустить скрипт в фоновом режиме. А самое главное отпустит терминал и ты сможешь дальше в нём работать.
И самая киллер-фича — после отработки скрипта, screen сессия автоматически закроется и после выполнения команды:
screen -list список будет пуст.Еще можно так:
screen -X -S "script0$scriptID" stuff "^C"
script0$scriptID = указывает на сессию с именем, здесь $scriptID это переменная, содержащая идентификатор или значение, которое будет подставлено в команду.
stuff = передаёт текст или последовательность символов в сессию screen, как если бы их ввел пользователь.
На закуску.
Когда ты подключился к сессии и у тебя там еще работает скрипт, как не закрывая терминал вернуться в интерактивный режим?
Я раньше просто закрывал окно с терминалом и сейчас вижу что много кто так делает.
Все просто, прожимаем
CTRL+A и затем «d». Ты отключаешься от сессии, переходишь в интерактивный режим с терминалом, а скрипт продолжает шуршать в фоне.А как посмотреть выхлоп скрипта если сессия закрыта?
Добавь в свой скрипт логирование и обработку экспешенов, пусть оно в файлик пишет результаты своей работы. Нахуй тебе через screen потом ебаться все это просматривать.
Буквально вчера увидел как инженер с утра запустил распаковку базы на сервере, через пару часов у него мигнул интернет, ssh сессия с сервером превратилась в тыкву! Начинайте сначала!
Если запускаешь на сервере что-то очень долгое и не хочешь быть к этому привязан, используй screen! Это мастхев для подобных процедур. По крайней мере сохранишь время и нервы.
Вот и вся наука. Изучай!
tags: #linux #utilites #bash
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот те очередная пепяка, которую я обнаружил в bash скрипте у коллеги. Сначала не понял, а потом как понял.
Называется —
ㅤ
Короче это консольная мильти-кончалка, поддерживает протоколы HTTP(S), FTP, SFTP, BitTorrent и Metalink. Реализована многопоточность и работает с чанками.
Видал да!
Авторы софтины обещают x10 к скорости скачивания даже если у тебя интернет работает как гавно и теряются пакеты.
Можно алиас сделать типа:
И заменить вегетину на эту вертихвостку c 10тью потоками.
Помимо скачивания, с помощью ключей можно чёрта накрутить, всякое сжатие, проксирование и т.п.
Больше инфы тут:
➡️ Официальный сайт
➡️ Репка на гитхабе
Потыкай, с виду штука годная, почти 40к звезд на гитхабе.
tags: #utilites #linux
—
🔔 @bashdays➡️ @gitgate
Называется —
aria2.ㅤ
Короче это консольная мильти-кончалка, поддерживает протоколы HTTP(S), FTP, SFTP, BitTorrent и Metalink. Реализована многопоточность и работает с чанками.
Видал да!
Авторы софтины обещают x10 к скорости скачивания даже если у тебя интернет работает как гавно и теряются пакеты.
Ну хуй знает, у меня и так интернет быстрый, попробую потом на 3g потестить.
Можно алиас сделать типа:
alias wget="aria2 -x 10 $1"
И заменить вегетину на эту вертихвостку c 10тью потоками.
Помимо скачивания, с помощью ключей можно чёрта накрутить, всякое сжатие, проксирование и т.п.
Больше инфы тут:
Потыкай, с виду штука годная, почти 40к звезд на гитхабе.
tags: #utilites #linux
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, один из наших подписчиков попросил анонсировать его пепяку. Она уже пролетала в gitgate, но ничего страшного, пусть и тут полежит. Тем более штука маст-хэвная.
Если кратко,
ㅤ
Ты скажешь — блядь, да есть же например tfenv и asdf, зачем очередной велосипед?
Во-первых, автора
Ну и, во-вторых, все эти утилиты не поддерживают OpenTofu, Terragrunt и т.п. К тому же, требуют много консольных костылей/зависимостей и хуёва работают НЕ на Linux.
Установка:
Сейчас лично потыкал, всё работает как часики. После установки запускаем
НО, так как хашикорпы — письки (
В общем рекомендую потыкать и поддержать проект звездами. Годнота!
➡️ Страница проекта и документация
tags: #utilites #devops
—
🔔 @bashdays➡️ @gitgate
TENV Ёпта!Если кратко,
TENV это консольный менеджер для управления версиями Terraform, Terragrunt, OpenTofu, Atmos.ㅤ
TENV написан на гошке, не требует дополнительных зависимостей и может быть запущен под любой операционкой. Удобно чё.Ты скажешь — блядь, да есть же например tfenv и asdf, зачем очередной велосипед?
Во-первых, автора
TENV зовут Александр, а не «Аннадурай Сатьямурти Чидамбарампиллаи». А это уже о чем-то говорит!Ну и, во-вторых, все эти утилиты не поддерживают OpenTofu, Terragrunt и т.п. К тому же, требуют много консольных костылей/зависимостей и хуёва работают НЕ на Linux.
asdf не поддерживает автоматическое переключение версий на базе спецификации версии Terraform / OpenTofu внутри проекта с помощью HCL файлов. В целом, asdf скорее переключалка по запросу, а tenv более заточен под OpenTofu/Terraform проекты.
Установка:
LATEST_VERSION=$(curl --silent https://api.github.com/repos/tofuutils/tenv/releases/latest | jq -r .tag_name)
curl -O -L "https://github.com/tofuutils/tenv/releases/latest/download/tenv_${LATEST_VERSION}_amd64.deb"
sudo dpkg -i "tenv_${LATEST_VERSION}_amd64.deb"
Сейчас лично потыкал, всё работает как часики. После установки запускаем
tenv, выбираем из списка (стрелочками и на пробел) что установить и жмем ENTER.НО, так как хашикорпы — письки (
This content is not currently available in your region), в РФ надо трафик прогнать через одно место, чтобы вытащить бинари терраформа.Вот тут я бы пожелал автору добавить киллер-фичу, сделать чтобы tenv обращался к таким заблокированным серверам не самостоятельно, а например через какую-то прокладку. Тогда сука цены бы не было!
Александр, добавь для нас такую возможность, буду прям лично твоей штукой пользоваться, достаточно удобно!
В общем рекомендую потыкать и поддержать проект звездами. Годнота!
tags: #utilites #devops
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Давно хотел попробовать эту штуку и попробовал. Штука называется
ㅤ
Чтобы установить операционку тебе не нужна никакая флешка и т.п.
Выставляешь в биосе сетевую загрузку и устанавливаешь на выбор любой дистрибутив.
Тыкаем палкой:
Теперь закидываем любые iso образы в папку
Я закинул ubuntu server и selectos для теста.
Запускаем:
После этого можно зайти на морду и посмотреть более детально, крутится эта штука на
Внутри можно поднастроить TFTP сервер, увидеть исошники, поменять разрешения экранов и менюшек, прописать белые списки мак адресов ну и т.п. Сам потыкаешь, всё интуитивно понятно.
Проверяем.
Поднимаю новую машину в виртулбоксе c EFI, выставляю загрузку по сети и вижу ожидаемый результат. У меня доступно два дистрибутива ubuntu и selectos. Отлично!
Выбираем нужный дистрибутив и запускаем установку по сети.
Что понравилось —
Да, чтобы оно автоматом стартавало, можно закинуть какой-нибудь такой юнит.
Надо будет попробовать исошники с виндой подкинуть. А то порой приносят мне по старой памяти ноуты на переустановку винды, хуй откажешься, я же блядь программист.
Ладно, бери на вооружение, глядишь пригодится.
🛠 #linux #pxe #utilites
—
✅ @bashdays / @linuxfactory / @blog
iVentoy.ㅤ
iVentoy это PXE сервер. Если уж совсем простым языком, то это сервер который раздаёт исошники. Чтобы установить операционку тебе не нужна никакая флешка и т.п.
Выставляешь в биосе сетевую загрузку и устанавливаешь на выбор любой дистрибутив.
iVentoy из коробки дружит и с легаси биосом и с efi, так что хуёвина универсальная. Можно поднимать сервер и по Linux и под Windows.iVentoy is an enhanced version of the PXE server. With iVentoy you can boot and install OS on multiple machines at the same time through the network.
iVentoy is extremely easy to use, without complicated configuration, just put the ISO file in the specified location and select PXE boot in the client machine.
iVentoy supports x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI and ARM64 UEFI mode at the same time.
iVentoy support 110+ common types of OS (Windows/WinPE/Linux/VMware)
Тыкаем палкой:
wget https://github.com/ventoy/PXE/releases/download/v1.0.20/iventoy-1.0.20-linux-free.tar.gz
tar -xzf iventoy-1.0.20-linux-free.tar.gz
mv iventoy-1.0.20 /opt/iventoy
cd /opt/iventoy
Теперь закидываем любые iso образы в папку
/opt/iventoy/iso.Я закинул ubuntu server и selectos для теста.
Запускаем:
./iventoy.sh start
После этого можно зайти на морду и посмотреть более детально, крутится эта штука на
26000 порту. Меня пустило так:http://192.168.10.32:26000
Внутри можно поднастроить TFTP сервер, увидеть исошники, поменять разрешения экранов и менюшек, прописать белые списки мак адресов ну и т.п. Сам потыкаешь, всё интуитивно понятно.
Да, важно не забыть в вебморде справа нажать зеленую стрелку, это запустит PXE сервер.
Проверяем.
Поднимаю новую машину в виртулбоксе c EFI, выставляю загрузку по сети и вижу ожидаемый результат. У меня доступно два дистрибутива ubuntu и selectos. Отлично!
Выбираем нужный дистрибутив и запускаем установку по сети.
Что понравилось —
iVentoy ставится элементарно, без хуйни и заморочек. Буквально пару минут и у тебя готовый PXE, запускай и накатывай операционки без флешек и внешних винтов.Да, чтобы оно автоматом стартавало, можно закинуть какой-нибудь такой юнит.
[Unit]
Description=iVentoy PXE Server
After=network.target
[Service]
Type=forking
ExecStart=/opt/iventoy/iventoy.sh start
ExecStop=/opt/iventoy/iventoy.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
Надо будет попробовать исошники с виндой подкинуть. А то порой приносят мне по старой памяти ноуты на переустановку винды, хуй откажешься, я же блядь программист.
Ладно, бери на вооружение, глядишь пригодится.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4 110
Отдыхаешь? А как тебе такое? Если пропиздоглазил, то смотри на зеленый замочек и домен.
ㅤ
Короче — я сгенерил валидный SSL сертификат для домена localhost.
Аналогично можно бесконечно генерить такие сертификаты для любых своих локальных доменов. Ну и затем подключать их во всякие nginx, mysql джанги-хуянги и т.п.
Называется
Чтобы установить
И заинсталлить
Получаем такое:
Всё! Теперь у нас есть свой доверенный центр сертификации.
Выпускаем первый SSL сертификат.
Ебли с этим никакой нет, запускаем:
То есть просто перечисляем список доменов.
В ответ получаем:
В результате получаем
Ну а дальше пихаем ихв жопы в нужное место и наслаждаемся зеленым замочком.
Если серты и ключи тебе нужно генерить в определенном месте, можешь это указать так:
Это полезно если у тебя какая-то автоматизация или баш скрипт, который автоматом будет это всё генерить, а nginx или angie это подхавывать.
Чтобы этой хуйнёй воспользоваться на WSL, делаем так:
Здесь мы не выполняем инициализацию
Для того чтобы эти сертификаты были доверенными в винде, нужно указать путь к корневому сертификату, который мы с тобой зашили в винду.
Идем на виндовую машину и выполняем:
В ответ получаем путь до корневого сертификата, у меня такой:
Возвращаем в WSL и выполняем:
Если у тебя
Теперь можно выпускать SSL сертификаты в WSL и в винде они будут считаться доверенными.
Если у тебя не винда, а мак или линукс, похуй, все делается аналогично, в официальной документации эти кейсы все подробно расписаны.
Что прикольно, такие серты живут по два года. При желании их можно прикрутить к своему локальному proxmox или еще куданить. Тут уже сам разберешься.
Для локальных целей прям маст-хев! Забирай на вооружение.
🛠 #ssl #utilites
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Короче — я сгенерил валидный SSL сертификат для домена localhost.
Аналогично можно бесконечно генерить такие сертификаты для любых своих локальных доменов. Ну и затем подключать их во всякие nginx, mysql джанги-хуянги и т.п.
Называется
mkcert. Работает на всём, Винда, Линукс и Мак. В случае с виндой установка осуществляется через менеджеры пакетов scoop или chocolatey.Чтобы установить
scoop в powershell нужно забить:Set-ExecutionPolicy RemoteSigned -scope CurrentUser
irm get.scoop.sh | iex
И заинсталлить
mkcertscoop bucket add extras
scoop install mkcert
mkcert -install
Получаем такое:
Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
Note: Firefox support is not available on your platform. ℹ️
Всё! Теперь у нас есть свой доверенный центр сертификации.
Выпускаем первый SSL сертификат.
Ебли с этим никакой нет, запускаем:
mkcert bashdays.kek "*.bashdays.kek"
То есть просто перечисляем список доменов.
В ответ получаем:
Created a new certificate valid for the following names 📜
- "bashdays.kek"
- "*.bashdays.kek"
Reminder: X.509 wildcards only go one level deep, so this won't match a.b.bashdays.kek ℹ️
The certificate is at "./bashdays.kek+1.pem" and the key at "./bashdays.kek+1-key.pem" ✅
It will expire on 2 August 2027 🗓
В результате получаем
bashdays.kek+1.pem — сертификат и bashdays.kek+1-key.pem - приватный ключ.Ну а дальше пихаем их
Если серты и ключи тебе нужно генерить в определенном месте, можешь это указать так:
mkcert -cert-file=/ssl/fullchain.crt -key-file=/ssl/private.key bashdays.kek
Это полезно если у тебя какая-то автоматизация или баш скрипт, который автоматом будет это всё генерить, а nginx или angie это подхавывать.
Чтобы этой хуйнёй воспользоваться на WSL, делаем так:
sudo apt install libnss3-tools
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
Здесь мы не выполняем инициализацию
mkcert -install, на WSL мы только генерим SSL сертификаты.Для того чтобы эти сертификаты были доверенными в винде, нужно указать путь к корневому сертификату, который мы с тобой зашили в винду.
Идем на виндовую машину и выполняем:
mkcert -CAROOT
В ответ получаем путь до корневого сертификата, у меня такой:
C:\Users\user\AppData\Local\mkcertВозвращаем в WSL и выполняем:
echo "export CAROOT=/mnt/c/Users/user/AppData/Local/mkcert" >> ~/.bashrc
Если у тебя
zsh, сам разберешься.Теперь можно выпускать SSL сертификаты в WSL и в винде они будут считаться доверенными.
Если у тебя не винда, а мак или линукс, похуй, все делается аналогично, в официальной документации эти кейсы все подробно расписаны.
Что прикольно, такие серты живут по два года. При желании их можно прикрутить к своему локальному proxmox или еще куданить. Тут уже сам разберешься.
mkcert давнишняя штука, но как оказалось про неё мало кто знает, я про нее слышал года 4 назад, но успешно забыл. И вот только сегодня нашел в своих bash скриптах интеграцию с ней.
Для локальных целей прям маст-хев! Забирай на вооружение.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 106
С праздником друзья!
ㅤ
Сегодня будем превращать обычную клавиатуру в механическую. Ну как превращать, заведем звуки популярных кейкапов через динамики.
И поможет нам в этом
Установка
Тут всё просто, идем сюда и устанавливаем бинарник под свою операционку.
Собственно на этом всё, оно сразу начинает работать. В настройках можешь выбрать готовые паки под разные модели механик.
Что прикольно, можно загружать свои звуки и завязывать их на любые кнопки. Можно регулировать громкость и сворачивать в трей.
Я себе котиков навтыкал, пишу этот пост и у меня всё мяукает и тыгыдыкает.
Ну а кто-то томные стоны аниме-девочек (Ahegao) прогружает, чисто поугарать.
Отдельные паки можно затестить прям на сайте и качнуть тут.
Мож кому зайдет, забирай в копилку.
🛠 #hardware #utilites
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Сегодня будем превращать обычную клавиатуру в механическую. Ну как превращать, заведем звуки популярных кейкапов через динамики.
И поможет нам в этом
Mechvibes.Mechvibes: забавный и практичный способ воспроизводить любимые звуки клавиатуры где угодно.
Установка
Тут всё просто, идем сюда и устанавливаем бинарник под свою операционку.
Поддерживается Linux, Windows, Mac.
Собственно на этом всё, оно сразу начинает работать. В настройках можешь выбрать готовые паки под разные модели механик.
Что прикольно, можно загружать свои звуки и завязывать их на любые кнопки. Можно регулировать громкость и сворачивать в трей.
Я себе котиков навтыкал, пишу этот пост и у меня всё мяукает и тыгыдыкает.
Ну а кто-то томные стоны аниме-девочек (Ahegao) прогружает, чисто поугарать.
Отдельные паки можно затестить прям на сайте и качнуть тут.
Мож кому зайдет, забирай в копилку.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
На каждую жопу с резьбой, найдется хуй с винтом!
ㅤ
Очередной вопрос — не хочу графану, не хочу всю эту ебаторию, а как мониторить то сайтик?
Да блядь всё просто — Uptime Kuma!
У самого стоит как с похмелья, да и у клиентов тоже нефритовый стояк.
Идеальное решение как самостоятельное, так и дополнительная приблуда к основному мониторингу.
Там есть практически всё, чтобы понимать что тебе песда!
У меня в основном триггеры на статусы стоят, поиск слов, ответы апихи.
Аааа.. еще и срок жизни ssl сертов отслеживает, тут прям заебись.
Короче настоятельно рекомендую эту штуку у себя развернуть, даже как доп к основному мониторингу. Порой оно кричит раньше чем всё сломалось.
Вот те докерфайл
Ну и ссылка на гитхаб
А у меня сегодня пятница, дети закончили очередной учебный год, слава яйцам, три месяца не надо вставать в ёбаных 6 утра.
Краба тебе, завтра еще увидимся!
🛠 #utilites
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Очередной вопрос — не хочу графану, не хочу всю эту ебаторию, а как мониторить то сайтик?
Да блядь всё просто — Uptime Kuma!
У самого стоит как с похмелья, да и у клиентов тоже нефритовый стояк.
Идеальное решение как самостоятельное, так и дополнительная приблуда к основному мониторингу.
Там есть практически всё, чтобы понимать что тебе песда!
У меня в основном триггеры на статусы стоят, поиск слов, ответы апихи.
Аааа.. еще и срок жизни ssl сертов отслеживает, тут прям заебись.
Ну и из приятного — пингует тебя в телегу, не заябывает, а по делу!
Короче настоятельно рекомендую эту штуку у себя развернуть, даже как доп к основному мониторингу. Порой оно кричит раньше чем всё сломалось.
Вот те докерфайл
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- 3001:3001
volumes:
- uptime-kuma:/app/data
volumes:
uptime-kuma: null
Ну и ссылка на гитхаб
А у меня сегодня пятница, дети закончили очередной учебный год, слава яйцам, три месяца не надо вставать в ёбаных 6 утра.
Краба тебе, завтра еще увидимся!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
14 133
Тошнит от избыточности Portainer?
Ну дак вот, есть пиздатая легковесная альтернатива под названием dockge.
Визуально она очень похожа на Uptime Kuma, без хуйни и перегруженных интерфейсов.
Суть простая: скармливаешь туда свой docker-compose, нажимаешь — запустить, а дальше оно само всё сделает.
В общем всё что нужно для быстрого развертывания.
Сам лично переехал на эту штуку в домашней лаборатории. И пока доволен. Вот те готовый ямлик для запуска dockge.
➡️ Репка на гитхабе
➡️ Посмотреть видео работы
Забирай в копилку! Ну и с пятницей!
🛠 #utilites #docker
—
✅ @bashdays / @linuxfactory / @blog
Ну дак вот, есть пиздатая легковесная альтернатива под названием dockge.
Визуально она очень похожа на Uptime Kuma, без хуйни и перегруженных интерфейсов.
Суть простая: скармливаешь туда свой docker-compose, нажимаешь — запустить, а дальше оно само всё сделает.
Удобное редактирование, обновление, поддержка .env, визуализация логов, подключение через shell к контейнерам и т.п.
В общем всё что нужно для быстрого развертывания.
Сам лично переехал на эту штуку в домашней лаборатории. И пока доволен. Вот те готовый ямлик для запуска dockge.
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
ports:
- 5001:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
- /opt/stacks:/opt/stacks
environment:
- DOCKGE_STACKS_DIR=/opt/stacks
- DOCKGE_ENABLE_CONSOLE=true
Забирай в копилку! Ну и с пятницей!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6 82
Всем UpSnap!
Короче очередная пиздатая утилита с мордой, которая позволяет управлять твоим зоопарком в рамках Wake on Lan.
ㅤ
К примеру у меня дома серваки под лабы и т.п. Круглосуточно я их не гоняю, включая по необходимости. Но каждый раз что-бы их включить мне приходится поднимать и тащить свою жопу в кладовку и нажимать кнопку.
Ну такое себе. Поэтому на этих серваках я включил Wake on Lan и через UpSnap управляю их включением. А самое главное — теперь не поднимаю жопу.
Что нам предлагают?
Да собственно ничего лишнего, морда, мышка, клик и всё включено.
Можно конечно через консольку всё это дело админить, но через морду как-то интереснее что-ли, эстетичнее, да и нагляднее. Не тупо мак адрес лицезришь, а видно что-где-когда.
Минимальный композ для запуска, порт
Позырь, глядишь сгодится в хозяйстве. Репка на гитхабе тут.
🛠 #utilites #networks
—
✅ @bashdays / @linuxfactory / @blog
Короче очередная пиздатая утилита с мордой, которая позволяет управлять твоим зоопарком в рамках Wake on Lan.
ㅤ
К примеру у меня дома серваки под лабы и т.п. Круглосуточно я их не гоняю, включая по необходимости. Но каждый раз что-бы их включить мне приходится поднимать и тащить свою жопу в кладовку и нажимать кнопку.
Ну такое себе. Поэтому на этих серваках я включил Wake on Lan и через UpSnap управляю их включением. А самое главное — теперь не поднимаю жопу.
Что нам предлагают?
Да собственно ничего лишнего, морда, мышка, клик и всё включено.
Можно конечно через консольку всё это дело админить, но через морду как-то интереснее что-ли, эстетичнее, да и нагляднее. Не тупо мак адрес лицезришь, а видно что-где-когда.
Минимальный композ для запуска, порт
8090 (не указан, так как конейнер работает в режиме: host)services:
upsnap:
container_name: upsnap
image: ghcr.io/seriousm4x/upsnap:latest
restart: unless-stopped
network_mode: host
volumes:
- ./data:/app/pb_data
environment:
- TZ=Europe/Vienna
Позырь, глядишь сгодится в хозяйстве. Репка на гитхабе тут.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет. Опять решил поделиться опытом своих провалов.
🔤 🔤 🔥 🔤 🔤 🔤 🔤
Вобщем, как-то раз я решил написать самоучитель по bash.
По традиции все учебники либо в html, либо в pdf. Я решил остановиться на pdf. Я начал писать в libreoffice, там есть экспорт в pdf. Пока писал - познакомился с markdown. И вдруг подумалось, markdown - такой классный, напрямик можно в гитхаб запихнуть. И в pdf конвертнуть с помощью pandoc можно. Вобщем, решил верстать в markdown.
ㅤ
Для начала познакомился с редакторами, которые умеют подсвечивать markdown (pluma, mousepad, geany) Вобщем, жить можно, но подсвечивается не всё.
После этого попробовал Apostrophe. Он уже умеет дополнительно показывать результат. Но работает медленно. Особенно на больших документах.
В общем - перепопробовал, - не нравится. Решил писать в mousepad, а потом конвертить с помощью pandoc.
Написал скрипт для удобства пользования - меняется дата файла - автоматом резервная копия версии и конвертация в фоне.
Начал работать и тут вскрылась куча недостатков markdown;
1. Нет нормального форматирования (заголовок нельзя центрировать)
2. Нет нормальных таблиц, один ущерб какой-то.
3. Проблема с кирилицей (решаемая), но с помощью дополнительного tex-файла настроек.
4. Нет возможности печатать некоторые символы UTF.
5. некоторые символы приходится маскировать, чтобы они не понимались, как управляющие.
Единственный плюс - подсветка синтаксиса bash.
В общем, после 19 главы я понял, что моего терпения не хватит закончить работу. Вернулся к libreoffice. За два дня освоил работу со стилями, и все пошло как по маслу. Кстати, экспорт в pdf тоже быстрее, на мой взгляд.
Может и не все получилось, сами знаете - первый блин комом.
Замечания и комментарии приветствуются.
С результатом можно ознакомиться здесь 👇
🅰️ 🅰️
➡️ https://github.com/tagd-tagd/self-instruction
🅰️ 🅰️
🛠 #bash #linux #utilites #markdown
—
✅ @bashdays / @linuxfactory / @blog
Вобщем, как-то раз я решил написать самоучитель по bash.
По традиции все учебники либо в html, либо в pdf. Я решил остановиться на pdf. Я начал писать в libreoffice, там есть экспорт в pdf. Пока писал - познакомился с markdown. И вдруг подумалось, markdown - такой классный, напрямик можно в гитхаб запихнуть. И в pdf конвертнуть с помощью pandoc можно. Вобщем, решил верстать в markdown.
ㅤ
Для начала познакомился с редакторами, которые умеют подсвечивать markdown (pluma, mousepad, geany) Вобщем, жить можно, но подсвечивается не всё.
После этого попробовал Apostrophe. Он уже умеет дополнительно показывать результат. Но работает медленно. Особенно на больших документах.
В общем - перепопробовал, - не нравится. Решил писать в mousepad, а потом конвертить с помощью pandoc.
Написал скрипт для удобства пользования - меняется дата файла - автоматом резервная копия версии и конвертация в фоне.
Начал работать и тут вскрылась куча недостатков markdown;
1. Нет нормального форматирования (заголовок нельзя центрировать)
2. Нет нормальных таблиц, один ущерб какой-то.
3. Проблема с кирилицей (решаемая), но с помощью дополнительного tex-файла настроек.
\usepackage{longtable}\setlength{\LTleft}{2em}
\setmainfont{Liberation Serif}
\setsansfont{Liberation Sans}
\setmonofont{Liberation Mono}
\newfontfamily\cyrillicfont{Liberation Sans}
\defaultfontfeatures{Scale=MatchLowercase, Mapping=tex-text}
\usepackage{polyglossia}
\setmainlanguage{russian}
\setotherlanguage{english}4. Нет возможности печатать некоторые символы UTF.
5. некоторые символы приходится маскировать, чтобы они не понимались, как управляющие.
Единственный плюс - подсветка синтаксиса bash.
В общем, после 19 главы я понял, что моего терпения не хватит закончить работу. Вернулся к libreoffice. За два дня освоил работу со стилями, и все пошло как по маслу. Кстати, экспорт в pdf тоже быстрее, на мой взгляд.
Может и не все получилось, сами знаете - первый блин комом.
Замечания и комментарии приветствуются.
С результатом можно ознакомиться здесь 👇
—
Please open Telegram to view this post
VIEW IN TELEGRAM
3 95
This media is not supported in your browser
VIEW IN TELEGRAM
Порой заёбываешь подбирать свободный домен для собственных нужд, но на любую хотелку уже есть утилита.
ㅤ
Сегодня тыкаем
Установка простая:
Либо качаем отсюда бинарник под свою ОС.
Запускаем проверку доменов:
Опа, опа, нихуя се!
Выбираем свободный и по желанию регаем. У
Киллер фича — можно создать статичный конфиг и использовать его, без хуйни и ключей. Там блядь не просто утилита, а целый комбайн.
Расписывать не буду, если интересно можешь сам сюда зайти и повтыкать.
🛠 #utilites
—
✅ @bashdays ✅ @linuxfactory ✅ @blog
ㅤ
Сегодня тыкаем
domain-check. Как раз вышла новая версия v0.6.0. Проект молодой, но достаточно перспективный, а самое главное с отрытым исходным кодом.Установка простая:
curl https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
cargo install domain-check
Либо качаем отсюда бинарник под свою ОС.
Запускаем проверку доменов:
domain-check linuxfactory -t ru,com,io,dev
Опа, опа, нихуя се!
linuxfactory.dev AVAILABLE
linuxfactory.ru TAKEN
linuxfactory.com TAKEN
linuxfactory.io AVAILABLE
Summary: 2 available, 2 taken, 0 unknown (processed in 0.9s)
Выбираем свободный и по желанию регаем. У
domain-check дохера ключей и методов подбора/проверки.Киллер фича — можно создать статичный конфиг и использовать его, без хуйни и ключей. Там блядь не просто утилита, а целый комбайн.
Расписывать не буду, если интересно можешь сам сюда зайти и повтыкать.
—
Please open Telegram to view this post
VIEW IN TELEGRAM