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

From ArchWiki
Jump to: navigation, search
(rm temporary i18n template)
(16 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Category:Getting and installing Arch (Italiano)]]
 
[[Category:Getting and installing Arch (Italiano)]]
[[Category:HOWTOs (Italiano)]]
+
[[en:Install from Existing Linux]]
{{i18n|Installando da un sistema Linux esistente}}
+
[[es:Install from Existing Linux]]
{{translateme}}
+
[[ru:Install from Existing Linux]]
 
+
[[uk:Install from Existing Linux]]
Questa guida e' stata ideata come summa e punto di riferimento per tutti coloro che vogliano installare Arch Linux da un'altra distro Linux funzionante o da una LiveCd.
+
[[zh-CN:Install from Existing Linux]]
 +
[[zh-TW:Install from Existing Linux]]
 +
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==
 
==Generale==
[[Pacman]] di Arch Linux puo' essere configurato (-r) per operare in una qualsiasi directory, usando essa come contesto di "root" mentre si esegue pacman.
+
[[Pacman]] può essere configurato con l'opzione (-r) per operare in una qualsiasi directory, usandola come contesto di "root" durante l'esecuzione.
 
   
 
   
Cio' e' utile per creare un nuovo sistema Arch Linux dal disco live di un altra distro o da una installazione esistente. E' altresi' utile per creare nuovi ambienti chroot come sistemi "host", mantenendo una "golden-master" per lo sviluppo e la distribuzione, o altri divertenti motivi come rootfs-over-NFS per macchine senza disco.
+
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, e' comunque possibile usare un pacman i686 per creare un ambiente chroot a 32bit. Guardare [[Arch64 Install bundled 32bit system]].
+
In questa guida il requisito necessario è che il sistema host esistente sia in grado di eseguire i programmi con l'architettura del target Arch Linux. 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]]. Tuttavia non è così facile compilare un ambiente a 64 bit quando l'host supporta in esecuzione solo programmi a 32 bit.
  
Lungo questa guida, ci si riferisce a partizioni come /dev/hdxx o /dev/sdxx. Cioe' ci si riferisce a una qualunque dev si abbia nel proprio sistema per la partizione in questione. La convenzione e':
+
In questa guida inoltre, 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 1:  /dev/hda1 o /dev/sda1
Drive 1, Partition 2:  /dev/hda2 or /dev/sda2
+
Drive 1, Partition 2:  /dev/hda2 o /dev/sda2
Drive 2, Partition 1:  /dev/hdb1 or /dev/sdb1
+
Drive 2, Partition 1:  /dev/hdb1 o /dev/sdb1
etc...
+
ecc...
  
In genere verra' utilizzata /dev/sdxx , ma si faccia attenzione che sul proprio sistema quell'entrata potrebbe essere /dev/hdxx.
+
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 e' usato per creare l'installazione, e "target" e' il computer dove si vuole installare Arch.
+
In questo articolo,  
Questi potrebbero essere lo stesso computer. Non e' 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.
+
;host: si riferisce al computer che è usato per creare l'installazione.
Quindi se il proprio sistema e' gia' Arch Linux, si puo' procedere alla sezione "Setup del sistema target".
+
 
 +
;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==  
 
==Setup del sistema host==  
  
E' necessario installare il pacchetto pacman di Archlinux nel proprio ambiente linux (host).Inoltre si dovra' recuperare la lista dei mirrors site [http://www.archlinux.org/mirrorlist/] che pacman utilizzera' per scaricare i pacchetti del sistema.
+
È necessario installare il pacchetto pacman di Archlinux nel proprio ambiente linux (host).Inoltre si dovrà recuperare la lista dei mirrors site [https://www.archlinux.org/mirrorlist/] che pacman utilizzerà per scaricare i pacchetti del sistema. Se sei già utilizzando Arch, saltare questo passaggio e andare a [[Install from Existing Linux (Italiano)#Installazione del sistema di destinazione]]
  
 
===Ottenere i pacchetti necessari===
 
===Ottenere i pacchetti necessari===
  
Si devono recuperare i pacchetti richiesti dal proprio ambiente linux ospitante.Nell'esempio dato qua si assume si stia usando un ambiente i686. ""Se si sta utilizzando un sistema linux a 64bit si dovra' cambiare a ogni evenienza "i686" con "x86_64".'''
+
====Introduzione====
  
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 "
+
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".'''
* pacman [http://www.archlinux.org/packages/core/i686/pacman/ 32 bit] e [http://www.archlinux.org/packages/core/x86_64/pacman/ 64 bit],
+
 
* pacman-mirrolist for [http://www.archlinux.org/packages/core/any/pacman-mirrorlist/ tutte] le architetture.
+
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:
 +
* pacman [https://www.archlinux.org/packages/core/i686/pacman/ 32 bit] e [https://www.archlinux.org/packages/core/x86_64/pacman/ 64 bit],
 +
* pacman-mirrolist per [https://www.archlinux.org/packages/core/any/pacman-mirrorlist/ tutte] le architetture.
 +
 
 +
Una volta certi dei numeri di versione, si scarichino i pacchetti richiesti (cambiare il valore di ARCH a seconda delle proprie esigenze):
  
Una volta certi dei numeri di versione, si scarichino i pacchetti richiesti (cambiare il valore di ARCH a seconda delle proprie necessita'):
 
 
  ARCH=i686
 
  ARCH=i686
  mkdir /tmp/archlinux
+
  base_chroot=/tmp
  cd /tmp/archlinux
+
mkdir ${base_chroot}/archlinux
 +
  cd ${base_chroot}/archlinux
  
Ora si scarichino i pacchetti richiesti:
+
====Scarica i binari di pacman e le librerie condivise====
wget http://www.archlinux.org/packages/core/$ARCH/pacman/download/
+
wget http://www.archlinux.org/packages/core/any/pacman-mirrorlist/download/
+
  
Nota: Se si dovessero incontrare problemi scaricando '''pacman-mirrorlist''' usare questo metodo diretto:
+
Ora si scarichino i pacchetti richiesti per installare [[pacman]], per essere poi in grado di aggiungere altro software alla nuova directory di base:
  wget http://mirrors.kernel.org/archlinux/core/os/x86_64/pacman-mirrorlist-20100825-1-any.pkg.tar.gz
+
  wget https://www.archlinux.org/packages/core/$ARCH/pacman/download/ --no-check-certificate
 +
wget https://www.archlinux.org/packages/core/any/pacman-mirrorlist/download/ --no-check-certificate
  
Si potrebbe aver bisogno di altre librerie per far funzionare pacman:
+
Note: Se wget non riesce a recuperare i nomi dei file correttamente, riprovare wget con --trust-server-names. Suggerimento: è possibile usare un alias:
  wget http://www.archlinux.org/packages/core/$ARCH/libfetch/download/
+
  alias wget='wget --trust-server-names'
  wget http://www.archlinux.org/packages/core/$ARCH/libarchive/download/
+
Permette di scaricare i file con i nomi proposti dal server.
  wget http://www.archlinux.org/packages/core/$ARCH/openssl/download/
+
Si veda la [http://pwet.fr/man/linux/commandes/wget man page] e il [http://www.gnu.org/software/wget/manual/wget.html manuale ufficiale] di wget per ulteriori approfondimenti.
  wget http://www.archlinux.org/packages/core/$ARCH/xz/download/
+
 
 +
Note: In caso di problemi con lo scaricamento di '''pacman-mirrorlist''' riprovare con questo modo più diretto con lftp:
 +
  link_name=http://mirrors.kernel.org/archlinux/core/os/x86_64/
 +
lftp -e "mget pacman-mirrorlist-*.tar.gz" "${link_name}"
 +
 
 +
o in questo modo diretto (prestare attenzione alla stringa "data" nel nome del file) :
 +
  wget http://mirrors.kernel.org/archlinux/core/os/x86_64/pacman-mirrorlist-20110703-1-any.pkg.tar.gz
 +
 
 +
Potrebbero essere necessarie ulteriori librerie aggiuntive per far funzionare pacman:
 +
 
 +
  for software_name in libfetch libarchive openssl xz expat ; do wget https://www.archlinux.org/packages/core/$ARCH/${software_name}/download/ ; done
  
 
Spacchettare tutti i pacchetti necessari:
 
Spacchettare tutti i pacchetti necessari:
 
  for f in *.tar.gz ; do tar xzvf $f ; done
 
  for f in *.tar.gz ; do tar xzvf $f ; done
  
Prima di usare pacman, non scordare di editare <tt>/tmp/archlinux/etc/pacman.conf</tt> in modo da puntare a <tt>/tmp/archlinux/etc/pacman.d/mirrorlist</tt> e selezionare il proprio mirror prescelto.
+
Prima di usare pacman, ricordarsi di modificare {{Ic|/tmp/archlinux/etc/pacman.conf}} in modo da puntare a {{Ic|/tmp/archlinux/etc/pacman.d/mirrorlist}} e selezionare il proprio mirror prescelto.
Per facilitare le cose (assumendo si stia utilizzando <tt>bash</tt> o <tt>zsh</tt>), si puo' configurare l'ambiente in tal modo
+
Per facilitare le cose (presupponendo si stia utilizzando {{Ic|bash}} o {{Ic|zsh}}), si può configurare l'ambiente in tal modo
  export PATH=/tmp/archlinux/usr/bin:$PATH
+
  export PATH=${base_chroot}/archlinux/usr/bin:$PATH
  export LD_LIBRARY_PATH=/tmp/archlinux/usr/lib:$LD_LIBRARY_PATH
+
  export LD_LIBRARY_PATH=${base_chroot}/archlinux/usr/lib:$LD_LIBRARY_PATH
  alias pacman="pacman --config /tmp/archlinux/etc/pacman.conf"
+
  alias pacman="pacman --config ${base_chroot}/archlinux/etc/pacman.conf"
  
===Installare i pacchetti richiesti nel sistema host===
+
====Installare pacman nel sistema host====
Se non vi importa mettere in disordine il proprio sistema host, si puo' estrarre tutti i tarball scaricati nella propria directory root dando da root questi comandi:
+
 
 +
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 /
 
  cd /
 
  for f in /tmp/archlinux/pacman-*pkg.tar.gz ; do
 
  for f in /tmp/archlinux/pacman-*pkg.tar.gz ; do
 
   tar xzf $f
 
   tar xzf $f
 
  done
 
  done
 +
 +
Tuttavia, tenere presente che questa operazione potrebbe cancellare alcuni file, e danneggiare il sistema.
  
 
<ol>
 
<ol>
<li><div>Se si sta installando da Ubuntu 9.10 LiveCD (o forse da anche altre versioni), saranno necessari non solo i file di pacman (shared libs) per usarlo.  Usare lo script di Lucky descritto in [[http://bbs.archlinux.org/viewtopic.php?pid=759166 questo thread]] per scaricarli!
+
<li><div>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 [[https://bbs.archlinux.org/viewtopic.php?pid=759166 questo thread]] per scaricarli!
  
 
</div></li>
 
</div></li>
<li><div>Alternatively, you can instead turn these tarballs into packages for your distribution with the [http://kitenet.net/~joey/code/alien/ alien] tool. See the man page of the tool for instructions. The packages created that way may be installed into your host distribution using the usual package management tools available there. This approach offers the best integration into the host linux environment. For a debian package based system this is done with the following commands:
+
<li><div>n alternativa, si possono trasformare questi archivi in pacchetti per la propria distribuzione con il tool [http://kitenet.net/~joey/code/alien/ 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
 
  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
  
  
RPM based systems will need to replace the parameter "-d" with "-r".
+
Per i sistemi basati su RPM sarà necessario sostituire il parametro "-d" con "-r".
  
These distribution packages can then get installed using the normal package management tools of the host linux environment.
+
Questi pacchetti possono quindi venire installati usando il normale gestore pacchetti dell'ambiente Linux host.
 
</div></li>
 
</div></li>
 
<li><div>
 
<li><div>
Under Fedora 12, I wasn't able to install pacman with any of the other methods, but with the nice script at http://bbs.archlinux.org/viewtopic.php?pid=734336#p734336 it will download and install it for you. Worked wonderfully for me.
+
Con Fedora 12, non è stato possibile installare pacman con uno qualsiasi degli altri metodi. Ma con l'ottimo script su https://bbs.archlinux.org/viewtopic.php?pid=734336#p734336, verrà scaricato e installato.
 
</div></li>
 
</div></li>
<li><div>On [http://gentoo.org/ Gentoo]: Just unmask pacman by adding <tt>sys-apps/pacman</tt> to <tt>/etc/portage/package.keywords</tt>. Now just run <tt>emerge -av pacman</tt>.
+
<li><div>Con [http://gentoo.org/ Gentoo]: basta "smascherare" pacman aggiungendo <tt>sys-apps/pacman</tt> a <tt>/etc/portage/package.keywords</tt>. Ora basta eseguire <tt>emerge -av pacman</tt>.
There is also a [http://ohnopub.net/~ohnobinki/gentoo/arch/ more detailed tutorial].
+
C'è anche una [http://ohnopub.net/~ohnobinki/gentoo/arch/ guida ben dettagliata].
 
</div></li>
 
</div></li>
 
<li><div>
 
<li><div>
An older method is [[Quick Custom Installation|discussed here]].
+
Un metodo più vecchio è [[Quick Custom Installation|discusso qui]].
 
</div></li>
 
</div></li>
 
</ol>
 
</ol>
  
===Configure the host system===
+
===Configurare il sistema host===
  
Configure your /etc/pacman.conf to your liking, and remove unnecessary mirrors from /etc/pacman.d/mirrorlist. Also, enabling at least a few mirrors might become necessary, as you may experience errors during syncing if you have no mirror set. You may want to manually resolve DNS in the /etc/pacman.d/mirrorlist, because pacman for i686 may not be able to get address information on x86_64 systems.
+
L'obiettivo principale di questa operazione è di fare una corretta configurazione di pacman.
 +
 
 +
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.
 
   
 
   
If you're installing from a LiveCD, and you have a system with a low amount of combined RAM and swap (< 1 GB), be sure to set the cachedir in /etc/pacman.conf to be in the new Arch partition (e.g. {{Filename|/newarch/var/cache/pacman/pkg}}).  Otherwise you could exhaust memory between the overhead of the existing distro and downloading necessary packages to install.
+
Se si sta installando da un LiveCD, e si dispone di un sistema con una bassa quantità di RAM e swap (<1 GB), assicurarsi di impostare la cachedir in /etc/pacman.conf nella nuova partizione di Arch (es. {{ic|/newarch/var/cache/pacman/pkg}}).  Altrimenti si potrebbe esaurire la memoria tra il sovraccarico della distro esistente e il download dei pacchetti necessari per installare.
  
==Setup the target system==
+
==Installazione del sistema di destinazione==
  
===Prepare a partition for Arch===
+
===Preparare una partizione per Arch===
  
You don't ''have to'' install Arch on a separate partition. You could instead build up a root filesystem in a normal directory, and then create a master tarball from it, or transfer it across the network.
+
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.
  
However, most users will want to be installing Arch onto its own partition.
+
Tuttavia, la maggior parte degli utenti preferiranno l'installazione di Arch nella propria partizione.
  
Prepare any partitions and filesystems you need for your installation. If your host system has any gui tools for this, such as gparted, cfdisk, or mandrakes diskdrake, feel free to use them.  
+
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.  
 
   
 
   
To format a partition as ext3, you run (where /dev/sdxx is the partition you want to setup):  
+
Per formattare una partizione come ext3, si esegue (dove /dev/sdxx è la partizione che si desidera preparare):
  # mkfs.ext3 /dev/sdxx  
+
  mkfs.ext3 /dev/sdxx  
To format it as ext3 with journaling and dir_index:  
+
Per formattare con ext3 con journaling e dir_index:  
  # mkfs.ext3 -j -O dir_index /dev/sdxx  
+
  mkfs.ext3 -j -O dir_index /dev/sdxx  
To format it as reiserfs:  
+
Per formattare con reiserfs:  
  # mkreiserfs /dev/sdxx  
+
  mkreiserfs /dev/sdxx  
To format a partition as swap, and to start using it:  
+
Per formattare una partizione di swap, e iniziare ad usarlo:  
  # mkswap /dev/sdxx  
+
  mkswap /dev/sdxx  
  # swapon /dev/sdxx
+
  swapon /dev/sdxx
Most other filesystems can be setup with their own mkfs variant, take a look with tab completion. Available filesystems depend entirely on your host system.  
+
 
 +
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.  
 
   
 
   
Once you have your filesystems setup, mount them. Throughout this guide, we will refer to the new Arch root directory as /newarch, however you can put it wherever you like.  
+
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  
+
  new_arch=/newarch
  # mount /dev/sdxx /newarch
+
  mkdir ${new_arch}
 
+
mount /dev/sdxx ${new_arch}
===Install the core===
+
 
+
Update pacman. You may have to create the {{Filename|/newarch/var/lib/pacman}} folder for it to work (see "Setup the host system" above):
+
# mkdir -p /newarch/var/lib/pacman
+
# pacman -Sy -r /newarch
+
  
{{Box RED|Issues while running pacman on 64 bit host:|If during running pacman you end up with '''/tmp/archlinux/usr/bin/pacman: No such file or directory''' please symlink ld-linux-x86-64.so.2: '''ln -s /lib64/ld-linux-x86-64.so.2 /lib/'''}}
+
===Installare il core===
  
 +
Aggiornare pacman. Potrebbe essere necessario creare la cartella {{ic|/newarch/var/lib/pacman}} per farlo funzionare ("vedere "Setup the host system" di cui sopra):
 +
mkdir -p ${new_arch}/var/lib/pacman
 +
pacman -Sy -r ${new_arch}
  
Install the 'base' group of packages:
+
{{Box RED|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/'''}}
# pacman -S base -r /newarch
+
  
{{Warning|The -r parameter doesn't change the location of Pacman's cache directory. If you don't want Pacman's cache to be created in your host distro, supply another location with --cachedir, or modify pacman.conf as described [[#Configure_the_host_system|above]].}}
 
  
Example without modifying the host system's pacman.conf:
+
Installare il gruppo "base" di pacchetti:
  # pacman --cachedir /newarch/var/cache/pacman/pkg -S base -r /newarch
+
  mkdir -p ${new_arch}/var/cache/pacman/pkg
 +
pacman  -Su base --cachedir ${new_arch}/var/cache/pacman/pkg -r ${new_arch}
  
===Prepare /dev nodes===
+
===Preparare i /dev nodes===
  
First, ensure the correct /dev nodes have been made for udev:
+
In primo luogo, assicurarsi che siano stati creati i /dev nodes corretti per udev:
  ls -alF /newarch/dev
+
  ls -alF ${new_arch}/dev
  
This result in a list containing lines similar to the following (the dates will differ for you):
+
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-------  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, 3 2008-12-27 21:42 null
 
  crw-rw-rw-  1 root root 1, 5 2008-12-27 21:40 zero
 
  crw-rw-rw-  1 root root 1, 5 2008-12-27 21:40 zero
  
Delete and recreate any device which has a different set of permissions (the crw-... stuff plus the two root entries) and major/minor numbers (the two before the date).
+
Eliminare e ricreare qualsiasi dispositivo che abbia un diverso insieme di permessi (i contenuti con crw-... più le due voci di root) e numeri maggiori/minori (i due prima della data).
  
  cd /newarch/dev  
+
  cd ${new_arch}/dev  
 
  rm console ; mknod -m 600 console c 5 1  
 
  rm console ; mknod -m 600 console c 5 1  
 
  rm null ; mknod -m 666 null c 1 3  
 
  rm null ; mknod -m 666 null c 1 3  
 
  rm zero ; mknod -m 666 zero c 1 5
 
  rm zero ; mknod -m 666 zero c 1 5
  
All device nodes should have been created for you already with the right permissions and you should not need to recreate any of them.
+
Tutti i nodi di dispositivo dovrebbe essere già stati creati con i permessi giusti e non dovrebbe essere necessario ricreare qualsiasi di essi.
  
 
===Chroot===
 
===Chroot===
Now we will [[Change Root|chroot into the new Arch system]].
+
Ora si effettua il [[Change Root|chroot into the new Arch system]].
  
In order for DNS to work properly you need to edit {{Filename|/newarch/etc/resolv.conf}} or replace it with the resolv.conf from your running distribution  
+
Al fine di far funzionare correttamente i DNS è necessario modificare {{ic|${new_arch}/etc/resolv.conf}} or replace it with the resolv.conf from your running distribution  
  cp /etc/resolv.conf /newarch/etc/  
+
  cp /etc/resolv.conf ${new_arch}/etc/
  
Also, you need to copy a correctly setup mirrorlist into the new system:
+
C'è noltre bisogno di copiare un'installazione corretta dei mirrorlist nel nuovo sistema:
  cp /etc/pacman.d/mirrorlist /newarch/etc/pacman.d
+
  cp /etc/pacman.d/mirrorlist ${new_arch}/etc/pacman.d
  
Mount various filesystems into the new Arch system:
+
Infine modificare i files di configurazione di pacman {{ic|${new_arch}/etc/pacman.conf}} definendo l'architettura del sistema.
mount -t proc proc /newarch/proc
+
Le impostazioni automatiche di default potrebbero fallire se sono differenti dal sistema ospite.
mount -t sysfs sys /newarch/sys
+
  Architecture = i686 or x86_64
  mount -o bind /dev /newarch/dev
+
  
If you have a separate {{Filename|/boot}} partition, you'll probably need to mount that too. See [[Change Root]] for more details.
+
Montare vari filesystem nel nuovo sistema Arch:
 +
mount -t proc proc ${new_arch}/proc
 +
mount -t sysfs sys ${new_arch}/sys
 +
mount -o bind /dev ${new_arch}/dev
  
When everything is prepared, chroot into the new filesystem:
+
Per una partizione di {{ic|/boot}} separata, bisognerà probabilmente montare anche quella. Vedere [[Change Root]] per maggiori informazioni.
  
chroot /newarch /bin/bash
+
Quando tutto è pronto, effettuare il chroot nel nuovo filesystem:
  
===Install the rest===
+
  chroot ${new_arch} /bin/bash
Install your preferred kernel, and any other packages you may wish to install.
+
For the default kernel (which is already installed!):
+
  pacman -S kernel26
+
  
If you wish to install extra packages now, you may do so with:  
+
===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 --needed linux
 +
 
 +
Se si desidera installare i pacchetti extra ora, si può farlo con:  
 
  pacman -S packagename
 
  pacman -S packagename
  
===Configure the target system===
+
===Configurare il sistema di destinazione===
Edit your {{Filename|/etc/fstab}}, remembering to add /, swap and any other partitions you may wish to use. Be sure to use the /dev/sd* (sda1, sda2, sdb1, etc) for the partitions instead of /dev/hd*, as Arch uses the sdxx convention for all drives.
+
Modificare il {{ic|/etc/fstab}}, 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à.
 
   
 
   
Edit your {{Filename|/etc/rc.conf}}, {{Filename|/etc/hosts}} and {{Filename|/etc/mkinitcpio.conf}} to your needs. Then rebuild your initcpio image:  
+
Modificare i file {{ic|/etc/rc.conf}}, {{ic|/etc/hosts}} e {{ic|/etc/mkinitcpio.conf}} a seconda delle proprie esigenze. Poi rigenerare l'immagine initcpio:
  mkinitcpio -p kernel26
+
  mkinitcpio -p linux
 
   
 
   
Edit {{Filename|/etc/locale.gen}}, uncommenting any locales you wish to have available, and build the locales:  
+
Modificare {{ic|/etc/locale.gen}}, decommentando qualsiasi locale si desideri avere a disposizione, e compilare le versioni locali:
 
  locale-gen
 
  locale-gen
  
===Setup Grub===  
+
===Installazione di grub===  
To use [[GRUB]] when chrooted, you need to ensure that {{Filename|/etc/mtab}} is up-to-date:
+
Per usare [[GRUB]] durante il chroot, è necessario che {{ic|/etc/mtab}} sia a aggiornato:
 +
diff /etc/mtab /proc/mounts
 +
Se si ottiene qualsiasi risultato dal precedente comando, inserisci:
 
  grep -v rootfs /proc/mounts > /etc/mtab   
 
  grep -v rootfs /proc/mounts > /etc/mtab   
  
You can now run:  
+
È ora possibile eseguire:  
 
  grub-install /dev/sdx
 
  grub-install /dev/sdx
  
If grub-install fails, you can manually install:
+
Se grub-install non riesce, è possibile installarlo manualmente:
 
  grub  
 
  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> 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.)
Line 214: Line 241:
 
  grub> quit  
 
  grub> quit  
  
Double-check your {{Filename|/boot/grub/menu.lst}}. Depending on the host, it could need correcting from hda to sda, and a prefix of /boot as well in the paths.  
+
Controllare molto attentamente il file {{ic|/boot/grub/menu.lst}}. A seconda dell'host, potrebbe essere necessario correggere da hda to sda, oltre al prefisso /boot nel percorso.  
  
====Manual recovery of GRUB libs ====
+
====Ripristino manuale di GRUB libs ====
  
The {{Filename|*stage*}} files are expected to be in {{Filename|/boot/grub}}, which may not be the case if the bootloader was not installed during system installation or if the partition/filesystem was damages, accidentally deleted, etc.   
+
I file {{ic|*stage*}} dovrebbero essere in {{ic|/boot/grub}}, 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.   
  
Manually copy the grub libs like so:
+
Copiare manualmente le librerie grub in questo modo:
 
  # cp -a /usr/lib/grub/i386-pc/* /boot/grub
 
  # cp -a /usr/lib/grub/i386-pc/* /boot/grub
  
{{Note|Don't forget to mount the system's boot partition if your setup uses a separate oneThe above assumes that either the boot partition resides on the root filesystem or is mounted to /boot on the root file system!}}
+
{{Note|Non dimenticare di montare la partizione di boot se l'installazione del sistema utilizza una separataQuanto sopra presuppone che la partizione di boot risieda sul filesystem di root o che sia montata in /boot sul filesystem di root!}}
  
  
Detailed instructions for [[GRUB]] and [[LILO]] are available elsewhere on this wiki.
+
Istruzioni dettagliate per [[GRUB]] e [[LILO]] sono disponibili in altre sezioni di questo wiki.
  
===Finishing touches===
+
===Ritocchi finali===
See [[Beginners_Guide#Configure_the_System|Beginners Guide:Configure your System]]. You can ignore 2.11, but the rest of that guide should be of use to you in post-installation configuration of your system.
+
Consultare [[Beginners_Guide#Configure_the_System|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.
 
   
 
   
[[Change_Root#Cleaning_up|Exit your chroot]]:
+
[[Change_Root#Cleaning_up|Uscire da chroot]]:
 
  exit
 
  exit
  umount /newarch/boot  # if you mounted this or any other separate partitions
+
  umount ${new_arch}/boot  # if you mounted this or any other separate partitions
  umount /newarch/{proc,sys,dev}
+
  umount ${new_arch}/{proc,sys,dev}
  umount /newarch
+
  umount ${new_arch}
  
Reboot to your new Arch system!
+
Riavviare il nuovo sistema Arch!
  
==Troubleshooting==  
+
== Un terzo (e più semplice) metodo ==
 +
Questo metodo è stato testato per la versione 1-4-12.
 +
Per questo metodo la situazione migliore è quella dell'ambiente LiveCD (o, nel caso di server, un ambiente di recupero basato su gnu/Linux).
 +
 
 +
Prima di tutto c'è bisogno di montare il disco che si vuole usare per l'installazione di Archlinux in /mnt.
 +
In questo esempio viene usato /dev/sda1
 +
mnt /dev/sda1 /mnt
 +
cd ~
 +
wget http://tokland.googlecode.com/svn/trunk/archlinux/arch-bootstrap.sh && chmod +x arch-bootstrap.sh
 +
Per installare un sistema a 32-bit:
 +
./arch-bootstrap.sh /mnt/ i686 "ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org"
 +
Per un sistema a 64-bit:
 +
./arch-bootstrap.sh /mnt/ x86_64 "ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org"
 +
L'avvio richiederà circa 2-5 minuti a seconda della velocità del sistema.
 +
mount -t proc none /mnt/proc
 +
mount -t sysfs none /mnt/sys
 +
mount -o bind /dev /mnt/dev
 +
Queste operazioni di mount sono essenziali per l'installazione successiva bootloader.
 +
Adesso viene la parte divertente, chroot dentro la nuova installazione di Arch:
 +
chroot /mnt bash
 +
pacman -Sy base
 +
mkinitcpio -p linux
 +
Scegliere un bootloader. Si possono trovare le istruzioni di installazione nelle pagine dedicate. ([[Syslinux]], [[Grub]], [[Grub2]], etc.).
 +
 
 +
'''Ricorda:''' C'è ancora bisogno di fare la configurazioni finali come in una normale installazione Arch.
 +
 +
''Si ringrazia il sito turco: [http://raptiye.org/blog/2011/3/27/hetznerde-arch-linux-kurulumu/ Raptiye] per la guida originale.''
 +
 
 +
==Risoluzione dei problemi==  
  
 
===Kernel Panic===
 
===Kernel Panic===
If when you reboot into your new system you get a kernel panic saying console couldn't open:  
+
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...  
 
  kinit: couldn't open console, no such file...  
  
This means you didn't follow the instructions above. Follow the steps to create basic device nodes at the beginning of preparation.
+
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.
  
===Root device '/dev/sd??' doesn't exist===  
+
===Il dispositivo root "/dev/sd??" non esiste===  
If when you reboot into your new system you get a error messages like this:  
+
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.  
 
  Root device '/dev/sda1' doesn't exist, attempting to create it... etc.  
  
This means the drives are showing up as "hda1" instead of "sda1" In which case change your GRUB or LILO settings to use "hd??" or try the following.  
+
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.  
 
   
 
   
Edit /etc/mkinitcpio.conf and change "ide" to "pata" in the "HOOKS=" line. Then regenerate your initrd. (Make sure you have chroot'ed into the new system first.)  
+
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
+
  mkinitcpio -p linux
  
If you are using LVM make sure you add "lvm2" in the HOOKS line. Regenerate your initrd as above.
+
Se si usa LVM assicurati di aggiungere "lvm2" nella riga HOOKS. Rigenera l'initrd come sopra.
  
If you're installing to a device that needs PATA hook make sure it's located before autodetect hook in mkinitcpio.conf.
+
Se si sta installando su un dispositivo che ha bisogno dell'hook PATA assicurarsi che sia posizionato prima dell'hook autodetect in mkinitcpio.conf.
  
If your root partition is on an USB device, you have to add “usb” into your “HOOKS=” line before anything else, even “base”.
+
Se la partizione root è su un dispositivo USB, è necessario aggiungere "usb" nella riga "HOOKS="  prima di ogni altra cosa, incluso "base".
 
<!-- vim: set ft=Wikipedia: -->
 
<!-- vim: set ft=Wikipedia: -->
  
= Another Method: Installing from Existing Linux with Arch's Image =  
+
= Un metodo alternativo: Installazione da un sistema Linux esistente con l'immagine di Arch =  
=== Preparing the Installation Environment ===
+
=== Preparare l'ambiente di installazione ===
  
You can grab whatever image from Arch's Download Page and get the content of image by mount loopback:
+
È possibile procurarsi qualsiasi immagine dalla pagina di download di Arch ed ottenere il contenuto dell'immagine per montare il loopback:
  
CD Image:   
+
Immagine CD i686:  
  $ mount -o loop archlinux-2009.08-core-i686.iso /mnt/loop
+
  $ mkdir -v /mnt/image
 +
  $ mount -o loop archlinux-2011.08.19-core-i686.iso /mnt/image
  
with USB Image:
+
creare le directory per l'estrazione dell'immagine e l'ambiente chroot
  $ losetup -f archlinux-2009.08-core-i686.img
+
  $ mkdir -v /mnt/extract
  $ losetup -fo 32256 /dev/loop0
+
  $ mkdir -pv /mnt/archlinux/lib/modules
  $ mount /dev/loop0 /mnt/loop
+
  $ mkdir -pv /mnt/archlinux/usr/share
 +
$ mkdir -pv /mnt/archlinux/repo/core/{i686,any}
  
and the content of image:
+
estrarre il contenuto dell'immagine:
$ ls /mnt/loop
+
boot  core-pkgs.sqfs  isomounts  lost+found  overlay.sqfs  root-image.sqfs
+
  
extract the root image:
+
$ cd /mnt/image/arch/i686/
  $ cd /mnt
+
 
  $ unsquashfs loop/root-image.sqfs
+
# root-image
 +
$ unsquashfs -dest /mnt/extract/root root-image.fs.sfs
 +
  $ mount -t ext4 /mnt/extract/root/root-image.fs /mnt/archlinux
 +
 
 +
# lib-modules
 +
  $ unsquashfs -dest /mnt/extract/modules lib-modules.fs.sfs
 +
$ mount -t ext4 /mnt/extract/modules/lib-modules.fs /mnt/archlinux/lib/modules
 +
 
 +
# repo-core-i686
 +
$ mount -o loop -t squashfs repo-core-i686.sfs /mnt/archlinux/repo/core/i686
 +
 
 +
$ cd /mnt/image/arch/any/
 +
 
 +
# usr-share
 +
$ unsquashfs -dest /mnt/extract/share usr-share.fs.sfs
 +
$ mount -t ext4 /mnt/extract/share/usr-share.fs /mnt/archlinux/usr/share
 +
 
 +
# repo-core-any
 +
$ mount -o loop -t squashfs repo-core-any.sfs /mnt/archlinux/repo/core/any
  
after this step, you will have a new squashfs-root directory which contain new Arch system.
+
dopo questa fase, si avrà una nuova cartella archlinux contenente il nuovo sistema Arch.
  
=== Install from New Environment ===
+
=== Installare dal nuovo ambiente ===
If you have Core Arch installation media, and want to install the core packages from it, just copy core-pkgs.sqfs to new squashfs-root directory:
+
$ cp loop/core-pkgs.sqfs squashfs-root
+
  
Now [[Change Root|chroot into the new Arch system]]:  
+
Ora eseguire il [[Change Root|chroot into the new Arch system]]:  
  
  $ mount -t proc proc /mnt/squashfs-root/proc
+
  $ mount -t proc /proc /mnt/archlinux/proc
  $ mount -t sysfs sys /mnt/squashfs-root/sys
+
  $ mount -t sysfs /sys /mnt/archlinux/sys
  $ mount -o bind /dev /mnt/squashfs-root/dev  
+
  $ mount -o bind /dev /mnt/archlinux/dev  
  $ chroot /mnt/squashfs-root /bin/bash
+
  $ chroot /mnt/archlinux /bin/bash
  
Now you're inside the new installation's filesystem. If you're going to use core-pkgs.sqfs, mount it now:
+
A questo punto, andare avanti e lanciare l'installer aif di Arch!
$ mkdir -p /src/core/pkg
+
$ mount -o loop -t squashfs core-pkgs.sqfs /src/core/pkg
+
 
+
At this point, go ahead and launch Arch's aif installer!
+
 
  $ aif -p interactive
 
  $ aif -p interactive
  
and you can install Arch as normal (from CD or Internet) with the notice:
+
ed è possibile installare Arch normalmente (da CD o da Internet) con il seguente puntatore:
* Your target partition must not using by host system
+
* Your target partition must not be being used by host system
  
  
After installing Arch from chroot's environment, you can remove any squashfs-root directory and exit the chroot:
+
Dopo aver installato Arch dall'ambiente chroot, è necessario smontare le partizioni montate da aif prima di uscire dal chroot:
  $ umount /src/core/pkg
+
  $ umount /mnt/boot,home...
 
  $ exit
 
  $ exit
  $ umount /mnt/squashfs-root/dev  
+
  $ umount /mnt/archlinux/{dev,sys,proc}
  $ umount /mnt/squashfs-root/sys
+
  $ umount /mnt/archlinux/lib/modules
  $ umount /mnt/squashfs-root/proc
+
  $ umount /mnt/archlinux/usr/share
  $ rm -rf /mnt/squashfs-root
+
$ umount /mnt/archlinux/repo/core/{i686,any}
 +
$ umount /mnt/archlinux
 +
$ umount /mnt/image
 +
  $ rm -r /mnt/{archlinux,extract}
 +
 
 +
È indispensabile smontare le partizioni prima di uscire da chroot, altrimenti non si sarà in grado di smontare la directory chroot.
  
=== Update and Install packages from host system via chroot ===
+
=== Aggiornamento e installazione dei pacchetti dal sistema host via chroot ===
Add an entry to your existing Grub bootloader's menu.lst, or if you installed a new Grub during the Arch installation process, add it to the /boot/grub/menu.lst on your Arch filesystem.
+
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.
  
Now either reboot or [[Change Root|chroot]] into the new Arch's partition to install further packages:
+
Ora riavviare o entrare in [[Change Root|chroot]] nella nuova partizione di Arch per installare i pacchetti aggiuntivi:
 
  $ mkdir /mnt/arch
 
  $ mkdir /mnt/arch
 
  $ mount /dev/sdxx /mnt/arch
 
  $ mount /dev/sdxx /mnt/arch
Line 327: Line 399:
 
  $ chroot /mnt/arch /bin/bash
 
  $ chroot /mnt/arch /bin/bash
  
Update and install new packages:
+
Aggiornare e installare nuovi pacchetti:
 
  # pacman -Syu
 
  # pacman -Syu

Revision as of 13:59, 15 June 2012

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.

In questa guida il requisito necessario è che il sistema host esistente sia in grado di eseguire i programmi con l'architettura del target Arch Linux. 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. Tuttavia non è così facile compilare un ambiente a 64 bit quando l'host supporta in esecuzione solo programmi a 32 bit.

In questa guida inoltre, 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 o /dev/sda1
Drive 1, Partition 2:  /dev/hda2 o /dev/sda2
Drive 2, Partition 1:  /dev/hdb1 o /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.
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. Se sei già utilizzando Arch, saltare questo passaggio e andare a Install from Existing Linux (Italiano)#Installazione del sistema di destinazione

Ottenere i pacchetti necessari

Introduzione

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
base_chroot=/tmp
mkdir ${base_chroot}/archlinux
cd ${base_chroot}/archlinux

Scarica i binari di pacman e le librerie condivise

Ora si scarichino i pacchetti richiesti per installare pacman, per essere poi in grado di aggiungere altro software alla nuova directory di base:

wget https://www.archlinux.org/packages/core/$ARCH/pacman/download/ --no-check-certificate
wget https://www.archlinux.org/packages/core/any/pacman-mirrorlist/download/ --no-check-certificate

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'

Permette di scaricare i file con i nomi proposti dal server. Si veda la man page e il manuale ufficiale di wget per ulteriori approfondimenti.

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

link_name=http://mirrors.kernel.org/archlinux/core/os/x86_64/
lftp -e "mget pacman-mirrorlist-*.tar.gz" "${link_name}"

o in questo modo diretto (prestare attenzione alla stringa "data" nel nome del file) :

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

Potrebbero essere necessarie ulteriori librerie aggiuntive per far funzionare pacman:

for software_name in libfetch libarchive openssl xz expat ; do wget https://www.archlinux.org/packages/core/$ARCH/${software_name}/download/ ; done

Spacchettare tutti i pacchetti necessari:

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

Prima di usare pacman, ricordarsi 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=${base_chroot}/archlinux/usr/bin:$PATH
export LD_LIBRARY_PATH=${base_chroot}/archlinux/usr/lib:$LD_LIBRARY_PATH
alias pacman="pacman --config ${base_chroot}/archlinux/etc/pacman.conf"

Installare pacman 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

Tuttavia, tenere presente che questa operazione potrebbe cancellare alcuni file, e danneggiare il sistema.

  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 https://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

L'obiettivo principale di questa operazione è di fare una corretta configurazione di pacman.

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 e swap (<1 GB), assicurarsi di impostare la cachedir in /etc/pacman.conf nella nuova partizione di Arch (es. /newarch/var/cache/pacman/pkg). 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.

new_arch=/newarch
mkdir ${new_arch}
mount /dev/sdxx ${new_arch}

Installare il core

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

mkdir -p ${new_arch}/var/lib/pacman 
pacman -Sy -r ${new_arch}
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:

mkdir -p ${new_arch}/var/cache/pacman/pkg
pacman  -Su base --cachedir ${new_arch}/var/cache/pacman/pkg -r ${new_arch}

Preparare i /dev nodes

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

ls -alF ${new_arch}/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 numeri maggiori/minori (i due prima della data).

cd ${new_arch}/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 ${new_arch}/etc/resolv.conf or replace it with the resolv.conf from your running distribution

cp /etc/resolv.conf ${new_arch}/etc/

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

cp /etc/pacman.d/mirrorlist ${new_arch}/etc/pacman.d

Infine modificare i files di configurazione di pacman ${new_arch}/etc/pacman.conf definendo l'architettura del sistema. Le impostazioni automatiche di default potrebbero fallire se sono differenti dal sistema ospite.

Architecture = i686 or x86_64

Montare vari filesystem nel nuovo sistema Arch:

mount -t proc proc ${new_arch}/proc
mount -t sysfs sys ${new_arch}/sys
mount -o bind /dev ${new_arch}/dev

Per una partizione di /boot separata, bisognerà probabilmente montare anche quella. Vedere Change Root per maggiori informazioni.

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

chroot ${new_arch} /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 --needed linux 

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

pacman -S packagename

Configurare il sistema di destinazione

Modificare il /etc/fstab, 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 /etc/rc.conf, /etc/hosts e /etc/mkinitcpio.conf a seconda delle proprie esigenze. Poi rigenerare l'immagine initcpio:

mkinitcpio -p linux

Modificare /etc/locale.gen, decommentando qualsiasi locale si desideri avere a disposizione, e compilare le versioni locali:

locale-gen

Installazione di grub

Per usare GRUB durante il chroot, è necessario che /etc/mtab sia a aggiornato:

diff /etc/mtab /proc/mounts

Se si ottiene qualsiasi risultato dal precedente comando, inserisci:

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 /boot/grub/menu.lst. 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 *stage* dovrebbero essere in /boot/grub, 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.

Uscire da chroot:

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

Riavviare il nuovo sistema Arch!

Un terzo (e più semplice) metodo

Questo metodo è stato testato per la versione 1-4-12. Per questo metodo la situazione migliore è quella dell'ambiente LiveCD (o, nel caso di server, un ambiente di recupero basato su gnu/Linux).

Prima di tutto c'è bisogno di montare il disco che si vuole usare per l'installazione di Archlinux in /mnt. In questo esempio viene usato /dev/sda1

mnt /dev/sda1 /mnt
cd ~
wget http://tokland.googlecode.com/svn/trunk/archlinux/arch-bootstrap.sh && chmod +x arch-bootstrap.sh

Per installare un sistema a 32-bit:

./arch-bootstrap.sh /mnt/ i686 "ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org"

Per un sistema a 64-bit:

./arch-bootstrap.sh /mnt/ x86_64 "ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org"

L'avvio richiederà circa 2-5 minuti a seconda della velocità del sistema.

mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount -o bind /dev /mnt/dev

Queste operazioni di mount sono essenziali per l'installazione successiva bootloader. Adesso viene la parte divertente, chroot dentro la nuova installazione di Arch:

chroot /mnt bash
pacman -Sy base
mkinitcpio -p linux

Scegliere un bootloader. Si possono trovare le istruzioni di installazione nelle pagine dedicate. (Syslinux, Grub, Grub2, etc.).

Ricorda: C'è ancora bisogno di fare la configurazioni finali come in una normale installazione Arch.

Si ringrazia il sito turco: Raptiye per la guida originale.

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 linux

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 i686:

$ mkdir -v /mnt/image
$ mount -o loop archlinux-2011.08.19-core-i686.iso /mnt/image

creare le directory per l'estrazione dell'immagine e l'ambiente chroot

$ mkdir -v /mnt/extract
$ mkdir -pv /mnt/archlinux/lib/modules
$ mkdir -pv /mnt/archlinux/usr/share
$ mkdir -pv /mnt/archlinux/repo/core/{i686,any} 

estrarre il contenuto dell'immagine:

$ cd /mnt/image/arch/i686/
  
# root-image 
$ unsquashfs -dest /mnt/extract/root root-image.fs.sfs 
$ mount -t ext4 /mnt/extract/root/root-image.fs /mnt/archlinux
 
# lib-modules 
$ unsquashfs -dest /mnt/extract/modules lib-modules.fs.sfs 
$ mount -t ext4 /mnt/extract/modules/lib-modules.fs /mnt/archlinux/lib/modules
  
# repo-core-i686 
$ mount -o loop -t squashfs repo-core-i686.sfs /mnt/archlinux/repo/core/i686
  
$ cd /mnt/image/arch/any/
  
# usr-share 
$ unsquashfs -dest /mnt/extract/share usr-share.fs.sfs 
$ mount -t ext4 /mnt/extract/share/usr-share.fs /mnt/archlinux/usr/share
  
# repo-core-any 
$ mount -o loop -t squashfs repo-core-any.sfs /mnt/archlinux/repo/core/any

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

Installare dal nuovo ambiente

Ora eseguire il chroot into the new Arch system:

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

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

$ aif -p interactive

ed è possibile installare Arch normalmente (da CD o da Internet) con il seguente puntatore:

  • Your target partition must not be being used by host system


Dopo aver installato Arch dall'ambiente chroot, è necessario smontare le partizioni montate da aif prima di uscire dal chroot:

$ umount /mnt/boot,home...
$ exit
$ umount /mnt/archlinux/{dev,sys,proc} 
$ umount /mnt/archlinux/lib/modules
$ umount /mnt/archlinux/usr/share
$ umount /mnt/archlinux/repo/core/{i686,any}
$ umount /mnt/archlinux
$ umount /mnt/image
$ rm -r /mnt/{archlinux,extract} 

È indispensabile smontare le partizioni prima di uscire da chroot, altrimenti non si sarà in grado di smontare la directory chroot.

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