書式
dpkg-name [option...] [--] file...説明
このマニュアルページでは、dpkg-name シェルスクリプトについて説明する。これは、Debian パッケージを完全パッケージ名に、簡単に変更する方法を提供する。完全パッケージ名とは、パッケージの control ファイルで指定された package_version_architecture.package-type という形式である。ファイル名の version 部分は、アップストリームのバージョン情報に続き、オプションでハイフンおよびリビジョン情報が続いたものである。package-type 部分は、Package-Type フィールドが設定されていればその内容が用いられる。デフォルトは deb である。
オプション
- -a, --no-architecture
- リネーム後のファイル名にアーキテクチャ情報を含めない。
- -k, --symlink
- ファイル名のリネーム処理として、ファイルを移動する代わりにシンボリックリンクを作成する。
- -o, --overwrite
- リネーム後のファイル名と同名のファイルがあれば、上書きする。
- -s, --subdir [dir]
- Files will be moved into a subdirectory. If the directory given as argument exists the files will be moved into that directory otherwise the name of the target directory is extracted from the section field in the control part of the package. The target directory will be «unstable/binary-architecture/section». If the section is not found in the control, then no-section is assumed, and in this case, as well as for sections non-free and contrib the target directory is «section/binary-architecture». The section field is not required so a lot of packages will find their way to the no-section area. Use this option with care, it's messy.
- -c, --create-dir
- This option can used together with the -s option. If a target directory isn't found it will be created automatically. Use this option with care.
- -?, --help
- 利用方法を表示して終了する。
- -v, --version
- バージョン情報を表示して終了する。
バグ
Some packages don't follow the name structure package_version_architecture.deb. Packages renamed by dpkg-name will follow this structure. Generally this will have no impact on how packages are installed by dselect(1)/dpkg(1), but other installation tools might depend on this naming structure.例
- dpkg-name bar-foo.deb
- The file bar-foo.deb will be renamed to bar-foo_1.0-2_i386.deb or something similar (depending on whatever information is in the control part of bar-foo.deb).
- find /root/debian/ -name '*.deb' | xargs -n 1 dpkg-name -a
- All files with the extension deb in the directory /root/debian and its subdirectory's will be renamed by dpkg-name if required into names with no architecture information.
- find -name '*.deb' | xargs -n 1 dpkg-name -a -o -s -c
- やってはいけない! 多くのパッケージはセクション情報をもっていないので、アーカイブがぐちゃぐちゃになってしまうだろう。やってはいけない!
- dpkg-deb --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb
- これは新しいパッケージを作る時に使うことができる。