dzz: Dizzy の冬 (Default)
[personal profile] dzz
Флегматично: «Docker-контейнер, в котором нет интерпретатора bash, можно назвать безбашенным»

Сижу и придумываю вменяемое CI/CD для наших серверных продуктов, допускающих однотипное "маленькое" (один инстанс стека) и "большое" (автоконфигурируемое ХЗ-сколько-штук) развёртывание через docker-контейнеры. Ну и автогенерацию-автозапись образов в репозиторий по тегу из гита в качестве промежуточного шага. Продукты - не микросервисы, а такие "полумонолиты", хорошо оптимизированные под свои задачи :)

Ни одно из готовых решений не покрывает всех хотелок, а хочется сделать красиво :)

DeepSeek в качестве советчика, кстати, весьма неплохо подкован в этой теме, во всяком случае, предлагает вполне рабочие варианты связок.

оркестровка

Картинка из Шедеврума.

P.S. За окном дождь с запахом липы. В этом году июнь - особенно липовый месяц, столько одновременно цветущих лип давно не видел.

Date: 2025-06-24 06:03 pm (UTC)
From: [identity profile] parakhod.livejournal.com
Ненавижу безбашенные.
Но с sh тоже можно жить поскрипывая зубами конечно.
Более минималистских не встречал (оно возможно вообще, кстати?).

Date: 2025-06-24 06:32 pm (UTC)
From: [identity profile] dzz.livejournal.com

Куда уж минималистичнее sh...

А вот "более развитые" шеллы вызывают у меня когнитивный диссонанс. В Kali по умолчанию zsh, и временами он пугает своей продвинутостью :)

Edited Date: 2025-06-24 06:34 pm (UTC)

Date: 2025-06-24 06:56 pm (UTC)
From: [identity profile] parakhod.livejournal.com
Я на zsh ооочень давно живу, ибо мак.
Ну ещё iterm2 и дофига плагинчиков типа подсветки текущего бранча и его состояния.
Полезноэ.

Date: 2025-06-25 08:32 am (UTC)
From: [identity profile] dzz.livejournal.com

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

Date: 2025-06-24 08:30 pm (UTC)
From: [identity profile] jno2004.livejournal.com

Как куда? /bin/true же!

Date: 2025-06-25 08:28 am (UTC)
From: [identity profile] dzz.livejournal.com

Или /bin/false :)


Date: 2025-06-25 08:30 am (UTC)
From: [identity profile] jno2004.livejournal.com

Не, это - запрет логина. Ну, по старому.

Date: 2025-06-25 08:36 am (UTC)
From: [identity profile] dzz.livejournal.com

/bin/false в качестве юзершелла в passwd — это грубо :)
Актуальный запрет логина — это, всё-таки, /usr/sbin/nologin

Date: 2025-06-25 08:38 am (UTC)
From: [identity profile] jno2004.livejournal.com

Этот ваш nologin появился вчера. До него был грубый false.

Date: 2025-06-25 08:39 am (UTC)
From: [identity profile] jno2004.livejournal.com

Короче, минимальный шелл - это, таки, true

Date: 2025-06-25 08:46 am (UTC)
From: [identity profile] dzz.livejournal.com

Ага, поставь его какому-нибудь юзеру в качестве основного :)

Date: 2025-06-25 09:06 am (UTC)
From: [identity profile] jno2004.livejournal.com
Ну, раньше был у всяких служебных...
А прям щаз расклад шеллов такой примерно:
$ cut -d: -f7 /etc/passwd | sort -u
/bin/bash
/bin/false
/bin/sync
/usr/bin/false
/usr/sbin/nologin

Или так:
$ awk -F: '{a[$7]+=1}END{for(x in a)print(x,a[x])}' /etc/passwd 
/bin/false 8
/usr/bin/false 2
/bin/bash 2
/bin/sync 1
/usr/sbin/nologin 42

Edited Date: 2025-06-25 09:11 am (UTC)

Date: 2025-06-25 12:46 pm (UTC)
From: [identity profile] dzz.livejournal.com

Интересно, в чём разница между /bin/false и /usr/bin/false

Date: 2025-06-25 12:48 pm (UTC)
From: [identity profile] jno2004.livejournal.com

Сейчас? Ни в чём — там симлинк или маунт /bin с /usr/bin

Date: 2025-06-25 12:55 pm (UTC)
From: [identity profile] dzz.livejournal.com

У меня в убунте/минте ни то, ни другое — хардлинк.

Date: 2025-06-25 12:56 pm (UTC)
From: [identity profile] jno2004.livejournal.com

Эвер хэв ю син эни факин диференс?

Date: 2025-06-25 01:00 pm (UTC)
From: [identity profile] dzz.livejournal.com

Nope. Байты одинаковые. Хотя, несложно написать разное поведение в зависимости от argv[0];

Date: 2025-06-25 01:04 pm (UTC)
From: [identity profile] jno2004.livejournal.com

да, переписать true — это тема!


на расте, разумеется.


и с изменением поведения от *argv — чтобы мало не казалось...
ЗЫ. чтобы false и true были одним бинарником, и остальные варианты (two, three, four, ...) возвращали соответствующий код завершения, ога.


ЗЗЫ. это вам, блин, не IEFBR14, а современное безопасТное приложение будет!


ЗЗЗЫ. вот гуй к нему придумать — у меня фантазма не хватает...

Edited Date: 2025-06-25 01:09 pm (UTC)

Date: 2025-06-25 01:55 pm (UTC)
From: [identity profile] dzz.livejournal.com

> возвращали соответствующий код завершения

/usr/bin/twohundredfiftyfive :)

> IEFBR14

Ну у тебя и память :)))
Там, помнится, две команды на ассемблере.



Edited Date: 2025-06-25 01:59 pm (UTC)

Date: 2025-06-25 02:01 pm (UTC)
From: [identity profile] jno2004.livejournal.com

по существу — одна: собссно BR 14 (бранч по 14-му регистру, где штатно — адрес возврата после BALR)

Date: 2025-06-25 02:13 pm (UTC)
From: [identity profile] dzz.livejournal.com

А R15 обнулить?

Date: 2025-06-25 02:14 pm (UTC)
From: [identity profile] jno2004.livejournal.com

вот, не помню, был там XR 15 или нет...

Date: 2025-06-25 02:29 pm (UTC)
From: [identity profile] dzz.livejournal.com

Я видел вариант SR 15,15, вроде, каноничный.

Date: 2025-06-25 03:30 pm (UTC)
From: [identity profile] jno2004.livejournal.com

SR — каноничный, но чаще было, таки, XR — чуток быстрее...


Впрочем, там, вроде, 1BFF 07FE — две команды: SR + BCR

Date: 2025-06-25 02:03 pm (UTC)
From: [identity profile] dzz.livejournal.com

> чтобы false и true были одним бинарником

Дык, busybox так и сделан.

Date: 2025-06-25 02:05 pm (UTC)
From: [identity profile] jno2004.livejournal.com

ну, новый бизибокс и будет, но безопасТный, с телеметрией, бэкждеком и прочими атрибутами.


интересно, сможет ли оно парсить имена, начинающиеся с minus? и что будет делать? как там в ржавом с целочисленным переполнением?

Edited Date: 2025-06-25 02:07 pm (UTC)

Date: 2025-06-25 02:27 pm (UTC)
From: [identity profile] dzz.livejournal.com

/bin/blackjack и /bin/whores, ага :)

Я посмотрел на rust, посмотрел, и решил, что пока мне и так не скучно. Парсить-то дело нехитрое, а вот код возврата в линухе — uint8

Date: 2025-06-25 03:09 pm (UTC)
From: [identity profile] jno2004.livejournal.com

об чём и речь :)

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 03:21 am
Powered by Dreamwidth Studios