Я пытаюсь скомпилировать ffmpeg
из источников и создают deb
пакет, чтобы установить ffmpeg глобально и позволить удалить его с dpkg -r
команда.
Вот мои команды.
# Installing FFmpeg
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
PATH="$HOME/bin:$PATH" make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
hash -r
Все компилирует успешно, deb пакеты создаются, но когда я пытаюсь использовать ffmpeg
Я добираюсь
ffmpeg: command not found
Таким образом, это означает это ffmpeg
все еще установленный в $PATH
каталоги.
Что не так с моими командами?
Учебное руководство, которое Вы упомянули, не использует checkinstall
потому что ничто не установлено на системе: это "локально устанавливает" скомпилированные двоичные файлы в ~/bin
каталог пользователя, выполняющего компиляцию. Это делает это по ряду причин: избегает сложностей системы управления пакета, старается не смешивать с системными каталогами, делает обновление скомпилированным ffmpeg
легче, для общих пользователей сервера это избегает корня/суперпользователя (предполагающий, что зависимости доступны), и избегает конфликтов с ffmpeg пакетом в официальном репозитории.
Некоторые методы для создания скомпилированного ffmpeg
глобально исполняемый для всех пользователей:
/usr/local/bin
Это легко:
sudo mv ~/bin/{ffmpeg,ffprobe,ffplay} /usr/local/bin
Оборотная сторона - то, что это не будет интегрировано в систему управления пакета, но это не должно быть грандиозным предприятием начиная с отмены, это просто.
"Удалять":
sudo rm /usr/local/bin/{ffmpeg,ffprobe,ffplay}
checkinstall
Если Вы хотите использовать checkinstall
устанавливать скомпилированный ffmpeg
двоичный файл для интеграции в систему управления пакета, и таким образом, любой пользователь может выполнить его:
cd ~/bin
sudo checkinstall --pkgname=ffmpeg --pkgversion="8:$(date +%Y%m%d%H%M)-git" --default install -Dm755 ffmpeg /usr/local/bin/ffmpeg
Это принимает ffmpeg
двоичный файл находится в ~/bin
которым это будет, если Вы правильно следовали учебному руководству.
С другой стороны, Вы могли удалить --prefix="$HOME/ffmpeg_build"
и --bindir="$HOME/bin"
при конфигурировании ffmpeg
, затем выполненный PATH="$HOME/bin:$PATH" make
, и наконец выполненный Ваш checkinstall
управляйте от своего вопроса, если Вы хотите установить все остальное (библиотеки, документация, ffplay
, ffprobe
) также вместо просто ffmpeg
двоичный файл.
Это работало на меня, я создавал deb пакет для мерзавца 2.18
команды:
CD git_2.18.1 (tar извлек папку)./настраивать - bindir =/usr/local/bin && делает sudo checkinstall
Пакет git_2.18.1-1_amd64.deb был создан, кто путь установки,/usr/local/bin