6.15. Coreutils-5.2.1

Balíček Coreutils obsahuje utility pro ukazování a nastavování základní systémové charakteristiky.

Průměrný čas kompilace: 0.9 SBU
Potřebné volné místo: 52.8 MB
Instalace závisí na: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, and Sed

6.15.1. Instalace Coreutils

Je známý problém s programem uname z tohoto balíčku,jejiž parametr -p vždycky navrací unknown.Následující patch toto opravuje pro architekturu Intel:

patch -Np1 -i ../coreutils-5.2.1-uname-2.patch

Zabraňte Coreutils v instalaci programů,které budou instalované ostatními balíčky později:

patch -Np1 -i \
    ../coreutils-5.2.1-suppress_uptime_kill_su-1.patch

Nyní přípravte Coreutils ke kompilaci:

DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr

Zkompilujte balíček:

make

Testy Coreutils ukážou několik oznámění o chybějících uživatelích a skupinách,které se nyní v minimálním prostředí nenacházejí.Proto toto musíte před spuštěním testů napravit.Pokračujte na “Instalace balíčku”,pokud nebudete spouštět testy.

Vytvořte dvě testovací skupiny a testovacího uživatele:

echo "dummy1:x:1000:" >> /etc/group
echo "dummy2:x:1001:dummy" >> /etc/group
echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd

Nyní můžete spustit testu.Nejprve spusťte testy,které mají být spuštěny pod uživatelem root:

make NON_ROOT_USERNAME=dummy check-root

Potom spusťte zbytek testů jako uživatel dummy:

src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"

Když jsou testy hotové,odstraňte testovacího uživatele a skupiny:

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

Nainstalujte balíček:

make install

Přesuňte programy do správných míst:

mv /usr/bin/{[,basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
mv /usr/bin/{date,echo,false,head,hostname,install,ln} /bin
mv /usr/bin/{ls,mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin
mv /usr/bin/{sleep,stty,test,touch,true,uname} /bin
mv /usr/bin/chroot /usr/sbin

Nakonec vytvořte symbolický odkaz,abychom vyhověli FHS:

ln -s ../../bin/install /usr/bin

6.15.2. Obsah Coreutils

Nainstalované programy: basename, cat, 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, hostname, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep, sort, split, stat, stty, sum, sync, tac, tail, tee, test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, and yes

Short Descriptions

basename

Odstraní cestu a příponu ze jména souboru

cat

Zobrazuje soubory na standardní výstup

chgrp

Mění skupinu vlastnící soubory a adresáře

chmod

Mění oprávnění každého souboru na nastavenou hodnotu;hodnota může být symbolická reprezentace změn,nebo i osmičkové číslo nových oprávnění

chown

Mění vlastnictví uživatelů a/nebo skupin pro soubory a adresáře

chroot

Spouští příkazy ze specifikovaného adresáře jako z adresáře /

cksum

Vytiskne kontrolní součet Cyclic Redundancy Check (CRC) a bytovou velikost zadaného souboru

comm

Porovná dva setříděné soubory a na výstup dá ve třech sloupcí řádky,které jsou jedinečné a řádky,které jsou společné

cp

Kopíruje soubory

csplit

Rozdělí zadaný soubor na několik nových.Soubor rozděluje podle zadaného řetězce,nebo čísel řádků a na výstup zobrazí bytovou velikost každého souboru

cut

Zobrazí části řádků,vybrané pomocí zadaného pole,nebo pozic

date

Zobrazuje čas v zadaném formátu,nebo nastavuje systémový čas

dd

Kopíruje soubor,použitím zadané velikosti bloku a součtu a volitelně na něm provádí converzi

df

Zobrazuje kolik je k dispozici místa na disku (a kolik je ho použitého) na připojených systémech souborů,nebo pouze na těch,na kterých se nachází vybrané soubory

dir

Zobrazuje obsah vybraného adresáře (stejné jako příkaz ls)

dircolors

Zobrazuje příkaz nastavující proměnnou přostředí LS_COLOR,která určuje barevné schéma použité příkazem ls

dirname

Ostraňuje z cesty jméno souboru

du

Vypisuje místo,které zabírá nynější adresář,zadané adresáře(včetně podadresářů),nebo zadané sounory

echo

Zobrazí zadadný řetězec

env

Spouští příkaz v modifikovaném prostředí

expand

Konvertuje tabulátory na mezery

expr

Vyhodnocuje výrazy

factor

Vypisuje první faktory,všech specifikovaných celých čísel

false

Nedělá ní;vždycky končí se statusem indikujícím chybu

fmt

Přeformátuje odstavce v zadaných souborech

fold

Zabalí řádky v zadaných souborech

groups

Vypíše skupiny,jichž je uživatel členem

head

Zobrazí prvních deset řádků(nebo zadaný počet) každého zadaného souboru

hostid

Vypíče numerický identifikátor(v šestkové soustavě) hostitele

hostname

Vypíše,nebo nastaví jméno počítače

id

Vypíše skutečně uživatelské ID,ID skupiny a skupiny,jich je zadaný,nebo specifikovaný uživatel členem.

install

Kopíruje soubory,při čemž nastavuje jejich oprávnění a jestli je to možné,také vlastníka a skupinu

join

Spojí řádky,které mají identická spojovací pole,ze dvou oddělených souborů

link

Vytvoří tvrdý odkaz na zadaný souborem

ln

Vytváří tvrdé,nebo symbolické odkazy na soubory

logname

Vypíše přihlašovací jméno uživatele

ls

Zobrazí obsah zadaných adresářů

md5sum

Vypisuje,nebo kontroluje bezpečnostní součty Message Digest 5 (MD5)

mkdir

Vytváří adresáře se zadanými jmény

mkfifo

Vytváří First-In, First-Outs (FIFOs),“pojmenované roury”v UNIXové řeči,ze zadanými jmény

mknod

Vytváří uzly zařízení se zadanými jmény;uzel zařízení je speciální znakový soubor,blokový speciální soubor,nebo FIFO

mv

Přesouvá,nebo přejmenovává soubory,nebo adresáře

nice

Spouští program s modifikovanou prioritou

nl

Očísluje řádky ze zadaných souborů

nohup

Spouští příkaz imunní na hangupy,jehož výstup je přesměrován do logovacího souboru

od

Vypíše soubory v osmičkovém a ostatních formátech

paste

Sloučí zadané soubory,spojuje sekvenčně odpovídající řádky,oddělené tabulátory

pathchk

Kontroluje jestli jsou jména soubory platné,nebo přenosné

pinky

Je lehký finger klient;vypisuje některé informace o zadaných uživatelích

pr

Rozděluje soubory k vytištění na stránky a sloupce

printenv

Zobrazí proměnnou

printf

Zobrazuje zadané argumenty v zadaném formátu podobně jako funkce C printf

ptx

Produkuje permutovaný index,ze obsahů zadaných souborů s každým slovem v jeho kontextu

pwd

Vypíše jméno aktuálního pracovního adresáře

readlink

Vypíše hodnotu zadaného symbolického odkazu

rm

Odstraňuje soubory,nebo adresáře

rmdir

Osdtraňuje adresáře,pokud jsou prázdné

seq

Zobrazí sekvenci čísel v zadaném rozsahu a zvětšené o zadanou hodnotu

sha1sum

Zobrazí,nebo zkontroluje kontrolní součet 160-bitového Secure Hash Algorithm 1 (SHA1)

shred

Opakovaně přepíše zadané soubory komplexními řetězci,aby je bylo těžké obnovit

sleep

Udělá přestávku na zadanou dobu

sort

Seřadí řádky ze zadaných souborů

split

Rozdělí zadaný soubor podle velikosti,nebo počtu řádků

stat

Zobrazí status souboru,nebo souborového systému

stty

Nastavuje,nebo vypisuje nastavení terminálu

sum

Zobrazí kontrolní souček a počet bloků v zadaných souborech

sync

Vyprázdní buffery souborového systému;vynucuje zápis změněných bloků na disk a aktualizije super blok

tac

Spojí zadané soubory v opačném pořadí

tail

Zobrazí posledních deset řádků(nebo zadaný počet)zadaných souborů

tee

Čte standardní vstup,při čemž zapisuje na standardní výstup i to zadaného souboru

test

Porovnává hodnoty a testuje typy souborů

touch

Mění časová razítka u souborů,nastavuje časy přístupu a úpravy zadaných souborů na aktuální čas;soubory,které neexistují jsou vytvořené s nulovou délkou

tr

Překládá,stlačuje a maže zadané znaky ze standartního vstupu

true

Nedělá nic;vždycky končí s návratových kódem indikujícím úspěch

tsort

Připravuje spojité seřazení;zapisuje kompletně uspořádaný seznam podle částečného seřazení v zadaném souboru

tty

Vypíše jméno terminálu připojenému ke standartními vstupu

uname

Vypíše systémové informace

unexpand

Převádí mezery na tabulátory

uniq

Vymaže všechny shodné řádky,zachová pouze jeden výskyt každého řádku

unlink

Odstraní zadaný soubor

users

Vypíše jména uživatelů,kteří jsou právě přihlíšení

vdir

Je to totéž jako ls -l

wc

Vypíše počet řádků,slover a bytů zadaných souborů,stejně jako celkový počet řádků,pokud je zadáno více souborů

who

Vypíše,kdo je příhlášen

whoami

Vypíše uživatelské jméno spojené s aktuálním uživatelským ID

yes

Stále zapisuje na výstup “y”,nebo zadaný řetězec,dokud není ukončen pomocí kill