LINUX.ORG.RU

No such file or directory - а файл есть


0

2

Снова всем здравствуйте. Мои увлекательнейшие приключения с Arch и KDE продолжаются и не дают скучать.

На сей раз проблема совсем странная. Пробовал поставить Catalyst для переключаемой графики в ноутбуке. Попробовал, что-то не пошло, решил пока забить. После одной из перезагрузок, когда Catalyst был уже удален и я вернулся на старый xf86-video-intel, обнаружилось, что не запускаются некоторые программы.

При запуске из консоли оказалось, что на попытку их запуска система говорит No such file or directory, хотя исполняемый файл - вот он. Более того, ему можно сделать file, его можно посмотреть в текстовом виде, переместить и удалить. А запустить нельзя. Расследование показало, что пали программы из /opt - Firefox, Chrome, Dropbox. Помимо них запускаться отказались и некоторые из /usr/bin, кажется, абсолютно рандомно. Переустановка не помогает. Удаление, например, /opt/google и переустановка тоже не помогает.

Совсем мистика. Мне уже не столько жалко систему, сколько просто интересно, что это такое может быть. Спасибо!

PS. Вспоминаю, что вроде началось после того, как я удалил коряво установленный Catalyst через

fglrx-uninstall.sh --force
Но что такого он мог сделать?

Раз телепат:

его можно посмотреть в текстовом виде

А файлы текстовые? Всмысле, это скрипты? Если это скрипты, то там вначале должно стоять что-то типа #!/bin/python . Вот может именно этого /bin/python и нет. (Если не понял - python я взял для примера, мог быть bash, sh, zsh, perl, php да что угодно)

Два телепат:
Покажи как ты запускаешь файл. Надеюсь не просто пишешь имя файла, а указываешь путь? Например ./program или /opt/bin/program

Kroz ★★★★★
()

ldd на Dropbox натрави и сюда выхлоп, заодно uname -a

aho
()

> что на попытку их запуска система говорит No such file or directory, хотя исполняемый файл - вот он. Более того, ему можно сделать file, его можно посмотреть в текстовом виде, переместить и удалить. А запустить нельзя.
Покажите вывод ldd $filename. Если он покажет «not found» хотя бы для одной библиотеки, причина в этом.

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

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

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

Хост 64 бита, действительно, но и фаерфоксы с хромами были 64 битными - file на них говорит, что это 64-bit binary. LDD сейчас сделаю.

klazutin
() автор топика
Ответ на: комментарий от klazutin
$ file /opt/dropbox/dropbox
/opt/dropbox/dropbox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
$ ldd /opt/dropbox/dropbox
/usr/bin/ldd: line 118: /opt/dropbox/dropbox: No such file or directory
klazutin
() автор топика
Ответ на: комментарий от klazutin

А `readelf /opt/dropbox/dropbox`?

Похоже, потерялся какой-то файл настолько важный, что запуститься не может даже встроенный в ELF-ник dynamic linker, которому ldd передаёт управление.

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

«readelf /opt/dropbox/dropbox» выводит просто справку по readelf, но запустилось с «readelf -a /opt/dropbox/dropbox». Правда там какое-то безумное количество информации, на что обратить внимание? На всякий случай - http://pastebin.com/2UHLVNmh

klazutin
() автор топика
Ответ на: комментарий от AITap
$ readelf -d /opt/dropbox/dropbox

Dynamic section at offset 0x34b510 contains 28 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libutil.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libssl.so.0.9.8]
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.0.9.8]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000f (RPATH)              Library rpath: [${ORIGIN}:${ORIGIN}/../lib]
 0x000000000000000c (INIT)               0x414220
 0x000000000000000d (FINI)               0x697e98
 0x0000000000000004 (HASH)               0x400240
 0x000000006ffffef5 (GNU_HASH)           0x4026e8
 0x0000000000000005 (STRTAB)             0x40c6b8
 0x0000000000000006 (SYMTAB)             0x404bb8
 0x000000000000000a (STRSZ)              22040 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000015 (DEBUG)              0x0
 0x0000000000000003 (PLTGOT)             0x94b760
 0x0000000000000002 (PLTRELSZ)           6432 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x412900
 0x0000000000000007 (RELA)               0x4127e0
 0x0000000000000008 (RELASZ)             288 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffe (VERNEED)            0x412710
 0x000000006fffffff (VERNEEDNUM)         5
 0x000000006ffffff0 (VERSYM)             0x411cd0
 0x0000000000000000 (NULL)               0x0

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

Внезапно, все заработало. Параллельно я решил пойти тупым путем и переустановить все пакеты, которые стояли. Пока мы общались, они скачивались. Как раз когда я запустил strace на dropbox, pacman дошел до буквы l и dropbox заработал - так что, похоже, действительно, не хватало какой-то библиотеки. Теперь запускается firefox, chrome, dropbox, vwmare. В общем, все стало по-прежнему.

В любом случае, огромное спасибо за помощь вам и всем остальным. Жаль только, что причина так и осталась неизвестной..

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

> Жаль только, что причина так и осталась неизвестной..

если проблема проявлялась только на бинарях - проблема процентов на 95 была в неправильном пути к линкеру (хидер INTERP). такое иной раз случается если /lib или /lib64 - симлинки, и какой-то из них убился

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

Похоже, вы правы - после установки всех пакетов появился /lib64, которого до этого не было. Спасибо!

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

Это арч, детка. Как-то давно, когда я был совсем глуп и юн, у меня тоже стоял арч и тоже бывали подобные мистические проблемы. Так что мой тебе совет, снеси его во имя любви и мира.

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

ну значит и все сообщество на тот момент состояло из нубов, что не смог никто ничем мне помочь.

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

Да нет, на удивление, Арч пока меня очень даже радует. Кроме, правда, некоторых подзадолбавших глюков кед, но я думаю, это все же их проблема, а не арча. Что же касается проблемы в этом треде, то не исключаю, что я сам как-то ей поспособствовал. Не зря же fglrx-uninstall.sh --force говорил мне, что могут произойти непоправимые вещи!

Думаю, может Чакру попробовать - там вроде кеды получше себя ведут.

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