#linux
Не такие уж и сложные исходники systemd оказываются: https://github.com/systemd/systemd/blob/main/src/core/job.c Это конечно беглая оценка, но после всего вычитанного в интернете ожидал увидеть какую-нибудь убойную си-портянку, но в итоге даже мне не-сишнику было понятно что примерно происходит в коде
Не такие уж и сложные исходники systemd оказываются: https://github.com/systemd/systemd/blob/main/src/core/job.c Это конечно беглая оценка, но после всего вычитанного в интернете ожидал увидеть какую-нибудь убойную си-портянку, но в итоге даже мне не-сишнику было понятно что примерно происходит в коде
GitHub
systemd/src/core/job.c at main · systemd/systemd
The systemd System and Service Manager . Contribute to systemd/systemd development by creating an account on GitHub.
#dev #bash #сомнения
Столько философских дум у меня вообще ничего не вызывало. Сидишь пишешь эти портянки на баше, и думаешь - а может нахер его, взять ruby или go и пусть себе дергают system вызовы? Потом думаешь - нет уж, допишу на баше, и абстрагирую. Упарываешься в абстрагирование на баше и понимаешь, что проще написать as is и забить, уж больно не уклюжэ все эти высоко-уровневые абстракции выражаются на баше. Да даже простые абстракции не очень удобно выражать. В общем, хрен знает.
Дописываю уже какую версию своего provise/backup/restore - скрипта для своих маленьких серваков с докером. И все это порой так неуклюже, если честно. Зато работает для меня и моих серваков.
Успокаиваю себе так - это hand crafted development, тут от души и уникально.
Программисты должны хотеть унифицировать, это как бы естественное желание — но баш, блин, это прям испытание воли для унификатора.
Наверное его нужно принять и очень сильно полюбить. После осознания команды test и отказа от if у меня как-то получше пошло.
P.S. - средства провизионинга ака ansible не предлагать, знаю, цель не развернуть, а в чем-то другом ... пока не понял в чем.
Столько философских дум у меня вообще ничего не вызывало. Сидишь пишешь эти портянки на баше, и думаешь - а может нахер его, взять ruby или go и пусть себе дергают system вызовы? Потом думаешь - нет уж, допишу на баше, и абстрагирую. Упарываешься в абстрагирование на баше и понимаешь, что проще написать as is и забить, уж больно не уклюжэ все эти высоко-уровневые абстракции выражаются на баше. Да даже простые абстракции не очень удобно выражать. В общем, хрен знает.
Дописываю уже какую версию своего provise/backup/restore - скрипта для своих маленьких серваков с докером. И все это порой так неуклюже, если честно. Зато работает для меня и моих серваков.
Успокаиваю себе так - это hand crafted development, тут от души и уникально.
Программисты должны хотеть унифицировать, это как бы естественное желание — но баш, блин, это прям испытание воли для унификатора.
Наверное его нужно принять и очень сильно полюбить. После осознания команды test и отказа от if у меня как-то получше пошло.
P.S. - средства провизионинга ака ansible не предлагать, знаю, цель не развернуть, а в чем-то другом ... пока не понял в чем.
#bash
Шла 2-ая неделя осознания bash scripting'а, а значит я уже готов подойти к самой больной теме для меня: как вернуть массив из bash-функции (и обработать его). Открываю ящик пандоры. В целом, после осознания IFS стало проще эту проблему рассматривать.
Шла 2-ая неделя осознания bash scripting'а, а значит я уже готов подойти к самой больной теме для меня: как вернуть массив из bash-функции (и обработать его). Открываю ящик пандоры. В целом, после осознания IFS стало проще эту проблему рассматривать.
#bash
Дописал свою бек-апилку на bash'е. За время работы над этим набором скриптов узнал и осознал про баш и линукс так много, как не узнавал за несколько лет работы. Линукс конечно "прост" (как говорят) в концепции, но на деле это тысячи мелочей и делателей, и чтение любого мана на какую-нибудь около ядровую тему - целая работа. Мозг очень долго вставал на тему того как можно безопасно переадресовывать uid из хоста в контейнера — но дело даже не в самой концепции, а в том как это все подружить с докером, бекапами, правами и прочим.
В остальном же я понял, что нужно изучать ansible и не выпендриваться :)
- тема безопасности контейнеров заслуживает внимания (да и любая другая тема в отрасли, но это прям очень важная тема оказалась - https://arxiv.org/pdf/2104.07508.pdf), наверное за рутовые контейнеры в рутовом докере надо ругать, ну или как в основном сейчас делают, надеятся что создатели образов будут указывать пользователя контейнера
- как подсказал мне один мой давний друг, что это стокгольмский синдром, но в какой-то момент баш начинает нравиться; но писать на нем что-то большее 500 строк уже становится трудно ... и на самом деле лениво. 😀 а стиль написани на нем должен быть максимально "в лоб", потому что иначе это не безопасно, особенно когда распространяешь скрипты в интернете ... 😃
https://github.com/pechorin/pbr.sh
Дописал свою бек-апилку на bash'е. За время работы над этим набором скриптов узнал и осознал про баш и линукс так много, как не узнавал за несколько лет работы. Линукс конечно "прост" (как говорят) в концепции, но на деле это тысячи мелочей и делателей, и чтение любого мана на какую-нибудь около ядровую тему - целая работа. Мозг очень долго вставал на тему того как можно безопасно переадресовывать uid из хоста в контейнера — но дело даже не в самой концепции, а в том как это все подружить с докером, бекапами, правами и прочим.
В остальном же я понял, что нужно изучать ansible и не выпендриваться :)
- тема безопасности контейнеров заслуживает внимания (да и любая другая тема в отрасли, но это прям очень важная тема оказалась - https://arxiv.org/pdf/2104.07508.pdf), наверное за рутовые контейнеры в рутовом докере надо ругать, ну или как в основном сейчас делают, надеятся что создатели образов будут указывать пользователя контейнера
- как подсказал мне один мой давний друг, что это стокгольмский синдром, но в какой-то момент баш начинает нравиться; но писать на нем что-то большее 500 строк уже становится трудно ... и на самом деле лениво. 😀 а стиль написани на нем должен быть максимально "в лоб", потому что иначе это не безопасно, особенно когда распространяешь скрипты в интернете ... 😃
https://github.com/pechorin/pbr.sh
GitHub
GitHub - pechorin/pbr.sh: backup & restore for small ubuntu hosts with remote setup and namespace remapping for docker
backup & restore for small ubuntu hosts with remote setup and namespace remapping for docker - pechorin/pbr.sh