dal 2015 - visita n. 665
Creazione Files e Link
Creazione Files e Link

 

Creazione Files e Link

ATTENZIONE: I comandi e gli script seguenti devono essere eseguiti sempre in ambiente chroot !

Certi programmi hanno cablati dentro dei collegamenti a programmi che non esistono ancora. Per soddisfare questi programmi, occorre creare un certo numero di link simbolici che verranno rimpiazzati da file veri durante il corso di questa sezione, man mano che il software verrà installato.

ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin
ln -sv /tools/bin/perl /usr/bin
ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la
ln -sv bash /bin/sh

Storicamente Linux mantiene un elenco dei file system montati nel file /etc/mtab. I kernel moderni mantengono questa lista internamente e la espongono all'utente tramite il file-system /proc. Occorre, allora, creare un link simbolico per quelle utility che si aspettano la presenza di /etc/mtab:

ln -sv /proc/self/mounts /etc/mtab

Affinché l'utente root sia in grado di effettuare il login ed il nome root sia riconosciuto, devono esserci le voci appropriate nei file /etc/passwd e /etc/group. Si crea il file /etc/passwd con il seguente comando:

cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
EOF

La vera password per root sarà impostata successivamente (la x usata qui serve solo da segnaposto).
Si crea il file /etc/group con il seguente comando:

cat > /etc/group << "EOF"
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
tape:x:4:
tty:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:
mail:x:34:
nogroup:x:99:
EOF

I gruppi creati non fanno parte di nessuno standard, sono stati decisi in parte dalle esigenze di configurazione di Udev in questa sezione ed in parte dalla convenzione comune adottata da un certo numero di distribuzioni Linux che ne fanno uso. Lo Standard Linux di Base LSB raccomanda solo che, oltre al gruppo root con Group ID (GID) 0, sia presente anche un gruppo bin con GID 1. Tutti gli altri nomi di gruppo e relativi GID possono essere scelti liberamente dall'amministratore di sistema, poiché i programmi ben scritti non dipendono dal numero GID, ma usano piuttosto il nome del gruppo.

Per rimuovere il prompt I have no name!, avviare una nuova shell, e poiché nella sezione precedente è stato già installato Glibc e sono stati anche creati i file /etc/passwd ed /etc/group, adesso funzionerà la risoluzione del nome utente e del nome di gruppo:

exec /tools/bin/bash --login +h

Notare l'uso della direttiva +h che dice a bash di non usare il suo percorso interno di hash. Senza questa direttiva bash ricorderebbe i percorsi dei binari che ha eseguito. La direttiva +h verrà usata in tutta questa sezione per assicurare l'uso dei binari appena compilati ed installati.

I programmi login, agetty, init ed altri usano un certo numero di file di log per memorizzare informazioni, come, ad esempio, chi è entrato nel sistema e quando. Tuttavia questi programmi non scriveranno mai nei file di log se questi non esistono ancora, e quindi occorre inizializzare i file di log ed assegnare loro i permessi appropriati:

touch /var/log/{btmp,lastlog,wtmp}
chgrp -v utmp /var/log/lastlog
chmod -v 664  /var/log/lastlog
chmod -v 600  /var/log/btmp

Il file /var/log/wtmp registra tutti i login e tutti i logout.
Il file /var/log/lastlog registra quando ciascun utente è entrato l'ultima volta.
Il file /var/log/btmp registra i tentativi di login andati a vuoto.
Il file /run/utmp, creato dinamicamente negli script di boot, registra gli utenti che hanno effettuato il login e stanno lavorando.


















Introduzione 0
Prerequisiti 1
Partizioni LFS 2
Pacchetti e Patch 3
Ultimi preparativi 4
Stima dei tempi
Sistema Provvisorio 5
Costruzione Provvisoria
Rifiniture
Sistema Definitivo 6
File System Virtuali
Gestione Pacchetti
Ambiente Chroot
Creazione Directories
Creazione Files e Link
Costruzione Definitiva
Rifiniture Definitive


LinuxFrom Scratch
Beyond LinuxFrom Scratch
Errata Corrige
F.A.Q.
Editor: nano
Shell Bash
Pseudoterminali PTY



L'esperienza è una cosa che non puoi avere gratis.
Oscar Wilde

Valid CSS!
pagina generata in 0.001 secondi