6.58.1. Installation von Findutils
Unterdrücken Sie zunächst einen Test, der auf manchen Maschinen eine Endlosschleife verursachen kann:
sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in
sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in
Nehmen Sie als Nächstes einige Korrekturen vor, die für Glibc-2.28 und höher erforderlich sind:
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c
sed -i '/unistd/a #include ' gl/lib/mountlist.c echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c
sed -i '/unistd/a #include ' gl/lib/mountlist.c echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h
Bereiten Sie Findutils für die Kompilierung vor:
./configure --prefix=/usr --localstatedir=/var/lib/locate
./configure --prefix=/usr --localstatedir=/var/lib/locate
Die Bedeutung der Konfigurationsoptionen:
--localstatedir
Diese Option ändert den Speicherort des lokalisieren Datenbank, in der es sich befinden soll /var/lib/locate, das FHS-konform ist.
Stellen Sie das Paket zusammen:
um
um
Um die Ergebnisse zu testen, geben Sie Folgendes aus:
Scheck machen
Scheck machen
Installieren Sie das Paket:
make install
make install
Einige der Skripte im LFS-Bootscripts-Paket hängen davon ab gefunden. Die / usr Da das Programm in den frühen Phasen des Bootvorgangs möglicherweise nicht verfügbar ist, muss es sich auf der Root-Partition befinden. Der aktualisiertb Das Skript muss außerdem geändert werden, um einen expliziten Pfad zu korrigieren:
mv -v /usr/bin/find /bin
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb
mv -v /usr/bin/find /bin
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb