No such file or directory ubuntu как исправить

On Ubuntu, I get a 'No such file or directory' error when I try to execute a command. I have checked with ls -la , the file adb is there and it has 'x' flag So why I am getting a 'No such file or

On Ubuntu, I get a ‘No such file or directory’ error when I try to execute a command.

I have checked with ls -la , the file adb is there and it has ‘x’ flag
So why I am getting a ‘No such file or directory’?

~/Programs/android-sdk-linux_x86/platform-tools$ ./adb
 bash: ./adb: No such file or directory
~/Programs/android-sdk-linux_x86/platform-tools$ ls -la
 total 34120
 drwxrwxr-x 3 silverstri silverstri     4096 2011-10-08 18:50 .
 drwxrwxr-x 8 silverstri silverstri     4096 2011-10-08 18:51 ..
 -rwxrwxr-x 1 silverstri silverstri  3764858 2011-10-08 18:50 aapt
 -rwxrwxr-x 1 silverstri silverstri   366661 2011-10-08 18:50 adb
 -rwxrwxr-x 1 silverstri silverstri   906346 2011-10-08 18:50 aidl
 -rwxrwxr-x 1 silverstri silverstri   328445 2011-10-08 18:50 dexdump
 -rwxrwxr-x 1 silverstri silverstri     2603 2011-10-08 18:50 dx
 drwxrwxr-x 2 silverstri silverstri     4096 2011-10-08 18:50 lib
 -rwxrwxr-x 1 silverstri silverstri 14269620 2011-10-08 18:50 llvm-rs-cc
 -rwxrwxr-x 1 silverstri silverstri 14929076 2011-10-08 18:50 llvm-rs-cc-2
 -rw-rw-r-- 1 silverstri silverstri      241 2011-10-08 18:50 llvm-rs-cc.txt
 -rw-rw-r-- 1 silverstri silverstri   332494 2011-10-08 18:50 NOTICE.txt
 -rw-rw-r-- 1 silverstri silverstri      291 2011-10-08 18:50 source.properties

Timo J.'s user avatar

asked Oct 9, 2011 at 2:52

michael's user avatar

2

It’s an executable file that misses required libraries. Use ldd to see what it needs, then provide these files.

answered Oct 9, 2011 at 9:39

Daniel Beck's user avatar

Daniel BeckDaniel Beck

108k14 gold badges285 silver badges330 bronze badges

1

Android SDK requires 32-bit libraries. You probably are on 64-bit and need the 32-bit libs. Here are the troubleshooting directions from developer.android.com

For Ubuntu 13.10 (Saucy Salamander) and above, install the libncurses5:i386, libstdc++6:i386, and zlib1g:i386 packages using apt-get:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

For earlier versions of Ubuntu, install the ia32-libs package using apt-get:

apt-get install ia32-libs

Hamy's user avatar

Hamy

2251 silver badge14 bronze badges

answered Nov 22, 2011 at 19:15

hoffmanc's user avatar

hoffmanchoffmanc

6511 gold badge4 silver badges4 bronze badges

4

sudo apt-get install --reinstall libc6-i386

is also need for me.

Tamara Wijsman's user avatar

answered Apr 12, 2012 at 14:55

Shawe's user avatar

ShaweShawe

411 bronze badge

1

I was also seeing the same after switching my machine from 32 bit ubuntu to 64 bit. Bash would report ‘No such file or directory’ of files that clearly existed with the execute attribute.

sudo apt-get install —reinstall libc6-i386

Fixed the problem. These are the «GNU C Library: 32-bit shared libraries for AMD64»

Seems like this is a bug in bash. Note that I also changed the default shell from dash to bash using

sudo dpkg-reconfigure dash

before I tried running the 32 bit executable. So I’m not sure if the problem would have happened with the default dash shell

answered Jul 24, 2013 at 19:01

user240504's user avatar

On a fresh Xubuntu 13.10 x64 install I got adb to run with:

sudo apt-get install --reinstall libc6-i386
sudo apt-get install libstdc++6:i386

And also zlib1g:i386 to make aapt work.

and if you still miss something use:

lld adb

answered Oct 21, 2013 at 1:49

Stéphane's user avatar

StéphaneStéphane

2461 silver badge6 bronze badges

2

For adb make sure you have the SDK unpacked and have run the SDK Manager to fully populate the SDK. Additionally make sure you have the following installed:
A.) JDK 6 or better
B.) lib32stdc++6
C.) lib32ncurses5

hoffmanc was the closest to getting it right, I don’t really understand why the answer from Daniel Beck is marked as correct when it’s not even close and has nothing to do with the problem.

Incidentally, if you try to run a truly non-existant command (i.e.:

# fakecommand

you’ll get: fakecommand: command not found, whereas in your situation the output you are seeing is actually coming from adb even though it’s not very clear that is the case.

answered Apr 14, 2012 at 18:00

Justin Buser's user avatar

Justin BuserJustin Buser

1,22711 silver badges14 bronze badges

Ubunto seems to have some issues with LSB compatibility, so try this if you are on Ubunto

apt-get install lsb

Note that ldd will sort of show that all the libraries are there, but they are not.

usmp-vm-lamp01$ ldd lmgrd
 linux-vdso.so.1 =>  (0x00007fffb33fe000)
 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f10b0a48000)
 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f10b074c000)
 libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f10b0535000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f10b0175000)
 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f10aff71000)
 /lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007f10b0c67000)
usmp-vm-lamp01$ locate libpthread.so.0
/lib/x86_64-linux-gnu/libpthread.so.0
usmp-vm-lamp01$ locate libm.so.6
/lib/x86_64-linux-gnu/libm.so.6
usmp-vm-lamp01$ locate /lib64/ld-lsb-x86-64.so.3
usmp-vm-lamp01$

answered Jun 9, 2014 at 21:26

Mark Lakata's user avatar

Mark LakataMark Lakata

7,6302 gold badges18 silver badges16 bronze badges

1

  1. Check Path and Interpreter to Solve the bash: No such file or directory Error in Linux Bash
  2. Install Library Packages to Solve the bash: No such file or directory Error in Linux Bash
  3. Use the dos2unix Command to Solve the bash: No such file or directory Error in Linux Bash

Solve No Such File or Directory Error in Linux Bash

Linux terminal allows you to execute programs. This article will explain how to execute files properly and solve the bash: No such file or directory error in Linux Bash.

There are many code-related reasons why you get a bash: No such file or directory error in Bash. We will explain the most common mistakes and ways to fix them.

Check Path and Interpreter to Solve the bash: No such file or directory Error in Linux Bash

First, make sure you execute the program with the correct path. If you make a typo on the directory or file name, you will get this error or give the wrong path.

If you are executing the file with a relative path (../../file), try executing with the absolute path (/path/to/file) instead.

Another reason you might get this error could be that you are using the wrong interpreter. The first line in the code is called shebang (#!/bin/bash).

It tells the operating system which shell to use to parse the file. If the shebang is not specified correctly, your program will not run.

Make sure the program uses the proper interpreter.

Install Library Packages to Solve the bash: No such file or directory Error in Linux Bash

Missing libraries on your system can cause you to get the bash: No such file or directory error. Examine the file with the file command.

If the file is a 32-bit executable, you need some libraries to execute it on a 64-bit architecture OS. To solve this error in Ubuntu, add the i386 architecture with the dpkg command, then install the necessary libraries.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

Use the dos2unix Command to Solve the bash: No such file or directory Error in Linux Bash

Unix operating systems use line feed ("n") as the end of the line, but Windows operating systems use carriage return and line feed ("rn"). So if you try to execute a code written in Windows on Linux, you may get this error.

You must clear the carriage return characters to be able to execute the file.

The dos2unix command-line tool is a DOS to Unix text file format converter and vice versa. You can use the dos2unix tool to make your file Unix compatible.

Its usage is as follows.

The file will be converted to Unix format. You can now execute the file.

While we have explained the most common errors and solutions here, this error can have many code-related causes. You can solve this by choosing the solution that suits your application.

Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее.

Эта статья ориентирована в первую очередь на новичков, которые не знают, что делать когда их будут поджидать проблемы linux, мы дадим общую концепцию и попытаемся показать в какую сторону двигаться дальше. Мы рассмотрим исправление ошибок в linux как простых, так и более сложных. Но давайте сначала определим, какие проблемы linux будем рассматривать, разобьем их на категории:

  • Проблемы с командами в терминале
  • Проблемы с программами
  • Проблемы с драйверами и ядром
  • Проблемы с графической оболочкой
  • Проблемы с диском и файловой системой

Все это мы рассмотрим ниже, но сначала общее введение и немного теории.

Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.

Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:

  • Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
  • File or Directory does not exist — файл или каталог не существует
  • No such file or Directory — нет такого файла или каталога
  • Not Found — Не найдено, файл или ресурс не обнаружен
  • Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
  • is empty — означает, что папка или нужный файл пуст
  • Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
  • Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.

Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.

Проблемы с командами в терминале

Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.

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

Также довольно частой ошибкой при выполнении команд есть неиспользование команды sudo перед самой командой для предоставления ей прав суперпользователя. В таких случаях вы обычно получаете ошибку Permission Denied или просто уведомление, что не удалось открыть тот или иной файл или ресурс: can not open …, can not read … и так далее.

Если файла, которого вы передали в параметрах не существует, то вам будет об этом сказано соответствующим сообщением. Сообщения могут быть и более специфичные, в зависимости от ошибки, но в конце концов, вы можете воспользоваться переводчиком Google, чтобы понять смысл того, что хочет система.

Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.

Проблемы в программах

Если ни с того ни с сего закрывается или не так, как требуется работает, какая-нибудь графическая программа, решение проблем linux начинается из запуска ее через терминал. Для этого просто введите исполняемый файл программы и нажмите Enter. Обычно достаточно начать вводить имя программы с маленькой буквы и использовать автодополнение для завершения ввода названия.

В терминале программа, скорее всего, покажет почему она не работает. Также у многих программ поддерживается опция -v или —verbose. Вы можете попробовать использовать эту опцию, если первый запуск в терминале ничего не дал. Далее, когда уже есть сообщение об ошибке, вы можете попытаться исправить его сами, если поняли в чем дело или попытаться найти решение на формуме, скорее всего, другие пользователи уже решили вашу проблему. Но если нет, вы можете создать новую тему и описать там свою ошибку. Но без вывода программы в терминале вам вряд ли помогут.

Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле ~/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.

Также ошибки linux могут возникать не только в обычных программах но и в работающих в фоне сервисах.  Но их тоже можно решить, чтобы посмотреть сообщения, генерируемые сервисом, запущенным с помощью systemd, просто наберите команду просмотра состояния сервиса:

$ sudo systemctl status имя_сервиса

Дальше вы знаете, что делать с этой ошибкой, главное что у вас есть зацепка, а дальше все можно решить, ну или почти все.

Здесь, как и всегда большинство ошибок связано с тем, что что-то не установлено, какого-то файла нет или к чему-то невозможно получить доступ, тогда решение проблем linux не вызовет много забот.

Проблемы с драйверами и ядром

Проблемы с драйверами, модулями ядра или прошивками могут вызвать много неприятностей во время загрузки системы. Это может быть просто медленная загрузка системы, неработоспособность определенных устройств  неправильная работа видео или полная невозможность запустить графическую подсистему. Исправление ошибок Linux начинается с просмотра логов.

Вы можете посмотреть все сообщения ядра с момента начала загрузки, выполнив команду чтобы узнать какую linux выдает ошибку:

sudo dmesg

Чтобы иметь возможность удобно листать вывод можно выполнить:

sudo dmesg | less

Или сразу выбрать все ошибки:

sudo dmesg | grep error

Дальше будет очень просто понять какого драйвера не хватает, что система не может загрузить или что нужно установить. Если возникает ошибка ввода-вывода linux, то, скорее всего, драйвер несовместим с вашим устройством, в таком случае, может помочь обновление ядра, чтобы получить самую новую версию драйвера. В некоторых случаях ядро может само предложить вариант решения проблемы прямо в сообщении об ошибке вплоть до того какую команду выполнить или какой файл скачать. Если же нет, вы все еще можете воспользоваться поиском для решения своей проблемы linux.

Проблемы с графической оболочкой

Когда проблемы linux касаются графической оболочки, то решить их новичкам не так уж просто. Больше всего потому что доступен только терминал. Графическая оболочка может просто зависнуть или вовсе не запускаться, например, после обновления.

При проблемах с графической оболочкой вы можете всегда переключиться в режим терминала с помощью сочетания клавиш Ctrl+Alt+F1. Далее, вам нужно ввести логин и пароль, затем можете вводить команды терминала.

Посмотреть логи графической оболочки вы можете в том же файле ~/.xsession-erros.

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

Проблемы с диском и файловой системой

Самая частая проблема с диском у новичков — это переполнение диска. Если под диск выделить очень мало места, то он переполнится и система не сможет создавать даже временные файлы, а это приведет к тому что все если не зависнет, то, по крайней мере, не сможет нормально работать.

Если это случилось, вам, скорее всего, придется переключиться в режим терминала и удалить несколько файлов. Вы можете удалять файлы логов или кэша пакетного менеджера. Много файлов удалять не нужно, достаточно освободить несколько мегабайт, чтобы прекратились ошибки системы linux и нормально работала графическая оболочка, а затем уже в ней решать все проблемы linux.

Выводы

Теперь исправление ошибок Linux будет для вас немного проще. Ошибки системы linux довольно сложная тема и этой информации явно мало, если у вас остались вопросы или есть предложения по улучшению статьи пишите в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

20 / 20 / 4

Регистрация: 31.10.2010

Сообщений: 1,240

Записей в блоге: 2

1

03.09.2015, 06:14. Показов 33581. Ответов 6


Добрый день.
Установил на виртуальную машину Ubuntu 14.04. Следовал по мануалу. На шаге 6 не смог зайти в директорию /etc/apache2/sites-available/default . Консоль выдает ошибку «No such file or directory».
При этом я зашел в директорию /etc и командой dir убедился, что папка apache2 присутствует. Я попытался зайти в нее cd /apache2, консоль опять выдает «No such file or directory».
Пробовал cd ./apache2 и cd apache2, без толку.
Подскажите пожалуйста, в чем дело?
Спасибо.

Добавлено через 16 минут
Ubuntu 32bit

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Эксперт по компьютерным сетямЭксперт NIX

12384 / 7223 / 758

Регистрация: 09.09.2009

Сообщений: 28,185

03.09.2015, 09:14

2

/etc/apache2/sites-available/default

это не команда, это имя папки. запускать его бесполезно



0



20 / 20 / 4

Регистрация: 31.10.2010

Сообщений: 1,240

Записей в блоге: 2

03.09.2015, 09:16

 [ТС]

3

Dmitry, cd /etc/apache2/sites-available/default вот так.



0



Эксперт по компьютерным сетямЭксперт NIX

12384 / 7223 / 758

Регистрация: 09.09.2009

Сообщений: 28,185

03.09.2015, 09:47

4

расположение файлов конфигов было изменено, когда убунта в дистрибутив взяла апач версии 2.4.х вместо 2.2.х.
возможно причина в этом



0



20 / 20 / 4

Регистрация: 31.10.2010

Сообщений: 1,240

Записей в блоге: 2

03.09.2015, 09:52

 [ТС]

5

ZDmitry, я сам заходил в эту папку и видел, что она там. Я про папку apache2.



0



Эксперт по компьютерным сетямЭксперт NIX

12384 / 7223 / 758

Регистрация: 09.09.2009

Сообщений: 28,185

03.09.2015, 10:21

6

значит sudo добавьте в начало команды. папка эта доступна лишь администратору системы



0



Amet13

1362 / 1074 / 110

Регистрация: 16.03.2012

Сообщений: 4,547

03.09.2015, 12:58

7

Цитата
Сообщение от Костяныч
Посмотреть сообщение

Я попытался зайти в нее cd /apache2

Bash
1
cd ./apache2

Не нужно тупо перепечатывать команды в терминал.



1



49912:1163776537

Наверняка библиотеки какому-то бинарнику не хватает. Воспользуйтесь ldd, чтобы узнать, какому.

Если ты говоришь, что это скрипт, то сделай:

Там должно быть что-то вроде:

И вот этого «/usr/bin/shell» он, видимо, найти не может.

И вот этого «/usr/bin/shell» он, видимо, найти не может.

самый распространённый случай: виндовый перевод стоки (lfcr) в конце этой первой строки.

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

27654: 644875474

При обновлении Дебиана меняются пути к интерпретаторам? Если только ТС что-то своё устанавливал.

p

Тебя по фотографии не лечили никогда?

Может скрипт запускается, в процессе пытается запустить что-то не существующее и на этом завершает работу.

Всем спасибо, особенно xsectorx, за мысль о «file». До меня доперло лишь сейчас, что мой скрипт работает, а сам бинарник собран под старое ядро. Хотя ошибка «файл не существует» несколько не на те мысли наводит. Придется скачать/собрать новый ADB.

Уберите пробелы в названиях папок и файлов.

111506:869939704

сам бинарник собран под старое ядро. Хотя ошибка «файл не существует» несколько не на те мысли наводит.

ну а что ей писать, если нет нужного файла?

111506:869939704

Уберите пробелы в названиях папок и файлов.

Источник

Содержание

  1. «No such file or directory» error when executing a binary
  2. 8 Answers 8
  3. Not the answer you’re looking for? Browse other questions tagged linux or ask your own question.
  4. Linked
  5. Related
  6. Hot Network Questions
  7. Subscribe to RSS
  8. Try to run the following command
  9. Исправление ошибок Linux
  10. Решение проблем Linux
  11. Проблемы с командами в терминале
  12. Проблемы в программах
  13. Проблемы с драйверами и ядром
  14. Проблемы с графической оболочкой
  15. Проблемы с диском и файловой системой
  16. Выводы
  17. No such file or directory при выполнении элементарного скрипта
  18. 1 ответ 1
  19. Всё ещё ищете ответ? Посмотрите другие вопросы с метками ubuntu bash или задайте свой вопрос.
  20. Связанные
  21. Похожие
  22. Подписаться на ленту

«No such file or directory» error when executing a binary

I was installing a binary Linux application on Ubuntu 9.10 x86_64. The app shipped with an old version of gzip (1.2.4), that was compiled for a much older kernel:

I wasn’t able to execute this program. If I tried, this happened:

ldd was similarly unhappy with this binary:

I’m curious: What’s the most likely source of this problem? A corrupted file? Or a binary incompatibility due to being built for a much older ?

8 Answers 8

I was missing the /lib/ld-linux.so.2 file, which is needed to run 32-bit apps. The Ubuntu package that has this file is libc6-i386.

Old question, but hopefully this’ll help someone else.

In my case I was using a toolchain on Ubuntu 12.04 that was built on Ubuntu 10.04 (requires GCC 4.1 to build). As most of the libraries have moved to multiarch dirs, it couldn’t find ld.so. So, make a symlink for it.

Check required path:

If you’re on 32bit, it’ll be i386-linux-gnu and not x86_64-linux-gnu.

You get this error when you try to run a 32-bit build on your 64-bit Linux.

Also contrast what file had to say on the binary you tried (ie: 32-bit) with what you get for your /bin/gzip :

which is what I get on Ubuntu 9.10 for amd64 aka x86_64.

Edit: Your expanded post shows that as the readelf output also reflects a 32-bit build.

I think you’re x86-64 install does not have the i386 runtime linker. The ENOENT is probably due to the OS looking for something like /lib/ld.so.1 or similar. This is typically part of the 32-bit glibc runtime, and while I’m not directly familiar with Ubuntu, I would assume they have some sort of 32-bit compatibility package to install. Fortunately gzip only depends on the C library, so that’s probably all you’ll need to install.

0j3I9

I also had problems because my program interpreter was /lib/ld-linux.so.2 however it was on an embedded device, so I solved the problem by asking gcc to use ls-uClibc instead as follows:

Well another possible cause of this can be simple line break at end of each line and shebang line If you have been coding in windows IDE its possible that windows has added its own line break at the end of each line and when you try to run it on linux the line break cause problems

Not the answer you’re looking for? Browse other questions tagged linux or ask your own question.

Linked

Hot Network Questions

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.10.29.40598

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Здравствуйте, уважаемые. Скачал btsync (у меня arm, по ссылке Linux ARM тут), положил в /usr/bin и не могу запустить:

Как так и что с этим делать?

P.S. Тоже самое происходит, если переместить исполняемый файл, например, в домашний каталог.

P.S.S. Debian Jessie, вот такая железка.

99493: 213807979

chmod +x точно не поможет?

99493: 213807979

35131:302565968

apparmor, selinux, noexec?

69351: 600545653

такое бывает когда исполняемый файл например предназначенный для 32 битной архитектуры пытаются запустить в 64-битной системе

12963: 629122306

p

105962:959150243

В общем, похоже-таки несовместимость архитектур. Придётся пересобирать из исходников. Источник: http://otvety.google.ru/otvety/thread?tid=1e74bf1617bdb4b6

p

55099:150010057

p

Try to run the following command

I had the same issue on Cubieboard.

Try to run the following command:

p

На Debian 7.6.0 (Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux) столкнулся с той же проблемой. Для запуска 32-битного приложения может потребоваться пакет ia32-libs-i386. Дебиан по умолчанию не дает его установить из-за зависимостей. Решается таким образом:

Источник

Исправление ошибок Linux

Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее.

Эта статья ориентирована в первую очередь на новичков, которые не знают, что делать когда их будут поджидать проблемы linux, мы дадим общую концепцию и попытаемся показать в какую сторону двигаться дальше. Мы рассмотрим исправление ошибок в linux как простых, так и более сложных. Но давайте сначала определим, какие проблемы linux будем рассматривать, разобьем их на категории:

Все это мы рассмотрим ниже, но сначала общее введение и немного теории.

Решение проблем Linux

Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.

Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:

Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.

Проблемы с командами в терминале

Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.

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

Если файла, которого вы передали в параметрах не существует, то вам будет об этом сказано соответствующим сообщением. Сообщения могут быть и более специфичные, в зависимости от ошибки, но в конце концов, вы можете воспользоваться переводчиком Google, чтобы понять смысл того, что хочет система.

Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.

Проблемы в программах

Если ни с того ни с сего закрывается или не так, как требуется работает, какая-нибудь графическая программа, решение проблем linux начинается из запуска ее через терминал. Для этого просто введите исполняемый файл программы и нажмите Enter. Обычно достаточно начать вводить имя программы с маленькой буквы и использовать автодополнение для завершения ввода названия.

Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле

/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.

Также ошибки linux могут возникать не только в обычных программах но и в работающих в фоне сервисах. Но их тоже можно решить, чтобы посмотреть сообщения, генерируемые сервисом, запущенным с помощью systemd, просто наберите команду просмотра состояния сервиса:

$ sudo systemctl status имя_сервиса

Дальше вы знаете, что делать с этой ошибкой, главное что у вас есть зацепка, а дальше все можно решить, ну или почти все.

Здесь, как и всегда большинство ошибок связано с тем, что что-то не установлено, какого-то файла нет или к чему-то невозможно получить доступ, тогда решение проблем linux не вызовет много забот.

Проблемы с драйверами и ядром

Проблемы с драйверами, модулями ядра или прошивками могут вызвать много неприятностей во время загрузки системы. Это может быть просто медленная загрузка системы, неработоспособность определенных устройств неправильная работа видео или полная невозможность запустить графическую подсистему. Исправление ошибок Linux начинается с просмотра логов.

Вы можете посмотреть все сообщения ядра с момента начала загрузки, выполнив команду чтобы узнать какую linux выдает ошибку:

Чтобы иметь возможность удобно листать вывод можно выполнить:

Или сразу выбрать все ошибки:

sudo dmesg | grep error

Дальше будет очень просто понять какого драйвера не хватает, что система не может загрузить или что нужно установить. Если возникает ошибка ввода-вывода linux, то, скорее всего, драйвер несовместим с вашим устройством, в таком случае, может помочь обновление ядра, чтобы получить самую новую версию драйвера. В некоторых случаях ядро может само предложить вариант решения проблемы прямо в сообщении об ошибке вплоть до того какую команду выполнить или какой файл скачать. Если же нет, вы все еще можете воспользоваться поиском для решения своей проблемы linux.

Проблемы с графической оболочкой

Когда проблемы linux касаются графической оболочки, то решить их новичкам не так уж просто. Больше всего потому что доступен только терминал. Графическая оболочка может просто зависнуть или вовсе не запускаться, например, после обновления.

При проблемах с графической оболочкой вы можете всегда переключиться в режим терминала с помощью сочетания клавиш Ctrl+Alt+F1. Далее, вам нужно ввести логин и пароль, затем можете вводить команды терминала.

Посмотреть логи графической оболочки вы можете в том же файле

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

Проблемы с диском и файловой системой

Если это случилось, вам, скорее всего, придется переключиться в режим терминала и удалить несколько файлов. Вы можете удалять файлы логов или кэша пакетного менеджера. Много файлов удалять не нужно, достаточно освободить несколько мегабайт, чтобы прекратились ошибки системы linux и нормально работала графическая оболочка, а затем уже в ней решать все проблемы linux.

Выводы

Теперь исправление ошибок Linux будет для вас немного проще. Ошибки системы linux довольно сложная тема и этой информации явно мало, если у вас остались вопросы или есть предложения по улучшению статьи пишите в комментариях!

Источник

No such file or directory при выполнении элементарного скрипта

под root выполняю скрипт fs.sh, находящийся в /var/

Помогите разобраться, почему скриптом не могу попасть в каталог, а если в консоли набрать cd / то прекрасно перехожу.

photo

1 ответ 1

содержимое вашего скрипта:

видно, что строки оканчиваются двумя символами: rn (cr+lf).

а должны заканчиваться одним символом r (cr).

преобразовать файл можно, например, с помощью программы dos2unix (в популярных дистрибутивах операционной системы gnu/linux обычно входит в одноимённый пакет):

photo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками ubuntu bash или задайте свой вопрос.

Связанные

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.10.29.40598

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

cyberia

Кирилл Сидоров

@cyberia

Веб-разработчик, плавно перехожу в мобильные разра

Файл сушествует… но "No such file or directory"

Имеется файл, исполняемый бинарник (может ошибаюсь с определением, не профильным делом пришлось заниматься), находится в /usr/local/somedir/sbin. Смотрю ls -l — файл есть, но при попытке обратиться к файлу получаю «No such file or directory». Все действия под рутом, ОСь Debian 5 Lenny. Почему так может быть?


  • Вопрос задан

    более трёх лет назад

  • 142894 просмотра

Все оказалось намного проще — оказалась не та архитектура… Оказалось на VDS i686, хотя uname -a показывал x86_64…

Пригласить эксперта

Посмотри

ldd /usr/local/somedir/sbin/имяфайла.

Вполне возможно ему просто какой-нить .so библиотеки не хватает

А еще более вероятно, что файл начинается, например, так:

#!/usr/bin/someinterpreter

и вот этого someinterpreter в системе нет :-) Вот десять к одному что так и есть.

> Вполне возможно ему просто какой-нить .so библиотеки не хватает

Нет, на отсутствующую библиотеку другая ругань идет.

> Скорее всего, /usr/local/somedir/sbin не прописан в PATH

bash бы сказал:

[~]$ asdasd
bash: asdasd: command not found

Нечто подобное случалось со скриптом python:

$ ls -l
-rwxr-xr-x 1 bravebug users     386 Feb 21 00:40 myscript.py*
$ ./myscript.py 
: No such file or directory

Проблема была в типе переноса строки — он был Win (CRLF)

Скорее всего ему для работы требуется еще какой-нибудь файл.
Запустите strace /usr/local/somedir/sbin и посмотрите на вывод.

Ознакамливаюсь с Убунту , скачал последнюю версию и решил установить на нее Питон и к нему pay charm.
Выдает ошибку : bash: ./paycharm.sh: No such file or directory.
Вроде все есть ls -l распакованный файл. Не хочет запускать .


  • Показать ещё
    Загружается…

10 февр. 2023, в 00:54

2000 руб./в час

10 февр. 2023, в 00:15

1000 руб./в час

09 февр. 2023, в 22:06

500 руб./за проект

Минуточку внимания

Понравилась статья? Поделить с друзьями:
  • No such file or directory linux как исправить
  • No such file or directory arduino ошибка
  • No such element error no such element
  • No steam user gmod как исправить на пиратке
  • No steam logon portal 2 как исправить