LINUX.ORG.RU

Ничего не понимаю в файловых ссылках

 ln -s


0

1

Make требует команду lrealease. Ну ок, не проблема. Пишу:

[eugene@eugene ~]$ su
Password: 
[root@eugene ]# ln -s /usr/bin/lrelease-qt4 lrelease
[root@eugene ]# exit
exit
[eugene@eugene ~]$ lrealease
bash: lrealease: command not found
[eugene@eugene ~]$ 

Why?? Проворачивал такие же махинации с qmake - работает. lrealease - хоть ты убей. В чем заковырка, ЛОР?

А это просто спать пора уже.

false ★★★★★
()
Ответ на: комментарий от alozovskoy
[eugene@eugene ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/eugene//.local/bin:/home/eugene//bin
[eugene@eugene ~]$ su
Password: 
[root@eugene ]# echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/eugene//.local/bin:/home/eugene//bin
MyNameIsWinner
() автор топика
Ответ на: комментарий от MyNameIsWinner

ну или при таком раскладе

cd /home/eugene/bin

только нефиг такое делать от рута

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

Ну можно еще pwd было показать. И,да, или я не понимаю эту запись (тогда прошу указать), или сам home не входит в path.

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

Мне ж для мейка надо. А он lrealease не видит, хоть стреляй.

MyNameIsWinner
() автор топика

Это что, такой толстый троллинг?

Здесь создаётся ссылка /root/lrelease -> /usr/bin/lrelease-qt4, после чего идёт попытка из-под пользователя выполнить команду lrealease. Во-первых, очевидно, lrelease и lrealease — не одно и то же. Во-вторых, ссылка /root/lrelease не видна из-под пользователя, потому что его в /root попросту не пустят права доступа. В-третьих, создание ссылки /root/lrelease никаким боком к появлению команды lrelease не относится, потому что ссылка создаётся не в каталогах из $PATH.

Скорее всего, нужно было сделать это:

ln -s lrelease-qt4 /usr/bin/lrelease
gentoo_root ★★★★★
()
Ответ на: комментарий от alozovskoy

можно еще pwd было показать

[eugene@eugene ~]$ pwd
/home/eugene/

или я не понимаю эту запись

Вообще, честно признать, я совсем слабо понимаю что происходит, и я просто скопировал выхлоп echo $PATH :)

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

Спасибо! Это не толстый троллинг, а полное незнание матчасти:(

MyNameIsWinner
() автор топика

А права доступа к /usr/bin/lrelease-qt4 случаем не поставлены так чтоб только root мог его запускать?

ubiquitine
()

./lrelease или под рутом ln -s /usr/bin/lrelease-qt4 /usr/bin/lrelease

Legioner ★★★★★
()

Когда нужно запустить программу, нужно не писать

programma

Как в DOS, а писать полный путь до неё:

/usr/bin/programma

Запустить из текущего каталога:

./programma

Что такое точка проще всего понять в MC. Там две точки - предыдущий каталог. А одна, следовательно, текущий.

Есть две тонкости. 1). Переменная PATH указывает на каталоги, в которых есть программы и для которых полный путь указывать не надо. /usr/bin там есть. 2). Должен быть параметр исполняемости (это параметр из разряда «Только чтение» в Windows, но в Windows недоступен), иначе будет ошибка. Но есть такие программы, в которые встроен скрипт, распаковывающий архив с программой в /tmp вместе с параметром исполняемости. Например драйвер видеокарты. И тогда вполне подходит sh NVIDIA-*.run. Как легко догадаться, обычно расширение такого файла run.

В твоём случае нужно сделать cd /usr/local/bin перед выполнением команды.

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

Когда нужно запустить программу, нужно не писать

programma

Как в DOS, а писать полный путь до неё

Что за тупизну ты опять пишешь?

Kindly_Cat
()
Ответ на: комментарий от ZenitharChampion

Какое это имеет отношение к:

Когда нужно запустить программу, нужно не писать

programma

Как в DOS, а писать полный путь до неё

?

Kindly_Cat
()
Ответ на: комментарий от ZenitharChampion

Не знаю, сам услышал только вчера в школе.

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