1 (11.01.2012 23:27:48 отредактировано draft)

Добрый день.
Зарегистрировался специально, чтобы задать вопрос, который уже второй раз встречаю в совсем разных дистрибутивах Linux в абсолютно разное время и уже голову сломал, куда копать.
Вопрос очень простой - имею исполняемый бинарный файл, работоспособность стопроцентная. Могу без проблем изменять в файле атрибуты, хозяина, редактировать и т.д. Однако при попытке запуска получаю банальный бред: Нет такого файла или каталога.
Не помогает копирование файла в разные папки, флаг +x стоит, даже 777 ставил, работаю через консоль, хоть из-под рута, хоть как, но файл просто при попытке запуска, оказывается, "не существует" - причём пробовал и через MC, и через консоль, и полный путь, и вначале "cd", потом запустить, переименовывал, копировал в разные папки - ничего не меняется, я просто в тупике. Система полностью обновлена до последней версии, даже скажу больше, в этот раз она чистая, кроме ssh ничего не установил и все бинарные файлы системы (допустим, в папке /bin) запускаются.

2 (10.01.2012 05:16:13 отредактировано Fat-Zer)

покажите:

 Консоль:
ls -l <файл>
ls -ld <каталог, содержащий файл>
file <файл>
id
<как запускаете>

[added]
и ещё: mount

95% процентов проблем находятся между клавиатурой и стулом.

3

Попробуй из под консоли так: "путь к файлу"./"имя файла"

4

Если файл не в системных папках bin, то запускать его надо указывая полный путь. Если запуск производится из текущей папки, то указывать так ./имя_файла

5

source@ubuntu:/home/CS/srcds_1$ ls -l hldsupdatetool.bin
-rwxr-xr-x 1 source source 3513408 2005-09-02 03:27 hldsupdatetool.bin


source@ubuntu:/home/CS$ ls -ld srcds_1
drwxr-xr-x 2 source source 4096 2012-01-09 21:14 srcds_1


source@ubuntu:/home/CS/srcds_1$ file hldsupdatetool.bin
hldsupdatetool.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped


source@ubuntu:/home/CS/srcds_1$ id
uid=1000(source) gid=1000(source) группы=4(adm),20(dialout),24(cdrom),46(plugdev),109(lpadmin),110(sambashare),111(admin),1000(source)


source@ubuntu:/home/CS/srcds_1$ mount
/dev/sdb1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/home/source/.Private on /home/source type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_sig=0450cfe10f845870,ecryptfs_fnek_sig=43908dcd5ba2feb8,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)


source@ubuntu:/home/CS/srcds_1$ ./hldsupdatetool.bin
-bash: ./hldsupdatetool.bin: Нет такого файла или каталога


source@ubuntu:/home/CS/srcds_1$ /home/CS/srcds_1/hldsupdatetool.bin
-bash: /home/CS/srcds_1/hldsupdatetool.bin: Нет такого файла или каталога

6

draft пишет:

hldsupdatetool.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped

А операционная система какой архитектуры?
P.S. Это только предположение.

Был, был и весь вышел...

7

В порядке паранойи: убедительная просьба не просить и не предлагать этот файл для тестирования!

Был, был и весь вышел...

8

 Консоль:
source@ubuntu:/home/CS/srcds_1$ uname -a
Linux ubuntu 2.6.32-24-server #43-Ubuntu SMP Thu Sep 16 16:05:42 UTC 2010 x86_64 GNU/Linux

Сам файл-то официальный для любых сборок Linux'a, чтобы не вызывать паранойю с прямым линком, можете удостовериться здесь:
http://store.steampowered.com/search/?s … updatetool - снизу "инструменты", Linux HLDS Update Tool

9

draft пишет:

hldsupdatetool.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped

draft пишет:

Linux ubuntu 2.6.32-24-server #43-Ubuntu SMP Thu Sep 16 16:05:42 UTC 2010 x86_64 GNU/Linux

Я не спец, поэтому у самого вопрос: будет ли динамически слинкованный файл для 32-битной архитектуры выглядеть, как неисполняемый, на компьютере x86_64?

Был, был и весь вышел...

10

УМВР... из проблем единственное, что вижу - это 32-х битность...
точно не знаю, но в бубунте с поддержкой 32-х битных бинарников всё должно быть в порядке... или у них есть какие-нить no-multilib версии? на всяк пожарный, /lib32 существует и не пуста?

95% процентов проблем находятся между клавиатурой и стулом.

11

ТС, стоило бы начать с вывода консоли при попытке запуска. причем перед не помешало бы export LANG=en_US (нормализация данных  ag )

12

inTime пишет:

ТС, стоило бы начать с вывода консоли при попытке запуска. причем перед не помешало бы export LANG=en_US (нормализация данных  ag )

Я, вообще-то, уже сделал вывод, если внимательно читать. И то, что прикрутил русский язык на UTF-8, это абсолютно никак не влияет, но специально для Вас, уважаемый:

 Консоль:

source@ubuntu:/home/CS/srcds_1$ export LC_ALL=C
source@ubuntu:/home/CS/srcds_1$ ./hldsupdatetool.bin
-bash: ./hldsupdatetool.bin: No such file or directory

Fat-Zer пишет:

точно не знаю, но в бубунте с поддержкой 32-х битных бинарников всё должно быть в порядке... или у них есть какие-нить no-multilib версии? на всяк пожарный, /lib32 существует и не пуста?

Именно так не существует. Я вижу в корне непустую /lib и ~lib64 , причём, похоже, последняя указывает на первую:

 Консоль:

drwxr-xr-x  14 root root 12288 2012-01-09 17:40 lib
lrwxrwxrwx   1 root root     4 2012-01-09 14:59 lib64 -> /lib

Такая же ситуация и с папкой /usr/lib (там тоже содержится символическая ~lib64)

13

точно про Ubuntu сказать ничего не могу, т.к. ей не пользуюсь...
если пробовать в лоб, то можно поставить какой-нить проприетарный 32-х битный хлам(напрмер adobe-flash-10), который по зависимостям подтянет 32-х битные либы (и[возможно] части ядра).

95% процентов проблем находятся между клавиатурой и стулом.

14

Lupo Alberto пишет:

Я не спец, поэтому у самого вопрос: будет ли динамически слинкованный файл для 32-битной архитектуры выглядеть, как неисполняемый, на компьютере x86_64?

При отсутствии multilib именно так и будет выглядеть "bash: filename: No such file or directory".

15 (11.01.2012 23:28:33 отредактировано draft)

Всем камрадам огромное спасибо!

Не смог найти флешплеер, проблему решил так:

 Консоль:

sudo apt-get install gcc-4.4-multilib

Вуаля! Файл запустился ab

p.s. Чтобы узнать текущую версию gcc, вначале сделайте "sudo apt-get install gcc", потом уже добавляем к этому Multilib