не могу запустить бинарный файл linux
Как устанавливать bin файлы в Linux
Не смотря, на то, что большинство программ в операционной системе Linux (в моем случае Ubuntu) можно установить из Центра приложений, тем самым обеспечивая совместимость с системой, иногда вам может понадобится установить новую версию программы или наоборот, старую, которой может не оказаться в списке.
Установка bin файлов в Linux
Консольный вариант
1. Для начала в файловом менеджере, нужно найти наш бинарник.
2. Откроем терминал, сочетанием клавиш Ctrl+Alt+T.
3. Зайдем в режим суперпользователя (под рутом). Для этого введем следующую команду в терминале:
Затем нужно ввести пароль.
4. Теперь, в терминале нам нужно зайти в ту директорию, где расположен наш бинарник. В моем случае это будет так:
chmod +x thefile.bin
В моем случае это выглядит так:
chmod +x clip2net.bin
6. Теперь выполните его. Для этого находясь уже в той директории, где находится бинарный файл введем точку и слэш, затем имя файла. В случае со мной это выглядит так:
7. После этой команды, установщик программы запустился и спрашивает меня на каком языке я хотел бы установить bin файл в linux.
8. Далее устанавливаем программу как обычно это делается в ОС Windows.
Графический вариант
Он ненамного проще, но для новичков, которые недавно перешли с Windows будет понятнее. Первые 3 пункта из консольного варианта все же придется выполнить. Затем нужно выбрать файл, нажать правой кнопкой мыши, выбрать пункт «свойства». На вкладке права, нужно поставить галочку напротив пункта «Разрешить выполнение файла как программы».
Закрываем окно. И перетаскиваем этот файл в терминал, запущенный от суперпользователя, имя файла и путь уже впишутся автоматически, остается лишь нажать на кнопку «Enter». Далее, вы можете установить bin файл, как и в первом варианте. На этом все.
Как запустить бинарный файл?
Господа специалисты как запустить бинарный файл?И можно ли с диска Ubuntu 7.10 взять дрова для установленной Mandriva.
Re: Как запустить бинарный файл?
>И можно ли с диска Ubuntu 7.10 взять дрова для установленной Mandriva.
можно, но не человеку который не знает:
>как запустить бинарный файл
Re: Как запустить бинарный файл?
Re: Как запустить бинарный файл?
предварително советую man chmod 🙂
Re: Как запустить бинарный файл?
Re: Как запустить бинарный файл?
man bash/zsh/sh/etc +file
Re: Как запустить бинарный файл?
Re: Как запустить бинарный файл?
cd /home/user/bin_file_location/
chmod +x bin_file
./bin_file
(если файл вообще является исполняемым в linux)
Re: Как запустить бинарный файл?
>(если файл вообще является исполняемым в linux)
Драйвер нужный на диске с другим дистр.
Re: Как запустить бинарный файл?
>>(если файл вообще является исполняемым в linux) Драйвер нужный на диске с другим дистр.
Я не смог выполнить скомпилированный код на Фортране в Ubuntu 11.10 32 бит.
Сообщение об ошибке
Я также установил библиотеки gcc и gfortran.
Может ли кто-нибудь помочь?
3 ответа
Как вы можете видеть из вывода file um что вы разместили в комментарии, ваш двоичный файл является 64-разрядным двоичным.
32-битные системы не могут запускать 64-битные двоичные файлы, это работает только наоборот.
Попробуйте сделать файл исполняемым
Тогда попробуйте запустить его
Но если это исполняемый файл, скомпилированный для Windows, вам, вероятно, нужно установить Wine.
Просто используйте chmod +x ‘path to the file’ а потом беги ‘the path to the file’ в терминале. Так я решил свою проблему.
Для меня, копирование двоичного файла в Приложения на моем Mac, а затем в мой путь испортило его на моем Mac. Я почти уверен, что папка «Приложения» превратила двоичный файл в псевдоним вместо реального двоичного файла.
Я разархивировал двоичный файл из моих загрузок снова и просто mv отредактировал его на мой путь, и он работал нормально.
Другой возможный источник этой ошибки: попытка запустить двоичный исполняемый файл Linux на Mac или наоборот.
Например, пытаясь запустить true двоичный файл с моего Mac на коробке с Ubuntu, в который я его отправил:
Если вы загрузили двоичный файл и выполнить его не удалось с этой ошибкой, проверьте, загрузили ли вы версию для неправильной ОС.
Для гуглеров:
Я предполагаю, что большая часть виртуальной машины была загружена в память, поскольку я все еще мог использовать ее и выполнять системные двоичные файлы.
Как запустить бинарный файл в Linux
Если вы получили ошибку:
это будет потому, что он был скомпилирован с использованием цепочки инструментов, предназначенной для цели, отличной от той, на которой вы пытаетесь запустить бинарный файл.
Например, если вы скомпилируете ‘binary_name.c’ с помощью arm-none-linux-gnueabi-gcc и попытаетесь запустить сгенерированный двоичный файл на компьютере с архитектурой x86, вы получите вышеупомянутую ошибку.
и если произойдет сбой, скажем, из-за разрешений, вы можете попробовать это перед выполнением
на вашем хосте сборки? В частности, переменная COLLECT_GCC_OPTIONS может дать вам ценную отладочную информацию. Затем взгляните на возможности процессора на вашем хосте выполнения через
Если это не помогло, предоставьте вывод ldd commonKT на хосте сборки и выполнения.
Я просто скомпилировал файл из источника C и установил его для запуска с помощью chmod. Не было никаких предупреждений или сообщений об ошибках от gcc.
Теперь я попытался просто создать объектный файл, вот так:
С другой стороны, таким образом, вывод команды file идентичен вашему:
Тогда как если я правильно скомпилирую, его вывод будет намного длиннее.
Я говорю следующее: я подозреваю, что это как-то связано с тем, как вы компилируете и связываете свой код. Может быть, вы можете пролить свет на то, как вы это делаете?
Или файл имеет тип файла и/или архитектуру, которую вы просто не можете запустить на своем оборудовании, и/или нет резервной записи binfmt_misc для обработки определенного формата каким-либо другим способом. Используйте file(1) для определения.
Единственный способ, который работает для меня (извлечено из здесь ):
Затем запустите его, написав
Если вы получили ошибку разрешения, вам может потребоваться запустить приложение с правами root:
ваш параметр компиляции -c делает компиляцию только компиляцией и сборкой, но без ссылки.
Если это не опечатка, как указывалось ранее, это могут быть неправильные параметры компилятора, такие как компиляция 64-битной под 32-битной. Это не должно быть набором инструментов.
How to run binary file in Linux
11 Answers 11
If you get an error:
it’ll be because it was compiled using a tool chain that was for a different target to that which you’re attempting to run the binary on.
For example, if you compile ‘binary_name.c’ with arm-none-linux-gnueabi-gcc and try run the generated binary on an x86 machine, you will get the aforementioned error.
and if it fails say because of permissions, you could try this before executing it
It is possible that you compiled your binary with incompatible architecture settings on your build host vs. your execution host. Can you please have a look at the enabled target settings via
on your build host? In particular, the COLLECT_GCC_OPTIONS variable may give you valuable debug info. Then have a look at the CPU capabilities on your execution host via
If that doesn’t help, please provide the output of ldd commonKT on both build and execution host.
This is an answer to @craq :
I just compiled the file from C source and set it to be executable with chmod. There were no warning or error messages from gcc.
Now I’ve tried to just create the object file, like so:
( hello.c is a typical «Hello World» program.) But my error message is a bit different:
On the other hand, this way, the output of the file command is identical to yours:
Whereas if I compile correctly, its output is much longer.
What I am saying is: I suspect it has something to do with the way you compile and link your code. Maybe you can shed some light on how you do that?