LINUX.ORG.RU

А в чем глубинный смысл кучи cp, chmod и прочих, когда можно сделать один вызов install?

SEInterix
()

А в чём смысл cp, chmod и прочих, когда есть машинные коды, которые и выполняют всю работу?

redgremlin ★★★★★
()

Исторически даже в BSD 3 был скрипт install.sh. Вот такой:

cmd=/bin/mv
case $1 in
        -s )    /usr/bin/strip $2
                shift
                ;;
        -c )    cmd=cp
                shift
esac

if [ ! ${2-""} ]
then    echo 'install : no destination specified.'
        exit 1
fi

$cmd $1 $2
if [ -d $2 ]
then    file=$2/$1
else    file=$2
fi
chmod 755 $file
chown root $file

saahriktu ★★★★★
()

обычная процедурная декомпозиция. называем повторяищиеся действия определенным именем - вот тебе и install

Deleted
()

Когда есть cp, chmod и прочие, выполняющие всю нужную работу?

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

Rastafarra ★★★★
()

Костыли для autisttools/Makefiles

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)

Я по старой привычке новые ядра вручную копирую в /boot, всё равно переименовывать и скидывают туда же .config и System.map.

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

grem ★★★★★
()
Ответ на: комментарий от Harald

Что и? У ядра после сборки есть внешние модули, которые сами в системе не окажутся за пределами каталога сборки.

grem ★★★★★
()
Ответ на: комментарий от grem

а тебе какая разница, install их скопирует и права выставит, или cp и chmod в две строчки? Ты ж вручную ядерный мейкфайл не редактируешь

Harald ★★★★★
() автор топика
Ответ на: комментарий от redgremlin

А в чем смысл машинных кодов, когда есть счёты бумага и карандаш.

targitaj ★★★★★
()
Ответ на: комментарий от Harald

Я и написал, что вручную их распихивать посредством cp было бы слишком - их много. Я даже не интересовался где они лежат и куда отправляются.

grem ★★★★★
()

теоретизирую, но install может делать cp + chmod атомарно, т.е. не будет промежутка времени, в который можно получить доступ к файлу по дефолтным правам

MyTrooName ★★★★★
()
Последнее исправление: MyTrooName (всего исправлений: 1)

Когда есть cp, chmod

вот из-за таких как ты лмнукс всегда будет уделом гиков и занимать не больше 2%

anonymous
()

Может потому, что этот install мог бы отслеживать куда что сует и быть частью ПМ?

Типо унифицировали и упростили людям жизнь?

timdorohin ★★★★
()
Последнее исправление: timdorohin (всего исправлений: 1)
Ответ на: комментарий от Harald

мог бы

нет, он этим не занимается

Ты вообще понимаешь, что сделано это с расчетом на _возможное_ использование?

ИЧСХ, sh-скрипт вместо install прекрасно прокатывает, попутно записывая все установленное куда надо.

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

ну скрипт, дёргающий внутри cp и chmod - это таки юниксвейно

Harald ★★★★★
() автор топика
Ответ на: комментарий от Harald

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

Deleted
()
Ответ на: комментарий от MyTrooName

потому что в cp -a нельзя задать отличный от текущего UID/GID/mod

Не нельзя, а не предназначено. И вообще, речь была о атомарности. Open(2) позволяет задать mod, но это не совсем chmod, это chmod&umask. А уж chown тем более придётся делать отдельно.

vodz ★★★★★
()
Ответ на: комментарий от vodz

Не нельзя, а не предназначено.

не предназначено, потому и нельзя. Не выпендривайся тут

И вообще, речь была о атомарности.

Речь шла о том, зачем нужен install, если есть cp. Install может делать атомарно то, что cp не умеет никак.

Open(2) позволяет задать mod, но это не совсем chmod, это chmod&umask

ничто не мешает обнулить umask

MyTrooName ★★★★★
()
Ответ на: комментарий от MyTrooName

Install может делать атомарно то, что cp не умеет никак.

Простите? Ах, да, тут принято: «ШТА?»

ничто не мешает обнулить umask

Это не всегда поможет, если надо делать su(g)id, а потом chown, то снова придётся делать chmod. Ну и атомарностью даже без этого не пахнет.

vodz ★★★★★
()

install также делает rm

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