Difference between revisions of "Install from existing Linux (Italiano)"

From ArchWiki
Jump to: navigation, search
(updated mirrorlist)
m
Line 49: Line 49:
  
 
Note: In caso di problemi con lo scaricamento di '''pacman-mirrorlist''' riprovare con questo modo più diretto:
 
Note: In caso di problemi con lo scaricamento di '''pacman-mirrorlist''' riprovare con questo modo più diretto:
  wget http://mirrors.kernel.org/archlinux/core/os/x86_64/pacman-mirrorlist-20101223-1-any.pkg.tar.gz
+
  wget http://mirrors.kernel.org/archlinux/core/os/x86_64/pacman-mirrorlist-20100825-1-any.pkg.tar.gz
  
 
Si potrebbe aver bisogno di altre librerie per far funzionare pacman:
 
Si potrebbe aver bisogno di altre librerie per far funzionare pacman:
Line 81: Line 81:
 
  cd /tmp/archlinux
 
  cd /tmp/archlinux
 
  alien -d pacman-3.3.3-1-i686.pkg.tar.gz
 
  alien -d pacman-3.3.3-1-i686.pkg.tar.gz
  alien -d pacman-mirrorlist-20100131-1-i686.pkg.tar.gz
+
  alien -d pacman-mirrorlist-20101223-1-any.pkg.tar.gz
  
  

Revision as of 06:25, 17 January 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Questa guida è destinata a integrare ed aggiornare le tre guide di installazione alternativa già esistenti su questo wiki. È destinata a chiunque voglia installare Arch Linux da qualsiasi altro sistema Linux in esecuzione, al di fuori di un LiveCD o un'installazione pre-esistente di una distribuzione diversa.

Generale

Pacman può essere configurato con l'opzione (-r) per operare in una qualsiasi directory, usandola come contesto di "root" durante l'esecuzione.

Ciò è utile per creare un nuovo sistema Arch Linux dal disco live di un'altra distro o da un'installazione esistente. È altresì utile per creare nuovi ambienti chroot in un sistema "host", mantenendo una "golden-master" per lo sviluppo e la distribuzione, o altri divertenti motivi come rootfs-over-NFS per macchine senza disco.

Nel caso di un host x86_64, è comunque possibile usare un pacman i686 per creare un ambiente chroot a 32bit. Consultare Arch64 Install bundled 32bit system.

In questa guida, ci si riferisce a partizioni come /dev/hdxx o /dev/sdxx, ossia ad una qualunque dev si abbia nel proprio sistema per la partizione in questione. La convenzione è: Drive 1, Partition 1: /dev/hda1 or /dev/sda1 Drive 1, Partition 2: /dev/hda2 or /dev/sda2 Drive 2, Partition 1: /dev/hdb1 or /dev/sdb1 ecc...

In genere verrà utilizzata /dev/sdxx , ma si faccia attenzione che sul proprio sistema quella voce potrebbe essere /dev/hdxx.

In questo articolo, "host" si riferisce al computer che è usato per creare l'installazione, e "target" è il computer dove si vuole installare Arch. Questi potrebbero essere lo stesso computer. Non è necessario che l'host sia una distribuzione Arch, potrebbe essere Debian o un sistema Redhat. La sezione inititolata "Setup del sistema host" spiega come installare pacman nell'host. La sezione seguente intitolata "Setup del sistema target" spiega come usare pacman dal sistema host per installare Arch Linux nel computer target. Quindi se il proprio sistema è già Arch Linux, si può procedere alla sezione "Setup del sistema target".

Setup del sistema host

È necessario installare il pacchetto pacman di Archlinux nel proprio ambiente linux (host).Inoltre si dovrà recuperare la lista dei mirrors site [1] che pacman utilizzerà per scaricare i pacchetti del sistema.

Ottenere i pacchetti necessari

Si devono recuperare i pacchetti richiesti dal proprio ambiente linux ospitante. Nell'esempio si presuppone si stia usando un ambiente i686. Se si sta utilizzando un sistema linux a 64bit si dovrà cambiare a ogni evenienza "i686" con "x86_64".

Tutte i numeri di versione utilizzati qui possono essere cambiati. Si prega di controllare i numeri di versione in principio e annotarli. I numeri della versione possono essere trovati:

Una volta certi dei numeri di versione, si scarichino i pacchetti richiesti (cambiare il valore di ARCH a seconda delle proprie esigenze):

ARCH=i686
mkdir /tmp/archlinux
cd /tmp/archlinux

Ora si scarichino i pacchetti richiesti:

wget http://www.archlinux.org/packages/core/$ARCH/pacman/download/
wget http://www.archlinux.org/packages/core/any/pacman-mirrorlist/download/

Note: Se wget non riesce a recuperare i nomi dei file correttamente, riprovare wget con --trust-server-names. Suggerimento: è possibile usare un alias:

alias wget='wget --trust-server-names'

Note: In caso di problemi con lo scaricamento di pacman-mirrorlist riprovare con questo modo più diretto:

wget http://mirrors.kernel.org/archlinux/core/os/x86_64/pacman-mirrorlist-20100825-1-any.pkg.tar.gz

Si potrebbe aver bisogno di altre librerie per far funzionare pacman:

wget http://www.archlinux.org/packages/core/$ARCH/libfetch/download/
wget http://www.archlinux.org/packages/core/$ARCH/libarchive/download/
wget http://www.archlinux.org/packages/core/$ARCH/openssl/download/
wget http://www.archlinux.org/packages/core/$ARCH/xz/download/

Spacchettare tutti i pacchetti necessari:

for f in *.tar.gz ; do tar xzvf $f ; done

Prima di usare pacman, non scordare di modificare /tmp/archlinux/etc/pacman.conf in modo da puntare a /tmp/archlinux/etc/pacman.d/mirrorlist e selezionare il proprio mirror prescelto. Per facilitare le cose (presupponendo si stia utilizzando bash o zsh), si può configurare l'ambiente in tal modo

export PATH=/tmp/archlinux/usr/bin:$PATH
export LD_LIBRARY_PATH=/tmp/archlinux/usr/lib:$LD_LIBRARY_PATH
alias pacman="pacman --config /tmp/archlinux/etc/pacman.conf"

Installare i pacchetti richiesti nel sistema host

Se non vi importa mettere in disordine il proprio sistema host, si possono estrarre tutti i tarball scaricati nella propria directory root dando da root questi comandi:

cd /
for f in /tmp/archlinux/pacman-*pkg.tar.gz ; do
  tar xzf $f
done
  1. Se si sta installando da Ubuntu 9.10 LiveCD (o forse anche da altre versioni), saranno necessari non solo i file di pacman (shared libs) per usarlo. Usare lo script di Lucky descritto in [questo thread] per scaricarli!
  2. n alternativa, si possono trasformare questi archivi in pacchetti per la propria distribuzione con il tool alien. Vedere la man page dello strumento per le istruzioni. I pacchetti creati in questo modo possono essere installati nella distribuzione host utilizzando i soliti strumenti di gestione dei pacchetti disponibili. Questo approccio offre una migliore integrazione nell'ambiente Linux host. Per un sistema basato pacchetto debian questo è fatto con i seguenti comandi:
    cd /tmp/archlinux
    alien -d pacman-3.3.3-1-i686.pkg.tar.gz
    alien -d pacman-mirrorlist-20101223-1-any.pkg.tar.gz
    


    Per i sistemi basati su RPM sarà necessario sostituire il parametro "-d" con "-r".

    Questi pacchetti possono quindi venire installati usando il normale gestore pacchetti dell'ambiente Linux host.

  3. Con Fedora 12, non è stato possibile installare pacman con uno qualsiasi degli altri metodi. Ma con l'ottimo script su http://bbs.archlinux.org/viewtopic.php?pid=734336#p734336, verrà scaricato e installato.

  4. Con Gentoo: basta "smascherare" pacman aggiungendo sys-apps/pacman a /etc/portage/package.keywords. Ora basta eseguire emerge -av pacman.

    C'è anche una guida ben dettagliata.

  5. Un metodo più vecchio è discusso qui.

Configurare il sistema host

Configurare il file /etc/pacman.conf a proprio gradimento, e rimuovere i mirror non necessari dal file /etc/pacman.d/mirrorlist. Abilitare inoltre come minimo un paio di mirror, necessari per non incorrere in errori, dovuti alla loro mancanza, durante la sincronizzazione. Si consiglia di risolvere manualmente i DNS nel file /etc/pacman.d/mirrorlist, dato che pacman per i686 potrebbe non trovare le informazioni degli indirizzi su sistemi x86_64.

Se si sta installando da un LiveCD, e si dispone di un sistema con una bassa quantità di RAM eswap (<1 GB), assicurarsi di impostare la cachedir in /etc/pacman.conf nella nuova partizione di Arch (es. Template:Filename). Altrimenti si potrebbe esaurire la memoria tra il sovraccarico della distro esistente e il download dei pacchetti necessari per installare.

Installazione del sistema di destinazione

Preparare una partizione per Arch

Non è necessario installare Arch su una partizione separata. Si potrebbe invece creare un filesystem di root in una directory normale, e quindi creare una tarball master da questa, o trasferirla attraverso la rete.

Tuttavia, la maggior parte degli utenti preferiranno l'installazione di Arch nella propria partizione.

Preparare tutte le partizioni e i filesystem necessari per l'installazione. Se il sistema host ha un interfaccia grafica per questo, come gparted, cfdisk, o mandrakes diskdrake, usarli senza problemi.

Per formattare una partizione come ext3, si esegue (dove /dev/sdxx è la partizione che si desidera preparare):

# mkfs.ext3 /dev/sdxx 

Per formattare con ext3 con journaling e dir_index:

# mkfs.ext3 -j -O dir_index /dev/sdxx 

Per formattare con reiserfs:

# mkreiserfs /dev/sdxx 

Per formattare una partizione di swap, e iniziare ad usarlo:

# mkswap /dev/sdxx 
# swapon /dev/sdxx

La maggior parte degli altri filesystem può essere configurata con la variante mkfs, date uno sguardo con il completamento automatico. I filesystem disponibili dipendono interamente dal proprio sistema host.

Una volta completata la configurazione dei file system, montarli. In questa guida, si farà riferimento alla nuova directory root come /newarch, tuttavia la si può mettere dove si preferisce.

# mkdir /newarch 
# mount /dev/sdxx /newarch

Installare il core

Aggiornare pacman. Potrebbe essere necessario creare la cartella Template:Filename per farlo funzionare ("vedere "Setup the host system" di cui sopra):

# mkdir -p /newarch/var/lib/pacman 
# pacman -Sy -r /newarch
Problemi durante l'esecuzione di pacman host a 64 bit: Se l'esecuzione di pacman termina con /tmp/archlinux/usr/bin/pacman: No such file or directory creare un symlink a ld-linux-x86-64.so.2: ln -s /lib64/ld-linux-x86-64.so.2 /lib/


Installare il gruppo 'base' di pacchetti:

# pacman -S base -r /newarch
Warning: Il parametro "-r" non modificare il percorso della directory cache di Pacman. Se non si vuole che la cache di Pacman venga creata nel sistema host, fornire un altro percorso con --cachedir, o modificare pacman.conf come descritto sopra.

Esempio senza modificare pacman.conf del sistema host:

# pacman --cachedir /newarch/var/cache/pacman/pkg -S base -r /newarch

Preparare i /dev nodes

In primo luogo, assicurarsi che siano stati creati i /dev nodes corretti per udev:

ls -alF /newarch/dev

Questo risulta in un elenco contenente delle righe simili alle seguenti (le date saranno diverse per voi):

crw-------  1 root root 5, 1 2008-12-27 21:40 console
crw-rw-rw-  1 root root 1, 3 2008-12-27 21:42 null
crw-rw-rw-  1 root root 1, 5 2008-12-27 21:40 zero

Eliminare e ricreare qualsiasi dispositivo che abbia un diverso insieme di permessi (i contenuti con crw-... più le due voci di root) e numerri maggiori/minori (i due prima della data).

cd /newarch/dev 
rm console ; mknod -m 600 console c 5 1 
rm null ; mknod -m 666 null c 1 3 
rm zero ; mknod -m 666 zero c 1 5

Tutti i nodi di dispositivo dovrebbe essere già stati creati con i permessi giusti e non dovrebbe essere necessario ricreare qualsiasi di essi.

Chroot

Ora si effettua il chroot into the new Arch system.

Al fine di far funzionare correttamente i DNS è necessario modificare Template:Filename o sostituirlo con il resolv.conf della distribuzione in esecuzione

cp /etc/resolv.conf /newarch/etc/ 

C'è noltre bisogno di copiare un'installazione corretta dei mirrorlist nel nuovo sistema:

cp /etc/pacman.d/mirrorlist /newarch/etc/pacman.d

Montare vari filesystem nel nuovo sistema Arch:

mount -t proc proc /newarch/proc
mount -t sysfs sys /newarch/sys
mount -o bind /dev /newarch/dev

Per una partizione di Template:Filename separata, bisognerà probabilmente montare anche quella. Vedere Change Root per maggiori informazioni.

Quando tutto è pronto, effettuare il chroot nel nuovo filesystem:

chroot /newarch /bin/bash

Installare il resto

Installare il kernel preferito, e tutti gli altri pacchetti di cui si ha bisogno. Per il kernel di default (che è già installato!):

pacman -S kernel26 

Se si desidera installare i pacchetti extra ora, si può farlo con:

pacman -S packagename

Configurare il sistema di destinazione

Modificare il Template:Filename, ricordando di aggiungere /, swap e qualsiasi altra partizione si possa voler utilizzare. Assicurarsi di usare il /dev/sd* (sda1, sda2, sdb1, etc) per le partizioni al posto di /dev/hd*, dal momento che Arch utilizza la convenzione sdxx per tutte le unità.

Modificare i file Template:Filename, Template:Filename e Template:Filename a seconda delle proprie esigenze. Poi rigenerare l'immagine initcpio:

mkinitcpio -p kernel26

Modificare Template:Filename, decommentando qualsiasi locale si desideri avere a disposizione, e compilare le versioni locali:

locale-gen

Installazione Grub

Per usare GRUB durante il chroot, è necessario che Template:Filename sia a poato:

grep -v rootfs /proc/mounts > /etc/mtab  

È ora possibile eseguire:

grub-install /dev/sdx

Se grub-install non riesce, è possibile installarlo manualmente:

grub 
grub> find /boot/grub/stage1     (You should see some results here if you have done everything right so far.   If not, back up and retrace your steps.)
grub> root (hd0,X) 
grub> setup (hd0) 
grub> quit 

Controllare molto attentamente il file Template:Filename. A seconda dell'host, potrebbe essere necessario correggere da hda to sda, oltre al prefisso /boot nel percorso.

Ripristino manuale di GRUB libs

I file Template:Filename dovrebbero essere in Template:Filename, ma può non essere il caso se il bootloader non è stato installato durante l'installazione del sistema o se la partizione/filesystem erano danneggiati, cancellati accidentalmente, ecc.

Copiare manualmente le librerie grub in questo modo:

# cp -a /usr/lib/grub/i386-pc/* /boot/grub
Note: Non dimenticare di montare la partizione di boot se l'installazione del sistema utilizza una separata! Quanto sopra presuppone che la partizione di boot risieda sul filesystem di root o che sia montata in /boot sul filesystem di root!


Istruzioni dettagliate per GRUB e LILO sono disponibili in altre sezioni di questo wiki.

Ritocchi finali

Consultare Beginners Guide:Configure your System. È possibile ignorare il punto 2.11, ma il resto della guida dovrebbe essere utile nelle configurazioni post-installazione del sistema.

Exit your chroot:

exit
umount /newarch/boot   # if you mounted this or any other separate partitions
umount /newarch/{proc,sys,dev}
umount /newarch

Riavviare il nuovo sistema Arch!

Risoluzione dei problemi

Kernel Panic

Se quando si riavvia il nuovo sistema si ottiene un kernel panic dicendo la console non ha potuto aprire:

kinit: couldn't open console, no such file... 

Questo significa che non si sono seguite le istruzioni di cui sopra. Seguire la procedura per creare i nodi dei dispositivo di base all'inizio della preparazione.

Il dispositivo root "/dev/sd??" non esiste

Se quando si riavvia il nuovo sistema si ottiene un messaggio di errore come questo:

Root device '/dev/sda1' doesn't exist, attempting to create it... etc. 

Questo significa che le unità vengono visualizzate come "hda1" invece di "sda1" In questo caso modificare le impostazioni di GRUB o LILO per l'uso "hd??" o provare quanto segue.

Modificare /etc/mkinitcpio.conf e sostituire "ide" con "pata" nella riga "HOOKS=". Quindi rigenerare il proprio initrd. (Assicurarsi di essere entrati prima in ambiente chroot nel nuovo sistema.)

mkinitcpio -p kernel26

Se si usa LVM assicurati di aggiungere "lvm2" nella riga HOOKS. Rigenera l'initrd come sopra.

Se si sta installando su un dispositivo che ha bisogno dell'hook PATA assicurarsi che sia posizionato prima dell'hook autodetect in mkinitcpio.conf.

Se la partizione root è su un dispositivo USB, è necessario aggiungere "usb" nella riga "HOOKS=" prima di ogni altra cosa, incluso "base".

Un metodo alternativo: Installazione da un sistema Linux esistente con l'immagine di Arch

Preparare l'ambiente di installazione

È possibile procurarsi qualsiasi immagine dalla pagina di download di Arch ed ottenere il contenuto dell'immagine per montare il loopback:

Immagine CD:

$ mount -o loop archlinux-2009.08-core-i686.iso /mnt/loop

con l'immagine USB:

$ losetup -f archlinux-2009.08-core-i686.img
$ losetup -fo 32256 /dev/loop0
$ mount /dev/loop0 /mnt/loop

e il contenuto di immagine:

$ ls /mnt/loop 
boot  core-pkgs.sqfs  isomounts  lost+found  overlay.sqfs  root-image.sqfs

estrarre l'immagine di root:

$ cd /mnt
$ unsquashfs loop/root-image.sqfs

dopo questa fase, si avrà una nuova cartella squashfs-root contenente il nuovo sistema Arch.

Installare dal nuovo ambiente

Con il supporto di installazione Arch core, e si desidera installare i pacchetti di base da lì, basta copiare core-pkgs.sqfs nella nuova directory squashfs-root:

$ cp loop/core-pkgs.sqfs squashfs-root

A questo punto chroot into the new Arch system:

$ mount -t proc proc /mnt/squashfs-root/proc
$ mount -t sysfs sys /mnt/squashfs-root/sys
$ mount -o bind /dev /mnt/squashfs-root/dev 
$ chroot /mnt/squashfs-root /bin/bash

Ora si è dentro il filesystem della nuova installazione. Se si ha intenzione di usare core-pkgs.sqfs, montare ora:

$ mkdir -p /src/core/pkg
$ mount -o loop -t squashfs core-pkgs.sqfs /src/core/pkg 

A questo punto, andare avanti e lanciare l'Arch installer aif!

$ aif -p interactive

e sarà possibile installare Arch come di consueto (da CD o da Internet) con l'avviso:

  • La partizione di destinazione non deve usata dal sistema host


Dopo l'installazione di Arch dall'ambiente chroot, è possibile rimuovere qualsiasi directory squashfs-root ed uscire da chroot:

$ umount /src/core/pkg
$ exit
$ umount /mnt/squashfs-root/dev 
$ umount /mnt/squashfs-root/sys 
$ umount /mnt/squashfs-root/proc
$ rm -rf /mnt/squashfs-root

Aggiornamento e installazione dei pacchetti dal sistema host via chroot

Aggiungere una voce al menu.lst del Grub esistente, o se è stato installato un nuovo Grub durante il processo di installazione, aggiungerlo al file /boot/grub/menu.lst del filesystem di Arch.

Ora riavviare o entrare in chroot nella nuova partizione di Arch per installare i pacchetti aggiuntivi:

$ mkdir /mnt/arch
$ mount /dev/sdxx /mnt/arch
$ mount -t proc proc /mnt/arch/proc
$ mount -t sysfs sys /mnt/arch/sys
$ mount -o bind /dev /mnt/arch/dev 
$ chroot /mnt/arch /bin/bash

Aggiornare e installare nuovi pacchetti:

# pacman -Syu