Home Tecnica Amministrazione di Sistema Multistrap: come ti creo un rootfs Debian dal nulla

In evidenza

I riflettori della Fiera del Levante si accendono su SMAU Bari 2012

I riflettori della Fiera del Levante si accendono su SMAU Bari 2012

Dal 15 al 16 febbraio nel Nuovo Padiglione della Fiera del Levante, la quarta edizione di Smau sarà dedicata ...
TecnoWorkshop Lucca2011

TecnoWorkshop Lucca2011

Finalmente, e dopo un po' di peripezie siamo riusciti ad organizzare il primo TecnoWorkshop del nostro...
Società Italiana dei Professionisti delle Scienze dell'Informazione

Società Italiana dei Professionisti delle Scienze dell'Informazione

La Società Italiana dei Professionisti delle Scienze dell'Informazione (acronimo SIPSI) è una associazione...
Testata Giornalistica

Testata Giornalistica

Il portale Professionisti e Consulenti ICT - Italia è ora una testata giornalistica a tutti gli effetti...

Bandi di Concorso

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Concorso pubblico per informatico alla Corte dei Conti

E' indetto un concorso pubblico, per   esami,   per   il reclutamento di tre unità di informatici da inquadrare nella III area, fascia retributiva F1, da destinare agli Uffici della Corte dei Conti con sede in Roma. Requisiti: laurea triennale in scienze e...

05 Feb 2012 - Letture:82

Istruttore informatico L.68/1999 al Comune di Potenza

Concorso pubblico, per esami, per la copertura di n. 2 posti di Istruttore Informatico, categoria C, posizione economica C1, a tempo pieno e indeterminato, con riserva assoluta alle categorie dilavoratori di cui all'art. 1 della legge n. 68/1999 (norme per...

21 Gen 2012 - Letture:86

Senior Business Consultant presso Lombardia Informatica

Selezione per figura Senior Business Consultant presso Lombardia Informatica. Il collaboratore dovrà fornire consulenza strategica e di business sulle tematiche verticali della Socio-Sanità. Requisiti di ammissione: Laurea in Ingegneria, Economia e Commercio o Scienze dell’Informazione; Percorsi di formazione professionale in ambito sanitario e socio-sanitario, su...

11 Gen 2012 - Letture:141

Bando progetto TAG (Toscana Area Giovani) per giovani talenti digitali

UPI Toscana ha indetto un avviso pubblico per la selezione di 20 giovani (2 per ciascuna delle 10 province della Toscana), da impiegare come formatori all'interno del Progetto TAG (Toscana Area Giovani). Il bando è finalizzato a valorizzare al meglio i...

03 Gen 2012 - Letture:147

Avviso pubblico per giovani dottori di ricerca per Uffici di Gabinetto

Avviso pubblico per il conferimento di n. 6 incarichi presso gli Uffici di diretta collaborazione del Ministro dell'istruzione dell'università e della ricerca, per soggetti estranei alla pubblica amministrazione. Ambiti di esperienza e Aree di competenza: Nuovi Media: nuove forma di comunicazione tra...

02 Gen 2012 - Letture:102

Database Administrator in the Information Technology (IT) Department at CERN

E' aperta una posizione nel gruppo di lavoro che fornisce servizi Database e Middleware al CERN, un'organizzazione internazionale che fa fisica delle particelle di stanza a Ginevra, Svizzera. Direttamente dal sito del bando si legge: as Database Administrator in the Database...

12 Dic 2011 - Letture:154

Posto per collaboratore tecnico CROB a Rionero in Vulture (PZ)

Indetto pubblico concorso, per titoli ed esami, per la copertura di un posto di collaboratore tecnico professionale esperto - Ingegnere - Cat. DS presso il centro di riferimento oncologico della Basilicata in Rionero in Vulture (PZ).

22 Nov 2011 - Letture:260

I più attivi

Dati e punteggi dell'ultimo anno

Giovanna Casamassima Giovanna Casamassima
47 articoli
12,717 punti totali
Rodolfo Giometti Rodolfo Giometti
45 articoli
6,870 punti totali
Vittorio D'Aversa Vittorio D'Aversa
34 articoli
3,044 punti totali
Fulvio Lucchetti Fulvio Lucchetti
11 articoli
0,553 punti totali
Fabio Bronzini Fabio Bronzini
12 articoli
0,501 punti totali

Ci hanno visitato

Oggi:723
Ieri:2597
Totali (14/04/09):928803

I nostri numeri

Articoli pubblicati: 519
Iscritti al portale: 677
Iscritti all'Elenco: 175
Iscritti ML Discussioni: 333
Iscritti ML Articoli: 28
Iscritti ML Lavoro: 166
 

Sabayon Linux 5.4 (32 e 64 bit)

E' stata rilasciata online la nuova versione 5.4 di Sabayon Linux, una tra ...

OpenWRT: la distribuzione piccola e versatile

In queste ultime settimane ho avuto modo di vedere da vicino OpenWRT, una distri...

Cifratura wireless: TKIP vs AES

Una delle domande più frequenti di chi intende implementare una rete Wireless è...

Universal USB Installer 1.8.04 e Ubuntu Linux 10.10

Rilasciata il 10.10(.2010) la nuova versione di Ubuntu Linux (la data corrispond...

XMount finalmente liberi di virtualizzare!

Cosa succede dopo che abbiamo acquisito un disco in bitstream su file immagine? ...

Code Smells

Sempre più spesso il codice ha un cattivo odore. Sei sicuro di non scrivere cod...

Il telefono… la tua voce!

Era lo slogan pubblicitario della Telecom di un po’ di anni fa. Certo, al concet...

Autenticarsi con la pen drive

La pen drive è ormai diventata come il cellulare, impossibile non averla, ma sie...

LIM: la lavagna multimediale con il wiimote

LIM sta per Lavagna Interattiva Multimediale, ed è un progetto che, tramite l'...

Il settore danneggiato e l'acquisizione forense

Se si deve acquisire un hard disk in maniera forense, ossia con tutti i crismi n...

Multistrap: come ti creo un rootfs Debian dal nulla

Una volta c'era debootstrap, un tool fantastico che permetteva di creare un root...

"Impronte digitali" anche per le macchine fotografiche

Da www.hwupgrade.it: Una ricerca della Binghamton University ha messo a punto u...

ettercap: il man-in-the-middle facile

Troppo spesso mi rendo conto che molti considerano la rete aziendale o quella ...

munin: come ti controllo il server aziendale

In questi ultimi tempi il server che mantiene il nostro portale è sottoposto ad ...

Come gestire una presentazione con il Wiimote

Capitandomi spesso si tenere conferenze e workshop mi trovo sempre il problema d...

PyGTK su N900

Come programmatore avere un cellulare che in pratica è un computer (oramai il 10...

L'SMS autoprodotto!

Tempo fa sulla mailing list di CFI ho provato a lanciare l'idea di effettuare un...

ASUS U36SD il notebook in soli 19mm

La concorrenza al più blasonato della “mela” si fa agguerrita specie nell'ultimo...

Linutop OS 4.0: Internet, Chiosco Multimediale e non solo!

Presentata negli ultimi giorni nella capitale francese la nuova distribuzione LI...

Disattivare il controllo account utente in Windows 7 e Vista

Il controllo account utente è quel particolare servizio progettato per aumentare...

Sviluppare codice per Arduino dalla command line

Arduino Uno è un micro controllore basato su CPU ATmega328; si alimenta via alim...

Gobby: l'editor collaborativo

Quante volte vi sarà capitato di dover dire come modificare un file di testo ad ...

Google +1: il «nemico» del «mi piace» di Facebook

Il tanto atteso nemico del "mi piace" targato Facebook è arrivato, il colosso de...

Architettura di una trading room

La trading room o sala mercati è il luogo dove vengono effettuate le operazioni ...

Anomalie di partizionamento hard disk: un esperienza personale

Nonostante le decine di installazioni delle varie distribuzioni Linux eseguite s...

Verificare spazio su disco su UNIX

Nella gestione si sistemi informativi capita spesso di accedere a postazioni ser...

WODE, l'emulatore DVD per la Wii

Qualche giorno fa mi è capitato di sfidare mio cognato ad una partitella a tenni...

Boxee Box: la TV facile di D-Link

Grazie alla D-Link possiamo presentare un nuovo gioiello della tecnologia: il me...

Il NAS D-Link DNS-343

Grazie alla D-Link azienda produttrice di apparecchiature di rete e non solo v...

Come ti controllo i tassi di interesse con Linux

In questi giorni sto cercando di fare una surruga per il mutuo di casa mia. Tra ...

Multi puntatore su Ubuntu 10.4: ecco come

Tempo fa ebbi modo di dare un'occhiata al progetto MPX per un cliente. La cosa n...

Installazioni di Linux su sistemi non convenzionali

Un'ottica convenzionale vede l'informatica come un insieme di applicazioni e sis...

Android-x86: quando il drone sbarca sui PC

Chi pensa che Andoird abbia vita bere farà bene a ricredersi perché, oltre alle ...

Maemo extras: ancora più applicazioni per l'N900

Finalmente, grazie a Nokia, abbiamo a disposizione un esemplare dell'N900 su c...

Come creare un NFS server ridondante

Quelli che mi conoscono sanno che il mio ambito lavorativo è nei sistemi embedde...

Come saltare il proxy «blocca-tutto» aziendale

Mi capita spesso, ma non sempre, di andare da dei miei clienti e non potermi con...

Compilare un programma C per Android

Essendo un programmatore C (uso anche altri linguaggi, ma il C e quello che uso ...

Perché cross compilare quando si può compilare nativamente?

Lavorando con architetture diverse mi trovo spesso a dover utilzzare uno stesso ...

Demolinux: l'automazione industriale con Linux

Qualche tempo fa il mio ex istituto superiore mi aveva chiesto di fare una picco...

IPhone recupero file: un gioco di squadra!

Un giorno l'amico Armando Buzzanca mi chiama perchè deve recuperare una no...

TurnKey Linux: accendi e vai!

Quanto tempo occorre per installare e configurare una macchina LAMP (Linux, Apac...

Android: se non hai il telefono usa l'emulatore!

In questi giorni sto valutando di comprare un cellulare basato su Linux. Inizial...

AVG Live CD Rescue: l'antivirus live!

Qualche giorno fa mi sono reso conto che in azienda sta per scadere la licenza d...

busybox & Android: la command line facile

Nei precedenti articoli abbiamo visto due tecniche per aggiungere nuovi programm...

SUN Wiki Publisher: scrivere facilmente su Wikipedia

Personalmente uso parecchio Mediawiki (il motore di Wikipedia); lo ritengo un ot...

Boot from SAN

Intendiamoci, non è l’ultima briciola tecnologica caduta da un banchetto alla NA...

Cloud Computing: cos'è veramente?

Da qualche tempo si sente sempre più parlare di Cloud Computing. Sembra che ques...

Openembedded: la distribuzione «ristretta» per Linux

Quando le risorse di un sistema sono limitate non è possibile usare una distribu...

Cluster VMWARE

In questo articolo vediamo come realizzare un cluster di macchine virtuali con u...

Odroid: la piattaforma di gioco libera

Si chiama Odroid ed e basata su Android, è la prima piattaforma di gioco interam...

Git in Eclipse

Chi mi conosce sa la mia avversione (del tutto personale, ci tengo a sottolinear...

Linaro, la no-profit che produce distribuzioni Linux/ARM

Il progetto Linaro presentato nel 2010 da colossi del calibro di Freescale Semic...

SL4A e il drone parla più lingue

Chi come me non ama Java si sentirà a disagio volendo programmare una qualsiasi ...

Geexbox: la mini distro MediaCenter Linux

Geexbox è un piccolo ma potente sistema operativo orientato alla riproduzione di...

AccessPoint: la scelta ottimale del canale di trasmissione

Realizzare una rete Wireless outdoor (ma anche indoor) pone il problema della sc...

GNU readline: un tool indispensabile per la linea di comando

Chiunque di voi abbia avuto a che fare con la linea di comando avrà senz'altro a...

Cloud Money

Discorrendo con un collega di cloud computing, si è finito, come al solito, a pa...

Kameleon: oltre i limiti della virtualizzazione

Negli ultimi anni la potenza dei computer e la loro capacità è aumentata in modo...

NBTempo: una GUI per le timeline

Svolgendo alcuni casi in cui serviva creare delle timeline per verificare l'att...

Grep e Strings due giganti di Linux

Il tempo libero serve anche a sperimentare e quando si ha la passione per la com...

Multistrap: come ti creo un rootfs Debian dal nulla Stampa E-mail
(0 voti, media 0 di 5)
Area Tecnica - Amministrazione di Sistema
Scritto da Rodolfo Giometti   
Venerdì 14 Maggio 2010 11:23
Articolo letto 1272 volte

Una volta c'era debootstrap, un tool fantastico che permetteva di creare un rootfs Debian di base in una directory qualsiasi di un sistema già funzionante; gli utilizzi potevano essere molteplici: crearsi un  ambiente protetto da chroot, oppure creare una Debian di base per poi montarla via NFS, anche da una architettura diversa dal sistema ospite.

Poi è nato multistrap, un tool che fa quasi tutto quello che fa debootstrap ma, in più, permette di scaricare i pacchetti Debian da più repository! Non che debootstrap non ci sia più ,intendiamoci... ma questo nuovo tool merita senz'altro un po' di attenzione. :)

Vediamo allora come si usa.

Innanzi tutto scarichiamocelo ed installiamolo sulla nostra macchina di lavoro. Se avete una Debian/Ubuntu la cosa è abbastanza semplice:

# aptitude install multistrap

(da notare che in Debian il pacchetto è disponibile solo in squeeze e sid, mentre in ubuntu è presente sin dalla 8.10)

Se avete un'altra distribuzione non vi resta che verificare se è dispobile e come installarlo.

Una volta finito il processo di installazione verifichiamo che il programma funzioni:

$ multistrap -h
em_multistrap version 0.0.6

Usage:
em_multistrap [-a ARCH] [-d DIR] -f CONFIG_FILE
em_multistrap -?|-h|--help|--version

Command:
-f|--file CONFIG_FILE:  path the the multistrap configuration file.

Options:
-a|--arch ARCHITECTURE: override the configuration file architecture.
-d|--dir PATH:          override the configuration file directory.
   --no-auth:           do not use Secure Apt for any repositories
   --tidy-up:           remove apt cache data and downloaded archives.
-?|-h|--help:           print this usage message and exit
--version:              print this usage message and exit

...

(ho tagliato un po' di output)

Già da questa schermata si vede che la cosa è abbastanza semplice, basta dire a multistrap a quale architettura siamo interessati e dove installare il tutto, poi, con un file di configurazione ad hoc, gli diciamo cosa e da dove installare.

Per spiegare come è fatto il file di configurazione di multistrap facciamo un esempio concreto (e tratto da un caso reale): supponiamo di avere la necessità di installare una Debian versione lenny con, in aggiunta, dei pacchetti di nostra produzione e che risiedono in un repository ospitato su di un nostro server.

Come repository Debian useremo http://ftp.us.debian.org/debian mentre per il nostro repository supponiamo di averlo correttamente installato su http://support.caenrfid.it/debian. Supponiamo poi di voler aggiungere i pacchetti:

aptitude netbase net-tools ifupdown dhcp-client openssh-server initramfs-tools grub lshw usbutils pciutils minicom less rsync boa vim

alla Debian di base e di voler installare i pacchetti:

ion caenrfidc-cgi libcaenrfid0

dal nostro repository locale; ecco allora come appare il file di configurazione di Multistrap:

[General]
# keyring packages listed in each debootstrap will still be installed.
noauth=true

# extract all downloaded archives (default is true)
unpack=true

# aptsources is a list of sections to be used for downloading packages
# and lists and placed in the /etc/apt/sources.list.d/multistrap.sources.list
# of the target. Order is not important
aptsources=Debian CAENRFID

# the order of sections is not important.
# the debootstrap option determines which repository
# is used to calculate the list of Priority: required packages.
debootstrap=Debian CAENRFID

[Debian]
packages=aptitude netbase net-tools ifupdown dhcp-client openssh-server initramfs-tools grub lshw usbutils pciutils minicom less rsync boa vim
source=http://ftp.us.debian.org/debian
keyring=debian-archive-keyring
suite=lenny

[CAENRFID]
packages=ion caenrfidc-cgi libcaenrfid0
source=http://support.caenrfid.it/debian
#keyring=debian-archive-keyring
suite=unstable

Si evidenziamo subito tre sezioni: General, Debian e CAENRFID. La prima è una sezione di configurazione generale dove ho specificato alcune direttive per disabilitare il keyring e forzare l'estrazione di tutti i pacchetti scaricati, più la specifica dei repository da utilizzare per la creazione del systema Debian di base.

I repository sono indicati nelle successive due sezioni denominate Debian e CAENRFID. La prima è un repository ufficiale Debian, mentre la seconda indica il nostro repository speciale.

Una volta salvato il file di configurazione nel file mydebian.conf lanciamo il comando:

$ multistrap -a i386 -d /tmp/temp -f mydebian.conf

Il sistema inizierà quindi a scaricarsi i pacchetti specificati e poi ad installarli, come si vede nell'output riportato di seguito:

em_multistrap 2.0.9 using /home/giometti/mydebian.conf
Defaulting architecture to native: i386
em_multistrap building i386 multistrap on 'i386'
INF: Setting ./lib64 -> ./lib symbolic link.
Getting package lists: apt-get  -o Apt::Architecture=i386 -o Apt::Get::AllowUnauthenticated=true -o Apt::Get::Download-Only=true -o Apt::Install-Recommends=false -o Dir=/tmp/temp/ -o Dir::Etc=/tmp/temp/etc/apt/ -o Dir::Etc::SourceList=/tmp/temp/etc/apt/sources.list.d/multistrap.sources.list -o Dir::State=/tmp/temp/var/lib/apt/ -o Dir::State::Status=/tmp/temp/var/lib/dpkg/status -o Dir::Cache=/tmp/temp/var/cache/apt/ update
Ign http://support.caenrfid.it unstable Release.gpg
Get:1 http://support.caenrfid.it unstable Release [2275B]
Ign http://support.caenrfid.it unstable/main Packages
Ign http://support.caenrfid.it unstable/main Sources
Ign http://support.caenrfid.it unstable/main Packages
Ign http://support.caenrfid.it unstable/main Sources
Get:2 http://support.caenrfid.it unstable/main Packages [1558B]
Get:3 http://support.caenrfid.it unstable/main Sources [1476B]
Get:4 http://ftp.us.debian.org lenny Release.gpg [1033B]
Get:5 http://ftp.us.debian.org lenny Release [73.8kB]
Get:6 http://ftp.us.debian.org lenny/main Packages [5196kB]
Get:7 http://ftp.us.debian.org lenny/main Sources [2308kB]

Qui sopra multistrap si è collegato ai due repository ed ha iniziato a scaricarsi gli elenchi dei pacchetti disponibili. Poi inizia a scaricarsi i singoli pacchetti dai due repository che gli abbiamo indicato:

Get:1 http://support.caenrfid.it unstable/main libcaenrfid0 0.60.0 [12.1kB]
Get:2 http://support.caenrfid.it unstable/main caenrfidc-cgi 0.60.0 [30.8kB]
Get:3 http://support.caenrfid.it unstable/main caenrfidd 0.60.1 [39.2kB]
Get:4 http://support.caenrfid.it unstable/main ion-utils 0.81.0 [4720B]
Get:5 http://support.caenrfid.it unstable/main llrpd 0.20.0 [33.4kB]
Get:6 http://support.caenrfid.it unstable/main ion 0.81.0 [1922B]
Get:7 http://ftp.us.debian.org lenny/main gcc-4.3-base 4.3.2-1.1 [103kB]
Get:8 http://ftp.us.debian.org lenny/main libc6 2.7-18lenny1 [4555kB]
Get:9 http://ftp.us.debian.org lenny/main libgcc1 1:4.3.2-1.1 [25.8kB]
Get:10 http://ftp.us.debian.org lenny/main base-passwd 3.5.20 [39.7kB]
Get:11 http://ftp.us.debian.org lenny/main mawk 1.3.3-11.1 [80.2kB]
Get:12 http://ftp.us.debian.org lenny/main gawk 1:3.1.5.dfsg-4.1 [685kB]
Get:13 http://ftp.us.debian.org lenny/main base-files 5lenny5 [57.2kB]

In fine, come riportato sotto, li installa:

Get:122 http://ftp.us.debian.org lenny/main vim 1:7.1.314-3+lenny2 [777kB]
Get:123 http://ftp.us.debian.org lenny/main dhcp-client 3.1.1-6+lenny4 [23.2kB]
Fetched 51.4MB in 14min 11s (60.3kB/s)
Download complete and in download only mode
I: Calculating obsolete packages
Using directory /tmp/temp/ for unpacking operations
I: Extracting adduser_3.110_all.deb...
-> Processing conffiles for adduser
I: Extracting apt_0.7.20.2+lenny1_i386.deb...
-> Processing conffiles for apt
I: Extracting aptitude_0.4.11.11-1~lenny1_i386.deb...
-> Processing conffiles for aptitude
I: Extracting base-files_5lenny5_i386.deb...
-> Processing conffiles for base-files
I: Extracting base-passwd_3.5.20_i386.deb...
I: Extracting bash_3.2-4_i386.deb...
-> Processing conffiles for bash

Finito il download ha poi iniziato ad installare i pacchetti:

I: Unpacking complete.
I: Native mode - configuring unpacked packages . . .
I: dpkg configuration settings:
DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C
/tmp/temp/bin/sh found OK:
lrwxrwxrwx 1 root root 4 May 14 10:12 bin/sh -> bash
Setting up sysv-rc (2.86.ds1-61) ...
Setting up ion-utils (0.81.0) ...
Starting ION tools: gpioion-gpio; cannot find gpio support.
Setting up libklibc (1.5.12-2) ...
Setting up klibc-utils (1.5.12-2) ...
Setting up gcc-4.2-base (4.2.4-6) ...
Setting up libpam-runtime (1.0.1-5+lenny1) ...
Setting up gcc-4.3-base (4.3.2-1.1) ...
Setting up mime-support (3.44-1) ...

Alla fine otteniamo:

Hit http://ftp.us.debian.org lenny/main Packages
Hit http://ftp.us.debian.org lenny/main Sources
Reading package lists...

Multistrap system installed successfully in /tmp/temp/.

Perfetto! Il nostro nuovo sistema ora è pronto! Possiamo allora passare ad impacchettarlo come più ci aggrada per poterlo usare su di un'altra macchina oppure lo possiamo dare in pasto ad un server NFS.

Una nota finale: come vedete io ho aggiunto un po' di pacchetti extra alla lista della sezione Debian poiché il sistema che multistrap installerebbe di suo è talmente di base che non ha neanche il supporto di rete!

 

Aggiungi commento

Prima di pubblicare un tuo commento assicurati che:

  • sia in tema e contribuisca alla discussione in corso.

  • non abbia contenuto razzista o sessista.

  • non sia offensivo, calunnioso o diffamante.


La redazione con i controlli a campione si riserva di cancellare qualsiasi contenuto ingiurioso, volgare o illegale.


Nota bene: se non sei registrato il tuo commento verrà moderato e quindi non pubblicato immediatamente. Se, invece, sei registrato al portale e hai fatto login verrà visualizzato subito.


Codice di sicurezza
Aggiorna

 

In primo piano

Simons Voss: un mondo senza chiavi

Simons Voss: un mondo senza chiavi

Il sistema di gestione e di controllo degli accessi 3060 si presenta come un’alternativa con enormi vantaggi...
Pubblicità mirata dei prodotti

Pubblicità mirata dei prodotti

Hai un prodotto o un servizio da pubblicizzare? Fallo su consulenti-ict.it! Pubblicizzare un prodotto...
Recensioni sul Portale

Recensioni sul Portale

Hai un prodotto hardware/software o un libro riguardante uno dei temi dell'ICT? Vuoi farlo conoscere...

Ultime dal Forum

Visualizza Topic »

Eventi

Non ci sono eventi in programma
Febbraio 2012
D L M M G V S
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
Marzo 2012
D L M M G V S
26 27 28 29 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Sondaggi

busyCaricamento Sondaggio...

Ultimi Commenti