Ffmpegをグローバルにインストールし、dpkg -r
コマンドで削除できるようにするために、ソースからffmpeg
をコンパイルし、deb
パッケージを作成しようとしています。
これが私のコマンドです。
# 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
にあると想定しています。これは、チュートリアルを適切に実行した場合になります。
または、ffmpeg
を設定するときに--prefix="$HOME/ffmpeg_build"
と--bindir="$HOME/bin"
を削除し、PATH="$HOME/bin:$PATH" make
を実行し、インストールする場合は質問からcheckinstall
コマンドを最後に実行します。 ffplay
バイナリだけでなく、その他すべて(ライブラリ、ドキュメント、ffprobe
、ffmpeg
)も同様です。
それは私のために働いた、私はgit 2.18のdebパッケージを作成していた
コマンド:
cd git_2.18.1(tar抽出されたフォルダー)./configure --bindir =/usr/local/bin && make Sudo checkinstall
パッケージgit_2.18.1-1_AMD64.debが作成されました。インストールパスは/ usr/local/binです。