Авторский канал от действующего девопса Самобытно про разработку, devops, linux, скрипты, тестирование, сисадминство, техдирство, пиэмство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue Курс: @tormozilla_bot РКН: https://bit.ly/knd2gov
Мечтаете в будущем работать в IT и стать экспертом по веб-разработке? Если вам от 13 до 20 лет, вы уже знакомы с Go и уверенно работаете с Git — самое время подняться на новый уровень! 🚀
До 29 января вы можете присоединиться к бесплатной онлайн-программе по веб-разработке на Go. Занятия ведут эксперты Яндекс Лицея, которые каждый день разрабатывают сложные IT-решения. Они научат вас:
🔹 создавать микросервисы,
🔹 настраивать CI/CD,
🔹 разрабатывать и развертывать инфраструктуру.
Специализация по Go длится всего 3 месяца, проходит онлайн и помогает освоить ключевые навыки разработки на практике.
Набор открыт также на онлайн-программы по веб-разработке на Django, анализу данных, машинному обучению и большим данным. Подайте заявку прямо сейчас! 🚀
По технической части я хуй знает чо те написать, поэтому закину свои меморисы (2021) на сон грядущий, прям из стола. Мало кто их видел.
Как научиться договариваться. Часть 1.
ㅤ
Похуй насчет чего, с клиентом, руководителем, коллегами, тетей Зиной, котом, чайником. Погнали.
Ты ебать интроверт, проще в одну харю чето сделаешь, чем привлечешь внешнюю помощь.
Тебя нахуй пугают телефонные переговоры, ты рад, что пандемия и можно носить маску на пол еблища и никто не замечает твоего страха.
К директору за повышением ты не ходишь, ссышь, сидишь и ждешь годами пока там сами решат тебе кинуть кусок.
В магазине ты быстро покупаешь продукты и моментально съебываешься в свою нору.
Если возникает какая-то коммунальная авария в твоей халупе, для тебя это конец света, так как очень некомфортно вызывать мастеров.
Тебя можно описать тремя словами — Неуверенность. Смущение. Отчаяние.
Короче я сам в такую пиздень как-то попал, ноги росли от перехода на удаленку.
Да я и до удаленки себя некомфортно чувствовал, а уж в изоляции весь этот пиздец в тысячу раз усилился.
В общем если все выше написанное про тебя, то я тебя обрадую — ни одна книга в мире тебе не поможет.
Как поступает большинство людей, когда пытаются разобраться с проблемой?
Правильно, начинают читать книжки и гуглить. Нахватавшись из книжек всяких советов по софт-скиллам и психологии, ты ебать такой идешь на переговоры, вроде и знаний до ебени матери уже получил, но чото нихуя не работает, ты снова засунул язык в жопу и мычишь.
Тебя по-прежнему трясет, ничего не изменилось. Ты прочитал кучу говна, которая тебе никак не помогла. Встань щас и выкинь нахуй все эти книги, нехуй на них тратить время и деньги. Они не помогут тебе победить страх.
А знаешь чо помогает? А вот чего — ходи регулярно на всякие встречи, выступай, комментируй, как-то проявляй себя, высказывай свое мнение, спорь.
Чем больше у тебя будет таких встреч, тем быстрее у тебя пройдет страх.
Твоя башка просто привыкнет к ситуации общения и ты уже не будешь так сильно бояться и ссаться в штанину. Сначала будет очень страшно, потом станет похуй.
Понятно, что такие встречи отнимают много времени, но это единственный способ вернутся к нормальной жизни и стать здоровым человеком.
Кстати есть еще один вариант. Можешь напиздярится в тряпки алкашкой. Но вариант такой себе. Страх пройдет, но могут быть побочки. Советовать этот вариант не буду. Тут сам решай.
Все книги по переговорам и психологии общения, дадут тебе базовые знания и стратегические скиллы. К примеру как правильно что-то попросить, как задать вопрос, как ебнуть смешной анекдот.
Грузить наукой не буду, все что ты читаешь в книгах остается у тебя в специальном разделе мозга (неокортекс). А вот боязнь попиздеть с людьми находится в зоне эмпатии.
Эта зона появилась хуй знает когда давно, в ней заложены базовые знания, как ходить, срать, жрать. Вот и переговоры входят в эту зону.
Поэтому чтобы научится разговаривать с людьми и не убегать со страху, нужно тренироваться. Тыж не сразу ходить научился, тренировался и научился, тут такой же принцип.
Прочитав книгу «Как научится играть на гитаре», ты нихуя не научишься играть на гитаре, тебе нужна гитара и практика. Без тренировки, не разовьется мышечный навык.
Не знаю, писал ли я вторую часть, но если найду, закину!
Вчера в посте пролетала строчка:
local0.* @log.bashdays.com:514
«@»
означает протокол передачи UDP.local0.* @@log.bashdays.com:514
Последний вагон. Напоминалка короче, для тех кто упустил момент или только что вышел из НГ комы.
1. Акция на LF заканчивается 12.01 (5000р 2500р), вписаться здесь.
2. Бесплатный курс по Bash от Tagd стартует 11.01, вписать здесь.
3. Завтра снова пятница.
По всем вопросам можешь писать сюда: @linuxfactorybot
Такс, пора выходить из новогодней комы и включаться в работу.
При манипуляции с логами, ты можешь столкнуться с какими-то непонятными local0 – local7
. Чо эт ваще такое?
ㅤ
Это «Фасилити»… Ладно, это что-то вроде категорий в которые можно завернуть свои логи и потом уже по ним грепать.
Суть этих категорий — не смешивать выхлоп пользовательских программ с системными логами.
auth
, daemon
, mail
, kern
и т.д. Эти штуки ты можешь встретить например при настройке rsyslog конфига.import syslog
syslog.openlog(ident="BashDays", facility=syslog.LOG_LOCAL0)
syslog.syslog(syslog.LOG_INFO, "Привет из local0")
local0
. И теперь могу открыть этот local0
и обрабатывать как мне нужно.local0.* @log.bashdays.com:514
local0.* /var/log/local0.log
local0: логи веб-сервера
local1: для docker контейнеров
local2: логи бекапов
local3: логи крон скриптов
local4–local7: резервные
Я тут щас чет подумал — а что бы я хотел сейчас получить от Деда блядь Мороза?
ㅤ
Понятно дело — здоровье, но так нельзя, нужно что-то материальное.
Ну ладно, раньше я мечтал про блок жвачек «черепашки-ниндзя» те самые с карточками которые были, либо жвачки с вкладышами маленьких денег разных стран.
Потом я мечтал об электро-гитаре, даже самой уёбищной, палке-металки.
Потом я перестал делать ставки на Деда блядь Мороза и стал рвать жопу и закрывать свои базовые потребности. Жвачки, гитары и т.п.
Но сейчас? Если представить что ничего этого не было — чтобы я хотел получить на Новый Год?
Новую педальку с дисторшеном и квакалку? Очередной оффер на 500к в месяц? Палку-ебалку? Да нее…
Из материального я бы хотел получить на НГ от Деда блядь Мороза — НИХУЯ! Потому что, не нужно на кого-то надеяться и чего-то ждать.
Нужно самим делать вещи и закрывать свои потребности. Ты сам себе Дед блядь Мороз!
Сказка с дедом отличная, возможно работает на мажорах у которых всё уже с рождения готово и хуй во рту, но для рядовых посетителей этого мира эта сказка работает наоборот.
К чему это я, если ничо не радует — порадуй себя сам, будь сам Дедом блядь Морозом в своем 127.0.0.1 периметре. Порадуй себя тем, что у тебя есть.
Я хуй знает зачем это написал, просто реально не знаю чего бы я хотел чтобы мне насрали положи под елочку. Всёж есть, кроме здоровья.
Ну и вопрос, или нет… Короче напиши в комменты чтобы ты хотел получить материального на НГ и возможно это каким-то хреном сбудется. Квартиры и машины не в счет, это банально.
Всех обнял, с Наступающим 🎄
tags: #рабочиебудни
—
🔔 @bashdays➡️ @gitgate
Злые боты, дырявый Linux — и другие страшилки года
Чем запомнился 2024-й год в кибербезе? В подкасте "Смени пароль!" обсуждаем самые громкие события и тренды: массовые сбои систем безопасности, взрывающиеся пейджеры, развал сообщества Open Source и атаки с помощью искусственного интеллекта. А также — как мы будем защищаться от фальшивых персонажей, можно ли ботам воспитывать детей, и когда наконец работа ИБ-эксперта станет такой же рутиной, как работа электрика.
Ссылка на подкаст
Подпишитесь на телеграм-канал, чтобы не пропустить анонс следующего сезона!
🌟 Тест для профессионалов Linux 🌟
Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на курсе — «Administrator Linux. Professional»
За 7 месяцев курса вы научитесь решать 3 глобальные задачи
- Освоение гибкого управления Linux-системами.
- Навыки создания и изменения RAID-массивов.
- Управление логическими томами и профессиональная работа с системными ресурсами.
- Практика написания баш-скриптов и применение методологии Infrastructure as Code.
Тест займет всего 20 минут вашего времени!
👉 ПРОЙТИ ТЕСТ — https://vk.cc/cGpnC3
💣 Пройдете тест, получите скидку на курс, и доступ к бесплатным урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что делать, если не хватает практики для работы с k8s?
👉 пойти учиться в Слёрм и систематизировать знания о работе с кластером! Тем более, что до 28 декабря сделать это можно по специальной цене.
✅ Чему научим:
- Основам работы с K8s, системой автоматизации развертывания, масштабирования и управления приложениями в контейнерах.
- Запускать кластер, работать с базовыми абстракциями и подключать дополнительные компоненты
- Запускать приложение в кластере, понимать принципы работы сети и настраивать CI/CD пайплайн
⭐️ Курс обновлён в июле 2024
Стоимость потока:
До 28 декабря 2024 — 70 000 ₽
С 29 декабря 2024 — 90 000 ₽
Старт потока — в январе.
Забронируйте место по старой цене — оплатить можно в новом году.
Подробности — на сайте 👈
Реклама ООО «Слёрм» ИНН 3652901451
Программный комплекс ALD Pro от «Группы Астра» успешно сертифицирован по второму уровню доверия ФСТЭК России.
Теперь его можно использовать в системах, обрабатывающих информацию, составляющую государственную тайну. Продукт соответствует самым строгим стандартам безопасности и обеспечивает надежную защиту данных.
🔐 Что такое ALD Pro?
Это отечественное решение, включённое в реестр российского ПО Минцифры РФ. Оно позволяет управлять учётными записями, правами доступа, обновлять ПО и настраивать системные службы, обеспечивая безопасность вашей ИТ-инфраструктуры.
💼 Почему это важно?
Сертификат был выдан после тщательных проверок, проведенных АО «НПО «Эшелон». Это служит подтверждением того, что ALD Pro отвечает всем требованиям защиты информации, установленным ФСТЭК России.
Такой апдейт безопасности является важным шагом на пути к обеспечению российских организаций продуктами высокого качества, способными заменить зарубежные аналоги.
Узнать о преимуществах подробнее, а также запросить ALD Pro на тест можно здесь.
Реклама. ООО "РусБИТех-Астра". ИНН: 7726388700. Erid:2VtzqwezUzN.
Докажите, что вы крутой айтишник и спасите Новый год!
Гринч украл подарки и готов пойти на все, чтобы испортить жителям города праздник. Только вы сможете спасти Новый год!
Путешествуйте по городской карте, выполняйте задания и ищите ответы на загадки. Приготовьтесь использовать свою эрудицию, смекалку и внимательность. Вам предстоит: взломать электронный замок, отбить DDoS-атаку, разгадать IT-ребусы и решить множество других задач!
Спасайте Новый год, получайте подарки от Selectel и партнеров и участвуйте в большом январском розыгрыше.
Переходите в бот и начните спасение Нового года прямо сейчас!
Реклама. АО “Селектел”, ИНН: 7810962785, ERID: 2Vtzqx6GGWE
Учимся разворачивать отказоустойчивые кластеры по ценам 2024 года 🔥
27 января стартует курс «Kubernetes Мега» от учебного центра Слёрм: повышайте устойчивость, безопасность и производительность своих приложений, не ломая кластеры и не роняя прод.
За 7 недель вы научитесь:
🔵переносить продукт на платформу k8s
разворачивать отказоустойчивые кластеры
🔵ускорять траблшуттинг
🔵повышать отказоустойчивость продукта
🔵разворачивать и обслуживать кластер с автоматической ротацией сертификатов, автодеплоем и правильным хранением секретов
ОБНОВИЛИ ВЕСЬ КУРС в сентябре 2024 ⭐️
- Старт 27 января
- 7 недель обучения
- 78 часов практики
- 7 встреч со спикерами
Стоимость:
▶️до 28 декабря 2024: 90 000 ₽
▶️с 1 января 2025: 110 000 ₽
Забронировать скидку или полностью оплатить обучение — на сайте 👈
Реклама ООО «Слёрм» ИНН 3652901451
🎥 Вебинар: «Отказоустойчивое хранилище DRBD: настройка, управление, надежность»
Хотите защитить свои данные от сбоев и создать отказоустойчивую систему? DRBD — ваш ключ к максимальной надёжности!
Что будет на вебинаре:
- Разберём, что такое DRBD и как он работает.
- Поговорим о типах репликации данных и тонкостях настройки.
- Научимся восстанавливать систему после сбоев.
Занятие для системных администраторов, инженеров DevOps и специалистов по инфраструктуре.
⭐️ Спикер Андрей Буранов — системный администратор в VK, входит в топ-3 лучших преподавателей образовательных порталов.
🚀 Урок проходит в преддверии старта курса «Инфраструктура высоконагруженных систем». Участники вебинара получат скидку на обучение!
⏰ Встречаемся 26 декабря в 18:00 мск.
👉 Для участия зарегистрируйтесь: https://vk.cc/cGjQBV
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что в рот влезло, то и полезно
тыгыдык вайл инфинити
while true; do echo -e "\a"; sleep 0.5; done
K2 Cloud выкатил кастомные реакции на Хабре!
Теперь можно выражать эмоции от статей. Для этого пройди квиз: выбери одну из ИТ-профессий и проведи миграцию в облако. В конце и реакции разблокируешь, и в розыгрыше примешь участие — K2 Cloud дарит новогодние мистери боксы и другие призы.
Квиз тут
Тут как-то ребята интересовались как написать свою оболочку, что-то вроде своего Баш-беляш. Ну дак вот.
ㅤ
Нашел для тебя минималистичные исходники на «сиськах».
Проект называется «psh» и он сейчас реально пока очень маленький.
А это значит, тебе не составит труда просмотреть 10 сорцов и на их основе создать что-то своё. Ну конечно если ты немного шаришь за «сиськи». Хотя там и так всё на поверхности.
Если ты студент, можешь хорошо выебнуться своей длинной писькой перед преподами. И может тебя по телеку покажут, как когда-то создателя «BolgenOS» или антивируса Бабушкина.
💪 Кластеры для профи: прокачай навыки и стань экспертом инфраструктуры!
Думаешь, что репликация и кластеризация — одно и то же?
На открытом уроке «Percona XtraDB Cluster (PXC): знакомство и настройка» 14 января в 19:00 мск разложим всё по полочкам, запустим кластер и покажем, как он работает на реальных примерах.
📝 Что будет на вебинаре:
- разберём архитектурные различия PXC и репликации;
- запустим и настроим полноценный рабочий кластер.
Урок для системных администраторов и DBA, которые хотят освоить продвинутые инструменты и работать с высоконагруженными системами.
⭐️ Спикер Николай Лавлинский — опытный разработчик, руководитель и преподаватель, кандидат экономических наук.
🚀 Вебинар проходит в преддверии старта курса «Инфраструктура высоконагруженных систем». Участникам — скидка на обучение!
👉 Регистрация для участия: https://vk.cc/cH4zlG
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🐧 Что общего между Linux и Санта Клаусом?
Они оба работают за кадром.Ты не видишь, как Санта доставляет подарки или Linux поддерживает сервера, но без них магия исчезает.
Санта Клаусом стать не получится, но магию Linux вы точно освоите на бесплатном практикуме Linux от Rebrain. Неважно, кто вы, опытный инженер или новичок: вас ждут задания разной сложности, которые помогут понять свой уровень и определить дальнейший путь в освоении Linux.
🔹 Что входит в программу:
подключение к виртуальной машине по SSH и работа с ней: создание файлов, запись данных
установка веб-серверов nginx и Apache
работа с конфигурацией установленного ПО, проверка статуса программ
↘️ Начните практикум бесплатно: https://clck.ru/3FTPoo
Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2Vtzqxh3hAD
Какие проблемы решает Observability?
▶️Выявление аномалий в работе кластера
▶️Мониторинг сетевой активности и предотвращение сбоев
▶️Обеспечение соответствия политик безопасности
▶️Снижение времени простоя за счет быстрого устранения инцидентов
▶️Упрощение эксплуатации сложных систем с минимальными затратами
16 января в 19:00 приглашаем вас на бесплатный вебинар «Observability и k8s: полный контроль над инфраструктурой и сервисами» от учебного центра Слёрм.
✅ Рассмотрим внутренние инструменты k8s, связанные с безопасностью и отладкой работы кластера
✅ Так же посмотрим на инструменты, полезные для понимания работы больших систем без необходимости внедрения большого кол-ва изменений в сервисы, написанные на разных языках и фреймворках
Эксперты встречи:
🔴Виталий Лихачёв, SRE в крупном голландском тревелтехе
🔴Кирилл Борисов, SRE в VK
Когда: 16 января в 19:00 мск
Регистрация на вебинар — через бота 👈👈
Реклама ООО «Слёрм» ИНН 3652901451
Нашел на просторах пиздатый генератор реверс-шелов, разнообразие способов просто зашкаливает.
ㅤ
Мастхевная штука для пентестеров и тех, кто подобными штуками увлекается. Ну и чисто ради любопытства можно просто позырить.
Забирай, пригодится: https://www.revshells.com/
По реверс-шелам у меня есть отдельный пост с подробным мануалом.
А мы с вами ребят могучие! Итоги года подводить такое себе, но скажу без хуйни — спасибо тебе что читаешь, делишься своим мнением в чатике да и вообще. Без тебя ничего бы не получилось.
Короче спасибо и с наступающим! Здоровья, тебе и твоим близким, всё остальное — хуйня!
Как сказал Дима в @gitgate — Личная благодарность всем кто участвовал и помогал! Вы все молодцы и красавчики и красавицы!
По мере возможностей в каникулы буду подгонять годноту, но ничего не обещаю, рекламных интеграций вроде нет, максимум про Linux Factory буду загонять, шоб ты акцию не просрал и не ждал майских, не обессудь.
С Наступающим ребят, всего тебе самого хорошего, искренне! 🥳 ❤️ С уважением ко всем, Шубин Роман Олегович
Кстати самый топовый пост Not again за год тут
И еще мне Selectel прислал всетаки НГ коробочку, моё почтение, зря я ныл в чатике, отдельно потом напишу покажу. Спасибо!
Просто напомню. Для получения уникальных значений файла служит программа uniq. Беда в том, что она работает только с отсортированными данными.
🔤🔤🔥🔤🔤🔤🔤
sort "filename"|uniq
awk '!a[$0]++' $RF
Алгоритм описан здесь.
#!/bin/bash
clear
declare RF="./rnd_file.txt"
:> $RF # создали файл 10000 значений
# в диапазоне 0-4
for i in {1..10000};do
echo $(($SRANDOM%5))>>$RF
done
echo '#results'
echo '#sort|uniq'
sort $RF|uniq
echo '#uniq on AWK'
awk '!a[$0]++' $RF
echo '#uniq on #BASH'
declare -A A=
cat $RF |
while read -e rec;do
((A["$rec"]++)) || echo "$rec"
done
#results
#sort|uniq
#0
#1
#2
#3
#4
#uniq on AWK
#1
#2
#4
#0
#3
#uniq on #BASH
#1
#2
#4
#0
#3
В каждом из нас живет «Топографический кретин», это такое общее понятие. Например, когда путаешь лево и право или коммит разработчика с куском гавна.
Меня это коснулось с командами chmod
и chown
. Ну вот блядь так получилось. Как только нужно права поменять или атрибуты поставить — хуй там плавал, начинаю троить и перепроверять себя в гугле.
ㅤ
На помощь пришли «якоря». Это что-то из психологии или НЛП, точно уже не помню, не скажу.
Кароче когда начинаешь троить, на примере с ложкой, задаёшь себе вопрос — ты какой рукой жопу вытираешь? Вот та рука у тебя Правая. Ну а если ты левша, соответственно ревёрсим.
Аналогичный якорь получился установить с чмодами и човнами. Но уже без вопросов, а с осознания того что означают эти слова.
chown = change owner
chmod = change mode
czf - create ze file
xzf - eXtract ze file
Так ребята, писал давненько скрипт одному упоротому безопаснику на заводе.
Задача стояла такая: Я работаю в офисе и порой хожу посрать, но кругом хакеры, ноут с собой постоянно таскать не могу, он прибит гвоздями, а терпеть не вариант.
ㅤ
Ну ты понял. Тип захотел, чтобы его ноут сфоткал ебальник коллеги, который возможно вынашивает коварный план. И однажды попытается взломать его пароль из 128 символов.
Сказано сделано, дополнительно прикрутил фичу с оправкой фотки в телегу.
Публикую как есть, оптимизировать задачи не было, нужно было сделать вчера.
#!/bin/bash
# Херачим переменные
TOKEN="BOT_TOKEN"
CHAT_ID="CHAT_ID"
USER=$(whoami)
TIMESTAMP=$(date '+%Y-%m-%d_%H-%M-%S')
IMAGE_PATH="/tmp/ebalo-${USER}-${TIMESTAMP}.png"
# Делаем фотку с вебки
if ffmpeg -y -t 1 -f video4linux2 -s 640x480 -r 30 -i /dev/video0 -f image2 "$IMAGE_PATH"; then
echo "✅ Ебальник успешно захвачен: $IMAGE_PATH"
else
echo "❌ Ошибка: Не удалось захватить ебальник"
exit 1
fi
# Пулим фотку в телегу
RESPONSE=$(curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendPhoto" \
-F chat_id="$CHAT_ID" \
-F photo="@$IMAGE_PATH" \
-F caption="🚨 Хакер пойман, лови ебальник: $USER на $(hostname)")
# Проверяем респонс
if echo "$RESPONSE" | grep -q '"ok":true'; then
echo "📨 Ебальник успешно отправлен в Telegram"
else
echo "❌ Ошибка: Не удалось отправить ебальник в Telegram"
echo "Ответ Telegram API: $RESPONSE"
fi
# Подчищаем за собой
rm -f "$IMAGE_PATH"
/usr/local/bin/
/etc/pam.d/common-auth
auth optional pam_exec.so /usr/local/bin/ebalo_send.sh
optional =
скрипт не блокирует аутентификацию, даже если выплюнет ошибкуoptional
на required
.Да, не забудь проверить что у PAM есть разрешение на доступ к /dev/video0 и на выполнение скрипта.
Увидал сегодня у коллеги такое:
- name: Установка глобального PATH для Linux
hosts: all
become: true
tasks:
- name: Создать скрипт для глобального PATH
copy:
dest: /etc/profile.d/custom_path.sh
content: |
export PATH="/usr/bin:/bin"
mode: '0644'
notify: Reload profile
handlers:
- name: Reload profile
command: source /etc/profile
PATH
, на глобальном уровне.PATH
.PATH
помогает избежать конфликтов из-за пользовательских переменных окружения.PATH
позволяет исключить влияние пользовательских и нестандартных путей.#!/bin/bash
export PATH=/usr/bin:/bin
if ! command -v curl &> /dev/null; then
echo "curl не установлен или не доступен в чистом PATH"
exit 1
fi
echo "curl доступен, продолжаем..."
В LF ребята частенько впадают в ступор, пытаются запушить в мастер, а оно такое — эй дядя, иди на хуй, такой ветки нет!
Мануалы связанные с этим есть, а ветки нет?
ㅤ
В смысле блядь нет? Всю жизнь была, а теперь нет?
Притащу сюда, раз из 10 человек 2е обязательно поинтересуются. Буду ссылку на пост давать, оптимизация процессов.
«master»
slave
(раб), а целая ветка в гите — «хозяин».Отправляйся на плантацию в IDE и ебашь больше кода, а затем приноси его «хозяину»!
«main»
.Привет чокаво.
Ребенок щас вопрос задал — пап, а в чем разница? Этож одно и тоже?
source script.sh
. script.sh
./script.sh
VAR="bashdays"
source script.sh
. script.sh
VAR
, по итогу если в скрипте сделать echo
$VAR
, то на экран выведется слово — bashdays.VAR="bashdays"
./script.sh
+x
.export VAR="bashdays"
./script.sh
chmod +x script.sh
, тогда все взлетит.Ааааа, еще в скрипте тебе нужно обязательно вставить shebang.
+x
и добавлять shebang.source script.sh и . script.sh
./script.sh
./script.sh
для независимого выполнения скрипта.В linux существует куча всяких оболочек, я имею в виду не bash/zsh
, а конкретно их типы: login, non-login, interactive, restricted и т.п.
Очередной зоопарк с которым особо никто не разбирается. Давай закроем эту дырку. ㅤ
Interactive Shell — ну тут ежу понятно, ты вводишь в терминале буковки, а оно тебе в ответ что-то выдаёт. Интерактивно? Конечно! По умолчанию именно этот тип стартует при запуске терминала.
На этом можно и закончить, но хуй там плавал, поехали дальше.
Non-Interactive — Логично? Логично! Этот тип используется в основном для выполнения скриптов или задач в кроне.
Когда ты запускаешь скрипт: ./bashdays.sh
, интерактивная оболочка смотрит в скрипт и такая — ага, вижу shebang (#!/bin/sh
) Запускаю интерпретатор sh.
Это и будет считаться не интерактивной оболочкой, все запустится где-то там внутри, в кишках.
Что интересно, при запуске в такой оболочке все твои настройки в .profile/.bashrc игнорируются.
.bashrc
нахуячил своих переменных и команд, а потом решил этот скрипт перенести на другую машину где нет этих переменных и команд. Такие дела..bashrc
и profile.
#!/bin/bash
или в кроне явно указывай как запускать твой скрипт: bash script.sh
/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile.
echo $0
[[ $- == *i* ]] && echo "Interactive" || echo "Non-Interactive"
~/.bash_profile
вместо этого использует ~/.bashrc.
.bash_profile
)..bash_profile
)..bash_profile
не используются, потому что ты уже «внутри». Вместо этого, ты используешь «внутренние» правила дома (это как .bashrc
). .bash_profile.
.bashrc.
Возможно ты слышал про rbash, это оно и есть.
init
, systemd
). Зачастую это /bin/sh
.bash -c
. Подоболочка наследует переменные родительской оболочки, но не влияет на них после завершения.(cd /tmp && ls)
Напиши в комменты если что-то можно сюда еще приплести, будет интересно.
Здрасти. Сегодня опять про шаблоны и создание нового пользователя. В прошлом посте я показал skel. Но есть еще одна хуйня, где можно тонко это поднастроить.
ㅤ
Находится оно здесь: /etc/default/useradd
И выглядит это так:
GROUP=100
HOME=/home
INACTIVE=30
EXPIRE=2024-12-31
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
UMASK=077
USERGROUPS_ENAB=yes
PASS_MAX_DAYS=90
PASS_MIN_DAYS=1
PASS_WARN_AGE=7
useradd
оно будет по умолчанию подхватываться. Типа дефолтного шаблона для нового юзера. /etc/login.defs
выставлено USERGROUPS_ENAB=no
. Во всех остальных случаях он будет проигнорирован./etc/default/useradd
можешь реврайтить USERGROUPS_ENAB
и не лезть в /etc/login.defs.
USERGROUPS_ENAB=yes
. В этом случае для каждого пользователя создаётся его собственная группа с тем же именем, что и имя пользователя. И у этой группы будет уникальный GID.Собирал docker контейнер и чет меня лог сборки прям напряг.
То есть то, что отмечено на скрине красным прямоугольником, это область которая прокручивается. И предыдущий текст теряется.
ㅤ
Ну хуйня же! — подумал я и пошел копать.
А всё, как обычно, просто, в строке сборке делаем так:
docker build -t "setuppython" --progress=plain .
progress=plain
и радуемся. Лог сборки прекращает ротироваться и весь мусор теперь на экране.export BUILDKIT_PROGRESS=plain
progress
может быть = auto, plain, и tty