第3章 パッケージとパッチ
3.1. はじめに
ソースフォルダを作成しフォルダの権限を変更
root@SL510:~# mkdir -v $LFS/sources
mkdir: ディレクトリ '/mnt/lfs/sources' を作成しました
root@SL510:~# chmod -v a+wt $LFS/sources
'/mnt/lfs/sources' のモードを 0755 (rwxr-xr-x) から 1777 (rwxrwxrwt) へ変更しました
chmodの+「t」はスティッキービット、3桁のアクセス県表記に1000を加える。
LFSの説明は
「スティッキー (Sticky) 」は複数ユーザーに対して書き込み権限が与えられても、削除については所有者しか実行出来ないようにします。
パッケージリスト「wget-list」MD5チェックサム「md5sums」をwgetにて取得
root@SL510:~# wget http://lfsbookja.osdn.jp/10.0-sysdja/wget-list
root@SL510:~# wget http://lfsbookja.osdn.jp/10.0-sysdja/md5sums
ダウンロードミラーを書き換える処理をして
cat > wl.sed << "EOF"
s|ftp\.gnu\.org/gnu/|ftp.riken.jp/GNU/|g
s|https://www\.kernel\.org/pub/linux/|http://ftp.riken.jp/Linux/kernel.org/linux/|g
s|www\.cpan\.org|ftp.riken.jp/lang/CPAN|g
s|ftp\.vim\.org|ftp.jp.vim.org|g
EOF
sed -f wl.sed -i.orig wget-list
ダウンロード
wget -N --input-file=wget-list --continue --directory-prefix=$LFS/sources
5分ぐらいでしかもリンク切れとかなしでダウンロード完了してしまったが…
(しかもパッチもダウンロードしてたとは)
チェックサムをチェック
root@SL510:~# cd $LFS/sources
root@SL510:/mnt/lfs/sources# md5sum -c md5sums
acl-2.2.53.tar.gz: OK
attr-2.4.48.tar.gz: OK
autoconf-2.69.tar.xz: OK
automake-1.16.2.tar.xz: OK
bash-5.0.tar.gz: OK
bc-3.1.5.tar.xz: OK
binutils-2.35.tar.xz: OK
bison-3.7.1.tar.xz: OK
bzip2-1.0.8.tar.gz: OK
check-0.15.2.tar.gz: OK
coreutils-8.32.tar.xz: OK
dbus-1.12.20.tar.gz: OK
dejagnu-1.6.2.tar.gz: OK
diffutils-3.7.tar.xz: OK
e2fsprogs-1.45.6.tar.gz: OK
elfutils-0.180.tar.bz2: OK
expat-2.2.9.tar.xz: OK
expect5.45.4.tar.gz: OK
file-5.39.tar.gz: OK
findutils-4.7.0.tar.xz: OK
flex-2.6.4.tar.gz: OK
gawk-5.1.0.tar.xz: OK
gcc-10.2.0.tar.xz: OK
gdbm-1.18.1.tar.gz: OK
gettext-0.21.tar.xz: OK
glibc-2.32.tar.xz: OK
gmp-6.2.0.tar.xz: OK
gperf-3.1.tar.gz: OK
grep-3.4.tar.xz: OK
groff-1.22.4.tar.gz: OK
grub-2.04.tar.xz: OK
gzip-1.10.tar.xz: OK
iana-etc-20200821.tar.gz: OK
inetutils-1.9.4.tar.xz: OK
intltool-0.51.0.tar.gz: OK
iproute2-5.8.0.tar.xz: OK
kbd-2.3.0.tar.xz: OK
kmod-27.tar.xz: OK
less-551.tar.gz: OK
libcap-2.42.tar.xz: OK
libffi-3.3.tar.gz: OK
libpipeline-1.5.3.tar.gz: OK
libtool-2.4.6.tar.xz: OK
linux-5.8.3.tar.xz: OK
m4-1.4.18.tar.xz: OK
make-4.3.tar.gz: OK
man-db-2.9.3.tar.xz: OK
man-pages-5.08.tar.xz: OK
meson-0.55.0.tar.gz: OK
mpc-1.1.0.tar.gz: OK
mpfr-4.1.0.tar.xz: OK
ncurses-6.2.tar.gz: OK
ninja-1.10.0.tar.gz: OK
openssl-1.1.1g.tar.gz: OK
patch-2.7.6.tar.xz: OK
perl-5.32.0.tar.xz: OK
pkg-config-0.29.2.tar.gz: OK
procps-ng-3.3.16.tar.xz: OK
psmisc-23.3.tar.xz: OK
Python-3.8.5.tar.xz: OK
python-3.8.5-docs-html.tar.bz2: OK
readline-8.0.tar.gz: OK
sed-4.8.tar.xz: OK
shadow-4.8.1.tar.xz: OK
systemd-246.tar.gz: OK
systemd-man-pages-246.tar.xz: OK
tar-1.32.tar.xz: OK
tcl8.6.10-src.tar.gz: OK
tcl8.6.10-html.tar.gz: OK
texinfo-6.7.tar.xz: OK
tzdata2020a.tar.gz: OK
util-linux-2.36.tar.xz: OK
vim-8.2.1361.tar.gz: OK
XML-Parser-2.46.tar.gz: OK
xz-5.2.5.tar.xz: OK
zlib-1.2.11.tar.xz: OK
zstd-1.4.5.tar.gz: OK
bash-5.0-upstream_fixes-1.patch: OK
bzip2-1.0.8-install_docs-1.patch: OK
coreutils-8.32-i18n-1.patch: OK
glibc-2.32-fhs-1.patch: OK
kbd-2.3.0-backspace-1.patch: OK
全てOK
sedの「s|ftp.gnu.org/gnu/|ftp.riken.jp/GNU/|g」変換「|」だけど
区切りでちゃんとしてれば何でもいいらしい
つまり「s@ftp.gnu.org/gnu/@ftp.riken.jp/GNU/@g」でも
動作はするけど特に説明なしだったし、知らなかったから戸惑ったよ。
大したことしてないんだが知らないことが多すぎる。
調べる
sed
pushd
popd
md5sum