Linux Kernel Source Code Analysis and Package Management
Linuxカーネル ソースコードを読み解く
途中からmacdown + dropboxに変更
systemctl list-unit-files
コマンドのパッケージ名を調べる
rpm -qif $(which コマンド名)
dnf info $(which コマンド名)
RPMはソースコードを含まない形式である。ソースコードが欲しければSRPM形式が必要。ただし、SRPMもRPMもバイナリ形式のデータである。
これらを展開するには
- rpmコマンドでインストールする
- rpm2cpioコマンドで展開する
試してみる。ダウンロードする。
wget https://li.nux.ro/download/nux/dextop/el7/SRPMS/vlc-2.2.4-1.el7.nux.src.rpm
rpm -ivh vlc-2.2.4-1.el7.nux.src.rpm
$ ls rpmbuild/
SOURCES SPECS
別の方法
rpm2cpio ../vlc-2.2.4-1.el7.nux.src.rpm | cpio -id
$ ls extract_rpmsrc/
vlc-2.2.4.tar.xz vlc.spec
memo: roff, groff // LinuxのManページの整形に使われる
パッケージにおいて重要なファイル spec
net-toolsのsrc.rpmをダウンロードして展開した中に含まれているspecファイルを実際に見てみる。
vim net-tools.spec
内部ではコンパイル(make), コピー, パッチ当てなどの処理が行われいていた。特にパッチは当てる順番を間違えるだけでもアウトになる。