bashbug
bashbug β ΡΠΊΡΠΈΠΏΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ bash Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
sh
sh β ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π½Π° bash. ΠΡΠ΄ΡΡΠΈ Π²ΡΠ·Π²Π°Π½Π½ΡΠΌ ΠΊΠ°ΠΊ sh, bash ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ sh Π΄Π»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ POSIX.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Bash
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.05a.
Bash: bash, sh Binutils: ar, as, ld, ranlib, size Diffutils: cmp Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Gawk: awk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Texinfo: install-info Textutils: cat, tr, uniq
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Binutils-2.13
ΠΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: 2.05 SBU ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: 160 MB
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Binutils
ΠΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ²ΠΎΠΈΠΌ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠΏΡΠΈΠΈ -march ΠΈ -mcpu). Binutils ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π΄Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CFLAGS ΠΈΠ»ΠΈ CXXFLAGS, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ±ΡΠ°ΡΡ ΠΈΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° binutils. ΠΠ·ΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ binutils, Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΠ΅ Π½Π° ΡΠ²ΠΎΠΉ ΡΡΡΠ°Ρ ΠΈ ΡΠΈΡΠΊ.
ΠΠ»Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Binutils Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
mkdir ../binutils-build && cd ../binutils-build && ../binutils-2.13/configure βprefix=$LFS/static βdisable-nls && make LDFLAGS=-all-static && make install
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄
mkdir ../binutils-build: Π ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Binutils ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ². ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ binutils-build ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ· Π½Π΅Π΅.
βdisable-nls: ΠΡΠ° ΠΎΠΏΡΠΈΡ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΠΈΠ»ΠΈ i18n), ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π½ΡΠΆΠ½Π° Π½Π°ΠΌ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Ρ.ΠΊ. ΡΠ°ΡΡΠΎ Π΄Π°Π΅Ρ ΡΠ±ΠΎΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ.
LDFLAGS=-all-static: ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ LDFLAGS Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -all-static Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Binutils
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.12.1.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip
ΠΠΏΠΈΡΠ°Π½ΠΈΡ
addr2line
addr2line ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π² ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ. Given an address and an executable, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄Π°Π½Π½ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ.
ar
ar ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π°ΡΡ ΠΈΠ²Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ. ΠΡΡ ΠΈΠ² β ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π²ΠΈΠ΄Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π».
as
as ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° the GNU C Compiler, gcc Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π»ΠΈΠ½ΠΊΠ΅ΡΠΎΠΌ ld.
gasp
gasp β Assembler Macro Preprocessor.
gprof
gprof ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ld
ld ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΈ Π°ΡΡ ΠΈΠ²Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π·Π°ΠΏΡΡΠΊ ld.
nm
nm ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
objcopy
objcopy utility ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² Π΄ΡΡΠ³ΠΎΠΉ. objcopy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GNU BFD Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΌ ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.
objdump
objdump Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ . ΠΠΏΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ranlib
ranlib Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π° ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² Π°ΡΡ ΠΈΠ²Π΅. Π‘ΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅Π½Π°ΠΌΠΈ Π°ΡΡ ΠΈΠ²Π°, that is a relocatable object file.
readelf
readelf Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΡΠΈΠΏΠ° elf.
size
size Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ΅ΠΊΡΠΈΠΉ βΠΈ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρβ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π°ΡΡ ΠΈΠ²Π΅.
strings
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° strings Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 4 Π·Π½Π°ΠΊΠ° (ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ), Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°.
strings Π·Π°ΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π½Π΅ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
strip
strip ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π°ΡΡ ΠΈΠ²Ρ. ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
libbfd.[a,so] ΠΈ libopcodes.[a,so]
ΠΠΏΠΈΡΠ°Π½ΠΈΡ
libbfd
libbfd β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Binary File Descriptor.
libopcodes
libopcodes β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠΏΠΊΠΎΠ΄Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΡΡΠΈΠ»ΠΈΡ Π²ΡΠΎΠ΄Π΅ objdump. ΠΠΏΠΊΠΎΠ΄Ρ β Β«ΡΠΈΡΠ°Π΅ΠΌΡΠ΅Β» Π²Π΅ΡΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Binutils
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.11.2.
Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, nm, ranlib, strip Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, rmdir, touch Flex: flex Gcc: cc, cc1, collect2, cpp0, gcc Glibc: ldconfig Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, true, uname Texinfo: install-info, makeinfo Textutils: cat, sort, tr, uniq
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Bzip2-1.0.2
ΠΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: 0.07 SBU ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: 6 MB
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Bzip2
ΠΠ»Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Bzip2 Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
make CC="gcc -static" && make PREFIX=$LFS/static install
Π‘ΡΠΎΠΈΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠ°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Tar, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΅ΠΉ Π±Π΅Π· ΡΡΡΠ΄Π° Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ bzip2/bunzip2. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ LFS. Π‘ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ tar, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ bzip2/bunzip2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΠΈΠ΄Π° bzcat file.tar.bz | tar -xv ΠΈΠ»ΠΈ tar βuse-compress-prog=bunzip2 -xvf file.tar.bz2. ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΠΏΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΈ -j, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ² bzip2 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ tar -xvfj file.tar.bz2. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ Π΄Π°Π»Π΅Π΅, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Tar.
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄
make CC="gcc -static": Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ gcc, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ bzip2 Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Bzip2
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 1.0.2
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
bunzip2 (ΡΡΡΠ»ΠΊΠ° Π½Π° bzip2), bzcat (ΡΡΡΠ»ΠΊΠ° Π½Π° bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless ΠΈ bzmore
ΠΠΏΠΈΡΠ°Π½ΠΈΡ
bunzip2
bunzip2 ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, ΡΠΆΠ°ΡΡΠ΅ bzip2.
bzcat
bzcat (ΠΈΠ»ΠΈ bzip2 -dc) ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄.
bzcmp, bzdiff
bzcmp ΠΈ bzdiff ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ cmp ΠΈ diff Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΆΠ°ΡΡΡ bzip2.
bzegrep, bzfgrep, bzgrep
bzegrep, bzfgrep, ΠΈ bzgrep ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ egrep, fgrep, or grep Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΆΠ°ΡΡΡ bzip2.
bzip2
bzip2 ΡΠΆΠΈΠΌΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Burrows-Wheeler block sorting Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΊΠΎΠ΄ Huffman. Π‘ΠΆΠ°ΡΠΈΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ: Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΠΌΠΎΠ΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π½Π° LZ77/LZ78, ΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ PPM ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡΠΎΠ².
bzip2recover
bzip2recover Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² bzip2.
bzless
bzless β ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ less ΡΠΈΠ»ΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΡΠΊΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠΆΠ°ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².