8.58. Coreutils-9.5

Coreutils pakken inneholder de grunnleggende hjelpeprogrammene som trengs av hvert operativsystem.

Omtrentlig byggetid: 1.1 SBU
Nødvendig diskplass: 173 MB

8.58.1. Installasjon av Coreutils

POSIX krever at programmer fra Coreutils gjenkjenner karaktergrenser riktig selv i multibyte lokaliteter. Følgende oppdateringer fikser dette misligholdet og andre internasjonaliseringsrelaterte feil.

patch -Np1 -i ../coreutils-9.5-i18n-2.patch
[Note]

Note

Tidligere ble det funnet mange feil i denne oppdateringen. Ved melding om nye feil til Coreutils vedlikeholdere, vennligst først sjekk om de er reproduserbare uten denne oppdateringen.

Forbered nå Coreutils for kompilering:

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

Betydningen av konfigureringsalternativene:

autoreconf

Oppdateringen for internasjonalisering har modifisert byggesystemet til pakken, slik at konfigurasjonsfilene må bli regenerert.

FORCE_UNSAFE_CONFIGURE=1

Denne miljøvariabelen lar pakken bli bygget som root brukeren.

--enable-no-install-program=kill,uptime

Hensikten med denne bryteren er å hindre Coreutils fra å installere programmer som vil bli installert av andre pakker senere.

Kompiler pakken:

make

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

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

make NON_ROOT_USERNAME=tester check-root

Vi kommer til å kjøre resten av testene som brukeren tester. Visse tester krever at brukeren er medlem av mer enn en gruppe. Sånn at disse testene ikke hoppes over, legg til en midlertidig gruppe og gjør bruker tester en del av de:

groupadd -g 102 dummy -U tester

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

chown -R tester . 

Kjør nå testene (ved hjelp av /dev/null for standard inngang, ellers kan to tester bli brutt hvis du bygger LFS i en grafisk terminal eller en økt i SSH eller GNU Skjerm fordi standard inngang er koblet til en PTY fra vertsdistro, og enhetsnoden for en slik PTY kan ikke nås fra LFS chroot miljøet):

su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \
   < /dev/null

Fjern den midlertidige gruppen:

groupdel dummy

To tester, tests/cp/preserve-mode.sh og tests/mv/acl.sh, er kjent for å mislykkes i chroot miljøet, men passerer i et komplett system.

Installer pakken:

make install

Flytt programmer til stedene spesifisert av FHS:

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"/' /usr/share/man/man8/chroot.8

8.58.2. Innhold 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
Installert bibliotek: libstdbuf.so (i /usr/libexec/coreutils)
Installert mappe: /usr/libexec/coreutils

Korte beskrivelser

[

Er faktisk en kommando, /usr/bin/[; det er et synonym for test kommandoen

base32

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

base64

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

b2sum

Skriver ut eller kontrollerer BLAKE2 (512-bit) sjekksummer

basename

Fjerner enhver bane og et gitt suffiks fra et filnavn

basenc

Koder eller dekoder data ved hjelp av ulike algoritmer

cat

Slår sammen filer til standard utgang

chcon

Endrer sikkerhetskontekst for filer og mapper

chgrp

Endrer gruppeeierskap for filer og mapper

chmod

Endrer tillatelsene til hver fil til gitt modus; modusen kan enten være en symbolsk representasjon av endringene som skal gjøres eller en oktalt tall som representerer de nye tillatelsene

chown

Endrer bruker- og/eller gruppeeierskap av filer og mapper

chroot

Kjører en kommando med den angitte mappen som / mappen

cksum

Skriver ut sjekksummen for syklisk redundanssjekk (CRC) og antall byte for hver spesifisert fil

comm

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

cp

Kopierer filer

csplit

Deler en gitt fil i flere nye filer, og skiller dem i henhold til gitte mønstre eller linjenummer og skriver ut antall byte av hver nye fil

cut

Skriver ut seksjoner av linjer, og velger delene i henhold til gitte felt eller posisjoner

date

Viser gjeldende dato og klokkeslett i det gitte formatet, eller stiller inn systemdato og klokkeslett

dd

Kopierer en fil med den gitte blokkstørrelsen og antallet, mens det valgfritt utføres konverteringer på den

df

Rapporterer hvor mye diskplass som er tilgjengelig (og brukt) på alle monterte filsystemer, eller bare på filsystemene som inneholder de valgte filer

dir

Viser innholdet i hver gitt mappe (det samme som ls kommandoen)

dircolors

Skriver ut kommandoer for å angi LS_COLOR miljøvariabelen for å endre fargeskjemaet som brukes av ls

dirname

Trekker ut mappedelen(e) av gitte navn

du

Rapporterer hvor mye diskplass som brukes av gjeldende mappe, av hver av de gitte mappene (inkludert alle undermapper) eller av hver av de gitte filene

echo

Viser de gitte strengene

env

Kjører en kommando i et modifisert miljø

expand

Konverterer tabulatorer til mellomrom

expr

Evaluerer uttrykk

factor

Skriver ut primfaktorene til de spesifiserte heltallene

false

Gjør ingenting, mislykket; den avsluttes alltid med en statuskode som indikerer feil

fmt

Reformaterer avsnittene i de gitte filene

fold

Omslutter linjene i de gitte filene

groups

Rapporterer en brukers gruppemedlemskap

head

Skriver ut de ti første linjene (eller gitt antall linjer) av hver gitt fil

hostid

Rapporterer den numeriske identifikatoren (i heksadesimal) til verten

id

Rapporterer effektiv brukerID, gruppeID og gruppemedlemskap av gjeldende bruker eller en spesifisert bruker

install

Kopierer filer mens de angir tillatelsesmoduser og, hvis mulig, deres eier og gruppe

join

Kobler sammen linjene som har identiske sammenføyningsfelt fra to separate filer

link

Oppretter en hard lenke (med det gitte navnet) til en fil

ln

Lager harde koblinger eller myke (symbolske) koblinger mellom filer

logname

Rapporterer gjeldende brukers påloggingsnavn

ls

Viser innholdet i hver gitt mappe

md5sum

Rapporterer eller kontrollerer Message Digest 5 (MD5) sjekksummer

mkdir

Oppretter en mappe med gitt navn

mkfifo

Oppretter først inn, først ut (FIFOs), en "navngitt kanal (pipe)" på UNIX-språk, med gitt navn

mknod

Oppretter enhetsnoder med de gitte navnene; en enhetsnode er en spesialfil for tegn, en spesialfil for blokk 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

Nummerer linjene fra de gitte filene

nohup

Kjører en kommando som er immun mot avbrudd, med utdata omdirigert til en loggfil

nproc

Skriver ut antall tilgjengelige prosesseringsenheter for en prosess

numfmt

Konverterer tall til eller fra menneskelesbare strenger

od

Dumper filer i oktal og andre formater

paste

Slår sammen de gitte filene og kobler sammen sekvensielt tilsvarende linjer side ved side, atskilt med tabulatortegn

pathchk

Sjekker om filnavn er gyldige eller flyttbare

pinky

Er en lettvekts fingerklient; den rapporterer noe informasjon om de gitte brukerne

pr

Paginerer og spalter filer for utskrift

printenv

Skriver ut miljøet

printf

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

ptx

Produserer en permutert indeks fra innholdet i de gitte filene, med hvert søkeord i sin kontekst

pwd

Rapporterer navnet på gjeldende arbeidsmappe

readlink

Rapporterer verdien av den gitte symbolske lenken

realpath

Skriver ut den løste banen

rm

Fjerner filer eller mapper

rmdir

Fjerner mapper hvis de er tomme

runcon

Kjører en kommando med spesifisert sikkerhetskontekst

seq

Skriver ut en sekvens av tall innenfor et gitt område og med en gitt økning

sha1sum

Skriver ut eller kontrollerer 160-bits Secure Hash Algorithm 1 (SHA1) sjekksummer

sha224sum

Skriver ut eller kontrollerer 224-biters Secure Hash Algoritme sjekksummer

sha256sum

Skriver ut eller kontrollerer 256-biters Secure Hash Algoritme sjekksummer

sha384sum

Skriver ut eller kontrollerer 384-biters Secure Hash Algoritme sjekksummer

sha512sum

Skriver ut eller kontrollerer 512-biters Secure Hash Algoritme sjekksummer

shred

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

shuf

Blander tekstlinjer

sleep

Pauser i den gitte tiden

sort

Sorterer linjene fra de gitte filene

split

Deler den gitte filen i biter, etter størrelse eller antall linjer

stat

Viser fil- eller filsystemstatus

stdbuf

Kjører kommandoer med endrede bufferoperasjoner for standard dataflyt

stty

Angir eller rapporterer terminallinjeinnstillinger

sum

Skriver ut sjekksum og blokktellinger for hver gitt fil

sync

Tømmer filsystembuffere; den tvinger endrede blokker til disk og oppdaterer superblokken

tac

Sammenslår de gitte filene i revers

tail

Skriver ut de ti siste linjene (eller gitt antall linjer) av hver gitt fil

tee

Leser fra standard inngang mens du skriver både til standard utgang og til de gitte filene

test

Sammenligner verdier og kontrollerer filtyper

timeout

Kjører en kommando med en tidsbegrensning

touch

Endrer filtidsstempler, angir tilgang og endringstider for de gitte filene til gjeldende tid; filer som ikke eksisterer opprettes med null lengde

tr

Oversetter, klemmer sammen og sletter de gitte tegnene fra standard inngang

true

Gjør ingenting, vellykket; den avsluttes alltid 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 rekkefølgen i en gitt fil

tty

Rapporterer filnavnet til terminalen som er koblet til standard inngang

uname

Rapporterer systeminformasjon

unexpand

Konverterer mellomrom til tabulatorer

uniq

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

unlink

Fjerner den gitte filen

users

Rapporterer navnene på brukerne som er logget på

vdir

Er det samme som ls -l

wc

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

who

Rapporterer hvem som er pålogget

whoami

Rapporterer brukernavnet som er knyttet til gjeldende effektive bruker-ID

yes

Skriver ut y, gjentatte ganger eller en gitt streng til den drepes

libstdbuf

Bibliotek brukt av stdbuf