LINUX.ORG.RU

Изменение /bin/sh по умолчанию в Debian

 , ,


0

0

Luk Claes внес в Debian'овский пакет dash важное изменение: начиная с версии 0.5.5.1-2.2, символическая ссылка /bin/sh указывает по умолчанию именно на dash. Как следствие, теперь dash является пакетом "обязательного" приоритета. Возможность выбора других вариантов для /bin/sh (например, bash) реализована через dpkg-divert. Преимущество dash - более быстрое исполнение скриптов.

Изменение затронуло только неинтерактивный интерпретатор для скриптов, начинающихся со строки "#!/bin/sh". Интерактивным интерпретатором командной строки для пользователей по умолчанию остается /bin/bash.

>>> Подробности

★★★★★

Проверено: boombick ()

Re: Изменение /bin/sh по умолчанию в Debian

Поддались влиянию Убунты?

Cancellor ★★★★☆ ()

Re: Изменение /bin/sh по умолчанию в Debian

а (init) скрипты они допилили чтобы выполнялись с dash без проблем?

Sylvia ★★★★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

Модераторы, исправьте, пожалуйста, опечатку: должно быть "Luk Claes".

AEP ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Sylvia

Re: Изменение /bin/sh по умолчанию в Debian

>>а (init) скрипты они допилили чтобы выполнялись с dash без проблем?

С zsh, вроде, нормально выполнялись. Почти. Там проскакивало сообщение о неверных параметрах, но все работало.

gotf ()

Re: Изменение /bin/sh по умолчанию в Debian

у меня уже год /bin/sh на сиде ссылается на dash

ручками переделал символическую ссылку

до сих пор никаких проблем

swar0g ★★★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

у меня вот такой вариант


GNU bash, version 4.0.24(1)-release

$ file sh
sh: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped

$ ldd sh
not a dynamic executable

$ ls -l sh
-r-xr-xr-x 1 root root 515848 Jul 1 07:32 sh

RSS footprint 400-600 kb всего лишь

при этом bash достаточно полноценный bash , со всеми возможностями, за исключением multibyte chars, секрет в diet libc, очень компактно можно собирать отдельные вещи

навряд ли dash будет более компактен ) с Glibc-ом то в памяти )

Sylvia ★★★★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

фу на мыло, мну расстроен

erfea ★★★★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

У меня этот dash спотыкался на запуске интернетов, посему поменял назад на bash.

xetf ★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

>>Преимущество dash - более быстрое исполнение скриптов

Кстати, с каких пор Debian озабочен скоростью загрузки? Пускай убунтоиды этим заморачиваются.

gotf ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от gotf

Re: Изменение /bin/sh по умолчанию в Debian

>Кстати, с каких пор Debian озабочен скоростью загрузки? Пускай убунтоиды этим заморачиваются.

С каких это пор скрипты запускаются только при загрузке?

JackYF ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от vtVitus

Re: Изменение /bin/sh по умолчанию в Debian

>Это изменение было запланировано, когда Убунты ещё не было.

То есть столько лет они его обсуждали? лол.

Dudraug ★★★★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

Хорошая новость. Башу интерактивный режим, скриптам даш.

oc ()

Re: Изменение /bin/sh по умолчанию в Debian

Ещё одним преимуществом dash является несколько меньшее потребление памяти.

JackYF ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Dudraug

Re: Изменение /bin/sh по умолчанию в Debian

>>Это изменение было запланировано, когда Убунты ещё не было.

>То есть столько лет они его обсуждали? лол.


Обсуждали. А ещё правили башизмы.

JackYF ★★★★ ()

Re: Изменение /bin/sh по умолчанию в Debian

Да, кстати. Изменения в пакет внёс Raphael Geissert, если быть точным. Он же проделал большой объём работы по искоренению башизмов.

JackYF ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Sylvia

Re: Изменение /bin/sh по умолчанию в Debian

Немаловажно то, что dash заставит скрипты быть поближе к POSIX. В этой плоскости количество хаоса уменьшится.

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от JackYF

Re: Изменение /bin/sh по умолчанию в Debian

А это единственное преимущество дэша вроде: за счет уменьшенного количества функциональности в нем, он запускается чуть-чуть быстрее, и это становится отчетливо заметным, когда его надо запускать немерянное количество раз. Единственный use-case - init-скрипты.

З.Ы. Вместо того чтобы делать новый шелл, лучше бы разработчики дэша делали новый инит, а шелл оставили в покое.

eugene2k ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от eugene2k

Re: Изменение /bin/sh по умолчанию в Debian

Инит без использования шелловских скриптов сделать все равно не реально. Значит правильный путь -- сделать нормальный шелл.

adv ()

Re: Изменение /bin/sh по умолчанию в Debian

Осталось только сменить интерактивный интерпретатор для пользователей на ZSH и окончательно избавиться от застарелого г-на в виде баша.

kapsh ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от adv

Re: Изменение /bin/sh по умолчанию в Debian

Как язык программирования shell слишком примитивен, его давно пора заменить на что-то более вменяемое. Реально можно использовать только скаляры и некое подобие списков в конструкциях типа for ... in ... Нет стандартного синтаксиса для массивов (у всех шеллов он разный), хэшей вообще нет. Условные конструкции типа if [ ... ], где [ -- символическая ссылка на внешнюю программу test -- вообще полный идиотизм. Логичнее было бы реализовать ее функции внутри интерпретатора.

Лично мне хотелось бы использовать в качестве общепринятого шелла язык уровня Perl 5 (без излишнего синтаксического произвола) или Python. Но к сожалению, скрижали POSIX заставляют пользоваться тем примитивным говном, которое мы имеем сейчас.

res ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от emperor

Re: Изменение /bin/sh по умолчанию в Debian

> dash = Debian Almquist shell

Я как бы в курсе, но насколько я помню, именно в Убунте впервые сделали, что /bin/sh указывает на dash.

Cancellor ★★★★☆ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от res

Re: Изменение /bin/sh по умолчанию в Debian

> Лично мне хотелось бы использовать в качестве общепринятого шелла язык уровня Perl 5 (без излишнего синтаксического произвола) или Python. Но к сожалению, скрижали POSIX заставляют пользоваться тем примитивным говном, которое мы имеем сейчас.

В 95% случаев шелла более, чем достаточно. Там, где не достаточно - вполне можно писать #!/usr/bin/python или #!/usr/bin/perl . Не вижу никаких проблем.

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Manhunt

Re: Изменение /bin/sh по умолчанию в Debian

95% каких случаев? Когда я работал администратором сети, мне постоянно не хватало shell и приходилось всю автоматизацию делать на Perl. На shell можно сделать только совсем простые вещи.

res ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от adv

Re: Изменение /bin/sh по умолчанию в Debian

Во-первых, вполне реально, а во-вторых, скорость старта системы от скорости запуска интерпретатора зависит не так сильно как от работы инита. В дебе до сих пор нет асинхронного старта и зависимостей сервисов, и до сих пор нельзя через скрипт проверить статус сервиса (ps вариант). А ведь все это в Gentoo сто лет как из коробки (если к Gentoo это вообще применимо :), поставить одно yes в rc )

wWolf ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от res

Re: Изменение /bin/sh по умолчанию в Debian

Меня вот вопрос мучает: нужен ли, при таком обилии скриптовых языков, как сейчас, неинтерактивный шелл вобще или же это уже пережиток прошлого?

eugene2k ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Sylvia

Re: Изменение /bin/sh по умолчанию в Debian

>навряд ли dash будет более компактен ) с Glibc-ом то в памяти )

gnu libc в памяти один раз на все программы её использующие. Так что размер её не сильно важен. Номальные люди используют линковку во время запуска.

shanechko ()

Re: Изменение /bin/sh по умолчанию в Debian

Где-то читал, что из-за /bin/sh -> /bin/dash в убунте падает пересборка ядра. Ну убунтоводам оно в целом и не нужно, а вот в дебиане это будет действительно неудобно.

nnz ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от nnz

Re: Изменение /bin/sh по умолчанию в Debian

> Ну убунтоводам оно в целом и не нужно, а вот в дебиане это будет действительно неудобно.

И до следующего стабильного Дебиана наверняка починят.

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от res

Re: Изменение /bin/sh по умолчанию в Debian

> На shell можно сделать только совсем простые вещи.

Именно на такие случаи шелл и должен быть нацелен. Элементарная работа с файлами, элементарный запуск улитит, простейшие циклы. А сложные вещи - они очень многогранны. И потому для них нет серебряной пули. Где-то хороош перл, где-то хорош cmake, где-то лучше взять в руки c++.

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Manhunt

Re: Изменение /bin/sh по умолчанию в Debian

Самый простой способ починить это - поменять ссылку руками. Но если так и дальше дело пойдет, придется менять дистр.

nnz ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от nnz

Re: Изменение /bin/sh по умолчанию в Debian

> Самый простой способ починить это - поменять ссылку руками. Но если так и дальше дело пойдет, придется менять дистр.

Хочешь чтоб все "просто работало" - пользуйся стабильной веткой. Хочешь свежатинки - будь готов к нестабильности. Не понимаю твоего недовольства.

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Manhunt

Re: Изменение /bin/sh по умолчанию в Debian

>Хочешь чтоб все "просто работало" - пользуйся стабильной веткой. Хочешь свежатинки - будь готов к нестабильности. Не понимаю твоего недовольства.

Хочу стабильный дистр. В который не тянут всякое г в надежде, что "потом допилим".

nnz ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от nnz

Re: Изменение /bin/sh по умолчанию в Debian

> В который не тянут всякое г в надежде, что "потом допилим".

Изначально bash хотели отпилить еще в lenny. Была проделана большая работа, но успеть - не успели. И потому в lenny идет bash. Никаких "потом".

Если не успеют допилить к squeeze, то и squeeze зарелизят с bash. Хотя я совершенно уверен, что успеют.

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от Manhunt

Re: Изменение /bin/sh по умолчанию в Debian

Отпилить баш? Тогда следующим шагом, конечно же, будет отпиливание ядра Linux, как тормозного и глючного. Вот для чего они с Hurd и kFreeBSD возились!

nnz ★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от nnz

Re: Изменение /bin/sh по умолчанию в Debian

> Отпилить баш?

В качестве /bin/sh - да.

> Тогда следующим шагом, конечно же, будет отпиливание ядра Linux, как тормозного и глючного.


У вас глючная сборка libastral :D

Manhunt ★★★★★ ()
Ответ на: Re: Изменение /bin/sh по умолчанию в Debian от nnz

Re: Изменение /bin/sh по умолчанию в Debian

Хоть лично я с определенным фанатизмом отношусь к идее микроядерности. Трудно пройти мимо такой няшки, как l4.

Manhunt ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.