metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-02-12 12:26 am

Я тупой дебианщик

Как известно, я страдаю вульгарной линуксятиной. В том смысле, что канадские и белорусские дебианщики считают, что я должен заниматься бухгалтерией и не лезть со свиным рылом в ихний калашный линуксовый ряд. Ну, напрягает их это, мозговая скверна - боятся, что зараза дельфей, sql и бухгалтерии проникнет в чистый стерильный мир подвальных серверных и заставит их заниматься чем-нибудь вроде "apt-get install operden" и потом обучать бухгалтеров.
Тем не менее, периодически получается выдирать из них полезную инфу насчет линуксов.

На сей раз я решил все таки выяснить, как кошерно заставить дебиан(squeeze) иметь в текстовой консоли нормальное разрешение экрана, вместо 80х25, на которых нифига не помещается. Надо заметить, что никаких X-ов я принципиально не ставлю, потому что шрифты и юзабилити у графического софта под линукс - на 99% ракоглазие, и кроме того, графической унылости мне и под виндой хватает, а линуксом я пользуюсь ради кошерной текстовой консоли, из которой все можно делать без графики и прочей дизайнерско-макоебской скверны.
Везде в интернетах по жизни было написано дописать в строку параметров ядра vga=791 и это как бэ всегда и работало.
Затем в squeeze всунули GRUB2 где это внезапно стало deprecated и чтобы работало аналогично - нужно прописать в /etc/default/grub GRUB_GFXMODE=1024x768, в /etc/grub.d/00_header в одной из строчек в определенном месте добавить set gfxpayload=keep и выполнить update-grub. Ну, вуду оно и есть вуду, тем не менее работает. После же апдейта, если он затрагивает груб - на 00_header ругается dpkg и приходится или мержить изменения, или заменять на стандартный из пакета, а потом править руками. Некошерно.
Решил таки выяснить, как же кошерно. У канадских дебианщиков вопрос вызвал неимоверную истерику, с упоминанием drm/kms/firmware-linux-free и прочего. Основной вопрос, который задавался несколько раз - "причем тут груб?".
Утверждается, что vga=791 и тому подобные исправления в параметрах груба есть костыль, что это в любой момент перестанет работать, а правильно - драйвера видеокарты должны поддерживать KMS. Что характерно, про оный KMS нигде в связи с описанием установки нужного мне текстового режима не упоминалось. Кроме того, в отличие от костылей в грубе - оно не работает, т.к. под мою видеокарточку ati rage mobility я в дебиане дров не нашел, все упоминания дров - фигурируют исключительно в контексте каких-то генту, ручной сборки, причем обсуждения 3-4х годовой давности и обычно на тему "дрова не собираются". А те дрова, которые есть - тянут за собой xserver. Мне же он, по идее, не нужен. Я, возможно, чего-то не понимаю, но мне кажется что xserver и дрова друг от друга зависеть не должны.
Т.е. простая задача выливается в какой-то оккультизм с дровами, малопонятными фичами ядра и дров, причем про это знают только хардкорные линуксоиды, а все остальные пользуются типа костылями и распространяют знание о костылях дальше.

[identity profile] avnik.livejournal.com 2011-02-12 01:29 pm (UTC)(link)
Коллега, может вы еще и гуру того уебища, что в солярисе до сих пор притворяется шеллом? У меня есть пара вопросов как бороться с его кривотой.

[identity profile] mend0za.livejournal.com 2011-02-12 01:30 pm (UTC)(link)
обычный Bourne Shell :)
самый обычный и стандартный.

[identity profile] avnik.livejournal.com 2011-02-12 01:39 pm (UTC)(link)
1
# The Solaris, AIX, and Digital Unix default echo programs unquote
# backslashes. This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g'

2 с квотингом в самом sh тоже не совсем все гладко.
3 у меня не получилось написать quote_shell работающую на соляре -- патамушта вышеуказаные проблемы да. Поиски ответов в мануале и исходниках автоконфа повергают меня в пучину безумия.

[identity profile] mend0za.livejournal.com 2011-02-12 01:42 pm (UTC)(link)
Поставить кошерный dash и указать в своих скриптах

#/usr/local/bin/dash

?

Либо заюзать штатный ksh, он Bourne Shell совместимый

[identity profile] theiced.livejournal.com 2011-02-12 01:47 pm (UTC)(link)
либо просто поставить zsh или, прости ктулху, bash.

[identity profile] mend0za.livejournal.com 2011-02-12 01:49 pm (UTC)(link)
zsh и bash как среда выполнения скриптов - это оверхед чрезмерный.

[identity profile] theiced.livejournal.com 2011-02-12 01:50 pm (UTC)(link)
по памяти - да. а по скорости ви таки меряли? я нет, но имею подозрение что bash будет работать быстрее.

[identity profile] mend0za.livejournal.com 2011-02-12 01:52 pm (UTC)(link)
по скорости старта - тоже тормоз.

я из за этого перешёл на mksh (клон pdksh), несмотря на то что лишился комплишенов настраиваемых.

[identity profile] avnik.livejournal.com 2011-02-12 02:00 pm (UTC)(link)
"поставить кошерный даш/перл/питон/руби" по условиям задачи не проходит. Должен быть шелл присутствующий в соляре 10 изкаропки.

Я в общем вижу два пути, либо проверять стоит ли bash (он в 10ке есть в коробке) и делать bash $0 --no-reexec $@ (как это делает конфигура). И забивать на проблему если этот номер не прошел (с предупреждением)
Второй путь -- искать ответы в автоконфе, но это путь в психбольницу.

PS Попробовал /usr/bin/ksh -- перестало работать то что работало в bash и родном sh. ksh форкается в функциях, и все переменные там локальны. Пойду убью себя.

[identity profile] theiced.livejournal.com 2011-02-12 02:02 pm (UTC)(link)
вообще писать что то бОльшее чем 3 строки на шелле - путь в дуркуЮ

[identity profile] mend0za.livejournal.com 2011-02-12 02:07 pm (UTC)(link)
таскать за собой рантаймы любимых языков - ещё большая дурь. отучили на эмбеде. "Вот тебе деточка 8mb, на файловую систему + ядро. И ебись как хочешь".

[identity profile] avnik.livejournal.com 2011-02-12 02:09 pm (UTC)(link)
Это пре-инсталляционный скрипт от софтины, там предпологается что ничего кроме того что в коробке соляры нету. Переписывать это на окаменелый солярный перл после того как оно 10 лет на шелле было никто не будет.
(А все из за того что кому то из тестеров приспичило в качестве логина/пароля $PATH ввести)

[identity profile] metaclass.livejournal.com 2011-02-12 04:18 pm (UTC)(link)
Про $PATH в качестве пароля это заебись :)

[identity profile] d4s.livejournal.com 2011-02-12 03:11 pm (UTC)(link)
ненене, дэвид блэйн!
отличная чтука этот bash - мне нравится.