почему команда ffmpeg выдает ошибку в терминале Ubuntu?

Я установил ffmpeg с помощью этой команды

sudo apt-get install ffmpeg

После установки я попробовал эту команду в терминале

ffmpeg

, но я получил сообщение об ошибке, подобное этому

root@client85-desktop:~# ffmpeg
bash: /usr/local/bin/ffmpeg: cannot execute binary file
[ 116] Как я могу решить эту проблему?

4
задан 15.04.2020, 17:49

2 ответа

Путь /usr/local/bin/ указывает, что вы установили пользовательскую версию ffmpeg. Версия, которую вы установили с apt-get install, расположена в /usr/bin/ (без «локальной» части). Чтобы выполнить установленную версию apt-get, запустите

/usr/bin/ffmpeg

. Вы можете удалить /usr/local/bin/ffmpeg или пометить его как неустранимый с помощью sudo chmod -x /usr/local/bin/ffmpeg. Запустите hash -r, чтобы изменения вступили в силу в текущей оболочке. Выйдите из системы и войдите снова, чтобы изменения вступили в силу для каждого графического приложения.

Как только /usr/local/bin/ffmpeg будет обработан одним из вышеупомянутых методов, простой вызов ffmepg по умолчанию вызовет [118].

Редактировать Добавлена ​​информация от @Ramchandra_Apte о том, как это сделать без полной перезагрузки.

4
ответ дан 15.04.2020, 17:49
1113 Да, здесь что-то не так. Если вы устанавливаете ffmpeg, его двоичный файл устанавливается в /usr/bin/ffmpeg, а не в /usr/local/bin/ffmpeg.

Итак, первое предположение, которое я должен сделать, это либо:

  • Вы установили нестандартный пакет ffmpeg
  • Что-то еще включало странный локальный и сломанный копия ffmpeg по некоторым причинам.

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

Теперь давайте посмотрим, есть ли пакет, связанный с этой /usr/local/bin/ffmpeg версией

dpkg -S /usr/local/bin/ffmpeg

, который либо сообщит вам, что ничего не нашел, либо скажет, из какого пакета он пришел. Если есть пакет, sudo dpkg -r <package name> и попробуйте ffmpeg снова.

Если нет пакета, вы остаетесь в незавидном месте, и вам необходимо вручную удалить его. Если вы построили это из исходного кода, вы можете перейти в исходный каталог и запустить sudo make uninstall. Если вы по-прежнему утверждаете, что не знаете, откуда это взялось, вы можете попробовать sudo rm /usr/local/bin/ffmpeg, но я не могу сказать, какое влияние это может оказать на другие приложения, если это то, что они сделали.

2
ответ дан 15.04.2020, 17:50

Теги

Похожие вопросы