6.54. Coreutils-8.31

Coreutils pakken inneholder verktøy for å vise og sette de grunnleggende systemegenskapene.

 

Omtrentlig byggetid: 2.3 SBU

Nødvendig diskplass: 202 MB

6.54.1. Installasjon av Coreutils

POSIX krever at programmer fra Coreutils gjenkjenner tegn grenser riktig selv i multibytes lokasjoner. Følgende oppdatering løser denne feilen og andre internasjonaliseringsrelaterte feil.

patch -Np1 -i ../coreutils-8.31-i18n-1.patch

I det siste ble det funnet mange feil i denne oppdateringen. Når du rapporterer nye feil til Coreutils vedlikeholdere, må du først sjekke om de er reproduserbare uten denne oppdateringen.

Hindre en test som på noen maskiner kan sløyfe for alltid:

sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk

Forbered nå Coreutils for kompilering:

autoreconf -fiv
FORCE_UNSAFE_CONFIGURE=1 ./configure \
                          --prefix=/usr \
                          --enable-no-install-program=kill,uptime

Betydningen av konfigurasjonsalternativene:

autoreconf
   Denne kommandoen oppdaterer genererte konfigurasjonsfiler i samsvar med den siste versjonen av automake.

FORCE_UNSAFE_CONFIGURE=1
   Denne miljøvariabelen gjør at pakken kan bygges som root bruker.

--enable-no-install-program=kill,uptime
   Formålet med denne bryteren er å forhindre at Coreutils installerer binære filer som vil bli installert av andre pakker senere.

Kompiler pakken:

make

Hopp ned til “Installer pakken” hvis du ikke kjører testpakken.

Nå er testsuiten klar til å kjøres. Kjør først testene som er ment å kjøres som bruker root:

make NON_ROOT_USERNAME=nobody check-root

Vi kommer til å kjøre resten av testene som bruker nobody. Enkelte tester krever imidlertid at brukeren er medlem av mer enn en gruppe. Sånn at disse testene ikke blir hoppet over, legger vi til en midlertidig gruppe og gjør brukeren nobody til medlem av den:

echo "dummy:x:1000:nobody" >> /etc/group

Fikser noen av tillatelsene slik at ikke-root-brukeren kan kompilere og kjøre testene:

chown -Rv nobody .

Nå kjør testene. Forsikre deg om at STIEN i su miljøet inkluderer /tools/bin.

su nobody -s /bin/bash \
                   -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"

Testprogrammet test-getlogin er kjent for å mislykkes i et delvis bygget systemmiljø som chroot-miljøet her, men passerer hvis det kjøres på slutten av dette kapitlet. Testprogrammet tty.sh er også kjent for å mislykkes.

Fjern den midlertidige gruppen:

sed -i '/dummy/d' /etc/group

Installer pakken:

make install

Flytt programmer til stedene som er spesifisert av FHS:

mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
mv -v /usr/bin/chroot /usr/sbin
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8

Noen av skriptene i LFS-Bootscripts-pakken er avhengig av head, nice, sleep, og touch. Ettersom /usr kanskje ikke er tilgjengelig i de tidlige og sene stadiene av oppstart, må disse binærene være på root partisjonen for å opprettholde FHS samsvar:

mv -v /usr/bin/{head,nice,sleep,touch} /bin

6.54.2. Innholdet i Coreutils

Installerte programmer: [, b2sum, base32, base64, basename, basenc, cat, chcon, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, og yes

Installerte biblioteker: libstdbuf.so (i /usr/libexec/coreutils)

Installerte mapper: /usr/libexec/coreutils

 

Kort beskrivelse

base32 - Koder og avkoder data i henhold til base32 spesifikasjonen (RFC 4648)

base64 - Koder og avkoder data i henhold til base64 spesifikasjonen (RFC 4648)

b2sum - Skriver ut eller sjekker BLAKE2 (512-bit) sjekksum

basename - Stripper hvilken som helst bane og en gitt endelse fra et filnavn

basenc - Koder eller avkoder data ved hjelp av forskjellige algoritmer

cat - Sammenføyer filer til standardutgang

chcon - Endrer sikkerhetskontekst for filer og kataloger

chgrp - Endrer gruppeeierskap til filer og kataloger

chmod - Endrer tillatelsene til hver fil til den gitte modusen; modusen kan være en symbolsk fremstilling av endringene som skal gjøres, eller et oktalt tall som representerer de nye tillatelsene

chown - Endrer bruker- og/eller gruppeeierskap til filer og kataloger

chroot - Kjører en kommando med den spesifiserte katalogen som / directory

cksum - Skriver ut kontrollsum for Cyclic Redundancy Check (CRC) og byte tellingene for hver spesifisert fil

comm - Sammenligner to sorterte filer, skriver ut i tre kolonner linjene som er unike og linjene som er vanlige

cp - Kopierer filer

csplit - Deler en gitt fil inn i flere nye filer, skiller dem i henhold til gitte mønstre eller linjenumre og legger ut byte tellingen for hver ny fil

cut - Skriver ut seksjonslinjer og velger deler i henhold til gitte felt eller posisjoner

date - Viser gjeldende tid i det gitte formatet, eller angir systemdatoen

dd - Kopierer en fil ved å bruke den angitte blokkstørrelsen og tellingen, mens du eventuelt utfører konverteringer på den

df - Rapporterer hvor mye diskplass som er tilgjengelig (og brukt) på alle monterte filsystemer, eller bare på filsystemene som har de valgte filene

dir - Viser innholdet i hver gitt katalog (det samme som ls kommandoen)

dircolors - Utgir kommandoer for å stille inn miljøvariabelen LS_COLOR for å endre fargeskjemaet som brukes av ls

dirname - Stripper ikke-mappe endelse fra et filnavn

du - Rapporterer hvor mye diskplass som brukes av den gjeldende mappen, av hvert av de gitte mappene (inkludert alle undermapper) eller av hver av de gitte filene

echo - Viser de oppgitte strengene

env - Kjører en kommando i et modifisert miljø

expand - Konverterer tabulator til mellomrom

expr - Evaluerer uttrykk

factor - Skriver ut primfaktorene for alle spesifiserte heltallstall

false - Gjør ingenting, uten hell; den kommer alltid ut med en statuskode som indikerer feil

fmt - Omformaterer avsnittene i de gitte filene

fold - Pakker inn linjene i de gitte filene

groups - Rapporterer en brukers gruppemedlemskap

head - Skriver ut de første ti linjene (eller det gitte antall linjer) for hver gitt fil

hostid - Rapporterer den numeriske identifikatoren (i heksadesimal) for verten

id - Rapporterer effektiv bruker-ID, gruppe-ID og gruppemedlemskap for den nåværende brukeren eller den spesifiserte brukeren

install - Kopierer filer mens du stiller inn tillatelsesmodus og om mulig eier og gruppe

join - Skjøter sammen linjene som har identiske sammenkoblingsfelt fra to separate filer

link - Oppretter en hard lenke med det gitte navnet til en fil

ln - Lager harde lenker eller myke (symbolske) koblinger mellom filer

logname - Rapporter den gjeldende brukerens påloggingsnavn

ls - Viser innholdet i hver gitt mappe

md5sum - Rapporter eller sjekker meldingssum for Message Digest 5 (MD5)

mkdir - Oppretter mapper med de gitte navnene

mkfifo - Oppretter First-In, First-Outs (FIFOs), et "navngitt rør" i UNIX parlance, med de gitte navnene

mknod - Oppretter enhetsnoder med de gitte navnene; en enhetsnode er en spesiell tegnsfil, en spesiell blokkeringsfil eller en FIFO

mktemp - Oppretter midlertidige filer på en sikker måte; det brukes i skript

mv - Flytter eller gir nytt navn til filer eller mapper

nice - Kjører et program med endret planleggingsprioritet

nl - Teller linjene fra de gitte filene

nohup - Kjører en kommando som er immun mot hangups, og utgangen blir omdirigert til en loggfil

nproc - Skriver ut antall behandlingsenheter som er tilgjengelige for en prosess

numfmt - Konverterer tall til eller fra menneskelige lesbare strenger

od - Dumper filer i oktale og andre formater

paste - Slår sammen de gitte filene, og sammenføyer sekvensielt korresponderende linjer side om side, atskilt av tabulatortegn

pathchk - Sjekker om filnavn er gyldige eller flyttbare

pinky - Er en lett fingerklient; den rapporterer litt informasjon om de gitte brukerne

pr - Paginerer og kolonnerer filer for utskrift

printenv - Skriver ut miljøet

printf - Skriver ut de gitte argumentene i henhold til det gitte formatet, omtrent som C printf funksjonen

ptx - Produserer en permutert indeks fra innholdet i de gitte filene, med hvert nøkkelord i sin sammenheng

pwd - Rapporterer navnet på den gjeldende arbeids mappen

readlink - Rapporterer verdien til den gitte symbolkoblingen

realpath - Skriver ut den løste banen

rm - Sletter filer eller kataloger

rmdir - Sletter mapper hvis de er tomme

runcon - Kjører en kommando med spesifisert sikkerhetskontekst

seq - Skriver ut en sekvens med tall innenfor et gitt område og med et gitt trinn

sha1sum - Skriver ut eller sjekker 160-biters Secure Hash Algoritm 1 (SHA1) sjekksummer

sha224sum - Skriver ut eller sjekker 224 biters sjekksummer for Secure Hash Algorithm

sha256sum - Skriver ut eller sjekker 256 biters sjekksummer for Secure Hash Algorithm

sha384sum - Skriver ut eller sjekker 384 biters sjekksummer for Secure Hash Algorithm

sha512sum - Skriver ut eller sjekker 512 biters sjekksummer for Secure Hash Algorithm

shred - Overskriver de gitte filene gjentatte ganger med komplekse mønstre, noe som gjør det vanskelig å gjenopprette dataene

shuf - Blander tekstlinjer

sleep - Pauser i den angitte tiden

sort - Sorterer linjene fra de gitte filene

split - Deler den gitte filen opp i deler, etter størrelse eller antall linjer

stat - Viser fil- eller filsystemstatus

stdbuf - Kjører kommandoer med endrede bufferoperasjoner for standardstrømmer

stty - Angir eller rapporterer terminallinjeinnstillinger

sum - Skriver ut kontrollsum og blokkteller for hver gitt fil

sync - Spyler filsystembuffere; det tvinger endrede blokker til disk og oppdaterer superblokken

tac - Sammenføyer de gitte filene omvendt

tail - Skriver ut de siste ti linjene (eller det gitte antall linjer) for hver gitt fil

tee - Leser fra standardinngang mens du skriver både til standardutgang og til de gitte filene

test - Sammenligner verdier og sjekker filtyper

timeout - Kjører en kommando med en tidsbegrensning

touch - Endrer tidsstemplene ved å angi tilgang og endringstid for de gitte filene til gjeldende klokkeslett; filer som ikke eksisterer, opprettes med null lengde

tr - Oversetter, klemmer og sletter de gitte tegnene fra standardinndata

true - Gjør ingenting, med hell; den kommer alltid ut med en statuskode som indikerer suksess

truncate - Krymper eller utvider en fil til den angitte størrelsen

tsort - Utfører en topologisk sortering; den skriver en fullstendig ordnet liste i henhold til den delvise bestillingen i en gitt fil

tty - Rapporterer filnavnet til terminalen koblet til standardinngang

uname - Rapporterer systeminformasjon

unexpand - Konverterer mellomrom til tabulator

uniq - Forkaster alle unntatt en av påfølgende identiske linjer

unlink - Sletter den gitte filen

users - Rapporterer navnene på brukerne som for øyeblikket er logget på

vdir - Er det samme som ls -l

wc - Rapporterer antall linjer, ord og byte for hver gitt fil, samt totale linjer når det er gitt mer enn en fil

who - Rapporterer hvem som er logget på

whoami - Rapporter brukernavnet tilknyttet den gjeldende effektive bruker-IDen

yes - Gjentatte ganger gir "y" eller en gitt streng til den drepes

libstdbuf - Bibliotek brukt av stdbuf

Forrige Hjem Neste