https://wiki.archlinux.org/api.php?action=feedcontributions&user=LTSmash&feedformat=atom
ArchWiki - User contributions [en]
2024-03-29T02:00:04Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Arch_Based_Distributions&diff=59137
Arch Based Distributions
2009-01-25T01:51:22Z
<p>LTSmash: New page: Arch Based Distros ==Shift Linux== Shift Linux is a work in progress that aims to be a desktop distro based on a solid Arch foundation... Currently asking for people which would like to...</p>
<hr />
<div>Arch Based Distros<br />
<br />
==Shift Linux==<br />
<br />
Shift Linux is a work in progress that aims to be a desktop distro based on a solid Arch foundation...<br />
<br />
Currently asking for people which would like to collaborate somehow with the proyect.<br />
<br />
You don't need any specific knowledge, just the will to help (and learn too!)...<br />
<br />
ShiftLinux Forums:<br />
http://www.neowin.net/forum/index.php?showforum=182<br />
<br />
ShiftLinux Development Team (open for anyone) on Launchpad:<br />
https://launchpad.net/~shiftlinux-devs<br />
<br />
ShiftLinux Proyect on Launchpad<br />
https://launchpad.net/shiftlinux</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_from_existing_Linux&diff=58813
Install Arch Linux from existing Linux
2009-01-21T21:50:41Z
<p>LTSmash: /* Get the required packages */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]] <br />
[[Category:HOWTOs (English)]] <br />
<br />
This guide is intended to combine and update the three previously existing and highly similar alternative install guides on this wiki. This guide intended for anybody who wants to install Arch Linux from any other running Linux -- be it off a LiveCD or a pre-existing install of a different distro.<br />
<br />
==Install From Existing Linux== <br />
<br />
===Overview=== <br />
Arch Linux's Pacman can be configured (-r) to perform operations in any directory you like, using that as the context of "root" while running. <br />
<br />
The pacman package available from the mirrors includes a static-linked version of the binary (pacman.static) which should run in most any modern linux environment, without the need of dependencies. <br />
<br />
This is useful for building up new Arch Linux systems from scratch from other LiveCDs or different systems running another Linux environment, creating new chroot environments on a "host" system, maintaining a "golden-master" for development & distribution, or other fun topics like rootfs-over-NFS for diskless machines. <br />
<br />
In the case of an x86_64 host, it is even possible to use i686-pacman to build a 32-bit chroot environment. See [[Arch64 Install bundled 32bit system]]. <br />
<br />
Throughout this guide, we will refer to partitions as /dev/hdxx or /dev/sdxx. This refers to whatever dev entry you have on your system for the partition in question. The convention is:<br />
Drive 1, Partition 1: /dev/hda1 or /dev/sda1<br />
Drive 1, Partition 2: /dev/hda2 or /dev/sda2<br />
Drive 2, Partiiton 1: /dev/hdb1 or /dev/sdb1<br />
etc...<br />
<br />
We will refer to it as /dev/sdxx whenever possible, but realize depending on your system it could be /dev/hdxx.<br />
<br />
If you have a broadband connection available through the installation process and just want to do a basic install, [http://unetbootin.sourceforge.net/ UNetbootin] may also be an easy solution worth to have a look at.<br />
<br />
===Setup host system=== <br />
<br />
You need to install the archlinux package manager pacman on your host linux environment. In addition you will need a list of pacman mirrors sites which is used to download data on available packages as well as the packages themselves.<br />
<br />
====Get the required packages====<br />
<br />
You need to get the required packages for your host linux environment. The examples given here assume you are using a i686 environment. If you are running on an 64bit linux instead you should replace each occurance of "i686" with "x86_64".<br />
<br />
All version numbers given here may change. Please check the version numbers the packages are at first and note them down. The version numbers can be found [http://www.archlinux.org/packages/core/i686/pacman/ here for pacman] and [http://www.archlinux.org/packages/core/i686/pacman-mirrorlist/ here for pacman-mirrorlist]. Once you are sure of the version numbers download the required packages:<br />
mkdir /tmp/archlinux<br />
cd /tmp/archlinux<br />
wget ftp://ftp.archlinux.org/core/os/i686/pacman-3.2.1-2-i686.pkg.tar.gz<br />
wget ftp://ftp.archlinux.org/core/os/i686/pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
tar xzvf pacman-3.2.1-2-i686.pkg.tar.gz<br />
tar xzvf pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
<br />
In addition to the dynamically linked pacman there is a statically linked version available. This does integrate better into all the different host linux systems possible. This static version is not part of the normal archlinux setup anymore but can be found at http://repo.archlinux.fr/i686/. Use the following command to get it:<br />
cd /tmp/archlinux<br />
wget http://repo.archlinux.fr/i686/pacman-static-3.2.2-1.pkg.tar.gz<br />
tar xzvf pacman-static-3.2.2-1.pkg.tar.gz<br />
<br />
====Install the required files into the host system====<br />
<br />
Since we will use pacman.static for the initial setup, we only need a few files installed into the host. This can be done by running the following commands as root:<br />
cp /tmp/archlinux/etc/pacman.conf /etc<br />
mkdir /etc/pacman.d<br />
cp /tmp/archlinux/etc/pacman.d/* /etc/pacman.d<br />
cp /tmp/archlinux/usr/bin/pacman.static /usr/bin<br />
<br />
If you do not mind to litter your install host, you can also extract all the downloaded tar balls into your root directory by running as root:<br />
cd /<br />
tar xzf /tmp/archlinux/pacman-*pkg.tar.gz<br />
<br />
You may also 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:<br />
cd /tmp/archlinux<br />
alien -d pacman-3.2.1-2-i686.pkg.tar.gz<br />
alien -d pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
alien -d pacman-static-3.2.1-1-i686.pkg.tar.gz<br />
<br />
RPM based systems will need to replace the parameter "-d" with "-r".<br />
<br />
These distribution packages can then get installed using the normal package management tools of the host linux environment.<br />
<br />
====Configure the host linux system==== <br />
<br />
Configure your /etc/pacman.conf to your liking, and remove unnecessary mirrors from /etc/pacman.d/mirrorlist. You may want to manually resolve DNS in the /etc/pacman.d/mirrorlist, because pacman-static for i686 may not be able to get address information on x86_64 systems.<br />
<br />
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 new arch partition (e.g. - /newarch/var/cache/pacman/pkg). Otherwise you could exhaust memory between the overhead of the existing distro and downloading necessary packages to install.<br />
<br />
===Prepare disk for Arch=== <br />
Prepare the new Arch system's filesystems and then mount them. If your host system has any gui tools for this, such as gparted, cfdisk, or mandrakes diskdrake, feel free to use them. <br />
<br />
To format a partition as ext3, you run (where /dev/sdxx is the partition you want to setup): <br />
# mkfs.ext3 /dev/sdxx <br />
as reiserfs: <br />
# mkreiserfs /dev/sdxx <br />
swap: <br />
# mkswap /dev/sdxx <br />
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. <br />
<br />
Once you have setup the filesystems, mount them. Throughout this, We will reference the new Arch / at /newarch, however you can put it wherever you like. <br />
# mkdir /newarch <br />
# mount /dev/sdxx /newarch <br />
<br />
It is also possible to build the root filesystem in a normal directory on the install-host, for transfer to a target system over the network, or to create a master tarball etc. <br />
<br />
===Install Base System=== <br />
Update pacman, you may have to create the /newarch/var/lib/pacman folder for it to work:<br />
# mkdir -p /newarch/var/lib/pacman <br />
# pacman.static -Sy -r /newarch <br />
# pacman.static -S pacman -r /newarch <br />
<br />
Install the 'base' group of packages:<br />
# pacman.static -Sy base -r /newarch<br />
<br />
'''NOTE:''' Pacman cache directory is not modified by -r parameter. If you don't want cache to be created in pre-existing distro use --cachedir or modify pacman.conf as mentioned in [[Install_From_Existing_Linux#Setup_host_system|host system setup]]!<br />
<br />
===Prepare System=== <br />
<br />
First, ensure the correct /dev nodes have been made for udev:<br />
ls -alF /newarch/dev<br />
<br />
This result in a list containing lines similar to the following (the dates will differ for you):<br />
crw------- 1 root root 5, 1 2008-12-27 21:40 console<br />
crw-rw-rw- 1 root root 1, 3 2008-12-27 21:42 null<br />
crw-rw-rw- 1 root root 1, 5 2008-12-27 21:40 zero<br />
<br />
Delete and recreate any device which has a different set of permissions (the crw-... stuff plus the two root entries) and mayor/minor numbers (the two before the date).<br />
<br />
cd /newarch/dev <br />
rm console ; mknod -m 660 console c 5 1 <br />
rm null ; mknod -m 666 null c 1 3 <br />
rm zero ; mknod -m 666 zero c 1 5<br />
<br />
All device nodes should have been created for you already with the right permissions and you should not need to recreate any of them.<br />
<br />
Mount various filesystems into the new Arch system. <br />
mount -o bind /dev /newarch/dev<br />
mount -t proc none /newarch/proc<br />
mount -o bind /sys /newarch/sys<br />
<br />
In order for DNS to work properly you need to edit /newarch/etc/resolv.conf or replace it with the resolv.conf from your running distribution <br />
cp /etc/resolv.conf /newarch/etc/ <br />
<br />
Copy your pacman mirror list into the new system:<br />
cp /etc/pacman.d/mirrorlist /newarch/etc/pacman.d<br />
<br />
Make sure that it is set up correctly.<br />
<br />
Chroot into the new system <br />
chroot /newarch /bin/bash<br />
<br />
===Install The Rest=== <br />
<br />
Install your preferred kernel, and any other packages you may wish to install. <br />
For the default kernel (which is already installed!):<br />
pacman -S kernel26 <br />
<br />
If you wish to install extra packages now, you may do so with: <br />
pacman -S packagename<br />
<br />
===Configure System=== <br />
Edit your /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.<br />
<br />
Edit your rc.conf to your liking <br />
<br />
Edit /etc/locale.gen, uncommenting any locales you wish to have available, and build the locales <br />
locale-gen<br />
<br />
===Setup Grub=== <br />
Allow grub-install to run properly while chrooted:<br />
grep -v rootfs /proc/mounts > /etc/mtab <br />
<br />
Also, if you want to keep grub from your existing install, you may use grub-install from the Arch chroot, then redo a grub-install from your existing installation. If grub-install fails, you can manually install:<br />
grub <br />
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.)<br />
grub> root (hd0,X) <br />
grub> setup (hd0) <br />
grub> quit <br />
<br />
Double check your /boot/grub/menu.lst when done if installing from a LiveCD. Depending on the host, it could need correcting from hda to sda, and a prefix of /boot as well in the paths. <br />
<br />
Instructions for [[GRUB]] and [[LILO]] are available on this wiki.<br />
<br />
===Finishing Touches===<br />
[[http://wiki.archlinux.org/index.php/Beginners_Guide#Configure_the_System Configure your System]]<br />
You can ignore 2.11, but the rest of that guide should be of use to you in post-installation configuration of your system.<br />
<br />
===Install Complete=== <br />
Reboot to your new system! <br />
<br />
==Troubleshooting== <br />
<br />
===Kernel Panic===<br />
If when you reboot into your new system you get a kernel panic saying console couldn't open: <br />
kinit: couldn't open console, no such file... <br />
<br />
This means you didn't follow the instructions above. Follow the steps to create basic device nodes at the beginning of preparation.<br />
<br />
===Root device '/dev/sd??' doesn't exist=== <br />
If when you reboot into your new system you get a error messages like this: <br />
Root device '/dev/sda1' doesn't exist, attempting to create it... etc. <br />
<br />
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. <br />
<br />
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.) <br />
mkinitcpio -p kernel26<br />
<br />
If you are using LVM make sure you add "lvm2" in the HOOKS line. Regenerate your initrd as above.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_from_existing_Linux&diff=58812
Install Arch Linux from existing Linux
2009-01-21T21:49:44Z
<p>LTSmash: /* Get the required packages */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]] <br />
[[Category:HOWTOs (English)]] <br />
<br />
This guide is intended to combine and update the three previously existing and highly similar alternative install guides on this wiki. This guide intended for anybody who wants to install Arch Linux from any other running Linux -- be it off a LiveCD or a pre-existing install of a different distro.<br />
<br />
==Install From Existing Linux== <br />
<br />
===Overview=== <br />
Arch Linux's Pacman can be configured (-r) to perform operations in any directory you like, using that as the context of "root" while running. <br />
<br />
The pacman package available from the mirrors includes a static-linked version of the binary (pacman.static) which should run in most any modern linux environment, without the need of dependencies. <br />
<br />
This is useful for building up new Arch Linux systems from scratch from other LiveCDs or different systems running another Linux environment, creating new chroot environments on a "host" system, maintaining a "golden-master" for development & distribution, or other fun topics like rootfs-over-NFS for diskless machines. <br />
<br />
In the case of an x86_64 host, it is even possible to use i686-pacman to build a 32-bit chroot environment. See [[Arch64 Install bundled 32bit system]]. <br />
<br />
Throughout this guide, we will refer to partitions as /dev/hdxx or /dev/sdxx. This refers to whatever dev entry you have on your system for the partition in question. The convention is:<br />
Drive 1, Partition 1: /dev/hda1 or /dev/sda1<br />
Drive 1, Partition 2: /dev/hda2 or /dev/sda2<br />
Drive 2, Partiiton 1: /dev/hdb1 or /dev/sdb1<br />
etc...<br />
<br />
We will refer to it as /dev/sdxx whenever possible, but realize depending on your system it could be /dev/hdxx.<br />
<br />
If you have a broadband connection available through the installation process and just want to do a basic install, [http://unetbootin.sourceforge.net/ UNetbootin] may also be an easy solution worth to have a look at.<br />
<br />
===Setup host system=== <br />
<br />
You need to install the archlinux package manager pacman on your host linux environment. In addition you will need a list of pacman mirrors sites which is used to download data on available packages as well as the packages themselves.<br />
<br />
====Get the required packages====<br />
<br />
You need to get the required packages for your host linux environment. The examples given here assume you are using a i686 environment. If you are running on an 64bit linux instead you should replace each occurance of "i686" with "x86_64".<br />
<br />
All version numbers given here may change. Please check the version numbers the packages are at first and note them down. The version numbers can be found [http://www.archlinux.org/packages/core/i686/pacman/ here for pacman] and [http://www.archlinux.org/packages/core/i686/pacman-mirrorlist/ here for pacman-mirrorlist]. Once you are sure of the version numbers download the required packages:<br />
mkdir /tmp/archlinux<br />
cd /tmp/archlinux<br />
wget ftp://ftp.archlinux.org/core/os/i686/pacman-3.2.1-2-i686.pkg.tar.gz<br />
wget ftp://ftp.archlinux.org/core/os/i686/pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
tar xzvf pacman-3.2.1-2-i686.pkg.tar.gz<br />
tar xzvf pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
<br />
In addition to the dynamically linked pacman there is a statically linked version available. This does integrate better into all the different host linux systems possible. This static version is not part of the normal archlinux setup anymore but can be found at http://repo.archlinux.fr/i686/. Use the following command to get it:<br />
cd /tmp/archlinux<br />
wget http://repo.archlinux.fr/i686/pacman-static-3.2.2-1.pkg.tar.gz<br />
tar xzvf pacman-static-3.2.2-1-i686.pkg.tar.gz<br />
<br />
====Install the required files into the host system====<br />
<br />
Since we will use pacman.static for the initial setup, we only need a few files installed into the host. This can be done by running the following commands as root:<br />
cp /tmp/archlinux/etc/pacman.conf /etc<br />
mkdir /etc/pacman.d<br />
cp /tmp/archlinux/etc/pacman.d/* /etc/pacman.d<br />
cp /tmp/archlinux/usr/bin/pacman.static /usr/bin<br />
<br />
If you do not mind to litter your install host, you can also extract all the downloaded tar balls into your root directory by running as root:<br />
cd /<br />
tar xzf /tmp/archlinux/pacman-*pkg.tar.gz<br />
<br />
You may also 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:<br />
cd /tmp/archlinux<br />
alien -d pacman-3.2.1-2-i686.pkg.tar.gz<br />
alien -d pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
alien -d pacman-static-3.2.1-1-i686.pkg.tar.gz<br />
<br />
RPM based systems will need to replace the parameter "-d" with "-r".<br />
<br />
These distribution packages can then get installed using the normal package management tools of the host linux environment.<br />
<br />
====Configure the host linux system==== <br />
<br />
Configure your /etc/pacman.conf to your liking, and remove unnecessary mirrors from /etc/pacman.d/mirrorlist. You may want to manually resolve DNS in the /etc/pacman.d/mirrorlist, because pacman-static for i686 may not be able to get address information on x86_64 systems.<br />
<br />
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 new arch partition (e.g. - /newarch/var/cache/pacman/pkg). Otherwise you could exhaust memory between the overhead of the existing distro and downloading necessary packages to install.<br />
<br />
===Prepare disk for Arch=== <br />
Prepare the new Arch system's filesystems and then mount them. If your host system has any gui tools for this, such as gparted, cfdisk, or mandrakes diskdrake, feel free to use them. <br />
<br />
To format a partition as ext3, you run (where /dev/sdxx is the partition you want to setup): <br />
# mkfs.ext3 /dev/sdxx <br />
as reiserfs: <br />
# mkreiserfs /dev/sdxx <br />
swap: <br />
# mkswap /dev/sdxx <br />
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. <br />
<br />
Once you have setup the filesystems, mount them. Throughout this, We will reference the new Arch / at /newarch, however you can put it wherever you like. <br />
# mkdir /newarch <br />
# mount /dev/sdxx /newarch <br />
<br />
It is also possible to build the root filesystem in a normal directory on the install-host, for transfer to a target system over the network, or to create a master tarball etc. <br />
<br />
===Install Base System=== <br />
Update pacman, you may have to create the /newarch/var/lib/pacman folder for it to work:<br />
# mkdir -p /newarch/var/lib/pacman <br />
# pacman.static -Sy -r /newarch <br />
# pacman.static -S pacman -r /newarch <br />
<br />
Install the 'base' group of packages:<br />
# pacman.static -Sy base -r /newarch<br />
<br />
'''NOTE:''' Pacman cache directory is not modified by -r parameter. If you don't want cache to be created in pre-existing distro use --cachedir or modify pacman.conf as mentioned in [[Install_From_Existing_Linux#Setup_host_system|host system setup]]!<br />
<br />
===Prepare System=== <br />
<br />
First, ensure the correct /dev nodes have been made for udev:<br />
ls -alF /newarch/dev<br />
<br />
This result in a list containing lines similar to the following (the dates will differ for you):<br />
crw------- 1 root root 5, 1 2008-12-27 21:40 console<br />
crw-rw-rw- 1 root root 1, 3 2008-12-27 21:42 null<br />
crw-rw-rw- 1 root root 1, 5 2008-12-27 21:40 zero<br />
<br />
Delete and recreate any device which has a different set of permissions (the crw-... stuff plus the two root entries) and mayor/minor numbers (the two before the date).<br />
<br />
cd /newarch/dev <br />
rm console ; mknod -m 660 console c 5 1 <br />
rm null ; mknod -m 666 null c 1 3 <br />
rm zero ; mknod -m 666 zero c 1 5<br />
<br />
All device nodes should have been created for you already with the right permissions and you should not need to recreate any of them.<br />
<br />
Mount various filesystems into the new Arch system. <br />
mount -o bind /dev /newarch/dev<br />
mount -t proc none /newarch/proc<br />
mount -o bind /sys /newarch/sys<br />
<br />
In order for DNS to work properly you need to edit /newarch/etc/resolv.conf or replace it with the resolv.conf from your running distribution <br />
cp /etc/resolv.conf /newarch/etc/ <br />
<br />
Copy your pacman mirror list into the new system:<br />
cp /etc/pacman.d/mirrorlist /newarch/etc/pacman.d<br />
<br />
Make sure that it is set up correctly.<br />
<br />
Chroot into the new system <br />
chroot /newarch /bin/bash<br />
<br />
===Install The Rest=== <br />
<br />
Install your preferred kernel, and any other packages you may wish to install. <br />
For the default kernel (which is already installed!):<br />
pacman -S kernel26 <br />
<br />
If you wish to install extra packages now, you may do so with: <br />
pacman -S packagename<br />
<br />
===Configure System=== <br />
Edit your /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.<br />
<br />
Edit your rc.conf to your liking <br />
<br />
Edit /etc/locale.gen, uncommenting any locales you wish to have available, and build the locales <br />
locale-gen<br />
<br />
===Setup Grub=== <br />
Allow grub-install to run properly while chrooted:<br />
grep -v rootfs /proc/mounts > /etc/mtab <br />
<br />
Also, if you want to keep grub from your existing install, you may use grub-install from the Arch chroot, then redo a grub-install from your existing installation. If grub-install fails, you can manually install:<br />
grub <br />
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.)<br />
grub> root (hd0,X) <br />
grub> setup (hd0) <br />
grub> quit <br />
<br />
Double check your /boot/grub/menu.lst when done if installing from a LiveCD. Depending on the host, it could need correcting from hda to sda, and a prefix of /boot as well in the paths. <br />
<br />
Instructions for [[GRUB]] and [[LILO]] are available on this wiki.<br />
<br />
===Finishing Touches===<br />
[[http://wiki.archlinux.org/index.php/Beginners_Guide#Configure_the_System Configure your System]]<br />
You can ignore 2.11, but the rest of that guide should be of use to you in post-installation configuration of your system.<br />
<br />
===Install Complete=== <br />
Reboot to your new system! <br />
<br />
==Troubleshooting== <br />
<br />
===Kernel Panic===<br />
If when you reboot into your new system you get a kernel panic saying console couldn't open: <br />
kinit: couldn't open console, no such file... <br />
<br />
This means you didn't follow the instructions above. Follow the steps to create basic device nodes at the beginning of preparation.<br />
<br />
===Root device '/dev/sd??' doesn't exist=== <br />
If when you reboot into your new system you get a error messages like this: <br />
Root device '/dev/sda1' doesn't exist, attempting to create it... etc. <br />
<br />
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. <br />
<br />
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.) <br />
mkinitcpio -p kernel26<br />
<br />
If you are using LVM make sure you add "lvm2" in the HOOKS line. Regenerate your initrd as above.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_from_existing_Linux&diff=58810
Install Arch Linux from existing Linux
2009-01-21T21:49:08Z
<p>LTSmash: /* Get the required packages */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]] <br />
[[Category:HOWTOs (English)]] <br />
<br />
This guide is intended to combine and update the three previously existing and highly similar alternative install guides on this wiki. This guide intended for anybody who wants to install Arch Linux from any other running Linux -- be it off a LiveCD or a pre-existing install of a different distro.<br />
<br />
==Install From Existing Linux== <br />
<br />
===Overview=== <br />
Arch Linux's Pacman can be configured (-r) to perform operations in any directory you like, using that as the context of "root" while running. <br />
<br />
The pacman package available from the mirrors includes a static-linked version of the binary (pacman.static) which should run in most any modern linux environment, without the need of dependencies. <br />
<br />
This is useful for building up new Arch Linux systems from scratch from other LiveCDs or different systems running another Linux environment, creating new chroot environments on a "host" system, maintaining a "golden-master" for development & distribution, or other fun topics like rootfs-over-NFS for diskless machines. <br />
<br />
In the case of an x86_64 host, it is even possible to use i686-pacman to build a 32-bit chroot environment. See [[Arch64 Install bundled 32bit system]]. <br />
<br />
Throughout this guide, we will refer to partitions as /dev/hdxx or /dev/sdxx. This refers to whatever dev entry you have on your system for the partition in question. The convention is:<br />
Drive 1, Partition 1: /dev/hda1 or /dev/sda1<br />
Drive 1, Partition 2: /dev/hda2 or /dev/sda2<br />
Drive 2, Partiiton 1: /dev/hdb1 or /dev/sdb1<br />
etc...<br />
<br />
We will refer to it as /dev/sdxx whenever possible, but realize depending on your system it could be /dev/hdxx.<br />
<br />
If you have a broadband connection available through the installation process and just want to do a basic install, [http://unetbootin.sourceforge.net/ UNetbootin] may also be an easy solution worth to have a look at.<br />
<br />
===Setup host system=== <br />
<br />
You need to install the archlinux package manager pacman on your host linux environment. In addition you will need a list of pacman mirrors sites which is used to download data on available packages as well as the packages themselves.<br />
<br />
====Get the required packages====<br />
<br />
You need to get the required packages for your host linux environment. The examples given here assume you are using a i686 environment. If you are running on an 64bit linux instead you should replace each occurance of "i686" with "x86_64".<br />
<br />
All version numbers given here may change. Please check the version numbers the packages are at first and note them down. The version numbers can be found [http://www.archlinux.org/packages/core/i686/pacman/ here for pacman] and [http://www.archlinux.org/packages/core/i686/pacman-mirrorlist/ here for pacman-mirrorlist]. Once you are sure of the version numbers download the required packages:<br />
mkdir /tmp/archlinux<br />
cd /tmp/archlinux<br />
wget ftp://ftp.archlinux.org/core/os/i686/pacman-3.2.1-2-i686.pkg.tar.gz<br />
wget ftp://ftp.archlinux.org/core/os/i686/pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
tar xzvf pacman-3.2.1-2-i686.pkg.tar.gz<br />
tar xzvf pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
<br />
In addition to the dynamically linked pacman there is a statically linked version available. This does integrate better into all the different host linux systems possible. This static version is not part of the normal archlinux setup anymore but can be found at http://repo.archlinux.fr/i686/. Use the following command to get it:<br />
cd /tmp/archlinux<br />
wget http://repo.archlinux.fr/i686/pacman-static-3.2.2-1.pkg.tar.gz<br />
tar xzvf pacman-static-3.2.1-1-i686.pkg.tar.gz<br />
<br />
====Install the required files into the host system====<br />
<br />
Since we will use pacman.static for the initial setup, we only need a few files installed into the host. This can be done by running the following commands as root:<br />
cp /tmp/archlinux/etc/pacman.conf /etc<br />
mkdir /etc/pacman.d<br />
cp /tmp/archlinux/etc/pacman.d/* /etc/pacman.d<br />
cp /tmp/archlinux/usr/bin/pacman.static /usr/bin<br />
<br />
If you do not mind to litter your install host, you can also extract all the downloaded tar balls into your root directory by running as root:<br />
cd /<br />
tar xzf /tmp/archlinux/pacman-*pkg.tar.gz<br />
<br />
You may also 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:<br />
cd /tmp/archlinux<br />
alien -d pacman-3.2.1-2-i686.pkg.tar.gz<br />
alien -d pacman-mirrorlist-20081213-1-i686.pkg.tar.gz<br />
alien -d pacman-static-3.2.1-1-i686.pkg.tar.gz<br />
<br />
RPM based systems will need to replace the parameter "-d" with "-r".<br />
<br />
These distribution packages can then get installed using the normal package management tools of the host linux environment.<br />
<br />
====Configure the host linux system==== <br />
<br />
Configure your /etc/pacman.conf to your liking, and remove unnecessary mirrors from /etc/pacman.d/mirrorlist. You may want to manually resolve DNS in the /etc/pacman.d/mirrorlist, because pacman-static for i686 may not be able to get address information on x86_64 systems.<br />
<br />
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 new arch partition (e.g. - /newarch/var/cache/pacman/pkg). Otherwise you could exhaust memory between the overhead of the existing distro and downloading necessary packages to install.<br />
<br />
===Prepare disk for Arch=== <br />
Prepare the new Arch system's filesystems and then mount them. If your host system has any gui tools for this, such as gparted, cfdisk, or mandrakes diskdrake, feel free to use them. <br />
<br />
To format a partition as ext3, you run (where /dev/sdxx is the partition you want to setup): <br />
# mkfs.ext3 /dev/sdxx <br />
as reiserfs: <br />
# mkreiserfs /dev/sdxx <br />
swap: <br />
# mkswap /dev/sdxx <br />
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. <br />
<br />
Once you have setup the filesystems, mount them. Throughout this, We will reference the new Arch / at /newarch, however you can put it wherever you like. <br />
# mkdir /newarch <br />
# mount /dev/sdxx /newarch <br />
<br />
It is also possible to build the root filesystem in a normal directory on the install-host, for transfer to a target system over the network, or to create a master tarball etc. <br />
<br />
===Install Base System=== <br />
Update pacman, you may have to create the /newarch/var/lib/pacman folder for it to work:<br />
# mkdir -p /newarch/var/lib/pacman <br />
# pacman.static -Sy -r /newarch <br />
# pacman.static -S pacman -r /newarch <br />
<br />
Install the 'base' group of packages:<br />
# pacman.static -Sy base -r /newarch<br />
<br />
'''NOTE:''' Pacman cache directory is not modified by -r parameter. If you don't want cache to be created in pre-existing distro use --cachedir or modify pacman.conf as mentioned in [[Install_From_Existing_Linux#Setup_host_system|host system setup]]!<br />
<br />
===Prepare System=== <br />
<br />
First, ensure the correct /dev nodes have been made for udev:<br />
ls -alF /newarch/dev<br />
<br />
This result in a list containing lines similar to the following (the dates will differ for you):<br />
crw------- 1 root root 5, 1 2008-12-27 21:40 console<br />
crw-rw-rw- 1 root root 1, 3 2008-12-27 21:42 null<br />
crw-rw-rw- 1 root root 1, 5 2008-12-27 21:40 zero<br />
<br />
Delete and recreate any device which has a different set of permissions (the crw-... stuff plus the two root entries) and mayor/minor numbers (the two before the date).<br />
<br />
cd /newarch/dev <br />
rm console ; mknod -m 660 console c 5 1 <br />
rm null ; mknod -m 666 null c 1 3 <br />
rm zero ; mknod -m 666 zero c 1 5<br />
<br />
All device nodes should have been created for you already with the right permissions and you should not need to recreate any of them.<br />
<br />
Mount various filesystems into the new Arch system. <br />
mount -o bind /dev /newarch/dev<br />
mount -t proc none /newarch/proc<br />
mount -o bind /sys /newarch/sys<br />
<br />
In order for DNS to work properly you need to edit /newarch/etc/resolv.conf or replace it with the resolv.conf from your running distribution <br />
cp /etc/resolv.conf /newarch/etc/ <br />
<br />
Copy your pacman mirror list into the new system:<br />
cp /etc/pacman.d/mirrorlist /newarch/etc/pacman.d<br />
<br />
Make sure that it is set up correctly.<br />
<br />
Chroot into the new system <br />
chroot /newarch /bin/bash<br />
<br />
===Install The Rest=== <br />
<br />
Install your preferred kernel, and any other packages you may wish to install. <br />
For the default kernel (which is already installed!):<br />
pacman -S kernel26 <br />
<br />
If you wish to install extra packages now, you may do so with: <br />
pacman -S packagename<br />
<br />
===Configure System=== <br />
Edit your /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.<br />
<br />
Edit your rc.conf to your liking <br />
<br />
Edit /etc/locale.gen, uncommenting any locales you wish to have available, and build the locales <br />
locale-gen<br />
<br />
===Setup Grub=== <br />
Allow grub-install to run properly while chrooted:<br />
grep -v rootfs /proc/mounts > /etc/mtab <br />
<br />
Also, if you want to keep grub from your existing install, you may use grub-install from the Arch chroot, then redo a grub-install from your existing installation. If grub-install fails, you can manually install:<br />
grub <br />
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.)<br />
grub> root (hd0,X) <br />
grub> setup (hd0) <br />
grub> quit <br />
<br />
Double check your /boot/grub/menu.lst when done if installing from a LiveCD. Depending on the host, it could need correcting from hda to sda, and a prefix of /boot as well in the paths. <br />
<br />
Instructions for [[GRUB]] and [[LILO]] are available on this wiki.<br />
<br />
===Finishing Touches===<br />
[[http://wiki.archlinux.org/index.php/Beginners_Guide#Configure_the_System Configure your System]]<br />
You can ignore 2.11, but the rest of that guide should be of use to you in post-installation configuration of your system.<br />
<br />
===Install Complete=== <br />
Reboot to your new system! <br />
<br />
==Troubleshooting== <br />
<br />
===Kernel Panic===<br />
If when you reboot into your new system you get a kernel panic saying console couldn't open: <br />
kinit: couldn't open console, no such file... <br />
<br />
This means you didn't follow the instructions above. Follow the steps to create basic device nodes at the beginning of preparation.<br />
<br />
===Root device '/dev/sd??' doesn't exist=== <br />
If when you reboot into your new system you get a error messages like this: <br />
Root device '/dev/sda1' doesn't exist, attempting to create it... etc. <br />
<br />
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. <br />
<br />
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.) <br />
mkinitcpio -p kernel26<br />
<br />
If you are using LVM make sure you add "lvm2" in the HOOKS line. Regenerate your initrd as above.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=AUR_Cleanup_Day/2010&diff=58267
AUR Cleanup Day/2010
2009-01-18T00:39:13Z
<p>LTSmash: /* Package List */</p>
<hr />
<div>'''NOTE: TU's are currently working through the list'''. You can still add packages but please check the whole page first.<br />
<br />
<br />
The AUR has a large number of obsolete packages which could use cleaning up. Examples of packages that may be cleaned up are:<br />
*packages that have been renamed or replaced<br />
*old and unmaintained developmental (cvs/svn/etc) packages<br />
<br />
Post suggestions of packages on this pages. Trusted Users will get together and go though the list in a couple of weeks and confirm which packages should be removed. '''Please DO NOT REMOVE suggestions from the wiki page but add a comment on why it should be kept instead. Please list packages in alphabetical order!''' TUs will not delete any useful package.<br />
<br />
==Package List==<br />
'''Add new packages here''' - check for the package in the sorted lists below before adding<br />
<br />
* [http://aur.archlinux.org/packages.php?ID=22857 32bit-wine] - duplicate of bin32-wine<br />
* [http://aur.archlinux.org/packages.php?ID=22590 abcm2ps-devel] - no devel version available. theres already abcm2ps<br />
* [http://aur.archlinux.org/packages.php?ID=2944 al-mime] - doesnt work, not supported anymore<br />
* [http://aur.archlinux.org/packages.php?ID=2945 al-mime-data] - doesnt work, not supported anymore<br />
* [http://aur.archlinux.org/packages.php?ID=11558 aldm] - not supported anymore<br />
* [http://aur.archlinux.org/packages.php?ID=18274 aufs-slax] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=15543 bin32-epsxe] - This is a special version of epsxe for x86_64, but the regular epsxe package is now for both i686 and x86_64, making this package obselete<br />
* [http://aur.archlinux.org/packages.php?ID=22866 bit32-wine] - orphaned with comment from author that it should be removed and it's duplicate of bin32-wine<br />
* [http://aur.archlinux.org/packages.php?ID=14315 bitlbee-jabber] - added into bitlbee in extra<br />
* [http://aur.archlinux.org/packages.php?ID=18580 brother-mfc260c] - driver is not working<br />
* [http://aur.archlinux.org/packages.php?ID=15095 btype] - replaced by [http://aur.archlinux.org/packages.php?ID=18752 kdemod3-btype]<br />
* [http://aur.archlinux.org/packages.php?ID=15634 btrfs] - newer version (0.15) available, released May 29th, 2008. -- So this package should maybe be orphaned, no obvious reason to delete it. [Edit: orphaning should be requested in the aur-general mailing list. Dragonlord]<br />
* [http://aur.archlinux.org/packages.php?ID=15635 btrfs-progs] - newer version (0.15) available, released May 29th, 2008. -- So this package should maybe be orphaned, no obvious reason to delete it.<br />
* [http://aur.archlinux.org/packages.php?ID=14446 cairo-snapshot] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=14447 cairo-snapshot-xeffects] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=13080 cairo-wglitz] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=18276 catalyst-slax] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=18585 catalyst-utils-slax] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=14191 dzen-gadgets] - included in dzen2<br />
* [http://aur.archlinux.org/packages.php?ID=14470 dzen-gadgets-svn] - included in dzen2-svn<br />
* [http://aur.archlinux.org/packages.php?ID=1731 ecamegapedal] - Do not to compile.<br />
* [http://aur.archlinux.org/packages.php?ID=19404 eclipse33] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19427 eclipse33-dtp] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19405 eclipse33-emf] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19406 eclipse33-gef] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19430 eclipse33-pdt] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19408 eclipse33-wsdl4j] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19428 eclipse33-wtp] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=8042 eclipse-i18n-pack1] - not needed anymore (it's for old eclipse)<br />
* [http://aur.archlinux.org/packages.php?ID=8041 eclipse-i18n-pack2] - not needed anymore (it's for old eclipse)<br />
* [http://aur.archlinux.org/packages.php?ID=8044 eclipse-i18n-pack2a] - not needed anymore (it's for old eclipse)<br />
* [http://aur.archlinux.org/packages.php?ID=8046 eclipse-i18n-packbidi] - not needed anymore (it's for old eclipse)<br />
* [http://aur.archlinux.org/packages.php?ID=14288 editobj2] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=19098 eduke32-clean] - NOT A PACKAGE<br />
* [http://aur.archlinux.org/packages.php?ID=18706 emesene-bugfix] - not needed anymore was submitted as a newer release of a package in official repo<br />
* [http://aur.archlinux.org/packages.php?ID=19779 empathy] - empathy is in extra yes<br />
* [http://aur.archlinux.org/packages.php?ID=18061 endeavour] - source is nowhere to be found<br />
* [http://aur.archlinux.org/packages.php?ID=19442 evolution-tuxce] thought i could delete my own packages<br />
* [http://aur.archlinux.org/packages.php?ID=18096 flashplayer-opera64] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=6042 fluxbox-styles-boxwhore] - boxwhore website is dead<br />
* [http://aur.archlinux.org/packages.php?ID=3698 galeon] - doesn't compile (not even the latest version)<br />
* [http://aur.archlinux.org/packages.php?ID=8976 gdal] Contributor seems to be inactive. Newer version available so this package should maybe be orphaned, no obvious reason to delete it. NOTE : updated on sept 24 2008.<br />
* [http://aur.archlinux.org/packages.php?ID=13589 gimp-freetype] - made for gimp 2.0, not available from official gimp website<br />
* [http://aur.archlinux.org/packages.php?ID=3754 gnash-cvs] - gnash use Bazaar now<br />
* [http://aur.archlinux.org/packages.php?ID=5207 gshare] - The package didn't function for me with the latest gnome. Furthermore it looks like this project is dead (website is down, source is no longer available)<br />
* [http://aur.archlinux.org/packages.php?ID=7942 gpsutil] - URL is not available, the link to gpsutil on the gpsbabel page is dead too.<br />
* [http://aur.archlinux.org/packages.php?ID=16290 icedtea6] - This won't be updated anymore, suggested to use the openjdk6 package instead<br />
* ia32-crossover packages - I created them but after that noticen that the "32 bit" versions also worked in Arch64, so this are just clones of my other packages:<br />
** [http://aur.archlinux.org/packages.php?ID=22052 ia32-crossover-games]<br />
** [http://aur.archlinux.org/packages.php?ID=22055 ia32-crossover-games-unsupported]<br />
** [http://aur.archlinux.org/packages.php?ID=22053 ia32-crossover-pro]<br />
** [http://aur.archlinux.org/packages.php?ID=22054 ia32-crossover-standard ]<br />
* [http://aur.archlinux.org/packages.php?ID=3689 ii-hg] - outdated, probably discontinued as the project website isn't available anymore (moved maybe?)<br />
* [http://aur.archlinux.org/packages.php?ID=13845 ipw3945-vanilla] - no longer maintained/needed<br />
** The project website is available at http://www.suckless.org/wiki/tools/irc/irc_it, so it's not dead. It only needs some changes to work again. --[[User:CuleX|CuleX]]<br />
* [http://aur.archlinux.org/packages.php?ID=7884 jfduke3d] - Is not updated by his author anymore, [http://aur.archlinux.org/packages.php?ID=15513 eduke32] was made to remplace it<br />
* [http://aur.archlinux.org/packages.php?ID=7037 kanola] - probably dead project, didn't went past the 0.0.1 release since 2006<br />
* [http://aur.archlinux.org/packages.php?ID=3429 lam 7.1.3-1] - Doesn't compile and is orphaned. The successor openmpi works.<br />
* [http://aur.archlinux.org/packages.php?ID=8926 lastfmsubmitd] - Way old.<br />
* [http://aur.archlinux.org/packages.php?ID=20877 lib32-xcb-util] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=13100 lib32-sdl] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=15783 lib32-pixman] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=12035 lib32-openssl] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=9594 lib32-libxtst] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=13969 lib32-libxml2] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=13222 lib32-libxcomposite] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=12745 lib32-libart-lgpl ] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=18258 lib32-heimdal] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=12674 lib32-e2fsprogs] - duplicate from community (x86_64), shouldn't be in AUR according to [http://bbs.archlinux.org/viewtopic.php?pid=471112#p471112 this].<br />
* [http://aur.archlinux.org/packages.php?ID=18221 libmtp] - Not updated, should be orphan.<br />
* [http://aur.archlinux.org/packages.php?ID=6559 libtth] - superseeded by libgcrypt <br />
* [http://aur.archlinux.org/packages.php?ID=14220 linuxdcpp-cvs] - Old, orphaned CVS version of a package in community<br />
* [http://aur.archlinux.org/packages.php?ID=19561 libopensync-stable] - Duplicate, libopensync is in same version<br />
* [http://aur.archlinux.org/packages.php?ID=19883 matio] - this package was intended for a enhancement (add shared libs) of the package in community ([http://aur.archlinux.org/packages.php?ID=8894 libmatio]) which now has this enhancement<br />
* [http://aur.archlinux.org/packages.php?ID=7264 mencode] - outdated, tells aur is its homepage<br />
** The package is to install a perl script included in the AUR tarball so it doesn't really have a home page. So it could be kept if the script can still be useful or, at least, the script could be moved to the wiki if there is a page for scripts. --[[User:Snowman|Snowman]]<br />
* [http://aur.archlinux.org/packages.php?ID=4579 menu] - was replace by menu-xdg<br />
* [http://aur.archlinux.org/packages.php?ID=5408 mlame] - just a small bash script, no project page, could be moved to the wiki maybe<br />
* [http://aur.archlinux.org/packages.php?ID=11581 mouseemu] - Project not updated since 2006; xautomation also allows mouse emulation.<br />
* [http://aur.archlinux.org/packages.php?ID=11498 mpd-pausemode] - "Website" is orig. contributor's email addr.; orphaned by this contributor, so presumably no longer developed.<br />
* [http://aur.archlinux.org/packages.php?ID=6232 nspluginwrapper-flash] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=18275 ndiswrapper-slax] - not needed anymore<br />
* [http://aur.archlinux.org/packages.php?ID=12051 netscape-navigator] - closed-sources, end of support by netscape<br />
* [http://aur.archlinux.org/packages.php?ID=12067 pidgimpd-svn] - This package is orphaned and it doesn't build. There is mpd support in musictracker.<br />
* [http://aur.archlinux.org/packages.php?ID=14127 pacorphan] - source is unavailable/maintainer/developer unreachable<br />
* [http://aur.archlinux.org/packages.php?ID=10751 poppler-qt4] - use old Qt4 from community<br />
* [http://aur.archlinux.org/packages.php?ID=4319 pynealpm] - use old libalpm<br />
* [http://aur.archlinux.org/packages.php?ID=12760 python-nltk-yaml_external] - renamed to python-nltk-noyaml<br />
* [http://aur.archlinux.org/packages.php?ID=5627 ppm2mpeg] - included in xvidcap<br />
* [http://aur.archlinux.org/packages.php?ID=9338 qgis] contributor seems to be inactive. Newer version available so this package should maybe be orphaned, no obvious reason to delete it.<br />
* [http://aur.archlinux.org/packages.php?ID=7022 qgnokii] - depend on qt3 but still use depend=(qt)<br />
* [http://aur.archlinux.org/packages.php?ID=10190 sharpmusique] - source is not available anymore<br />
* [http://aur.archlinux.org/packages.php?ID=14905 sidplay] - Website is unreachable --[[User:Doc Angelo|Doc Angelo]]<br />
* [http://aur.archlinux.org/packages.php?ID=4534 slrn-slang2] - Not needed anymore. Same as [http://aur.archlinux.org/packages.php?ID=18817 slrn]<br />
* [http://aur.archlinux.org/packages.php?ID=12451 sqcam-cvs] - depend on kernel26 and was not update since 1 year...<br />
* [http://aur.archlinux.org/packages.php?ID=15678 swt-devel] - I only created it to compile tuxguitar against it, but that's not needed. And it seems nobody is using it. <br />
* [http://aur.archlinux.org/packages.php?ID=13499 tcgui] - dependecies (truecrypt-utils) are not satisfied anymore. anyway deprecated, because truecrypt has its own gui<br />
* [http://aur.archlinux.org/packages.php?ID=13497 tcgui-kdemod] - dependecies (truecrypt-utils) are not satisfied anymore. anyway deprecated, because truecrypt has its own gui<br />
* [http://aur.archlinux.org/packages.php?ID=349 umbrello] - released as part of the kdesdk module in KDE4<br />
* [http://aur.archlinux.org/packages.php?ID=3947 viki-svn] - old, pkgbuild is broken<br />
* [http://aur.archlinux.org/packages.php?ID=2820 vim-colorschemes] - Mirror says 404, there is [http://www.vim.org/scripts/script.php?script_id=625 vim-colorsamplerpack] in [extra]<br />
* [http://aur.archlinux.org/packages.php?ID=22419 vimexplorer ] - same as [http://aur.archlinux.org/packages.php?ID=22426 vim-explorer]<br />
* [http://aur.archlinux.org/packages.php?ID=15973 weather-wallpaper] - orphaned and references as dep non-existing pymetar<br />
* [http://aur.archlinux.org/packages.php?ID=13091 xen3] - appears to be a duplicate of community/xen (or perhaps it needs a more descriptive name)<br />
* [http://aur.archlinux.org/packages.php?ID=1128 yammi] - No upstream ongoing develeopement, does not build, since arts went away with last KDE update<br />
* [http://aur.archlinux.org/packages.php?ID=17972 zsh-darcs] - Included in zsh now<br />
<br />
==TU Working Area==<br />
<br />
'''For editing by TUs only!''' The wiki has a history so do not think you can get away with ignoring this... --[[User:Allan|Allan]]<br />
<br />
===Packages to Remove===<br />
* [http://aur.archlinux.org/packages.php?ID=7211 css-mode] - Included in emacs 22.2. (stefanhusmann, deleted)<br />
* [http://aur.archlinux.org/packages.php?ID=6446 emacs-unicode-2] - We have emacs-cvs and emacs-otf, which are similar. In fact emacs-otf was derived from emacs-unicode-2 (stefanhusmann, deleted)<br />
* [http://aur.archlinux.org/packages.php?ID=1926 fvwm-trans] last updated over 2 years ago and replaced with [http://aur.archlinux.org/packages.php?ID=7195 fvwm-patched] in AUR --[[User:pressh|pressh]] (I think one feature that is patched is in fvwm by default now, the other is in fvwm-patched too. If user does not want all the patched they can disable the ones they don't want from fvwm-patched)<br />
* [http://aur.archlinux.org/packages.php?ID=7701 gnuplot-mode] - included in gnuplot (stefanhusmann, deleted)<br />
* [http://aur.archlinux.org/packages.php?ID=16166 jacman] - Jacman doesn't work correctly with pacman3. --[[User:Partition|Partition]]<br />
* [http://aur.archlinux.org/packages.php?ID=2008 madman-devel] - problem with Faad, use git now (stefanhusmann: last entry on comment page is from 2005, deleted)<br />
<br />
In community:<br />
* [http://aur.archlinux.org/packages.php?ID=271 gambas] - no package depends on it and uptream development seems stopped, also exists gambas2 on community -- [[User:Ornitorrincos|Ornitorrincos]]<br />
* [http://aur.archlinux.org/packages.php?ID=9102 lmctl] - replaced by lomoco --[[User:Allan|Allan]]<br />
* [http://aur.archlinux.org/packages.php?ID=6393 octaveforge-cvs] - octaveforge is now upstream a repo, not a single package. So this package does not make sense no longer. Same to octaveforge (stefanhusmann)<br />
* [http://aur.archlinux.org/packages.php?ID=8958 wildfire] - Replaced by openfire. --[[User:pressh|pressh]]<br />
* [http://aur.archlinux.org/packages.php?ID=9114 xchat-systray-integration] - Xchat is integrated with systray without this package -- [[User:angvp|angvp]]<br />
<br />
===Packages to Keep===<br />
* [http://aur.archlinux.org/packages.php?ID=7212 aur-install] - does this one still work and do we need it anyway? -- Seems to be actively maintained, no reason to delete.<br />
* [http://aur.archlinux.org/packages.php?ID=6069 gnuserv] - Deprecated in emacs-22+ - Please do not delete : see [http://bbs.archlinux.org/viewtopic.php?pid=383591#p383591] The package never belonged to GNU emacs.(stefanhusmann)<br />
* [http://aur.archlinux.org/packages.php?ID=14946 mplayer-w32codecs] - not duplicate package as has more codecs than the "codecs" package.<br />
** Should rename to "codecs-extra" and not provide same files as codecs package --[[User:Allan|Allan]]<br />
<br />
==Remove from Filesystem==<br />
<br />
There are files on the AUR filesystem that have been created when poorly formed packages were uploaded. This is a secondary consideration.<br />
<br />
There are also directories in /packages/ for which the package no longer exists. These probably need to be removed as well. Examples are 4c, 1394commander and 8kingdoms. Also, all the packages that moved to community ALSO still exist there.<br />
<br />
List here files that are in directories of existing packages.<br />
<pre><br />
<br />
</pre><br />
<br />
This script will take care of packages that no longer exist.<br />
<pre><br />
#!/usr/bin/php<br />
<?php<br />
# Run this script by providing it with the top path of AUR.<br />
# In that path you should see a file lib/aur.inc<br />
#<br />
# This will remove files which belong to deleted packages.<br />
#<br />
# ex: php cleanup dev/aur/web<br />
#<br />
$dir = $argv[1];<br />
<br />
if (empty($dir)) {<br />
echo "Please specify AUR directory.\n";<br />
exit;<br />
}<br />
<br />
set_include_path(get_include_path() . PATH_SEPARATOR . "$dir/lib");<br />
include("config.inc");<br />
include("aur.inc");<br />
include("pkgfuncs.inc");<br />
<br />
exec('ls ' . INCOMING_DIR, $files);<br />
<br />
$count = 0;<br />
<br />
foreach ($files as $pkgname) {<br />
if (!package_exists($pkgname)) {<br />
echo 'Removing ' . INCOMING_DIR . "$pkgname\n";<br />
system('rm -r ' . INCOMING_DIR . $pkgname);<br />
$count++;<br />
}<br />
}<br />
<br />
echo "\nRemoved $count directories.\n";<br />
<br />
</pre></div>
LTSmash
https://wiki.archlinux.org/index.php?title=Ext4&diff=58241
Ext4
2009-01-17T21:53:48Z
<p>LTSmash: Created page</p>
<hr />
<div>=About Ext4=<br />
<br />
The ext4 or fourth extended filesystem is a journaled file system developed as the successor to ext3. It was born as a series of backwards-compatible extensions to add to ext3 64-bit storage limits and other performance improvements [1]. However, other Linux kernel developers opposed accepting extensions to ext3 for stability reasons[2], and proposed to fork the source code of ext3, rename it as ext4, and do all the development there, without affecting the current ext3 users. This proposal was accepted, and on June 28, 2006 Theodore Ts'o, the ext3 maintainer, announced[3] the new plan of development for ext4. A preliminary development snapshot of ext4 was included in version 2.6.19 of the Linux kernel. On Oct 11, 2008, the patches[4] that mark ext4 as stable code were merged in the Linux 2.6.28 source code repositories, denoting the end of the development phase and recommending ext4 adoption. Kernel 2.6.28, containing the ext4 filesystem, was finally released on December 25, 2008.[5]...<br />
<br />
From: [http://en.wikipedia.org/wiki/Ext4 Wikipedia]<br />
<br />
=Installing/Switching to Ext4=<br />
<br />
Please read [[Create_an_Ext4_Partition]] for information about creating an Ext4 partition</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=58240
Create an Ext4 Partition
2009-01-17T21:48:43Z
<p>LTSmash: /* Procedure */</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
=Creating ext4 From Scratch=<br />
<br />
'''Out-of-date''': This section detailed instructions that are now outdated with the release of kernel 2.6.28 and other tools. Firstly, ext4dev can be replaced with ext4, and Arch's default <code>grub</code> is patched with ext4 support, because of that it was deleted, please use method below:<br />
<br />
==Within Arch Linux==<br />
# Upgrade your system: pacman -Syu<br />
# Format the drive <pre># mkfs.ext4 /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4</code><br />
<br />
=Converting From ext3 to ext4=<br />
<br />
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and http://bbs.archlinux.org/viewtopic.php?id=61602. They have been tested and confirmed by this author as of January 16, 2008.<br />
<br />
==Prerequisites==<br />
<br />
The following software is required on the Arch Linux system:<br />
<br />
kernel26 >= 2.6.28<br />
e2fsprogs >= 1.41<br />
<br />
{{Box Note | It's recomendable to upgrade your whole system before doing this operation: pacman -Syu }}<br />
<br />
If converting one's /boot partition to ext4:<br />
<br />
grub >= 0.97 (with ext4 patch)<br />
<br />
{{Box Note | The ext4 patch is included by default with Arch's GRUB package (at the time of writing, but this will likely not change). Otherwise, [[GRUB2]] is required for booting from an ext4 partition. }}<br />
<br />
If converting one's root (/) partition to ext4:<br />
<br />
mkinitcpio >= 0.5.20<br />
<br />
If converting one's root (/) partition to ext4, the following software is also needed on a bootable CD/USB drive:<br />
<br />
e2fsprogs >= 1.41<br />
<br />
The latest Arch Linux images (2008.06) ship with an older version of <code>e2fsprogs</code>, but it is a simple matter to <code>pacman -Sy e2fsprogs</code> from the live environment after setting up networking. Alternatively, [http://www.sysresccd.org/Download SystemRescueCd 1.1.4] contains an appropriate version, and is in itself a handy CD to have.<br />
<br />
{{Box Note | An updated Arch Linux image is expected to be released shortly, and will contain an updated version of <code>e2fsprogs</code>. }}<br />
<br />
==Procedure==<br />
<br />
* '''BACK-UP!''' Back-up all data on any ext3 partitions that are to be converted to ext4. Although ext4 is considered 'stable' for general use, it is still a relatively young and untested file system. Furthermore, this conversion process was only tested on a relatively simple setup; it is impossible to test each of the many possible configurations the user may be running.<br />
<br />
* Edit <code>/etc/fstab</code> and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4. <br />
<br />
{{Box Note | ext4 is backwards-compatible with ext3 until extents and other new fancy options are enabled. If the user has a partition that is shared with another OS that cannot yet read ext4 partitions, it is possible to mount said partition as ext4 in Arch and still be able to use it as ext3 elsewhere at this point... Not so after the next step! Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted (though there are still benefits--see http://kernelnewbies.org/Ext4 for details). }}<br />
<br />
* The conversion process with <code>e2fsprogs</code> must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium, as described in the 'Prerequisites' section above.<br />
** Boot the live medium (if necessary).<br />
** For each partition to be converted to ext4:<br />
*** Ensure the partition is NOT mounted<br />
*** WARNING: The next command will render unmountable your partition under ext3, there's no turnaround here so, think about it before doing it, if you work with older distros that do not have ext4 support DO NOT convert<br />
**** Run <code>tune2fs -O extents,uninit_bg,dir_index /dev/the_partition</code> (where <code>/dev/the_partition</code> is replaced by the path to the desired partition, such as <code>/dev/sda1</code>)<br />
**** Run <code>fsck -fp /dev/the_partition</code><br />
* DONE! Now your partition is ext4... but you MUST still follow the next steps to finish: <br />
<br />
{{ Box Note | The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL finds checksum errors in the group descriptors''' -- this is expected.<br />
The '-f' parameter asks fsck to force checking even if the file system seems clean. <br />
The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error). }}<br />
<br />
* Reboot Arch Linux!<br />
<br />
{{ Box Note | If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: <br />
<code>mkinitcpio -k 2.6.28-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img</code> }}<br />
<br />
==Troubleshooting==<br />
<br />
The only problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' image. During the creation process, <code>mkinitcpio</code> correctly detected and included ext4 modules in the initial ramdisk.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=58239
Create an Ext4 Partition
2009-01-17T21:48:13Z
<p>LTSmash: /* Procedure */ added some warnings</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
=Creating ext4 From Scratch=<br />
<br />
'''Out-of-date''': This section detailed instructions that are now outdated with the release of kernel 2.6.28 and other tools. Firstly, ext4dev can be replaced with ext4, and Arch's default <code>grub</code> is patched with ext4 support, because of that it was deleted, please use method below:<br />
<br />
==Within Arch Linux==<br />
# Upgrade your system: pacman -Syu<br />
# Format the drive <pre># mkfs.ext4 /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4</code><br />
<br />
=Converting From ext3 to ext4=<br />
<br />
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and http://bbs.archlinux.org/viewtopic.php?id=61602. They have been tested and confirmed by this author as of January 16, 2008.<br />
<br />
==Prerequisites==<br />
<br />
The following software is required on the Arch Linux system:<br />
<br />
kernel26 >= 2.6.28<br />
e2fsprogs >= 1.41<br />
<br />
{{Box Note | It's recomendable to upgrade your whole system before doing this operation: pacman -Syu }}<br />
<br />
If converting one's /boot partition to ext4:<br />
<br />
grub >= 0.97 (with ext4 patch)<br />
<br />
{{Box Note | The ext4 patch is included by default with Arch's GRUB package (at the time of writing, but this will likely not change). Otherwise, [[GRUB2]] is required for booting from an ext4 partition. }}<br />
<br />
If converting one's root (/) partition to ext4:<br />
<br />
mkinitcpio >= 0.5.20<br />
<br />
If converting one's root (/) partition to ext4, the following software is also needed on a bootable CD/USB drive:<br />
<br />
e2fsprogs >= 1.41<br />
<br />
The latest Arch Linux images (2008.06) ship with an older version of <code>e2fsprogs</code>, but it is a simple matter to <code>pacman -Sy e2fsprogs</code> from the live environment after setting up networking. Alternatively, [http://www.sysresccd.org/Download SystemRescueCd 1.1.4] contains an appropriate version, and is in itself a handy CD to have.<br />
<br />
{{Box Note | An updated Arch Linux image is expected to be released shortly, and will contain an updated version of <code>e2fsprogs</code>. }}<br />
<br />
==Procedure==<br />
<br />
* '''BACK-UP!''' Back-up all data on any ext3 partitions that are to be converted to ext4. Although ext4 is considered 'stable' for general use, it is still a relatively young and untested file system. Furthermore, this conversion process was only tested on a relatively simple setup; it is impossible to test each of the many possible configurations the user may be running.<br />
<br />
* Edit <code>/etc/fstab</code> and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4. <br />
<br />
{{Box Note | ext4 is backwards-compatible with ext3 until extents and other new fancy options are enabled. If the user has a partition that is shared with another OS that cannot yet read ext4 partitions, it is possible to mount said partition as ext4 in Arch and still be able to use it as ext3 elsewhere at this point... Not so after the next step! Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted (though there are still benefits--see http://kernelnewbies.org/Ext4 for details). }}<br />
<br />
* The conversion process with <code>e2fsprogs</code> must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium, as described in the 'Prerequisites' section above.<br />
** Boot the live medium (if necessary).<br />
** For each partition to be converted to ext4:<br />
*** Ensure the partition is NOT mounted<br />
*** WARNING: The next command will render unmountable your partition under ext3, there's no turnaround here so, think about it before doing it, if you work with older distros that do not have ext4 support DO NOT convert<br />
*** Run <code>tune2fs -O extents,uninit_bg,dir_index /dev/the_partition</code> (where <code>/dev/the_partition</code> is replaced by the path to the desired partition, such as <code>/dev/sda1</code>)<br />
*** Run <code>fsck -fp /dev/the_partition</code><br />
* DONE! Now your partition is ext4... but you MUST still follow the next steps to finish: <br />
<br />
{{ Box Note | The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL finds checksum errors in the group descriptors''' -- this is expected.<br />
The '-f' parameter asks fsck to force checking even if the file system seems clean. <br />
The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error). }}<br />
<br />
* Reboot Arch Linux!<br />
<br />
{{ Box Note | If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: <br />
<code>mkinitcpio -k 2.6.28-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img</code> }}<br />
<br />
==Troubleshooting==<br />
<br />
The only problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' image. During the creation process, <code>mkinitcpio</code> correctly detected and included ext4 modules in the initial ramdisk.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=58238
Create an Ext4 Partition
2009-01-17T21:44:15Z
<p>LTSmash: /* Prerequisites */ added notice box</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
=Creating ext4 From Scratch=<br />
<br />
'''Out-of-date''': This section detailed instructions that are now outdated with the release of kernel 2.6.28 and other tools. Firstly, ext4dev can be replaced with ext4, and Arch's default <code>grub</code> is patched with ext4 support, because of that it was deleted, please use method below:<br />
<br />
==Within Arch Linux==<br />
# Upgrade your system: pacman -Syu<br />
# Format the drive <pre># mkfs.ext4 /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4</code><br />
<br />
=Converting From ext3 to ext4=<br />
<br />
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and http://bbs.archlinux.org/viewtopic.php?id=61602. They have been tested and confirmed by this author as of January 16, 2008.<br />
<br />
==Prerequisites==<br />
<br />
The following software is required on the Arch Linux system:<br />
<br />
kernel26 >= 2.6.28<br />
e2fsprogs >= 1.41<br />
<br />
{{Box Note | It's recomendable to upgrade your whole system before doing this operation: pacman -Syu }}<br />
<br />
If converting one's /boot partition to ext4:<br />
<br />
grub >= 0.97 (with ext4 patch)<br />
<br />
{{Box Note | The ext4 patch is included by default with Arch's GRUB package (at the time of writing, but this will likely not change). Otherwise, [[GRUB2]] is required for booting from an ext4 partition. }}<br />
<br />
If converting one's root (/) partition to ext4:<br />
<br />
mkinitcpio >= 0.5.20<br />
<br />
If converting one's root (/) partition to ext4, the following software is also needed on a bootable CD/USB drive:<br />
<br />
e2fsprogs >= 1.41<br />
<br />
The latest Arch Linux images (2008.06) ship with an older version of <code>e2fsprogs</code>, but it is a simple matter to <code>pacman -Sy e2fsprogs</code> from the live environment after setting up networking. Alternatively, [http://www.sysresccd.org/Download SystemRescueCd 1.1.4] contains an appropriate version, and is in itself a handy CD to have.<br />
<br />
{{Box Note | An updated Arch Linux image is expected to be released shortly, and will contain an updated version of <code>e2fsprogs</code>. }}<br />
<br />
==Procedure==<br />
<br />
* '''BACK-UP!''' Back-up all data on any ext3 partitions that are to be converted to ext4. Although ext4 is considered 'stable' for general use, it is still a relatively young and untested file system. Furthermore, this conversion process was only tested on a relatively simple setup; it is impossible to test each of the many possible configurations the user may be running.<br />
<br />
* Edit <code>/etc/fstab</code> and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4. <br />
<br />
{{Box Note | ext4 is backwards-compatible with ext3 until extents and other new fancy options are enabled. If the user has a partition that is shared with another OS that cannot yet read ext4 partitions, it is possible to mount said partition as ext4 in Arch and still be able to use it as ext3 elsewhere at this point... Not so after the next step! Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted (though there are still benefits--see http://kernelnewbies.org/Ext4 for details). }}<br />
<br />
* The conversion process with <code>e2fsprogs</code> must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium, as described in the 'Prerequisites' section above.<br />
** Boot the live medium (if necessary).<br />
** For each partition to be converted to ext4:<br />
*** Ensure the partition is NOT mounted<br />
*** Run <code>tune2fs -O extents,uninit_bg,dir_index /dev/the_partition</code> (where <code>/dev/the_partition</code> is replaced by the path to the desired partition, such as <code>/dev/sda1</code>)<br />
*** Run <code>fsck -fp /dev/the_partition</code><br />
<br />
{{ Box Note | The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL finds checksum errors in the group descriptors''' -- this is expected.<br />
The '-f' parameter asks fsck to force checking even if the file system seems clean. <br />
The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error). }}<br />
<br />
* Reboot Arch Linux!<br />
<br />
{{ Box Note | If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: <br />
<code>mkinitcpio -k 2.6.28-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img</code> }}<br />
<br />
==Troubleshooting==<br />
<br />
The only problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' image. During the creation process, <code>mkinitcpio</code> correctly detected and included ext4 modules in the initial ramdisk.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=58237
Create an Ext4 Partition
2009-01-17T21:41:24Z
<p>LTSmash: /* Creating ext4 From Scratch */ upgraded instructions</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
=Creating ext4 From Scratch=<br />
<br />
'''Out-of-date''': This section detailed instructions that are now outdated with the release of kernel 2.6.28 and other tools. Firstly, ext4dev can be replaced with ext4, and Arch's default <code>grub</code> is patched with ext4 support, because of that it was deleted, please use method below:<br />
<br />
==Within Arch Linux==<br />
# Upgrade your system: pacman -Syu<br />
# Format the drive <pre># mkfs.ext4 /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4</code><br />
<br />
=Converting From ext3 to ext4=<br />
<br />
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and http://bbs.archlinux.org/viewtopic.php?id=61602. They have been tested and confirmed by this author as of January 16, 2008.<br />
<br />
==Prerequisites==<br />
<br />
The following software is required on the Arch Linux system:<br />
<br />
kernel26 >= 2.6.28<br />
e2fsprogs >= 1.41<br />
<br />
If converting one's /boot partition to ext4:<br />
<br />
grub >= 0.97 (with ext4 patch)<br />
<br />
{{Box Note | The ext4 patch is included by default with Arch's GRUB package (at the time of writing, but this will likely not change). Otherwise, [[GRUB2]] is required for booting from an ext4 partition. }}<br />
<br />
If converting one's root (/) partition to ext4:<br />
<br />
mkinitcpio >= 0.5.20<br />
<br />
If converting one's root (/) partition to ext4, the following software is also needed on a bootable CD/USB drive:<br />
<br />
e2fsprogs >= 1.41<br />
<br />
The latest Arch Linux images (2008.06) ship with an older version of <code>e2fsprogs</code>, but it is a simple matter to <code>pacman -Sy e2fsprogs</code> from the live environment after setting up networking. Alternatively, [http://www.sysresccd.org/Download SystemRescueCd 1.1.4] contains an appropriate version, and is in itself a handy CD to have.<br />
<br />
{{Box Note | An updated Arch Linux image is expected to be released shortly, and will contain an updated version of <code>e2fsprogs</code>. }}<br />
<br />
==Procedure==<br />
<br />
* '''BACK-UP!''' Back-up all data on any ext3 partitions that are to be converted to ext4. Although ext4 is considered 'stable' for general use, it is still a relatively young and untested file system. Furthermore, this conversion process was only tested on a relatively simple setup; it is impossible to test each of the many possible configurations the user may be running.<br />
<br />
* Edit <code>/etc/fstab</code> and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4. <br />
<br />
{{Box Note | ext4 is backwards-compatible with ext3 until extents and other new fancy options are enabled. If the user has a partition that is shared with another OS that cannot yet read ext4 partitions, it is possible to mount said partition as ext4 in Arch and still be able to use it as ext3 elsewhere at this point... Not so after the next step! Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted (though there are still benefits--see http://kernelnewbies.org/Ext4 for details). }}<br />
<br />
* The conversion process with <code>e2fsprogs</code> must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium, as described in the 'Prerequisites' section above.<br />
** Boot the live medium (if necessary).<br />
** For each partition to be converted to ext4:<br />
*** Ensure the partition is NOT mounted<br />
*** Run <code>tune2fs -O extents,uninit_bg,dir_index /dev/the_partition</code> (where <code>/dev/the_partition</code> is replaced by the path to the desired partition, such as <code>/dev/sda1</code>)<br />
*** Run <code>fsck -fp /dev/the_partition</code><br />
<br />
{{ Box Note | The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL finds checksum errors in the group descriptors''' -- this is expected.<br />
The '-f' parameter asks fsck to force checking even if the file system seems clean. <br />
The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error). }}<br />
<br />
* Reboot Arch Linux!<br />
<br />
{{ Box Note | If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: <br />
<code>mkinitcpio -k 2.6.28-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img</code> }}<br />
<br />
==Troubleshooting==<br />
<br />
The only problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' image. During the creation process, <code>mkinitcpio</code> correctly detected and included ext4 modules in the initial ramdisk.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=58236
Create an Ext4 Partition
2009-01-17T21:39:03Z
<p>LTSmash: /* From Arch Linux Live CD */ Errased all of this since it's useless</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
=Creating ext4 From Scratch=<br />
<br />
'''Out-of-date''': This section details instructions that are now outdated with the release of kernel 2.6.28 and other tools. Firstly, ext4dev can be replaced with ext4, and Arch's default <code>grub</code> is patched with ext4 support.<br />
<br />
<br />
<br />
==Within Arch Linux==<br />
# Make sure you have the latest version of e2fsprogs<br />
# Format the drive <pre># mkfs.ext4dev /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4dev</code><br />
<br />
=Converting From ext3 to ext4=<br />
<br />
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and http://bbs.archlinux.org/viewtopic.php?id=61602. They have been tested and confirmed by this author as of January 16, 2008.<br />
<br />
==Prerequisites==<br />
<br />
The following software is required on the Arch Linux system:<br />
<br />
kernel26 >= 2.6.28<br />
e2fsprogs >= 1.41<br />
<br />
If converting one's /boot partition to ext4:<br />
<br />
grub >= 0.97 (with ext4 patch)<br />
<br />
{{Box Note | The ext4 patch is included by default with Arch's GRUB package (at the time of writing, but this will likely not change). Otherwise, [[GRUB2]] is required for booting from an ext4 partition. }}<br />
<br />
If converting one's root (/) partition to ext4:<br />
<br />
mkinitcpio >= 0.5.20<br />
<br />
If converting one's root (/) partition to ext4, the following software is also needed on a bootable CD/USB drive:<br />
<br />
e2fsprogs >= 1.41<br />
<br />
The latest Arch Linux images (2008.06) ship with an older version of <code>e2fsprogs</code>, but it is a simple matter to <code>pacman -Sy e2fsprogs</code> from the live environment after setting up networking. Alternatively, [http://www.sysresccd.org/Download SystemRescueCd 1.1.4] contains an appropriate version, and is in itself a handy CD to have.<br />
<br />
{{Box Note | An updated Arch Linux image is expected to be released shortly, and will contain an updated version of <code>e2fsprogs</code>. }}<br />
<br />
==Procedure==<br />
<br />
* '''BACK-UP!''' Back-up all data on any ext3 partitions that are to be converted to ext4. Although ext4 is considered 'stable' for general use, it is still a relatively young and untested file system. Furthermore, this conversion process was only tested on a relatively simple setup; it is impossible to test each of the many possible configurations the user may be running.<br />
<br />
* Edit <code>/etc/fstab</code> and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4. <br />
<br />
{{Box Note | ext4 is backwards-compatible with ext3 until extents and other new fancy options are enabled. If the user has a partition that is shared with another OS that cannot yet read ext4 partitions, it is possible to mount said partition as ext4 in Arch and still be able to use it as ext3 elsewhere at this point... Not so after the next step! Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted (though there are still benefits--see http://kernelnewbies.org/Ext4 for details). }}<br />
<br />
* The conversion process with <code>e2fsprogs</code> must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium, as described in the 'Prerequisites' section above.<br />
** Boot the live medium (if necessary).<br />
** For each partition to be converted to ext4:<br />
*** Ensure the partition is NOT mounted<br />
*** Run <code>tune2fs -O extents,uninit_bg,dir_index /dev/the_partition</code> (where <code>/dev/the_partition</code> is replaced by the path to the desired partition, such as <code>/dev/sda1</code>)<br />
*** Run <code>fsck -fp /dev/the_partition</code><br />
<br />
{{ Box Note | The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL finds checksum errors in the group descriptors''' -- this is expected.<br />
The '-f' parameter asks fsck to force checking even if the file system seems clean. <br />
The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error). }}<br />
<br />
* Reboot Arch Linux!<br />
<br />
{{ Box Note | If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: <br />
<code>mkinitcpio -k 2.6.28-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img</code> }}<br />
<br />
==Troubleshooting==<br />
<br />
The only problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' image. During the creation process, <code>mkinitcpio</code> correctly detected and included ext4 modules in the initial ramdisk.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=ArchWiki_talk:Requests&diff=34759
ArchWiki talk:Requests
2008-01-06T21:49:10Z
<p>LTSmash: added some stuff xD</p>
<hr />
<div>[[Category:Arch development (English)]]<br />
[[Category:ArchWiki Tools (English)]]<br />
<br />
= Introduction =<br />
'''''Is the wiki missing something you'd like to see? A new HOWTO or Guide? Write your requests below to share your ideas...'''''<br />
<br />
== HOWTO Optimize/SpeedUp Arch ==<br />
<br />
Haven't seen anything like that in the wiki, someone shoul make that.<br />
<br />
== Merge duplicate ABS kernel compilation wikis ==<br />
I offered to look into this, however having never compiled a custom kernel before I don't feel I'm qualified to do merge these two entries. There does appear to be redundant information though and I think it would be best if combined into a single wiki:<br />
* [[Kernel Compilation with ABS]]<br />
* [[Custom Kernel Compilation with ABS]]<br />
<br />
--[[User:Thayer.w|Thayer]] Monday, 17 September 2007<br />
<br />
== HOWTO: SAMBA PDC + LDAP ==<br />
How to configure SAMBA PDC + LDAP in Archlinux? (Moved from another page. [[User:Hokstein|Hokstein]] 19:57, 16 September 2007 (EDT))</div>
LTSmash
https://wiki.archlinux.org/index.php?title=KDE_Desktop_Tricks&diff=34532
KDE Desktop Tricks
2008-01-02T21:28:59Z
<p>LTSmash: added kdm theme trick</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
== Konqueror Tips==<br />
'''Auto Scrolling (Browser)''' - When viewing a lengthy HTML page you'd like to read, you can make it auto-scroll by using the Shift + Arrow keys. Shift+Up will scroll up, Shift+Down will scroll down. While auto-scrolling, you can use these same keys to adjust the scrolling speed.<br />
<br />
'''Fast Mousewheel Scrolling (Browser)''' - As you know, you can scroll using the mousewheel. For accelerated scrolling, press the Shift button while using the mousewheel.<br />
<br />
'''Disabling Smart Key Tooltips (Browser)''' - To disable those smart key tooltips in Konqueror (pressing STRG on a web page), open ~/.kde/share/config/konquerorrc and add this section:<br />
<pre>[Access Keys]<br />
Enabled=false</pre><br />
<br />
'''Disabling The Sidebar Tab (Filemanager)''' - To disable this small sidebar tab on the left side, open ~/.kde/share/config/konqsidebartng.rc and set HideTabs to "true"<br />
<br />
'''Get A Finder-Like Look (Filemanager)''' - Just install the [http://aur.archlinux.org/packages.php?do_Details=1&ID=11735 Baghira Sidebar] for Konqueror to get a nice clean finder look.<br />
<br />
<br />
==Konqueror With Completely Independent Profiles==<br />
You may have noticed that konqueror does not split its profiles, so its impossible to have separate toolbar setups for the browser and the filemanager profile, because Konqueror just messes everything up. This can be solved with a small hack to the config files and a different way to start Konqueror. There is only one small disadvantage (that can be ignored on nowadays machines): You will not be able to use Konquerors preloading feature (kfmclient openProfile) with this hack... <br />
<br />
How to do it step by step:<br />
# disable konquerors preloading feature in kcontrol --> kde-components --> kde-performance<br />
# open a konsole and kill all remaining konqueror instances (killall konqueror, do it several times)<br />
# open kmenuedit and change all your konqueror links from "kfmclient openProfile <profilename>" to "konqueror --profile <profilename>"<br />
# open a konsole and go to ~/.kde/share/apps/konqueror/<br />
# there should be a konqueror.rc<br />
# copy this konqueror.rc to konqueror-filemanagement.rc and konqueror-webbrowsing.rc<br />
# now go to ~/.kde/share/apps/konqueror/profiles<br />
# open the filemanagement profile and modify the XMLUIFile option to point to your newly created konqueror-filemanagement.rc<br />
# open the webbrowsing profile and also modify the XMLUIFile option to point to your newly created konqueror-webbrowsing.rc<br />
<br />
After applying these changes you can have completely independent toolbar setups and settings for those two konqueror profiles, but it does not apply to the changes made in the konqueror options. This does ofcourse only work if you start konqueror directly and not by kfmclient.<br />
<br />
<br />
== Kicker Tricks ==<br />
'''Menu Titles''' - To disable the menu titles in kmenu, just add the entry "ShowMenuTitles=false" to the [menus] section of ~/.kde/share/config/kickerrc<br />
<br />
'''Menu Icon Size''' - To adjust the size of the icons in kmenu, just add the entry "MenuEntryHeight=X" to the [menus] section of ~/.kde/share/config/kickerrc, where X is one of the available icon sizes of your theme (16,24,32 etc)<br />
<br />
'''Two Rows Of Icons In The Systray''' - Just set your kicker height to 48 pixels manually. This is the smallest size where you still get two rows of icons in the systray.<br />
<br />
<br />
== Useful Applications ==<br />
[http://www.kde-apps.org/content/show.php?content=29153 YaKuake] - This application provides a Quake-like terminal emulator, which is toggled visible using the F12 key. It also has support for multiple tabs. YaKuake can be installed via Pacman:<br />
pacman -S yakuake<br />
<br><br />
Recommended Key Shortcuts:<br />
* Alt+Up - Create a new tab.<br />
* Alt+Down - Close current tab.<br />
* Alt+Left - Go to the left tab.<br />
* Alt+Right - Go to the right tab.<br />
<br />
==KDM Themes==<br />
You can modify your login theme, look at the wiki page:<br />
[[KDM_Theme_Manager]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30543
OpenSSH
2007-10-11T01:55:03Z
<p>LTSmash: Merged the page</p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
<pre><br />
pacman -Sy openssh<br />
</pre><br />
<br><br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
===Adjust the configuration===<br />
<br />
The configuration file can be found at ''/etc/ssh/ssh_config'' and the basic version looks like this:<br />
<br />
<pre><br />
# $OpenBSD: ssh_config,v 1.19 2003/08/13 08:46:31 markus Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for various options<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc<br />
# EscapeChar ~<br />
</pre><br />
<br><br />
It is recommended to change the Protocol line into this:<br><br />
<pre><br />
Protocol 2<br />
</pre><br />
<br><br />
That means that only Protocol 2 will be used, since Protocol 1 is considered somewhat insecure.<br><br />
Of course there is also a configuration file for the SSH daemon. It's called ''/etc/ssh/sshd_config'' and looks like this:<br><br />
<pre><br />
# $OpenBSD: sshd_config,v 1.69 2004/05/23 23:59:53 dtucker Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#Protocol 2,1<br />
ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh''host''key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh''host''rsa_key<br />
#HostKey /etc/ssh/ssh''host''dsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 768<br />
<br />
# Logging<br />
#obsoletes ~QuietMode and ~FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh''known''hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you don't trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
#ChallengeResponseAuthentication yes<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing,<br />
# and session processing. If this is enabled, PAM authentication will<br />
# be allowed through the ~ChallengeResponseAuthentication mechanism.<br />
# Depending on your PAM configuration, this may bypass the setting of<br />
# PasswordAuthentication, ~PermitEmptyPasswords, and<br />
# "PermitRootLogin without-password". If you just want the PAM account and<br />
# session checks to run without PAM authentication, then enable this but set<br />
# ChallengeResponseAuthentication=no<br />
#UsePAM no<br />
<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression yes<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
<br />
# no default banner path<br />
#Banner /some/path<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
</pre><br />
<br><br />
You might want to change some lines so that they look as following :<br><br />
<pre><br />
Protocol 2<br />
.<br />
.<br />
.<br />
LoginGraceTime 120<br />
.<br />
.<br />
.<br />
PermitRootLogin no # ( put yes here if you want root login )<br />
</pre><br />
<br><br />
You could also uncomment the BANNER option and edit ''/etc/issue'' for a nice welcome message.<br />
<br />
<br />
<br />
===Allowing others in===<br />
<br />
To let other people ssh to your machine you need to adjust ''/etc/hosts.allow'', add the following: <br><br />
<br />
<pre><br />
# let everyone connect to you<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match<br />
sshd: 192.168.1.<br />
</pre><br />
<br><br />
Now you should check your ''/etc/hosts.deny'' for the following line and make sure it looks like this<br />
<br><br />
<pre><br />
ALL: ALL: DENY<br />
</pre><br />
<br><br />
That's it. You can SSH out and others should be able to SSH in :)<br><br />
<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Managing SSHD Daemon==<br />
<br />
Just add sshd to the "DAEMONS" section of your /etc/rc.conf:<br />
<br />
<pre><br />
DAEMONS=(... ... ... ... ... sshd ... ... ...)<br />
</pre><br />
<br><br />
<br />
To start/restart/stop the daemon, use the following:<br />
<br />
<pre><br />
/etc/rc.d/sshd {start|stop|restart}<br />
</pre><br />
<br><br />
<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] <br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30542
OpenSSH
2007-10-11T01:38:29Z
<p>LTSmash: /* Installing OpenSSH */</p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
<pre><br />
pacman -Sy openssh<br />
</pre><br />
<br><br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
===Adjust the configuration===<br />
<br />
The configuration file can be found at ''/etc/ssh/ssh_config'' and the basic version looks like this:<br />
<br />
<pre><br />
# $OpenBSD: ssh_config,v 1.19 2003/08/13 08:46:31 markus Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for various options<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc<br />
# EscapeChar ~<br />
</pre><br />
<br><br />
It is recommended to change the Protocol line into this:<br><br />
<pre><br />
Protocol 2<br />
</pre><br />
<br><br />
That means that only Protocol 2 will be used, since Protocol 1 is considered somewhat insecure.<br><br />
Of course there is also a configuration file for the SSH daemon. It's called ''/etc/ssh/sshd_config'' and looks like this:<br><br />
<pre><br />
# $OpenBSD: sshd_config,v 1.69 2004/05/23 23:59:53 dtucker Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#Protocol 2,1<br />
ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh''host''key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh''host''rsa_key<br />
#HostKey /etc/ssh/ssh''host''dsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 768<br />
<br />
# Logging<br />
#obsoletes ~QuietMode and ~FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh''known''hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you don't trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
#ChallengeResponseAuthentication yes<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing,<br />
# and session processing. If this is enabled, PAM authentication will<br />
# be allowed through the ~ChallengeResponseAuthentication mechanism.<br />
# Depending on your PAM configuration, this may bypass the setting of<br />
# PasswordAuthentication, ~PermitEmptyPasswords, and<br />
# "PermitRootLogin without-password". If you just want the PAM account and<br />
# session checks to run without PAM authentication, then enable this but set<br />
# ChallengeResponseAuthentication=no<br />
#UsePAM no<br />
<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression yes<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
<br />
# no default banner path<br />
#Banner /some/path<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
</pre><br />
<br><br />
You might want to change some lines so that they look as following :<br><br />
<pre><br />
Protocol 2<br />
.<br />
.<br />
.<br />
LoginGraceTime 120<br />
.<br />
.<br />
.<br />
PermitRootLogin no # ( put yes here if you want root login )<br />
</pre><br />
<br><br />
You could also uncomment the BANNER option and edit ''/etc/issue'' for a nice welcome message.<br />
<br />
<br />
<br />
===Allowing others in===<br />
<br />
To let other people ssh to your machine you need to adjust ''/etc/hosts.allow'', add the following: <br><br />
<br />
<pre><br />
# let everyone connect to you<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match<br />
sshd: 192.168.1.<br />
</pre><br />
<br><br />
Now you should check your ''/etc/hosts.deny'' for the following line and make sure it looks like this<br />
<br><br />
<pre><br />
ALL: ALL: DENY<br />
</pre><br />
<br><br />
That's it. You can SSH out and others should be able to SSH in :)<br><br />
<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Managing SSHD Daemon==<br />
<br />
Just add sshd to the "DAEMONS" section of your /etc/rc.conf:<br />
<br />
<pre><br />
DAEMONS=(... ... ... ... ... sshd ... ... ...)<br />
</pre><br />
<br><br />
<br />
To start/restart/stop the daemon, use the following:<br />
<br />
<pre><br />
/etc/rc.d/sshd {start|stop|restart}<br />
</pre><br />
<br><br />
<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] <br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30541
OpenSSH
2007-10-11T01:37:39Z
<p>LTSmash: </p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
===Adjust the configuration===<br />
<br />
The configuration file can be found at ''/etc/ssh/ssh_config'' and the basic version looks like this:<br />
<br />
<pre><br />
# $OpenBSD: ssh_config,v 1.19 2003/08/13 08:46:31 markus Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for various options<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc<br />
# EscapeChar ~<br />
</pre><br />
<br><br />
It is recommended to change the Protocol line into this:<br><br />
<pre><br />
Protocol 2<br />
</pre><br />
<br><br />
That means that only Protocol 2 will be used, since Protocol 1 is considered somewhat insecure.<br><br />
Of course there is also a configuration file for the SSH daemon. It's called ''/etc/ssh/sshd_config'' and looks like this:<br><br />
<pre><br />
# $OpenBSD: sshd_config,v 1.69 2004/05/23 23:59:53 dtucker Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#Protocol 2,1<br />
ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh''host''key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh''host''rsa_key<br />
#HostKey /etc/ssh/ssh''host''dsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 768<br />
<br />
# Logging<br />
#obsoletes ~QuietMode and ~FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh''known''hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you don't trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
#ChallengeResponseAuthentication yes<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing,<br />
# and session processing. If this is enabled, PAM authentication will<br />
# be allowed through the ~ChallengeResponseAuthentication mechanism.<br />
# Depending on your PAM configuration, this may bypass the setting of<br />
# PasswordAuthentication, ~PermitEmptyPasswords, and<br />
# "PermitRootLogin without-password". If you just want the PAM account and<br />
# session checks to run without PAM authentication, then enable this but set<br />
# ChallengeResponseAuthentication=no<br />
#UsePAM no<br />
<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression yes<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
<br />
# no default banner path<br />
#Banner /some/path<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
</pre><br />
<br><br />
You might want to change some lines so that they look as following :<br><br />
<pre><br />
Protocol 2<br />
.<br />
.<br />
.<br />
LoginGraceTime 120<br />
.<br />
.<br />
.<br />
PermitRootLogin no # ( put yes here if you want root login )<br />
</pre><br />
<br><br />
You could also uncomment the BANNER option and edit ''/etc/issue'' for a nice welcome message.<br />
<br />
<br />
<br />
===Allowing others in===<br />
<br />
To let other people ssh to your machine you need to adjust ''/etc/hosts.allow'', add the following: <br><br />
<br />
<pre><br />
# let everyone connect to you<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match<br />
sshd: 192.168.1.<br />
</pre><br />
<br><br />
Now you should check your ''/etc/hosts.deny'' for the following line and make sure it looks like this<br />
<br><br />
<pre><br />
ALL: ALL: DENY<br />
</pre><br />
<br><br />
That's it. You can SSH out and others should be able to SSH in :)<br><br />
<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Managing SSHD Daemon==<br />
<br />
Just add sshd to the "DAEMONS" section of your /etc/rc.conf:<br />
<br />
<pre><br />
DAEMONS=(... ... ... ... ... sshd ... ... ...)<br />
</pre><br />
<br><br />
<br />
To start/restart/stop the daemon, use the following:<br />
<br />
<pre><br />
/etc/rc.d/sshd {start|stop|restart}<br />
</pre><br />
<br><br />
<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] <br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30540
OpenSSH
2007-10-11T01:34:48Z
<p>LTSmash: /* Configuring the SSH server */</p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To let other people ssh to your machine you need to adjust ''/etc/hosts.allow'', add the following: <br><br />
<br />
<pre><br />
# let everyone connect to you<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match<br />
sshd: 192.168.1.<br />
</pre><br />
<br><br />
Now you should check your ''/etc/hosts.deny'' for the following line and make sure it looks like this<br />
<br><br />
<pre><br />
ALL: ALL: DENY<br />
</pre><br />
<br><br />
That's it. You can SSH out and others should be able to SSH in :)<br><br />
<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Managing SSHD Daemon==<br />
<br />
Just add sshd to the "DAEMONS" section of your /etc/rc.conf:<br />
<br />
<pre><br />
DAEMONS=(... ... ... ... ... sshd ... ... ...)<br />
</pre><br />
<br><br />
<br />
To start/restart/stop the daemon, use the following:<br />
<br />
<pre><br />
/etc/rc.d/sshd {start|stop|restart}<br />
</pre><br />
<br><br />
<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] <br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30539
OpenSSH
2007-10-11T01:34:14Z
<p>LTSmash: </p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To let other people ssh to your machine you need to adjust ''/etc/hosts.allow'' <br><br />
add<br />
<pre><br />
# let everyone connect to you<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match<br />
sshd: 192.168.1.<br />
</pre><br />
<br><br />
Now you should check your ''/etc/hosts.deny'' for the following line and make sure it looks like this<br />
<br><br />
<pre><br />
ALL: ALL: DENY<br />
</pre><br />
<br><br />
That's it. You can SSH out and others should be able to SSH in :)<br><br />
<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Managing SSHD Daemon==<br />
<br />
Just add sshd to the "DAEMONS" section of your /etc/rc.conf:<br />
<br />
<pre><br />
DAEMONS=(... ... ... ... ... sshd ... ... ...)<br />
</pre><br />
<br><br />
<br />
To start/restart/stop the daemon, use the following:<br />
<br />
<pre><br />
/etc/rc.d/sshd {start|stop|restart}<br />
</pre><br />
<br><br />
<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] <br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30538
OpenSSH
2007-10-11T01:28:38Z
<p>LTSmash: /* Links & References */</p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] <br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30537
OpenSSH
2007-10-11T01:28:18Z
<p>LTSmash: /* Links & References */</p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]] </br><br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30536
OpenSSH
2007-10-11T01:27:59Z
<p>LTSmash: </p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre><br />
<br />
<br />
==Links & References==<br />
<br />
[[A Cure for the Common SSH Login Attack]]<br />
[[Using SSHD and SSH]]</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30535
OpenSSH
2007-10-11T01:27:03Z
<p>LTSmash: </p>
<hr />
<div>{{merge|Using SSHD and SSH}}<br />
<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
<pre><br />
su -c 'nano /etc/ssh/sshd_config'<br />
</pre><br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
<pre><br />
su -c '/etc/rc.d/sshd restart'<br />
</pre><br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
<pre><br />
ssh -p port user@server-adress<br />
</pre></div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30531
OpenSSH
2007-10-10T20:41:04Z
<p>LTSmash: /* Configuring the SSH server */</p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
$ su -c 'nano /etc/ssh/sshd_config'<br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
$ su -c '/etc/init.d/ssh restart'<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
$ ssh -p port user@server-adress</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30530
OpenSSH
2007-10-10T20:40:40Z
<p>LTSmash: /* Conecting to the server */</p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
su -c 'nano /etc/ssh/sshd_config'<br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
su -c '/etc/init.d/ssh restart'<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
$ ssh -p port user@server-adress</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30511
OpenSSH
2007-10-09T23:22:49Z
<p>LTSmash: </p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
su -c 'nano /etc/ssh/sshd_config'<br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
su -c '/etc/init.d/ssh restart'<br />
<br />
==Conecting to the server==<br />
<br />
To connect to a server, run:<br />
<br />
su -c 'ssh -p port user@server-adress'</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30510
OpenSSH
2007-10-09T23:19:56Z
<p>LTSmash: </p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
su -c 'nano /etc/ssh/sshd_config'<br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.<br />
<br />
To start using the new configuration, restart the daemon:<br />
<br />
su -c '/etc/init.d/ssh restart'</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30508
OpenSSH
2007-10-09T23:05:18Z
<p>LTSmash: Ssh moved to SSH: Wrong title</p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
su -c 'nano /etc/ssh/sshd_config'<br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=OpenSSH&diff=30507
OpenSSH
2007-10-09T23:04:59Z
<p>LTSmash: New Page</p>
<hr />
<div>Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
=OpenSSH=<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
=Installing OpenSSH=<br />
<br />
To install the latest version, run:<br />
<br />
su -c 'pacman -Sy openssh'<br />
<br />
==Configuring the SSH server==<br />
<br />
To configure you must edit the configuration file:<br />
<br />
su -c 'nano /etc/ssh/sshd_config'<br />
<br />
It's safer to change the default port from 22 to any higher port (the higher, the safer). Also reduce the authentication trials so you won't be brute-forced.</div>
LTSmash
https://wiki.archlinux.org/index.php?title=User:LTSmash&diff=30438
User:LTSmash
2007-10-08T03:26:34Z
<p>LTSmash: New page: Will make this a good wiki for spanish users. Hare este wiki genial para hispanoparlantes</p>
<hr />
<div>Will make this a good wiki for spanish users.<br />
Hare este wiki genial para hispanoparlantes</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Official_Installation_Guide_(Espa%C3%B1ol)&diff=30171
Official Installation Guide (Español)
2007-09-30T20:01:01Z
<p>LTSmash: Translated part of the artcile, but it will take some time. Again, support will be apreciated.</p>
<hr />
<div>{{Translateme}}<br />
<br />
:''Esta es la Documentación General de Usuario para Arch Linux. Cumbre la obtención de los archivos necesarios, instalando la distribución y montando un sistema básico y funcional. Adicionalmente, una pequeña referencia sobre las herramientas básicas como son "pacman" el administrador de paquetes y "ABS".''<br />
<br />
==Introducción==<br />
===Que es Arch Linux===<br />
Arch Linux es una distribución GNU/Linux optimizada para i686 inspirada originalmente en CRUX, una genial distro de Per Lidén.<br />
<br />
Arch es rápida, ligera, flexible y simple. Quizá no sea una descripción glamorosa pero es verdadera. Arch está optimizada para la arquitectura i686 (Pentium-Pro en adelante), así que obtienes mejor rendimiento que con la mayoria de las distros que andan por ahí (la mayoria son i386). Es ligera comparada con distros como RedHat o Ubuntu, y su diseño simple le permite ser usada con cualquier finalidad. En un solo archivo guarda la configuración desde los "locales", la red, los modulos hasta los demonios y el orden en el que inician.<br />
<br />
Todo esto funciona envidiablemente con la ayuda del gestor de paquetes precompilados con resolución de dependencias que incluso permite la actualización completa del sistema con un solo comando, ya que Arch no tiene un sistema de producción basado en versiones, de esta forma garantizas siempre tener tu sistema con el ultimo software. Arch usa script de inicio estilo BSD y un sistema de administracion de paquetes desde la fuente como los ports (Arch Build System (ABS)), haciendo la tarea de compilar un juego; también permite sincronizar con un solo comando. ¡Y claro!, puedes recontruir todo tu sistema desde las fuentes con un solo comando. Todo se hace simple y transparentemente, resultando en una de las distros mas personalizables y potentes que existen.<br />
<br />
Arch Linux busca mantener la mayor cantidad de paquetes actualizados posibles. Actualmente tenemos una colección completa de paquetes básicos (core) y muchos adicionales (extra, community). Así mismo tenemos dos repositorios más, uno de pruebas (testing) y uno con software inestable (unstable).<br />
<br />
En nuestra meta de simplicidad, hemos excluido algunas porciones inútiles del sistema xomo /usr/doc y las páginas info. Esto debido a que casi no son usadas y la información puede ser encontrada en Internet o bien en las páginas MAN.<br />
<br />
Otra de las metas de Arch es ofrecer la ultima tecnología disponible a los usuarios.<br />
<br />
===Licencia===<br />
Arch Linux, pacman, la documentación y scripts tienen copyright ©2002-2006 by Judd Vinet y estan licenciados bajo la Licencia Publica General (GPL) GNU.<br />
<br />
==Instalando Arch Linux==<br />
===Pre-Instalación===<br />
Arch Linux está optimizado para la arquitectura i686 o x86-64 (AMD64) y no correrá en otros procesadores x86 (i386, i486, i586). Un CPU Pentium-Pro/Pentium-II o más reciente es necesario para usar Arch.<br />
<br />
Antes de instalar hay que elgir que tipo de instalación realizaremos. Arch Linux provee imagenes ISO arrancables para la instalación, así mismo imagenes floppy para instalación vía FTP. También es posible descargar una imagen base sólamente con los componentes necesarios básicos del sistema con un peso de no más de 200MB. Este ultimo método es el recomendado.<br />
Si no tienes conección a Internet lo recomendable es bajar el ISO con el sistema base más una buena colección de utilidades (current), quemarlo e instalarlo.<br />
<br />
No se recomienda usar la instalación con floppy ya que tienden a fallar.<br />
<br />
Es posible usar una ISO antigua para instalar ya que el formato de Arch permite actualizar todo el sistema con un comando, así que si no puedes bajar la ultima ISO pero tienes una anterior esta funcionará perfectamente.<br />
<br />
Si tu conección a internet es via DialUp, no podŕas hacer una instalación FTP ya que los modulos correspondientes no estan incluidos en los CD's.<br />
<br />
For a successful FTP install you must have a gateway in your LAN that is actually connected to the internet and routes any requests from the PC to be installed into the internet and back. Or, alternatively, you can of course have a properly set up FTP server in your LAN to install from. Point is that you cannot attach a modem to your PC and set up a connection with your provider with the Installer. It won't work.<br />
<br />
The most expedient method of installing Arch Linux surely is installing the base system from the base CD, followed by a complete system upgrade. Subsequently, any other packages you want or need once you set up your internet connection will be available through pacman from your newly installed base system. Again, this method is strongly recommended and conforms to the "Arch Way".<br />
<br />
Another thing you should know before trying to install Arch Linux is that during the install you're asked a few questions about which hard drive to prepare, what modules to load, and what changes to make to certain system-critical files like lilo.conf and rc.conf. The installer will not hold your hand here and guide you through any potential setup known and unknown to mankind; you are expected to know what to put in and leave out. This is quite a requirement for a newbie, so if this intimidates you already, make sure you read through this whole document to get at least a vague idea of what is going to be asked, and check back on IRC, the forums or a Linux guru in your neighborhood if anything is not clear to you before you totally mess up your system. You may of course boldly step into the fight and tinker around and try until it works, but don't tell anyone afterwards you haven't been warned. That being said, it's not as bad as it seems. ;)<br />
<br />
====What You Will Need====<br />
* A working knowledge of Linux and your system, esp. your hardware<br />
* Arch Linux installation media (see the mirror list)<br />
** Either the Arch Linux Install CD, or<br />
** 2-7 floppy disks, depending on what you need: SCSI, Ethernet, etc.<br />
* Either an i686-based computer (PPro, Pentium 2 or higher, Athlon/Duron, VIA-C7, etc. Note that AMD K6, Transmeta Crusoe, Cyrix III, and VIA C3 are NOT supported.), or<br />
* An x86-64-based computer (Pentium 4/Celeron with x64 support, Athlon x64, Core 2) <br />
* Some time to kill<br />
<br />
====Acquiring Arch Linux====<br />
You can download Arch Linux from any of the mirrors listed on the download page. If you are downloading the floppy disk images for an FTP-based install, be sure to select a mirror that provides the packages. Likewise, if you will be performing a CD-based install, be sure to select a mirror that provides the ISO.<br />
<br />
Consult the [http://www.archlinux.org/download webpage] for a current list of download mirrors.<br />
<br />
====Floppy Install====<br />
<br />
# Download images/boot.img (path is relative to the mirror root)<br />
# Download images/root.img<br />
# Download any add-on images you need from the images/addons/ subdirectory:<br />
;ethernet.img : Ethernet modules<br />
;fs1.img : XFS/JFS modules, Ext2 extra utilities<br />
;fs2.img : XFS/JFS extra utilities<br />
;keymaps_usb_firewire.img : Additional keymaps/console fonts, USB/Firewire modules<br />
;ntfs_fdisk.img : NTFS modules and utilities, fdisk<br />
;pcmcia_wlan.img : PCMCIA modules, wireless utilities<br />
;raid_lvm.img : RAID/LVM modules and utilities<br />
;scsi.img : SCSI modules<br />
<br />
#Find some blank floppies and write the images to them:<br />
<pre>(insert first disk)<br />
# dd if=boot.img of=/dev/fd0<br />
(insert second disk)<br />
# dd if=root.img of=/dev/fd0<br />
<br />
(repeat for any additional add-on images)<br />
# dd if=scsi.img of=/dev/fd0</pre><br />
<br />
If you need to write these images from a Windows box, you can download rawrite.exe and use it instead of dd.<br />
# Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, 8139too)<br />
<br />
====CD Install====<br />
# Download 2007.05/iso/i686/arch-2007.05.iso or 2007.05/iso/i686/arch-2007.05-base.iso (path relative to mirror root)<br />
# Download 2007.05/iso/i686/arch-2007.05.md5sum<br />
# Verify the integrity of the .iso image using md5sum:<br />
<pre>md5sum --check arch-2007.05.md5sum<br />
arch-2007.05.iso: OK</pre><br />
If you want to download the base or a beta ISO instead, use the appropriate filename, ie: arch-2007.05-base.iso instead of arch-2007.05.iso, likewise for the md5sum.<br />
# Burn the .iso image to a blank CD-R (this step varies depending on the OS/software you're using). It is recommended to use lower burn speeds (2x-16x) for this operation. This will ensure an accurate image burn and save you from unneeded aggravation. Checking the md5sum of the burned CD is also good practice:<br />
<br />
<pre>md5sum /dev/cdrom</pre><br />
<br />
Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, or 8139too, or forcedeth)<br />
<br />
===Using the CD-ROM===<br />
You should skip this section and go right to the Floppy Installation instructions if you are not using a CD-ROM from which to boot. If you're already familiar with the boot process, you may skip all this babble as well, and jump to the Common Install Procedure, which outlines the actual process of installing Arch Linux.<br />
<br />
Reboot your computer with the Arch Linux Installation CD in the drive. Make sure your BIOS is set in a way to allow booting from your CD-ROM. Refer to your motherboard manual or your system manufacturer for details if you have no clue how to do that. Once the CD is booted from, you will see a boot prompt waiting for your input indefinitely, explaining what your options are at this point. Most users can just hit Enter to boot the default Arch install kernel with IDE and SCSI support. If, for some reason, the kernel does not boot for you, you can try the IDE-only kernel by typing arch-noscsi at the boot prompt.<br />
<br />
If your CD-ROM fails to boot for no obvious reason, and you're using a rather old CD-ROM drive in conjunction with a copy burned to a CD-RW, consider using a normal CD-R instead. Some older drives [mine, for example - Dennis] don't manage to read CD-RWs properly.<br />
<br />
At the end of the boot procedure, you should be dropped into a root shell with a handful of instructions filling the upper half of your screen. At this point you are ready to commence the actual installation. Don't let those instructions fool you; when booting from a CD, you don't have to run the loaddisk anymore as it's done automatically during boot. Only floppy users need to run loaddisk manually.<br />
<br />
===Using The Floppies===<br />
If you have any chance of booting the system from the Arch Linux CD, it's strongly recommended to do so. Not only are the floppies themselves prone to failure, the whole boot process takes much longer, and if you need a handful of modules the disk-juggling is very unnerving. Note that you do not have to boot from floppies to install via FTP; CD-ROM will do just fine.<br />
<br />
Reboot your computer with the boot disk in the floppy drive. After some disk-crunching noises, you should come to a boot prompt, waiting eagerly for your input. Press Enter to continue the boot process after adding any potentially needed kernel parameters.<br />
<br />
If you are using a USB keyboard, you will need to load USB support automatically at bootup. You can do this by setting the NEEDUSB parameter to your USB bus type. For example, if you have a UHCI bus, you would type arch NEEDUSB=uhci at the boot prompt. After the root disk loads, you will be prompted to load the USB add-on disk, which will be auto-loaded after a 10-second wait. If you're not sure what kind of USB bus you have, try specifying NEEDUSB=auto, which will load all three (UHCI, OHCI, EHCI) bus modules.<br />
<br />
Partway through the boot-up process, you will be prompted:<br />
<br />
<pre>VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER</pre><br />
<br />
Insert the root disk in the drive and hit Enter. After some more chunking you will be given a shell. Since you'll be needing your Ethernet module for the install, you should now load the modules from the Ethernet disk. Put the disk in the drive and run:<br />
<br />
<pre># loaddisk /dev/fd0</pre><br />
<br />
After a while all Ethernet modules will be extracted to the file system. If the directory /lib/modules/ is still empty after this command, and/or you got a couple of errors, your disk has most likely gone bad. Create a new modules disk, and try again. You do not need to reboot in this case; just reissue the loaddisk command. Don't be worried if you have several disks failing this way; it's unfortunately quite common. Don't say nobody told you.<br />
<br />
You should also load any additional add-on disks that you need, such as SCSI or RAID/LVM. Use the loaddisk command as above for each disk; the order does not matter.<br />
<br />
If you know which Ethernet module you need, you should load it now with the modprobe command. Don't worry too much if you don't; the installer program will probe for the right module automatically.<br />
<br />
===Common Installation Procedure===<br />
<br />
At this point your system should be booted, and the hard drive to which you'd like to install, as well as your installation source, must be accessible. Make sure all necessary modules are loaded, if any.<br />
<br />
====Installation Steps====<br />
# Loading a non-US Keymap<br />
# Running Setup<br />
# Configure Network (FTP Install only)<br />
# Prepare Hard Drive<br />
## Auto-Prepare<br />
## Partition Hard Drives<br />
## Set Filesystem Mountpoints<br />
# Select Packages<br />
# Install Packages<br />
# Configure System<br />
# Install Kernel<br />
# Install Bootloader<br />
# Exit Install<br />
<br />
Using the available shell tools, experienced users are also able to prepare the hard drive or any devices needed for the installation before starting the installer. You may simply skip this paragraph if you don't see any immediate need for further manual interaction. Note that the Arch Linux installation media also contains a /arch/quickinst script for experienced users. This script installs the base set of packages to a user-specified destination directory. If you are doing an exotic install with fun things like RAID and LVM, or don't want to use the installer at all, you'll probably want to use the quickinst script. <br />
All the cool kids do it.<br />
<br />
====Loading a non-US Keymap====<br />
If you require a non-US keymap, you can use the km utility to load a new keymap. Just type km at the prompt, then use the arrow keys to navigate to the correct keymap and/or console font.<br />
<br />
====Running Setup====<br />
<br />
Now you can run /arch/setup to invoke the installer program. After some info messages you will be prompted for the installation method of your choice. If you have a fast internet connection, you might prefer the FTP installation to ensure you get the latest packages instead of using the potentially outdated CD contents. Note that you will probably run into trouble if you have an interesting proxy setup. If you can't use a CD-ROM, this is the only viable method of installing Arch Linux.<br />
<br />
When navigating the setup script, make sure that you select DONE from the submenus after performing each step. This saves any settings you make in preparation for the next step. Further, avoid backstepping through previous steps in the installation process as this can also confuse the installer.<br />
It's actually rather easy to set up your own FTP package mirror or create your own bootable installation CD with the packages you need, making the task of installing several instances of Arch Linux across multiple machines rather simple, whilst at the same time saving a lot of mirror bandwidth. Make your life and ours easier, and look into these alternatives!<br />
<br />
When choosing a CD-ROM install you will only be able to install packages contained on the CD, which may be quite old. Of course it has the merit that you won't need an internet connection, and is therefore the recommended choice for dialup users or anyone else who does not feel like downloading about at least 100 MB of packages.<br />
<br />
After choosing one of the two alternatives, you will be presented with the installer menu, listing the necessary steps in the order in which they should be completed.<br />
<br />
At any point in the install process, you can switch to your 5th virtual console (ALT-F5) to view the output from the commands that setup is running. Use (ALT-F1) to get back to your first console where the installer is running, and any F-key in between if you need to open another console to intervene manually for any reason.<br />
<br />
====Configure Network (FTP Install only)====<br />
Configure Network will allow you to install and configure your network device.<br />
<br />
If no eth0 device is available yet, you will be asked whether you want the installer to probe for a network module. Choose YES here unless that messes up your system horribly (which shouldn't happen), or NO if you want to load the module manually. If the installer fails to find a matching network module, make sure you ran the loaddisk command correctly earlier to make the ethernet modules available. When booting from CD-ROM, this is done automatically for you. If your network card is still not found, make sure your card is properly physically installed and supported by the linux kernel at all.<br />
<br />
When the correct module is loaded, you will be given the option to configure your network with DHCP. If you're connected to a DHCP server, hit YES and let the installer do the rest. If you select NO, you will be asked to enter the networking information manually, which you hopefully wrote down as you were told.<br />
<br />
This menu entry is only available when choosing FTP Installation, for rather obvious reasons.<br />
<br />
====Prepare Hard Drive====<br />
Prepare Hard Drive will bring you into a submenu offering two alternatives of preparing your target drive for installation.<br />
<br />
=====Auto-Prepare=====<br />
The first choice is Auto-Prepare, which will automatically partition your hard drive into a /boot, swap, and root partition, and then create filesystems on all three. These partitions will also be automatically mounted in the proper place. To be exact, this option will create a<br />
* 32 MB ext2 /boot partition<br />
* 256 MB swap partition<br />
* ext3 root partition with the remaining space<br />
<br />
Actual sizes may vary slightly due to different hard disk geometries. You can choose this option if you don't know much about hard drive partitions, but be warned: AUTO-PREPARE WILL ERASE ALL DATA ON THE CHOSEN HARD DRIVE!<br />
<br />
Read the warning presented by the installer very carefully, and make sure the correct device is about to be partitioned!<br />
<br />
A way to verify your choice for a device to partition would be to open another terminal (ALT-F2, Enter) and enter<br />
<pre># cfdisk -P s <name of device></pre><br />
there to display the current partition table of the selected device, which should suffice to identify the hard disk.<br />
<br />
If no device name is shown ([nothing] will be COMPLETELY ERASED! ...), and the installer produces an Device not valid error after hitting YES, make sure you loaded all needed modules if it's a SCSI, RAID, etc. device. You can still load any modules now by changing to another terminal and issuing the commands there, then return to the installer process on terminal one (ALT-F1).<br />
<br />
If you prefer to do the partitioning manually, use the other two options, Partition Hard Drives and Set Filesystem Mountpoints to prepare the target media according to your specifications as outlined below. Otherwise Return to Main Menu after a successful auto-preparation.<br />
<br />
=====Partition Hard Drives=====<br />
Partition Hard Drives should be skipped if you chose Auto-Prepare already.<br />
<br />
Otherwise you should select the disk(s) you want to partition, and you'll be dropped into the cfdisk program where you can freely modify the partitioning information until you [Write] and [Quit].<br />
<br />
You will need at least a swap and a root partition to continue the installation.<br />
<br />
=====Set Filesystem Mountpoints=====<br />
Set Filesystem Mountpoints should also be skipped if you chose to Auto-Prepare your hard drive. You should select this choice once the partition information is edited to your liking with the previous menu selection, or already existent through whatever other means.<br />
<br />
The first question to answer is what partition to use as swap. Select the previously created swap partition from the list, and select the partition that is supposed to become your root partition in the next step.<br />
<br />
Every time you specify a partition to mount, you will be asked if you want to create a filesystem on the respective partition. If you select YES, you will be asked what filesystem to create (a matter of taste, really. Choose ext2 if you have no clue), and the partition will be formatted with the chosen filesystem, destroying all data in the process. It should be no problem, however, to say NO at this point to preserve any existing files on the partition.<br />
<br />
If you want to preserve existing data on a partition, you are strongly advised to create backups instead of hoping that nothing will go wrong during the install. Don't say I didn't warn you!<br />
<br />
You will not be asked for a filesystem to use on your swap partition, as this partition uses a specific filesystem of it's own.<br />
<br />
If you want to mount any other partitions, for example a separate /boot or /home partition, you will be able to do so now. Simply<br />
* select a partition to mount<br />
* choose a filesystem (if you want to create one instead of keeping the data)<br />
* choose a mountpoint for the partition<br />
<br />
Repeat these steps until you're satisfied, then select DONE to create any filesystems and mount the partitions in their respective places. After formatting and mounting all partitions, you will be dropped into the Main Menu, ready to proceed.<br />
<br />
Do not mount /tmp on a separate partition just yet, as it will badly confuse the installer! Simply leave the designated /tmp partition alone until the installation is done, and configure the partition manually after you have a running system if you must have a separate partition for /tmp.<br />
<br />
====Select Packages====<br />
Select Packages will let you select the packages you wish to install from the CD or your FTP mirror.<br />
<br />
If you chose CD-ROM installation, you have to tell the installer whether it should try to mount the CD itself, or whether you already mounted the source media in /src. Select the option according to what you need; Normally you will want to choose CD, after which you will be given the possibility to choose a CDROM drive from the list of all detected devices.<br />
<br />
If your CD-ROM drive is not displayed in the list, make sure you loaded any modules that may be needed, like SCSI or USB storage support.<br />
<br />
If you chose FTP Installation, you will be asked to choose a mirror close to you from a list, or select CUSTOM to enter your own fully qualified FTP path to an installation source, ie. a prepared server in your LAN, or a mirror that's not listed for whatever reason.<br />
<br />
Whatever source you chose, after fetching the package list you'll be dropped into the package category selection screen.<br />
<br />
If you are presented an error while fetching the package database, you should either choose another FTP mirror, make sure your network is working at all, and you didn't slip any typos into your custom server address. You might also have goofed mounting of your source media in the /src directory, if you chose that option.<br />
<br />
Now, once that is tackled, you have the opportunity to specify whole package groups from which you'd generally like to install packages, then fine-tune your coarse selection by (de)selecting individual packages.<br />
<br />
Any packages in the BASE category should stay selected under all circumstances, and you should select any other group which contains a package you might need. Please note that the upcoming individual package selection screen will only offer packages which are in the categories you select here, so if you only select BASE, you won't be able to add any other packages than those in the BASE category.<br />
<br />
If you want to only select the bare minimum for installation, but be able to browse through all available packages nevertheless to see if anything interesting is there to add, you should select all package categories, but choose to NOT select all packages by default.<br />
<br />
The Select all packages by default? question can be easily misunderstood; Basically you are asked whether you want all the packages in the categories you just chose to be selected or not.<br />
<br />
If you select YES, the whole list of packages contained in the chosen categories will be displayed and selected, and your job will be to deselect what you do not want.<br />
<br />
If you select NO, the same list of packages will displayed, but only packages of the BASE category will be selected, and you'll have to explicitly select any other packages you want to install.<br />
<br />
Choosing NO helps to install a lean system!<br />
<br />
It is recommended that you install all the BASE packages, but not anything else at this point. Don't worry about getting all the packages you want - you can easily install more of them once the basic system boots by itself. The only exception to this rule is installing any packages you need for setting up internet connectivity. These packages usually are:<br />
<br />
;dhcpcd (base) : Add if your machine is a DHCP client.<br />
;isdn4k-utils (network) : Add if you use ISDN for dialup.<br />
;ppp (base) : Add if you use an analog modem for dialup.<br />
;rp-pppoe (base) : Add if you use DSL for pseudo-dialup.<br />
<br />
The downloadable base ISO does not contain any packages but those in the BASE category, so be advised to get the full sized ISO if you need ISDN packages!<br />
<br />
Once you're done selecting the packages you need, leave the selection screen and continue to the next step, Install Packages.<br />
<br />
====Install Packages====<br />
Install Packages will now install pacman and any other packages you selected with resolved dependencies onto your harddisk.<br />
<br />
If you skipped preparation of your hard drive, you will be asked where your root partition has been mounted. This should only happen to people who partitioned and created filesystems on the target devices manually. Those people will have to enter the root directory where the packages shall be installed. By default, the installer mounts the root partition in /mnt, and any extra partitions below.<br />
<br />
Error messages and debugging output is output to terminal five (ALT-F5). After the packages are installed, proceed to the next step, Configure System.<br />
<br />
====Configure System====<br />
Configure System allows you to edit the configuration files crucial for your newly installed system.<br />
<br />
If you're in a real hurry, you may skip this step entirely and hope the defaults will work, but it's strongly recommended to iterate through the list of config file presented here and change options accordingly. Please refer to [[#System Configuration|System Configuration]] for detailed instructions.<br />
<br />
====Install Kernel====<br />
Install Kernel will ask you which kernel image to install on your hard drive.<br />
<br />
Recommended: Install the stock 2.6.x kernel with SCSI/SATA/IDE support. The exact support each 2.6.x kernel has will depend on how you have configured your initial ramdisk, but the default has support for all known SCSI, SATA, and IDE systems. See the System Configuration section for more information about the initrd. <br />
<br />
Please note that Arch Linux uses the 2.6 kernel by default. We are phasing out support for the 2.4 series, so you should only use it if 2.6 just isn't working out for you.<br />
<br />
====Install Bootloader====<br />
Install Bootloader will install a bootloader on your hard drive, either GRUB (recommended) or LILO, depending on your personal preference.<br />
<br />
Before installing the bootloader, the setup script will want you to examine the appropriate configuration file to confirm the proper settings. Make sure you know what your root (and /boot, if you have it) partitions are.<br />
<br />
If you choose to install LILO, the bootloader will be automatically installed according to your settings in the configuration file, whilst GRUB demands the selection of a partition to install the bootloader to. Here you should choose what you would enter as the boot option of LILO, which is usually the entry named /dev/hda, as it refers the master boot record of the first hard disk. Detailed error messages can be found as usual on VC5 (virtual console 5), if anything goes wrong.<br />
<br />
If you plan on setting up a multiboot system, it might be a better option to install the bootloader in your root or /boot partition, and refer to that boot sector from whatever other boot loader you want to reside in the master boot record.<br />
<br />
Installing a boot loader in the MBR will relentlessly overwrite any existing bootloader! Make sure you understand the implications of that if you're running a multiboot system, or want to preserve an installed bootloader from another OS!<br />
<br />
====Exit Install====<br />
<br />
Exit Install now, remove the CD from the drive, type reboot at the command line and cross your fingers!<br />
<br />
If your system boots up, you can log in as root without any password, so your first things to do are setting a password for root with the passwd command once you're logged in, add a user as outlined in the User Management section, and set up your Internet Connection.<br />
<br />
Congratulations! Now you can proceed getting into the nitty-gritty of configuring the interesting parts of your system.<br />
<br />
==System Configuration==<br />
These are the core configuration files for Arch Linux. You should be comfortable hand-editing these files with a text-editor, because there aren't any GUI apps to help you out. Only the most basic configuration files are listed here. If you need help configuring a specific service, please read the appropriate manpage or refer to any online documentation.<br />
<br />
Arch Linux does not use any abstraction layer to administrate your system. As a result, you can usually stick to any instructions published by the author of a software, or whatever you find in a search engine of your choice, and it'll work out without confusing your system, because your system just does not care.<br />
<br />
====Configuration Files====<br />
Before attempting to boot your newly installed system, you should at least glance over these files and make sure they are not too far off.<br />
# /etc/rc.conf<br />
# /boot/grub/menu.lst<br />
# /etc/lilo.conf<br />
# /etc/mkinitrd.conf<br />
# /etc/hosts<br />
# /etc/fstab<br />
# /etc/modprobe.conf<br />
# /etc/modules.conf<br />
# /etc/resolv.conf<br />
# /etc/conf.d/*<br />
# /etc/profile<br />
<br />
=====/etc/rc.conf=====<br />
This is the main configuration file for Arch Linux. It allows you to set your keyboard, timezone, hostname, network, daemons to run and modules to load at bootup, profiles, and more. You should read through all the settings in this file and make sure you understand them:<br />
<br />
;LOCALE : This sets your system language, which will be used by all i18n-friendly applications and utilities. You can get a list of the available locales by running '''locale -a''' from the commandline. This setting is not needed for US English users. <br />
;HARDWARECLOCK : Either '''UTC''' if your BIOS clock is set to UTC or GMT, or '''localtime''' if your BIOS clock is set to your local time. If you have an OS installed which cannot handle UTC BIOS times correctly, like Windows, choose localtime here, otherwise prefer UTC, which makes daylight savings time a non-issue and has a few other positive aspects. <br />
;TIMEZONE : Specifies your time zone. Possible time zones are the relative path to a zoneinfo file starting from the directory /usr/share/zoneinfo. For example, a german timezone would be '''Europe/Berlin''', which refers to the file /usr/share/zoneinfo/Europe/Berlin. If you don't know the exact name of your timezone file, worry about it later. Command '''tzselect''' can find correct timezone for you.<br />
;KEYMAP : Defines the keymap to load with the loadkeys program on bootup. Possible keymaps are found in /usr/share/kbd/keymaps. Please note that this setting is only valid for your TTYs, not any graphical window managers or X. <br />
;CONSOLEFONT : Defines the console font to load with the setfont program on bootup. Possible fonts are found in /usr/share/kbd/consolefonts. <br />
;USECOLOR : Enable ('''yes''') or disable ('''no''') colorized status messages during boot-up. <br />
;MOD_AUTOLOAD : If set to "YES", Arch will scan your hardware at bootup and attempt to automatically load the proper modules for your system. This is done with the hwdetect utility. <br />
;MOD_BLACKLIST : This is an array of modules that you do not want to be loaded at bootup. For example, if you don't want that annoying PC speaker, you could blacklist the pcspkr module. <br />
;MODULES : In this array you can list the names of modules you want to load during bootup without the need to bind them to a hardware device as in the modprobe.conf (or modules.conf, if you're using kernel 2.4.x). Simply add the name of the module here, and put any options into the modprobe.conf if need be. Prepending a module with a bang ('!') will not load the module during bootup (this is not the same as MOD_BLACKLIST). <br />
;USELVM : Set to "YES" to run a vgchange during sysinit, thus activating any LVM groups. If you have no idea what this means, don't bother. <br />
;HOSTNAME : Set this to the hostname of the machine, without the domain part. This is totally your choice, as long as you stick to letters, digits and a few common special characters like the dash. Don't be too creative here, though. <br />
;INTERFACES : Here you define the settings for your networking interfaces. The default lines and the included comments explain the setup well enough. If you do not use DHCP to configure a device, just keep in mind that the value of the variable (whose name must be equal to the name of the device which is supposed to be configured) equals the line which would be appended to the ifconfig command if you were to configure the device manually in the shell. <br />
;ROUTES : You can define your own static network routes with arbitrary names here. Look at the example for a default gateway to get the idea. Basically the quoted part is passed exactly as you pass it to the route add command, therefore reading man route is recommended if you don't know what to write here. <br />
;NET_PROFILES : Enable certain network profiles at bootup. Network profiles provide a convenient way of managing multiple network configurations, and are intended to replace the standard INTERFACES/ROUTES setup that is still recommended for systems with only one network configuration. If your computer will be participating in various networks at various times (eg, a laptop) then you should take look in the /etc/network-profiles directory to set up some profiles. There is a template file included there that can be used to create new profiles. <br />
;DAEMONS : This array simply lists the names of those scripts contained in /etc/rc.d/ which are supposed to be started during the boot process. If a script name is prefixed with a bang (!), it is not executed. If a script is prefixed with an "at" symbol (@), then it will be executed in the background (ie, the startup sequence will not wait for successful completion before continuing). Usually you do not need to change the defaults to get a running system, but will edit this array quite often once you install system services like sshd.<br />
<br />
=====/boot/grub/menu.lst=====<br />
GRUB is the default bootloader for Arch Linux, and is highly recommended. You should check and modify this file to accommodate your boot setup if you want to use GRUB, otherwise read on about the LILO configuration.<br />
<br />
Configuring GRUB is quite easy, the biggest hurdle is that it uses yet another device naming scheme different from /dev; Your hard disks as a whole are referred to as (hd0), (hd1), etc., sequentially numbered in order of appearance on the IDE/SCSI bus, just like the hda, hdb, etc. names in Linux. The partitions of a disk are referred to with (hd0,0), (hd0,1) and so on, with 0 meaning the first partition. A few conversion examples are included in the default menu.lst to aid your understanding.<br />
<br />
Note that the hdx naming scheme is in direct reference to your BIOS drive layout, whereas the sdx naming scheme is in direct reference to the udev device layout. The 2 are not always in sync, (for instance, hd0,0 will not always be sda1) especially if you have a mixture of both many IDE and SATA harddrives on your machine.<br />
<br />
Once you have grasped the concept of device naming, all you need to do is to choose a nice title for your boot section(s), supply the correct partition device as a parameter to the root option to have it mounted as / on bootup, and create a kernel line that includes the partition and path where the kernel is located as well as any boot parameters. If using the stock Arch 2.6.x kernel, you'll also need an initrd line that points to the initrd26.img file in your /boot directory. The path you put on your initrd line should be the same as the path to vmlinuz26 that you provide on the kernel line. You should be fine with the defaults, just check whether the partition information is correct in the root and kernel lines.<br />
<br />
To create a boot option that loads the bootsector of a different OS, this example might be helpful. You will probably succeed in starting any Microsoft-based operating system with it, just add this block to the file after any other sections, and modify the partition device accordingly to refer to the partition containing the bootsector of the OS you are intending to boot.<br />
<br />
<pre># (1) Other OS<br />
title My Other OS<br />
rootnoverify (hd0,1)<br />
makeactive<br />
chainloader +1</pre><br />
<br />
For advanced configuration of other OSes, please refer to the online [http://www.gnu.org/software/grub/manual/grub.html GRUB manual].<br />
<br />
=====/etc/lilo.conf=====<br />
This is the configuration file for the LILO bootloader. Make sure you check this one and get it right if you want to use LILO to boot your system. See LILO documentation for help on this.<br />
<br />
Things you should check are the root= lines in the image sections and the boot= line right at the beginning of the file. The root lines specify the device which shall be mounted as the root filesystem on bootup. If you don't know what is supposed to be entered here, change to another terminal and type mount to see a list of all currently mounted drives, and look for the line which displays a device name mounted on /mnt type [...]. The device path at the beginning of this very line should be entered in the root lines of your lilo.conf. Change if necessary.<br />
<br />
The boot line should be okay by default in most cases. Unless you have a weird boot manager setup in mind with multiple OSes, the device referenced here should be having the same prefix your root lines have, but not end with a number. For example, a root of /dev/hda3 means you probably want to install LILO into the Master Boot Record of the hard disk, so you would set boot to /dev/hda, which references the disk as a whole.<br />
To prevent some serious grief, you should make sure you know how to restore the bootsector of your other OSes, for example with Windows's FIXBOOT/FIXMBR tools.<br />
<br />
To be on the safe side, you should keep the option lba32 right below the prompt line. This will prevent some geometry issues from happening.<br />
<br />
In some cases, depending on your BIOS, LILO will not run on bootup and spill out an error code infinitely. In most cases you either removed the lba32 option, or your hardware setup is a little special, meaning that maybe your CD-ROM drive is primary master and the hard disk you installed secondary slave. This can very well irritate your BIOS, and prevent a boot up. To prevent that you can try and make the install drive the primary master on your IDE bus. If you've got a mixed IDE and SCSI system and the problem persists, you'll probably need some experimentation with the disk and bios options of LILO to provide a working mapping; The disk drives in your system are numbered sequentially by your BIOS, starting with 0x80. If you're lucky your SCSI controller tells you which drive has which BIOS ID, but usually you're not. How the drives are effectively numbered is depending on your BIOS, so in the worst case you can only guess until it works. A typical disk line would look like this:<br />
<pre>boot=/dev/hda<br />
disk=/dev/hda bios=0x80</pre><br />
<br />
The disk option maps a BIOS ID to the disk device known to linux. Note that there is still no guarantee that things will work as other things can be wrong, so do not despair if all your tries fail, but rather try rearranging your hardware in a way that's not totally odd. In this area too much can go wrong and needs special handling to be explained here. In most cases the lba32 option will suffice anyway. Old hard drives will usually need a little more special care until they do as told.<br />
Don't become fidgety when reading this section, I (Dennis) just happened to stumble over this problem when experimenting with a rather odd system, and figured it'd be a good idea to mention this show stopper and workarounds here. You probably won't ever experience this, and if you do, use GRUB.<br />
<br />
How to recreate a LILO boot sector with only a rescue disk is explained later in this document.<br />
<br />
=====/etc/mkinitrd.conf=====<br />
This file allows you to fine-tune the initial ramdisk (also commonly referred to as the "initrd") for your system. The initrd is a gzipped image that is read by the kernel during bootup. The purpose of the initrd is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if you are booting off a USB/FW drive). Once the initrd loads the proper modules, it passes control to the Arch system and your bootup continues. For this reason, the initrd only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of these modules will be loaded later on by hwdetect or hwd.<br />
<br />
By default, mkinitrd.conf is configured to provide all known modules for IDE, SCSI, or SATA systems. This means the default initrd should work for almost everybody. The downside to this is that there are many modules loaded that you will not need. This is easily visible by examining your module table after booting up (with the lsmod command). While this doesn't actually hurt anything, some people find it annoying. To cull this list down to only what you actually need, you can edit mkinitrd.conf and disable the subsystems (ie, IDE, SCSI, RAID, USB, etc) that you don't need. Each subsystem has a variable that starts with REMOVE_. Setting the variable to 1 (one) will remove it from the initrd.<br />
<br />
You can customize even further by specifying the exact modules you need in the HOSTCONTROLLER_ variables. Or, if you'd rather trust the auto-detection utility (hwdetect) to find the modules for you, you can set the AUTODETECT variable to 1 and ignore the other settings.<br />
If you're using RAID or encryption on your root filesystem, then you'll have to tweak the RAID/CRYPT settings near the bottom. See the wiki pages for RAID/LVM, filesystem encryption, and Initrd for more info.<br />
<br />
When you're finished tweaking mkinitrd.conf, you must run mkinitrd auto to regenerate the initrd. You can include the -show switch if you want to see a list of the modules being included.<br />
<pre># mkinitrd auto -show</pre><br />
<br />
WARNING: If you fail to include the correct module(s) in your initrd, your system will not boot! For this reason, you should be especially careful when tweaking your initrd. Do not over-tweak unless you know your hardware well.<br />
<br />
If you do manage to break your system, you can use the backup initrd that is included with the stock 2.6.x kernel, but only if you use the GRUB bootloader. To use the backup initrd, you must edit the initrd line from the GRUB menu at bootup and change it to point to the backup image. For example, if your normal initrd line is initrd /initrd26.img, you should change it to initrd /initrd26-full.img. Then bootup with the backup initrd and fix your primary!<br />
<br />
=====/etc/hosts=====<br />
This is where you stick hostname/ip pairs of other computers on your network. If a hostname isn't part of DNS, you can add it here. You usually don't need to change anything here, but you might want to add the hostname and hostname + domain of the machine to this file, resolving to the IP of your network interface. If you don't know what you're doing, leave this file alone until you read man hosts.<br />
<br />
=====/etc/fstab=====<br />
Your filesystem settings and mountpoints are configured here. The install program should have created the necessary entries for you, but you should look over it and make sure it's right.<br />
<br />
=====/etc/modprobe.conf=====<br />
<br />
This is for use with 2.6.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
The syntax of this file is nearly identical to the old modules.conf scheme, unless you use some of the more exotic options like post-install. Then you should invest a little time into reading man modprobe.conf.<br />
<br />
=====/etc/modules.conf (deprecated)=====<br />
This is for use with 2.4.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
=====/etc/resolv.conf=====<br />
Use this file to setup your nameserver(s) that you will use. It should basically look like this:<br />
<pre>search domain.tld<br />
nameserver 192.168.0.1<br />
nameserver 192.168.0.2</pre><br />
<br />
Replace domain.tld and the ip addresses with your settings. The so called search domain specifies the default domain that is appended to unqualified hostnames automatically. Setting this, a ping myhost will effectively become a ping myhost.domain.tld with the above values. These settings usually aren't mighty important, though, and most people should leave them alone for now. If you use DHCP, this file will be fed with the correct values automatically when networking is started, meaning you can and should happily ignore this file altogether.<br />
<br />
=====/etc/conf.d/*=====<br />
During setup, this is totally unimportant. Consider this as reference for the interested.<br />
<br />
Some daemon scripts will have a matching configuration file in this directory that contains some more-or-less useful default values. When a daemon is started, it will first source the settings from it's config file within this directory, and then source the /etc/rc.conf. This means you can easily centralize all your daemon configuration options in the rc.conf simply by setting an appropriate variable value, or split up your configuration over multiple files if you prefer a decentralized approach to this issue. Ain't life great if it's all just simple scripting?<br />
<br />
=====/etc/profile=====<br />
This script is run on each user login to initialize the system. It is kept quite simple under Arch Linux (most things are). You may wish to edit or customize it to suit your needs.<br />
<br />
====Boot Scripts====<br />
<br />
Arch Linux uses a fairly simple bootup sequence quite similar to *BSDs. The first boot script to run is /etc/rc.sysinit. When it's done, /etc/rc.multi will be called (in a normal bootup). The last script to run will be /etc/rc.local. When started in runlevel 1, the single user mode, the script /etc/rc.single is run instead of /etc/rc.multi. You will not find an endless symlink collection in the /etc/rc.d/ directories to define the bootup sequence for all possible runlevels. In fact, due to this approach Arch only really has three runlevels, if you take starting up X in runlevel 5 into account. The boot scripts are using the variables and definitions found in the /etc/rc.conf file and also a set of general functions defined in the /etc/rc.d/functions script. If you plan to write your own daemon files, you should consider having a look at this file and existing daemon scripts.<br />
<br />
Boot Script Overview<br />
* /etc/rc.sysinit<br />
* /etc/rc.single<br />
* /etc/rc.multi<br />
* /etc/rc.local<br />
* /etc/rc.shutdown<br />
* /etc/rc.d/*<br />
<br />
=====/etc/rc.sysinit=====<br />
<br />
The main system boot script. It does boot-critical things like mounting filesystems, running devfsd, activating swap, loading modules, setting localization parameters, etc. You will most likely never need to edit this file!<br />
=====/etc/rc.single=====<br />
<br />
Single-user startup. Not used in a normal boot-up. If the system is started in single-user mode, for example with the kernel parameter 1 before booting or during normal multi-user operation with the command init 1, this script makes sure no daemons are running except for the bare minimum; syslog-ng and udev. The single-user mode is useful if you need to make any changes to the system while making sure that no remote user can do anything that might cause data loss or damage.<br />
<br />
For desktop users, this mode usually is useless as crud. You'll probably never need to edit this script, either.<br />
<br />
=====/etc/rc.multi=====<br />
Multi-user startup script. It starts all daemons you configured in the DAEMONS array (set in /etc/rc.conf) after which it calls /etc/rc.local. You shouldn't feel a pressing need to edit this file.<br />
<br />
=====/etc/rc.local=====<br />
Local multi-user startup script. It is a good place to put any last-minute commands you want the system to run at the end of the bootup process. This is finally the one and only script you should modify if needed, and you have total freedom on what to add to this script.<br />
<br />
Most common system configuration tasks, like loading modules, changing the console font or setting up devices, usually have a dedicated place where they belong. To avoid confusion, you should make sure that whatever you intend to add to your rc.local isn't feeling just as home in /etc/profile.d/ or any other already existant config location instead.<br />
<br />
=====/etc/rc.shutdown=====<br />
System shutdown script. It stops daemons, unmounts filesystems, deactivates the swap, etc. Just don't touch.<br />
<br />
=====/etc/rc.d/*=====<br />
This directory contains the daemon scripts referred to from the rc.conf's DAEMONS array. In addition to being called on bootup, you can use these scripts when the system is running to manage the services of your system. For example the command<br />
<pre># /etc/rc.d/postfix stop</pre><br />
<br />
will stop the postfix daemon. Of course a script only exists when the appropriate package has been installed (in this case postfix). With a basic system install, you don't have many scripts in here, but rest assured that all relevant daemon scripts end up here. This directory is pretty much the equivalent to the /etc/rc3.d/ or /etc/init.d/ directories of other distributions, without all the symlink hassle.<br />
<br />
====User Management====<br />
<br />
Users and groups can be added and deleted with the standard commands provided in the util-linux package: useradd, userdel, groupadd, groupdel, passwd, and gpasswd. The typical way of adding a user is similar to this procedure:<br />
<pre># useradd -m -s /bin/bash johndoe<br />
# passwd johndoe</pre><br />
<br />
The first command will add the user named johndoe to the system, create a home directory for him at /home/johndoe, and place some default login files in his home directory. It will also set his login shell to be /bin/bash. The second command will ask you for a password for the johndoe user. A password is required to activate the account.<br />
<br />
As an alternative to the useradd command, the adduser script is also available to interactively create new users on your system simply by answering questions.<br />
<br />
See the manpages for more information on the remaining commands. It is a good idea to create one or multiple normal users for your day-to-day work to fully use the available security features and minimize potential damage that may be the result of using the root user for anything but system administration tasks.<br />
<br />
===Internet Access===<br />
Due to a lack of developers for dialup issues, connecting Arch to the Internet with a dialup line is requiring a lot of manual setup. If at all possible, set up a dedicated router which you can then use as a default gateway on the Arch box.<br />
There are quite a few dialup related documents in the Arch Linux Wiki.<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and passwort to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably.<br />
In case you're using a so called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should endulge in the vast information found on the LinModem homepage.<br />
<br />
====ISDN====<br />
Setting up ISDN is done in three steps:<br />
<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP<br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you won't need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module which needs two parameters; type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, or available online. The type parameter depends on your card; A list of all possible types is to be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<pre># modprobe hisax type=18 protocol=2</pre><br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file in which you should see your card being prepared for action. Please note that you will probably need to load some usb modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf (or /etc/modules.conf if you're using kernel 2.4.x):<br />
<pre>alias ippp0 hisax<br />
options hisax type=18 protocol=2</pre><br />
<br />
Alternatively you can only add the options line here, and add hisax to your MODULES array in the rc.conf. Your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl, it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples.<br />
Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dialup connection with isdnctrl dial ippp0 as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
These instructions are only relevant to you if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the adsl-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<pre># /etc/rc.d/adsl start</pre><br />
and<br />
<pre># /etc/rc.d/adsl stop</pre><br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically dial in on bootup, add adsl to your DAEMONS array.<br />
<br />
==Package Management==<br />
===Pacman===<br />
pacman is the package manager which tracks all the software installed on your system. It has simple dependency support and uses the standard tar-gz archive format for all packages. Some common tasks are explained below with the respective commands in long and short option form. For an up to date explanation of pacman's options, read man pacman. This overview is merely scratching the surface of pacman's current capabilities.<br />
<br />
Typical tasks:<br />
# Adding a new package with a package file<br />
# Upgrading a package with a package file<br />
# Removing packages<br />
# Refreshing the package list<br />
# Upgrading the system<br />
# Adding/Upgrading a package from the repositories<br />
# List installed packages<br />
# Check if a specific package is installed<br />
# Display specific package info<br />
# Display list of files contained in package<br />
# Find out which package a specific file belongs to<br />
<br />
====Adding a new package with a package file====<br />
<pre># pacman --add foo.pkg.tar.gz<br />
# pacman -A foo.pkg.tar.gz</pre><br />
<br />
This will install the foo.pkg.tar.gz package on the system. If dependencies are missing, pacman will exit with an error and report the missing deps, but not attempt to resolve the dependencies automatically. Look at the --sync option if you expect this functionality.<br />
<br />
NOTE: This option is deprecated. man pacman (>=3)<br />
<br />
-A, --add (deprecated)<br />
Add a package to the system. Either a<br />
URL or file path can be specified. The<br />
package will be uncompressed into the<br />
installation root and the database will<br />
be updated. The package will not be<br />
installed if another version is already<br />
installed. NOTE: please use --upgrade in<br />
place of this option.<br />
<br />
====Upgrading a package with a package file====<br />
<pre># pacman --upgrade foo.pkg.tar.gz<br />
# pacman -U foo.pkg.tar.gz</pre><br />
<br />
This does essentially the same as the --add operation, but will additionally upgrade an already-installed package at no extra cost. I can personally not imagine a case where you'd prefer --add over this --upgrade function.<br />
<br />
====Removing packages====<br />
<pre># pacman --remove foo<br />
# pacman -R foo</pre><br />
<br />
This will remove all files belonging to the package named foo, except for configuration files that have been edited. Only supply the name of the package to this command, without the pkg.tar.gz suffix.<br />
<br />
To remove any and all trace of a package, add the --nosave option to the above command.<br />
<br />
====Refreshing the package list====<br />
<pre># pacman --sync --refresh<br />
# pacman -Sy</pre><br />
<br />
This will retrieve a fresh master package list from the repositories defined in the /etc/pacman.conf file and uncompress it into the database area. You should use this before using --sysupgrade to make sure you get the newest packages. Depending on your pacman.conf settings, this command may require a working internet connection to access FTP-based repositories. This option is quite similar to Debian's apt-get update command.<br />
<br />
====Upgrading the system====<br />
<pre># pacman --sync --sysupgrade<br />
# pacman -Su</pre><br />
<br />
This command will upgrade all packages that are out-of-date on your system by comparing the local package version to the versions in the master package list that gets downloaded with the --refresh command. It's a good idea to run this every now and then to keep your system up to date. Note that this command does NOT implicitly refresh the master package list, so it's usually wiser to combine both commands into one:<br />
<pre># pacman --sync --refresh --sysupgrade<br />
# pacman -Syu</pre><br />
<br />
With these options pacman will automatically retrieve the current master package list and do a full system upgrade to the latest packages with all dependencies being automagically resolved. You will want to run this quite often.<br />
<br />
====Adding/Upgrading a package from the repositories====<br />
<pre># pacman --sync foo<br />
# pacman -S foo</pre><br />
<br />
Retrieve and install package foo, complete with all dependencies it requires. Before using any sync option, make sure you refreshed the package list, or add --refresh or -y to the options to do it before the installation attempt. Unlike --add, the --sync option does not differ between installing and upgrading packages. Depending on your pacman.conf settings this function requires working internet access.<br />
<br />
====List installed packages====<br />
<pre># pacman --query<br />
# pacman -Q</pre><br />
<br />
Displays the list of all installed packages in the system.<br />
<br />
====Check if a specific package is installed====<br />
<pre># pacman --query foo<br />
# pacman -Q foo</pre><br />
<br />
Instead of grepping the full list for a name, you can append the name of the package you are looking for to the query command. This command will display the name and version of the foo package if it is installed, nothing otherwise.<br />
<br />
====Display specific package info====<br />
<pre># pacman --query --info foo<br />
# pacman -Qi foo</pre><br />
<br />
Displays information on the installed package foo (size, install date, build date, dependencies, conflicts, etc.). To display this information for a package file that is not yet installed, add the --file or -p option, respectively:<br />
<pre># pacman --query --info --file foo.pkg.tar.gz<br />
# pacman -Qip foo.pkg.tar.gz</pre><br />
<br />
====Display list of files contained in package====<br />
<pre># pacman --query --list foo<br />
# pacman -Ql foo</pre><br />
<br />
Lists all files belonging to package foo.<br />
<br />
====Find out which package a specific file belongs to====<br />
<pre># pacman --query --owns /path/to/file<br />
# pacman -Qo /path/to/file</pre><br />
<br />
This query displays the name and version of the package which contains the file referenced by it's full path as a parameter.<br />
<br />
===Accessing Repositories===<br />
A package repository is a collection of packages and a package meta-info file that can reside in a local directory or on a remote FTP/HTTP server. The default repository for an Arch system is the current repository. This is kept up to date with the latest version of most software and stays fairly bleeding-edge.<br />
<br />
Many users also choose to activate the extra package repository which contains more packages that are not part of Arch's core package set. You can activate this repo by uncommenting the appropriate lines in your /etc/pacman.conf. This repository is activated by default.<br />
<br />
You can also build, maintain and use your own package repositories. See the pacman manpage for instructions.<br />
<br />
If you install from a CD and end up having a problem accessing the Internet, you may need to install additional packages from the CD. You can locate the packages on the cd and install them manually using pacman -A packagename.pkg.tar.gz Alternatively, you can temporarily set up a local repository to access the CD. Mount the CD on /mnt/cdrom using the command mount /mnt/cdrom (assuming your fstab is properly set up). Then add the following line to your /etc/pacman.conf, under the section [current] which is the name of the database package on the install cd (current.db.tar.gz):<br />
<br />
Server = file:///mnt/cdrom/arch/pkg<br />
<br />
Make sure you put it before "Include = /etc/pacman.d/current". This way, you cd will now be the primary [current] repository.<br />
You will then be able to install additional packages to help you get your Internet access set up.<br />
<br />
==Arch Build System (ABS)==<br />
===Binary vs. Source===<br />
Where pacman is responsible for the binary side of the package world, ABS is responsible for the source side: It helps you to build your own custom packages from source code, also letting you rebuild Arch Linux packages with your own customizations. The procedure usually goes as follows:<br />
<br />
# Synchronize your ABS tree with the server (run abs as root)<br />
# Create a new directory in /var/abs/local/ named after the package you are going to create<br />
# Copy the PKGBUILD.proto prototype from /var/abs/ into your newly created directory, remove the proto, suffix, and edit it for the new package.<br />
# Run makepkg in the working directory with the PKGBUILD file.<br />
# Install the newly built package with pacman.<br />
# Send the package to your friends for bragging rights (or give it to an Archer so s/he can stick it in the master ABS tree).<br />
<br />
===Synchronizing Your ABS Tree===<br />
You can synchronize all the PKGBUILD files in /var/abs by running the abs script as root. It requires the cvsup package to operate and will complain if you don't have it installed. Using CVS as the transfer medium allows you to follow different version trees within ABS - this can be configured in /etc/abs/supfile.arch. For example, the default supfile is set to track the current package tree, which is bleeding-edge and the recommended source to follow. You can also follow specific versions. See the comments in the supfiles for more info.<br />
<br />
ABS supports multiple repositories, which can be enabled or disabled from /etc/abs/abs.conf. By default abs will follow the current and extra repositories, but not unstable.<br />
<br />
You will also see an /etc/abs/supfile.extra file. This will give you access to all the unofficial build scripts that were not included in the main ABS repository. If you do not want to use this repository, you can delete the file, but usually it makes more sense to edit abs.conf accordingly instead.<br />
<br />
====How to Build Packages====<br />
The build process is thoroughly explained in the makepkg manpage. See it for instructions on building your own packages. If that's not helping you, keep your eyes peeled for tutorials in the Wiki, or ask for help in the forums or IRC.<br />
<br />
====Package Guidelines====<br />
<br />
When building package for Arch Linux, you should adhere to the package guidelines below, especially if you would like to contribute your new package to Arch Linux.<br />
<br />
====Package Naming====<br />
* Package names should consist of alphanumeric characters only; all letters should be lowercase.<br />
* Package versions should be the same as the version released by the author. Versions can include letters if need be (eg, nmap's version is 2.54BETA32). Version tags may not include hyphens! Letters, numbers, and periods only.<br />
* Package releases are specific to Arch Linux packages. These allow users to differentiate between newer and older package builds. When a new package version is first released, the release count starts at 1. Then as fixes and optimizations are made, the package will be re-released to the AL public and the release number will increment. When a new version comes out, the release count resets to 1. Package release tags follow the same naming restrictions as version tags.<br />
<br />
====Directories====<br />
Configuration files should be placed in the /etc directory. If there's more than one configuration file, it's customary to use a subdirectory in order to keep the /etc area as clean as possible. Use /etc/{pkgname}/ where {pkgname} is the name of your package (or a suitable alternative, eg, apache uses /etc/httpd/).<br />
<br />
Package files should follow these general directory guidelines:<br />
*/etc- System-essential configuration files<br />
*/usr/bin- Application binaries<br />
*/usr/sbin- System binaries<br />
*/usr/lib- Libraries<br />
*/usr/include- Header files<br />
*/usr/lib/{pkg}- Modules, plugins, etc.<br />
*/usr/man- Manpages<br />
*/usr/share/{pkg}- Application data<br />
*/etc/{pkg}- Configuration files for {pkg}<br />
*/opt- Packages that do not fit cleanly into Linux filesystem layout can be placed here. If a package's files can be cleanly placed into the above directories, then do so. If there are other high-level directories that do not fit, then you should use /opt. For example, the acrobat package has Browser, Reader, and Resource directories sitting at the same level as the bin directory. This doesn't fit into a normal Linux filesystem layout, so we place all the files in a subdirectory of /opt.<br />
<br />
====makepkg Duties====<br />
When you use makepkg to build a package for you, it does the following automatically:<br />
<br />
# Checks if package dependencies are installed<br />
# Downloads source files from servers<br />
# Unpacks source files<br />
# Does any necessary patching<br />
# Builds the software and installs it in a fake root<br />
# Removes /usr/doc, /usr/info, /usr/share/doc, and /usr/share/info from the package<br />
# Strips symbols from binaries<br />
# Strips debugging symbols from libraries<br />
# Generates the package meta file which is included with each package<br />
# Compresses the fake root into the package file<br />
# Stores the package file in the configured destination directory (cwd by default)<br />
<br />
====Other====<br />
Do not introduce new variables into your PKGBUILD build scripts, unless the package cannot be built without doing so, as these could possibly conflict with variables used in makepkg itself. If a new variable is absolutely required, prefix the variable name with an underscore.<br />
<br />
Avoid using /usr/libexec/ for anything. Use /usr/lib/{pkg} instead.<br />
<br />
The Packager field from the package meta file can be customized by the package builder by modifying the appropriate option in the /etc/makepkg.conf file, or alternatively by exporting the PACKAGER environment variable before building packages with makepkg:<br />
<pre># export PACKAGER="John Doe <your.email>"</pre><br />
<br />
====Submitting Packages====<br />
If you'd like to submit packages, please take a look at the Arch User Repository and their guidelines. New packages should be submitted to the AUR.<br />
<br />
If you're submitting a package directly to the Arch developers, we ask the following:<br />
<br />
# Please add a comment line to the top of your PKGBUILD file that follows this format: <pre># Contributor: Your Name <your.email></pre><br />
# Verify the package dependencies (eg, run ldd on dynamic executables, check tools required by scripts, etc.). It's also a good idea to use the namcap utility, written by Jason Chu jason@archlinux.org, to analyze the sanity if your package. namcap will tell you about bad permissions, missing dependencies, un-needed dependencies, and other common mistakes. You can install the namcap package with pacman.<br />
# All packages should come as a compressed tar file containing a directory with the newly built package, the PKGBUILD, filelist, and additional files (patches, install, ...) in it. The archive name should at least contain the name of the package.<br />
# Watch for announcements regarding the actual submission of packages, as a new implementation of the whole procedure is currently being discussed among the developers. If you think your package is too important to wait, you may of course ask a Trusted User if he would be willing to take your package for inclusion in his repository.<br />
<br />
==Frequently Asked Questions==<br />
The FAQs listed here are only covering any problems that may keep you from booting or installing an initial Arch Linux system. If you have questions regarding further usage of the system utilities, XFree86 setup, etc. or how to configure your hardware, please head over to the Wiki. If you think an issue is not covered here that should be, please notify the author of this document, whose address is to be found at the very top of this file.<br />
<br />
'''During package installation, pacman fails to resolve dependencies for package A because package B is not in the package set.'''<br />
<br />
Unless something is very broken and thus very likely to be reported by multiple people soon, you probably just forgot to mount your target partitions properly. This causes pacman to decompress the package database into the initial ramdisk, which fills up quite nicely and ultimatively leads to this error.<br />
<br />
Make sure that you use the DONE and not the CANCEL option offered by the Filesystem Mountpoints menu to apply your choices. This error should not happen if you use the Auto-Prepare feature; please report this as a bug.<br />
<br />
'''How can I install packages from the install CD with pacman --sync (so it resolves dependencies for me)?'''<br />
<br />
If you would rather have packages install from the CD instead of downloading them, then mount the install CD somewhere (eg, /mnt/cd) and add this line right below the [current] line in /etc/pacman.conf:<br />
<pre>Server = file:///mnt/cd/arch/pkg</pre><br />
<br />
Replace /mnt/cd with the mountpoint you chose. Then use pacman --sync as you normally would - It will now check the /mnt/cd directory first for packages.<br />
<br />
'''How can I create multiple swap partitions during the install?'''<br />
<br />
Naturally you won't be able to use the Auto-Prepare feature if you want to create and use multiple swap partitions. Create the partitions manually instead, and create as much swap partitions as your little heart desires. Go through the rest of the install, don't mind that you're only asked for one swap partition during the mount-point setting. Once you're through with the install and are about to edit your system configuration files, you can edit the fstab file and include a line for every swap device you created earlier. Simply copy the automatically generated swap line, and modify the referenced device according to your setup. The additional swaps will be activated after the bootup when swapon -a is being run by the initscripts.<br />
<br />
If, for any odd reason, you can not wait until after the installation with activating multiple swap partitions or files, you will have to open a shell on one of the virtual terminals and issue the swapon <device> for every swap drive or file you partitioned/readied before. Then continue as explained above with the install.<br />
<br />
In case you are honestly contemplating setting up multiple swap files or drives, you should keep in mind that a kernel that needs to swap is actually crying bitterly for more RAM, not more swap space. Please keep your penguin well fed. Thank you.<br />
<br />
'''How do I reconfigure LILO from the rescue system?'''<br />
As a first step you simply boot from the Arch Install CD or disks. If your partitions are intact and don't need checking, you should supply the root= kernel boot parameter as the instructions tell you. That will boot directly into your system, and you can skip all but the last step of actually reconfiguring and running lilo.<br />
<br />
If you cannot boot your old root directly, boot the CD as if you were going to start an installation. Once you're in a shell, you mount the root partition of your harddisk into the /mnt directory, for example like this:<br />
<pre># mount /dev/hda3 /mnt</pre><br />
<br />
Then you mount any other partitions to their respective mount points within that root of yours, for example a /boot partition:<br />
<pre># mount /dev/hda1 /mnt/boot</pre><br />
<br />
Now you need to mount a /dev tree in the /mnt area, where lilo will be able to find it:<br />
<pre># /mnt/bin/mount --bind /dev /mnt/dev</pre><br />
<br />
Once everything is mounted, make this /mnt directory your new root with the chroot /mnt command. This will start a new shell and drop you into the /mnt directory, which will be considered your / from then on.<br />
<br />
Now you can edit /etc/lilo.conf to your liking and run lilo to fix anything that needs fixing. Simply type exit when you want to break out of this root again, back into the original file tree. You can now reboot and test your changes.<br />
<br />
'''I can't ssh into my machine!'''<br />
<br />
Edit your /etc/hosts.deny file. The default configuration will reject all incoming connections.<br />
<br />
'''How should I load modules during boot now?'''<br />
<br />
If you want to load a module unconditionally without a specific device binding, add the name of the module to the MODULES array of your /etc/rc.conf. For on demand loading on device access, add it as usual with the alias command to your /etc/modprobe.conf (/etc/modules.conf for 2.4 kernels). To pass any options to a module you want to load through the MODULES array, only add the appropriate options line to the /etc/modprobe.conf.<br />
<br />
'''Kernel refuses to boot because of lost interrupt'''<br />
<br />
Kernel refuses to boot. It locks at:<br />
<pre>IRQ probe failed for hda<br />
hda lost interrupt</pre><br />
<br />
This error occurs for some HD controllers on kernel 2.6.x. A workaround is to pass the acpi=off option to the kernel at boot time.<br />
<br />
'''I get access denied errors trying to play sound or read DVDs.'''<br />
<br />
Add your user to the optical and audio groups.<br />
<pre># gpasswd -a johndoe optical<br />
# gpasswd -a johndoe audio</pre><br />
<br />
Logout, then login as your regular user (eg, johndoe) so the group changes can take effect.<br />
<br />
If you have a DVD drive, you may want to create a /dev/dvd symlink to your real DVD device.<br />
<br />
For example, if you use udev and your DVD drive is on /dev/hdc, you can do the following as root:<br />
<pre># cat >>/etc/udev/rules.d/00.rules <<EOF<br />
> KERNEL="hdc", NAME="hdc", SYMLINK="dvd"<br />
> EOF<br />
# /etc/start_udev<br />
# mount /dev/pts<br />
# mount /dev/shm</pre><br />
<br />
'''When trying to install packages with pacman, I get this: error: xorg conflicts with xfree86.'''<br />
<br />
This is a temporary problem as we make a full switch over to xorg. Currently, some packages still depend on xfree86 specifically, so pacman gets confused.<br />
<br />
You can fix this problem by installing xorg explicitly, then installing other packages afterwards.<br />
<br />
<pre># pacman -S xorg<br />
# pacman -S otherpkg1 otherpkg2 ...</pre></div>
LTSmash
https://wiki.archlinux.org/index.php?title=Official_Installation_Guide_(Espa%C3%B1ol)&diff=30170
Official Installation Guide (Español)
2007-09-30T19:50:47Z
<p>LTSmash: </p>
<hr />
<div>{{Translateme}}<br />
<br />
:''Esta es la Documentación General de Usuario para Arch Linux. Cumbre la obtención de los archivos necesarios, instalando la distribución y montando un sistema básico y funcional. Adicionalmente, una pequeña referencia sobre las herramientas básicas como son "pacman" el administrador de paquetes y "ABS".''<br />
<br />
==Introducción==<br />
===Que es Arch Linux===<br />
Arch Linux es una distribución GNU/Linux optimizada para i686 inspirada originalmente en CRUX, una genial distro de Per Lidén.<br />
<br />
Arch es rápida, ligera, flexible y simple. Quizá no sea una descripción glamorosa pero es verdadera. Arch está optimizada para la arquitectura i686 (Pentium-Pro en adelante), así que obtienes mejor rendimiento que con la mayoria de las distros que andan por ahí (la mayoria son i386). Es ligera comparada con distros como RedHat o Ubuntu, y su diseño simple le permite ser usada con cualquier finalidad. En un solo archivo guarda la configuración desde los "locales", la red, los modulos hasta los demonios y el orden en el que inician.<br />
<br />
Todo esto funciona envidiablemente con la ayuda del gestor de paquetes precompilados con resolución de dependencias que incluso permite la actualización completa del sistema con un solo comando, ya que Arch no tiene un sistema de producción basado en versiones, de esta forma garantizas siempre tener tu sistema con el ultimo software. Arch usa script de inicio estilo BSD y un sistema de administracion de paquetes desde la fuente como los ports (Arch Build System (ABS)), haciendo la tarea de compilar un juego; también permite sincronizar con un solo comando. ¡Y claro!, puedes recontruir todo tu sistema desde las fuentes con un solo comando. Todo se hace simple y transparentemente, resultando en una de las distros mas personalizables y potentes que existen.<br />
<br />
Arch Linux busca mantener la mayor cantidad de paquetes actualizados posibles. Actualmente tenemos una colección completa de paquetes básicos (core) y muchos adicionales (extra, community). Así mismo tenemos dos repositorios más, uno de pruebas (testing) y uno con software inestable (unstable).<br />
<br />
En nuestra meta de simplicidad, hemos excluido algunas porciones inútiles del sistema xomo /usr/doc y las páginas info. Esto debido a que casi no son usadas y la información puede ser encontrada en Internet o bien en las páginas MAN.<br />
<br />
Otra de las metas de Arch es ofrecer la ultima tecnología disponible a los usuarios.<br />
<br />
===Licencia===<br />
Arch Linux, pacman, la documentación y scripts tienen copyright ©2002-2006 by Judd Vinet y estan licenciados bajo la Licencia Publica General (GPL) GNU.<br />
<br />
==Instalando Arch Linux==<br />
===Pre-Instalación===<br />
Arch Linux está optimizado para la arquitectura i686 o x86-64 (AMD64) y no correrá en otros procesadores x86 (i386, i486, i586). Un CPU Pentium-Pro/Pentium-II o más reciente es necesario para usar Arch.<br />
<br />
Antes de instalar hay que elgir que tipo de instalación realizaremos. Arch Linux provee imagenes ISO arrancables para una instalación, as well as floppy disk images for an FTP-based install. You can also download a base ISO of only roughly 200 MB in size, which contains only the identical base and kernel sets of packages. The Archlinux base-iso is the recommended method.<br />
<br />
If you do not have a CD-ROM drive attached to your computer, you're naturally stuck with the floppy variant and the FTP install.<br />
<br />
Otherwise obtain a bootable Arch installation CD, either by downloading and burning the latest ISO from one of the mirrors listed below, or by letting someone else burn a copy if your dial-up connection simply doesn't cut it, or you don't own a CD writer. You can also purchase a CD online from OSDisc, shipping nearly worldwide.<br />
<br />
You can also do an FTP install with the CD; the floppy variant is really only recommended as a last resort, as it's painfully slow and disks tend to be broken more often than they are intact.<br />
<br />
Furthermore, due to Arch's rolling-release concept, you should not worry about using an old ISO for installation, as upgrading the system to the current branch can be accomplished with one command, once you've got your base system set up. (A broadband connection is recommended.)<br />
<br />
Using a dial-up PPP connection to gain access to the internet during the install process is NOT supported as of yet, since the needed pppd daemon and ISDN utilities are not included in the root disk image.<br />
<br />
For a successful FTP install you must have a gateway in your LAN that is actually connected to the internet and routes any requests from the PC to be installed into the internet and back. Or, alternatively, you can of course have a properly set up FTP server in your LAN to install from. Point is that you cannot attach a modem to your PC and set up a connection with your provider with the Installer. It won't work.<br />
<br />
The most expedient method of installing Arch Linux surely is installing the base system from the base CD, followed by a complete system upgrade. Subsequently, any other packages you want or need once you set up your internet connection will be available through pacman from your newly installed base system. Again, this method is strongly recommended and conforms to the "Arch Way".<br />
<br />
Another thing you should know before trying to install Arch Linux is that during the install you're asked a few questions about which hard drive to prepare, what modules to load, and what changes to make to certain system-critical files like lilo.conf and rc.conf. The installer will not hold your hand here and guide you through any potential setup known and unknown to mankind; you are expected to know what to put in and leave out. This is quite a requirement for a newbie, so if this intimidates you already, make sure you read through this whole document to get at least a vague idea of what is going to be asked, and check back on IRC, the forums or a Linux guru in your neighborhood if anything is not clear to you before you totally mess up your system. You may of course boldly step into the fight and tinker around and try until it works, but don't tell anyone afterwards you haven't been warned. That being said, it's not as bad as it seems. ;)<br />
<br />
====What You Will Need====<br />
* A working knowledge of Linux and your system, esp. your hardware<br />
* Arch Linux installation media (see the mirror list)<br />
** Either the Arch Linux Install CD, or<br />
** 2-7 floppy disks, depending on what you need: SCSI, Ethernet, etc.<br />
* Either an i686-based computer (PPro, Pentium 2 or higher, Athlon/Duron, VIA-C7, etc. Note that AMD K6, Transmeta Crusoe, Cyrix III, and VIA C3 are NOT supported.), or<br />
* An x86-64-based computer (Pentium 4/Celeron with x64 support, Athlon x64, Core 2) <br />
* Some time to kill<br />
<br />
====Acquiring Arch Linux====<br />
You can download Arch Linux from any of the mirrors listed on the download page. If you are downloading the floppy disk images for an FTP-based install, be sure to select a mirror that provides the packages. Likewise, if you will be performing a CD-based install, be sure to select a mirror that provides the ISO.<br />
<br />
Consult the [http://www.archlinux.org/download webpage] for a current list of download mirrors.<br />
<br />
====Floppy Install====<br />
<br />
# Download images/boot.img (path is relative to the mirror root)<br />
# Download images/root.img<br />
# Download any add-on images you need from the images/addons/ subdirectory:<br />
;ethernet.img : Ethernet modules<br />
;fs1.img : XFS/JFS modules, Ext2 extra utilities<br />
;fs2.img : XFS/JFS extra utilities<br />
;keymaps_usb_firewire.img : Additional keymaps/console fonts, USB/Firewire modules<br />
;ntfs_fdisk.img : NTFS modules and utilities, fdisk<br />
;pcmcia_wlan.img : PCMCIA modules, wireless utilities<br />
;raid_lvm.img : RAID/LVM modules and utilities<br />
;scsi.img : SCSI modules<br />
<br />
#Find some blank floppies and write the images to them:<br />
<pre>(insert first disk)<br />
# dd if=boot.img of=/dev/fd0<br />
(insert second disk)<br />
# dd if=root.img of=/dev/fd0<br />
<br />
(repeat for any additional add-on images)<br />
# dd if=scsi.img of=/dev/fd0</pre><br />
<br />
If you need to write these images from a Windows box, you can download rawrite.exe and use it instead of dd.<br />
# Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, 8139too)<br />
<br />
====CD Install====<br />
# Download 2007.05/iso/i686/arch-2007.05.iso or 2007.05/iso/i686/arch-2007.05-base.iso (path relative to mirror root)<br />
# Download 2007.05/iso/i686/arch-2007.05.md5sum<br />
# Verify the integrity of the .iso image using md5sum:<br />
<pre>md5sum --check arch-2007.05.md5sum<br />
arch-2007.05.iso: OK</pre><br />
If you want to download the base or a beta ISO instead, use the appropriate filename, ie: arch-2007.05-base.iso instead of arch-2007.05.iso, likewise for the md5sum.<br />
# Burn the .iso image to a blank CD-R (this step varies depending on the OS/software you're using). It is recommended to use lower burn speeds (2x-16x) for this operation. This will ensure an accurate image burn and save you from unneeded aggravation. Checking the md5sum of the burned CD is also good practice:<br />
<br />
<pre>md5sum /dev/cdrom</pre><br />
<br />
Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, or 8139too, or forcedeth)<br />
<br />
===Using the CD-ROM===<br />
You should skip this section and go right to the Floppy Installation instructions if you are not using a CD-ROM from which to boot. If you're already familiar with the boot process, you may skip all this babble as well, and jump to the Common Install Procedure, which outlines the actual process of installing Arch Linux.<br />
<br />
Reboot your computer with the Arch Linux Installation CD in the drive. Make sure your BIOS is set in a way to allow booting from your CD-ROM. Refer to your motherboard manual or your system manufacturer for details if you have no clue how to do that. Once the CD is booted from, you will see a boot prompt waiting for your input indefinitely, explaining what your options are at this point. Most users can just hit Enter to boot the default Arch install kernel with IDE and SCSI support. If, for some reason, the kernel does not boot for you, you can try the IDE-only kernel by typing arch-noscsi at the boot prompt.<br />
<br />
If your CD-ROM fails to boot for no obvious reason, and you're using a rather old CD-ROM drive in conjunction with a copy burned to a CD-RW, consider using a normal CD-R instead. Some older drives [mine, for example - Dennis] don't manage to read CD-RWs properly.<br />
<br />
At the end of the boot procedure, you should be dropped into a root shell with a handful of instructions filling the upper half of your screen. At this point you are ready to commence the actual installation. Don't let those instructions fool you; when booting from a CD, you don't have to run the loaddisk anymore as it's done automatically during boot. Only floppy users need to run loaddisk manually.<br />
<br />
===Using The Floppies===<br />
If you have any chance of booting the system from the Arch Linux CD, it's strongly recommended to do so. Not only are the floppies themselves prone to failure, the whole boot process takes much longer, and if you need a handful of modules the disk-juggling is very unnerving. Note that you do not have to boot from floppies to install via FTP; CD-ROM will do just fine.<br />
<br />
Reboot your computer with the boot disk in the floppy drive. After some disk-crunching noises, you should come to a boot prompt, waiting eagerly for your input. Press Enter to continue the boot process after adding any potentially needed kernel parameters.<br />
<br />
If you are using a USB keyboard, you will need to load USB support automatically at bootup. You can do this by setting the NEEDUSB parameter to your USB bus type. For example, if you have a UHCI bus, you would type arch NEEDUSB=uhci at the boot prompt. After the root disk loads, you will be prompted to load the USB add-on disk, which will be auto-loaded after a 10-second wait. If you're not sure what kind of USB bus you have, try specifying NEEDUSB=auto, which will load all three (UHCI, OHCI, EHCI) bus modules.<br />
<br />
Partway through the boot-up process, you will be prompted:<br />
<br />
<pre>VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER</pre><br />
<br />
Insert the root disk in the drive and hit Enter. After some more chunking you will be given a shell. Since you'll be needing your Ethernet module for the install, you should now load the modules from the Ethernet disk. Put the disk in the drive and run:<br />
<br />
<pre># loaddisk /dev/fd0</pre><br />
<br />
After a while all Ethernet modules will be extracted to the file system. If the directory /lib/modules/ is still empty after this command, and/or you got a couple of errors, your disk has most likely gone bad. Create a new modules disk, and try again. You do not need to reboot in this case; just reissue the loaddisk command. Don't be worried if you have several disks failing this way; it's unfortunately quite common. Don't say nobody told you.<br />
<br />
You should also load any additional add-on disks that you need, such as SCSI or RAID/LVM. Use the loaddisk command as above for each disk; the order does not matter.<br />
<br />
If you know which Ethernet module you need, you should load it now with the modprobe command. Don't worry too much if you don't; the installer program will probe for the right module automatically.<br />
<br />
===Common Installation Procedure===<br />
<br />
At this point your system should be booted, and the hard drive to which you'd like to install, as well as your installation source, must be accessible. Make sure all necessary modules are loaded, if any.<br />
<br />
====Installation Steps====<br />
# Loading a non-US Keymap<br />
# Running Setup<br />
# Configure Network (FTP Install only)<br />
# Prepare Hard Drive<br />
## Auto-Prepare<br />
## Partition Hard Drives<br />
## Set Filesystem Mountpoints<br />
# Select Packages<br />
# Install Packages<br />
# Configure System<br />
# Install Kernel<br />
# Install Bootloader<br />
# Exit Install<br />
<br />
Using the available shell tools, experienced users are also able to prepare the hard drive or any devices needed for the installation before starting the installer. You may simply skip this paragraph if you don't see any immediate need for further manual interaction. Note that the Arch Linux installation media also contains a /arch/quickinst script for experienced users. This script installs the base set of packages to a user-specified destination directory. If you are doing an exotic install with fun things like RAID and LVM, or don't want to use the installer at all, you'll probably want to use the quickinst script. <br />
All the cool kids do it.<br />
<br />
====Loading a non-US Keymap====<br />
If you require a non-US keymap, you can use the km utility to load a new keymap. Just type km at the prompt, then use the arrow keys to navigate to the correct keymap and/or console font.<br />
<br />
====Running Setup====<br />
<br />
Now you can run /arch/setup to invoke the installer program. After some info messages you will be prompted for the installation method of your choice. If you have a fast internet connection, you might prefer the FTP installation to ensure you get the latest packages instead of using the potentially outdated CD contents. Note that you will probably run into trouble if you have an interesting proxy setup. If you can't use a CD-ROM, this is the only viable method of installing Arch Linux.<br />
<br />
When navigating the setup script, make sure that you select DONE from the submenus after performing each step. This saves any settings you make in preparation for the next step. Further, avoid backstepping through previous steps in the installation process as this can also confuse the installer.<br />
It's actually rather easy to set up your own FTP package mirror or create your own bootable installation CD with the packages you need, making the task of installing several instances of Arch Linux across multiple machines rather simple, whilst at the same time saving a lot of mirror bandwidth. Make your life and ours easier, and look into these alternatives!<br />
<br />
When choosing a CD-ROM install you will only be able to install packages contained on the CD, which may be quite old. Of course it has the merit that you won't need an internet connection, and is therefore the recommended choice for dialup users or anyone else who does not feel like downloading about at least 100 MB of packages.<br />
<br />
After choosing one of the two alternatives, you will be presented with the installer menu, listing the necessary steps in the order in which they should be completed.<br />
<br />
At any point in the install process, you can switch to your 5th virtual console (ALT-F5) to view the output from the commands that setup is running. Use (ALT-F1) to get back to your first console where the installer is running, and any F-key in between if you need to open another console to intervene manually for any reason.<br />
<br />
====Configure Network (FTP Install only)====<br />
Configure Network will allow you to install and configure your network device.<br />
<br />
If no eth0 device is available yet, you will be asked whether you want the installer to probe for a network module. Choose YES here unless that messes up your system horribly (which shouldn't happen), or NO if you want to load the module manually. If the installer fails to find a matching network module, make sure you ran the loaddisk command correctly earlier to make the ethernet modules available. When booting from CD-ROM, this is done automatically for you. If your network card is still not found, make sure your card is properly physically installed and supported by the linux kernel at all.<br />
<br />
When the correct module is loaded, you will be given the option to configure your network with DHCP. If you're connected to a DHCP server, hit YES and let the installer do the rest. If you select NO, you will be asked to enter the networking information manually, which you hopefully wrote down as you were told.<br />
<br />
This menu entry is only available when choosing FTP Installation, for rather obvious reasons.<br />
<br />
====Prepare Hard Drive====<br />
Prepare Hard Drive will bring you into a submenu offering two alternatives of preparing your target drive for installation.<br />
<br />
=====Auto-Prepare=====<br />
The first choice is Auto-Prepare, which will automatically partition your hard drive into a /boot, swap, and root partition, and then create filesystems on all three. These partitions will also be automatically mounted in the proper place. To be exact, this option will create a<br />
* 32 MB ext2 /boot partition<br />
* 256 MB swap partition<br />
* ext3 root partition with the remaining space<br />
<br />
Actual sizes may vary slightly due to different hard disk geometries. You can choose this option if you don't know much about hard drive partitions, but be warned: AUTO-PREPARE WILL ERASE ALL DATA ON THE CHOSEN HARD DRIVE!<br />
<br />
Read the warning presented by the installer very carefully, and make sure the correct device is about to be partitioned!<br />
<br />
A way to verify your choice for a device to partition would be to open another terminal (ALT-F2, Enter) and enter<br />
<pre># cfdisk -P s <name of device></pre><br />
there to display the current partition table of the selected device, which should suffice to identify the hard disk.<br />
<br />
If no device name is shown ([nothing] will be COMPLETELY ERASED! ...), and the installer produces an Device not valid error after hitting YES, make sure you loaded all needed modules if it's a SCSI, RAID, etc. device. You can still load any modules now by changing to another terminal and issuing the commands there, then return to the installer process on terminal one (ALT-F1).<br />
<br />
If you prefer to do the partitioning manually, use the other two options, Partition Hard Drives and Set Filesystem Mountpoints to prepare the target media according to your specifications as outlined below. Otherwise Return to Main Menu after a successful auto-preparation.<br />
<br />
=====Partition Hard Drives=====<br />
Partition Hard Drives should be skipped if you chose Auto-Prepare already.<br />
<br />
Otherwise you should select the disk(s) you want to partition, and you'll be dropped into the cfdisk program where you can freely modify the partitioning information until you [Write] and [Quit].<br />
<br />
You will need at least a swap and a root partition to continue the installation.<br />
<br />
=====Set Filesystem Mountpoints=====<br />
Set Filesystem Mountpoints should also be skipped if you chose to Auto-Prepare your hard drive. You should select this choice once the partition information is edited to your liking with the previous menu selection, or already existent through whatever other means.<br />
<br />
The first question to answer is what partition to use as swap. Select the previously created swap partition from the list, and select the partition that is supposed to become your root partition in the next step.<br />
<br />
Every time you specify a partition to mount, you will be asked if you want to create a filesystem on the respective partition. If you select YES, you will be asked what filesystem to create (a matter of taste, really. Choose ext2 if you have no clue), and the partition will be formatted with the chosen filesystem, destroying all data in the process. It should be no problem, however, to say NO at this point to preserve any existing files on the partition.<br />
<br />
If you want to preserve existing data on a partition, you are strongly advised to create backups instead of hoping that nothing will go wrong during the install. Don't say I didn't warn you!<br />
<br />
You will not be asked for a filesystem to use on your swap partition, as this partition uses a specific filesystem of it's own.<br />
<br />
If you want to mount any other partitions, for example a separate /boot or /home partition, you will be able to do so now. Simply<br />
* select a partition to mount<br />
* choose a filesystem (if you want to create one instead of keeping the data)<br />
* choose a mountpoint for the partition<br />
<br />
Repeat these steps until you're satisfied, then select DONE to create any filesystems and mount the partitions in their respective places. After formatting and mounting all partitions, you will be dropped into the Main Menu, ready to proceed.<br />
<br />
Do not mount /tmp on a separate partition just yet, as it will badly confuse the installer! Simply leave the designated /tmp partition alone until the installation is done, and configure the partition manually after you have a running system if you must have a separate partition for /tmp.<br />
<br />
====Select Packages====<br />
Select Packages will let you select the packages you wish to install from the CD or your FTP mirror.<br />
<br />
If you chose CD-ROM installation, you have to tell the installer whether it should try to mount the CD itself, or whether you already mounted the source media in /src. Select the option according to what you need; Normally you will want to choose CD, after which you will be given the possibility to choose a CDROM drive from the list of all detected devices.<br />
<br />
If your CD-ROM drive is not displayed in the list, make sure you loaded any modules that may be needed, like SCSI or USB storage support.<br />
<br />
If you chose FTP Installation, you will be asked to choose a mirror close to you from a list, or select CUSTOM to enter your own fully qualified FTP path to an installation source, ie. a prepared server in your LAN, or a mirror that's not listed for whatever reason.<br />
<br />
Whatever source you chose, after fetching the package list you'll be dropped into the package category selection screen.<br />
<br />
If you are presented an error while fetching the package database, you should either choose another FTP mirror, make sure your network is working at all, and you didn't slip any typos into your custom server address. You might also have goofed mounting of your source media in the /src directory, if you chose that option.<br />
<br />
Now, once that is tackled, you have the opportunity to specify whole package groups from which you'd generally like to install packages, then fine-tune your coarse selection by (de)selecting individual packages.<br />
<br />
Any packages in the BASE category should stay selected under all circumstances, and you should select any other group which contains a package you might need. Please note that the upcoming individual package selection screen will only offer packages which are in the categories you select here, so if you only select BASE, you won't be able to add any other packages than those in the BASE category.<br />
<br />
If you want to only select the bare minimum for installation, but be able to browse through all available packages nevertheless to see if anything interesting is there to add, you should select all package categories, but choose to NOT select all packages by default.<br />
<br />
The Select all packages by default? question can be easily misunderstood; Basically you are asked whether you want all the packages in the categories you just chose to be selected or not.<br />
<br />
If you select YES, the whole list of packages contained in the chosen categories will be displayed and selected, and your job will be to deselect what you do not want.<br />
<br />
If you select NO, the same list of packages will displayed, but only packages of the BASE category will be selected, and you'll have to explicitly select any other packages you want to install.<br />
<br />
Choosing NO helps to install a lean system!<br />
<br />
It is recommended that you install all the BASE packages, but not anything else at this point. Don't worry about getting all the packages you want - you can easily install more of them once the basic system boots by itself. The only exception to this rule is installing any packages you need for setting up internet connectivity. These packages usually are:<br />
<br />
;dhcpcd (base) : Add if your machine is a DHCP client.<br />
;isdn4k-utils (network) : Add if you use ISDN for dialup.<br />
;ppp (base) : Add if you use an analog modem for dialup.<br />
;rp-pppoe (base) : Add if you use DSL for pseudo-dialup.<br />
<br />
The downloadable base ISO does not contain any packages but those in the BASE category, so be advised to get the full sized ISO if you need ISDN packages!<br />
<br />
Once you're done selecting the packages you need, leave the selection screen and continue to the next step, Install Packages.<br />
<br />
====Install Packages====<br />
Install Packages will now install pacman and any other packages you selected with resolved dependencies onto your harddisk.<br />
<br />
If you skipped preparation of your hard drive, you will be asked where your root partition has been mounted. This should only happen to people who partitioned and created filesystems on the target devices manually. Those people will have to enter the root directory where the packages shall be installed. By default, the installer mounts the root partition in /mnt, and any extra partitions below.<br />
<br />
Error messages and debugging output is output to terminal five (ALT-F5). After the packages are installed, proceed to the next step, Configure System.<br />
<br />
====Configure System====<br />
Configure System allows you to edit the configuration files crucial for your newly installed system.<br />
<br />
If you're in a real hurry, you may skip this step entirely and hope the defaults will work, but it's strongly recommended to iterate through the list of config file presented here and change options accordingly. Please refer to [[#System Configuration|System Configuration]] for detailed instructions.<br />
<br />
====Install Kernel====<br />
Install Kernel will ask you which kernel image to install on your hard drive.<br />
<br />
Recommended: Install the stock 2.6.x kernel with SCSI/SATA/IDE support. The exact support each 2.6.x kernel has will depend on how you have configured your initial ramdisk, but the default has support for all known SCSI, SATA, and IDE systems. See the System Configuration section for more information about the initrd. <br />
<br />
Please note that Arch Linux uses the 2.6 kernel by default. We are phasing out support for the 2.4 series, so you should only use it if 2.6 just isn't working out for you.<br />
<br />
====Install Bootloader====<br />
Install Bootloader will install a bootloader on your hard drive, either GRUB (recommended) or LILO, depending on your personal preference.<br />
<br />
Before installing the bootloader, the setup script will want you to examine the appropriate configuration file to confirm the proper settings. Make sure you know what your root (and /boot, if you have it) partitions are.<br />
<br />
If you choose to install LILO, the bootloader will be automatically installed according to your settings in the configuration file, whilst GRUB demands the selection of a partition to install the bootloader to. Here you should choose what you would enter as the boot option of LILO, which is usually the entry named /dev/hda, as it refers the master boot record of the first hard disk. Detailed error messages can be found as usual on VC5 (virtual console 5), if anything goes wrong.<br />
<br />
If you plan on setting up a multiboot system, it might be a better option to install the bootloader in your root or /boot partition, and refer to that boot sector from whatever other boot loader you want to reside in the master boot record.<br />
<br />
Installing a boot loader in the MBR will relentlessly overwrite any existing bootloader! Make sure you understand the implications of that if you're running a multiboot system, or want to preserve an installed bootloader from another OS!<br />
<br />
====Exit Install====<br />
<br />
Exit Install now, remove the CD from the drive, type reboot at the command line and cross your fingers!<br />
<br />
If your system boots up, you can log in as root without any password, so your first things to do are setting a password for root with the passwd command once you're logged in, add a user as outlined in the User Management section, and set up your Internet Connection.<br />
<br />
Congratulations! Now you can proceed getting into the nitty-gritty of configuring the interesting parts of your system.<br />
<br />
==System Configuration==<br />
These are the core configuration files for Arch Linux. You should be comfortable hand-editing these files with a text-editor, because there aren't any GUI apps to help you out. Only the most basic configuration files are listed here. If you need help configuring a specific service, please read the appropriate manpage or refer to any online documentation.<br />
<br />
Arch Linux does not use any abstraction layer to administrate your system. As a result, you can usually stick to any instructions published by the author of a software, or whatever you find in a search engine of your choice, and it'll work out without confusing your system, because your system just does not care.<br />
<br />
====Configuration Files====<br />
Before attempting to boot your newly installed system, you should at least glance over these files and make sure they are not too far off.<br />
# /etc/rc.conf<br />
# /boot/grub/menu.lst<br />
# /etc/lilo.conf<br />
# /etc/mkinitrd.conf<br />
# /etc/hosts<br />
# /etc/fstab<br />
# /etc/modprobe.conf<br />
# /etc/modules.conf<br />
# /etc/resolv.conf<br />
# /etc/conf.d/*<br />
# /etc/profile<br />
<br />
=====/etc/rc.conf=====<br />
This is the main configuration file for Arch Linux. It allows you to set your keyboard, timezone, hostname, network, daemons to run and modules to load at bootup, profiles, and more. You should read through all the settings in this file and make sure you understand them:<br />
<br />
;LOCALE : This sets your system language, which will be used by all i18n-friendly applications and utilities. You can get a list of the available locales by running '''locale -a''' from the commandline. This setting is not needed for US English users. <br />
;HARDWARECLOCK : Either '''UTC''' if your BIOS clock is set to UTC or GMT, or '''localtime''' if your BIOS clock is set to your local time. If you have an OS installed which cannot handle UTC BIOS times correctly, like Windows, choose localtime here, otherwise prefer UTC, which makes daylight savings time a non-issue and has a few other positive aspects. <br />
;TIMEZONE : Specifies your time zone. Possible time zones are the relative path to a zoneinfo file starting from the directory /usr/share/zoneinfo. For example, a german timezone would be '''Europe/Berlin''', which refers to the file /usr/share/zoneinfo/Europe/Berlin. If you don't know the exact name of your timezone file, worry about it later. Command '''tzselect''' can find correct timezone for you.<br />
;KEYMAP : Defines the keymap to load with the loadkeys program on bootup. Possible keymaps are found in /usr/share/kbd/keymaps. Please note that this setting is only valid for your TTYs, not any graphical window managers or X. <br />
;CONSOLEFONT : Defines the console font to load with the setfont program on bootup. Possible fonts are found in /usr/share/kbd/consolefonts. <br />
;USECOLOR : Enable ('''yes''') or disable ('''no''') colorized status messages during boot-up. <br />
;MOD_AUTOLOAD : If set to "YES", Arch will scan your hardware at bootup and attempt to automatically load the proper modules for your system. This is done with the hwdetect utility. <br />
;MOD_BLACKLIST : This is an array of modules that you do not want to be loaded at bootup. For example, if you don't want that annoying PC speaker, you could blacklist the pcspkr module. <br />
;MODULES : In this array you can list the names of modules you want to load during bootup without the need to bind them to a hardware device as in the modprobe.conf (or modules.conf, if you're using kernel 2.4.x). Simply add the name of the module here, and put any options into the modprobe.conf if need be. Prepending a module with a bang ('!') will not load the module during bootup (this is not the same as MOD_BLACKLIST). <br />
;USELVM : Set to "YES" to run a vgchange during sysinit, thus activating any LVM groups. If you have no idea what this means, don't bother. <br />
;HOSTNAME : Set this to the hostname of the machine, without the domain part. This is totally your choice, as long as you stick to letters, digits and a few common special characters like the dash. Don't be too creative here, though. <br />
;INTERFACES : Here you define the settings for your networking interfaces. The default lines and the included comments explain the setup well enough. If you do not use DHCP to configure a device, just keep in mind that the value of the variable (whose name must be equal to the name of the device which is supposed to be configured) equals the line which would be appended to the ifconfig command if you were to configure the device manually in the shell. <br />
;ROUTES : You can define your own static network routes with arbitrary names here. Look at the example for a default gateway to get the idea. Basically the quoted part is passed exactly as you pass it to the route add command, therefore reading man route is recommended if you don't know what to write here. <br />
;NET_PROFILES : Enable certain network profiles at bootup. Network profiles provide a convenient way of managing multiple network configurations, and are intended to replace the standard INTERFACES/ROUTES setup that is still recommended for systems with only one network configuration. If your computer will be participating in various networks at various times (eg, a laptop) then you should take look in the /etc/network-profiles directory to set up some profiles. There is a template file included there that can be used to create new profiles. <br />
;DAEMONS : This array simply lists the names of those scripts contained in /etc/rc.d/ which are supposed to be started during the boot process. If a script name is prefixed with a bang (!), it is not executed. If a script is prefixed with an "at" symbol (@), then it will be executed in the background (ie, the startup sequence will not wait for successful completion before continuing). Usually you do not need to change the defaults to get a running system, but will edit this array quite often once you install system services like sshd.<br />
<br />
=====/boot/grub/menu.lst=====<br />
GRUB is the default bootloader for Arch Linux, and is highly recommended. You should check and modify this file to accommodate your boot setup if you want to use GRUB, otherwise read on about the LILO configuration.<br />
<br />
Configuring GRUB is quite easy, the biggest hurdle is that it uses yet another device naming scheme different from /dev; Your hard disks as a whole are referred to as (hd0), (hd1), etc., sequentially numbered in order of appearance on the IDE/SCSI bus, just like the hda, hdb, etc. names in Linux. The partitions of a disk are referred to with (hd0,0), (hd0,1) and so on, with 0 meaning the first partition. A few conversion examples are included in the default menu.lst to aid your understanding.<br />
<br />
Note that the hdx naming scheme is in direct reference to your BIOS drive layout, whereas the sdx naming scheme is in direct reference to the udev device layout. The 2 are not always in sync, (for instance, hd0,0 will not always be sda1) especially if you have a mixture of both many IDE and SATA harddrives on your machine.<br />
<br />
Once you have grasped the concept of device naming, all you need to do is to choose a nice title for your boot section(s), supply the correct partition device as a parameter to the root option to have it mounted as / on bootup, and create a kernel line that includes the partition and path where the kernel is located as well as any boot parameters. If using the stock Arch 2.6.x kernel, you'll also need an initrd line that points to the initrd26.img file in your /boot directory. The path you put on your initrd line should be the same as the path to vmlinuz26 that you provide on the kernel line. You should be fine with the defaults, just check whether the partition information is correct in the root and kernel lines.<br />
<br />
To create a boot option that loads the bootsector of a different OS, this example might be helpful. You will probably succeed in starting any Microsoft-based operating system with it, just add this block to the file after any other sections, and modify the partition device accordingly to refer to the partition containing the bootsector of the OS you are intending to boot.<br />
<br />
<pre># (1) Other OS<br />
title My Other OS<br />
rootnoverify (hd0,1)<br />
makeactive<br />
chainloader +1</pre><br />
<br />
For advanced configuration of other OSes, please refer to the online [http://www.gnu.org/software/grub/manual/grub.html GRUB manual].<br />
<br />
=====/etc/lilo.conf=====<br />
This is the configuration file for the LILO bootloader. Make sure you check this one and get it right if you want to use LILO to boot your system. See LILO documentation for help on this.<br />
<br />
Things you should check are the root= lines in the image sections and the boot= line right at the beginning of the file. The root lines specify the device which shall be mounted as the root filesystem on bootup. If you don't know what is supposed to be entered here, change to another terminal and type mount to see a list of all currently mounted drives, and look for the line which displays a device name mounted on /mnt type [...]. The device path at the beginning of this very line should be entered in the root lines of your lilo.conf. Change if necessary.<br />
<br />
The boot line should be okay by default in most cases. Unless you have a weird boot manager setup in mind with multiple OSes, the device referenced here should be having the same prefix your root lines have, but not end with a number. For example, a root of /dev/hda3 means you probably want to install LILO into the Master Boot Record of the hard disk, so you would set boot to /dev/hda, which references the disk as a whole.<br />
To prevent some serious grief, you should make sure you know how to restore the bootsector of your other OSes, for example with Windows's FIXBOOT/FIXMBR tools.<br />
<br />
To be on the safe side, you should keep the option lba32 right below the prompt line. This will prevent some geometry issues from happening.<br />
<br />
In some cases, depending on your BIOS, LILO will not run on bootup and spill out an error code infinitely. In most cases you either removed the lba32 option, or your hardware setup is a little special, meaning that maybe your CD-ROM drive is primary master and the hard disk you installed secondary slave. This can very well irritate your BIOS, and prevent a boot up. To prevent that you can try and make the install drive the primary master on your IDE bus. If you've got a mixed IDE and SCSI system and the problem persists, you'll probably need some experimentation with the disk and bios options of LILO to provide a working mapping; The disk drives in your system are numbered sequentially by your BIOS, starting with 0x80. If you're lucky your SCSI controller tells you which drive has which BIOS ID, but usually you're not. How the drives are effectively numbered is depending on your BIOS, so in the worst case you can only guess until it works. A typical disk line would look like this:<br />
<pre>boot=/dev/hda<br />
disk=/dev/hda bios=0x80</pre><br />
<br />
The disk option maps a BIOS ID to the disk device known to linux. Note that there is still no guarantee that things will work as other things can be wrong, so do not despair if all your tries fail, but rather try rearranging your hardware in a way that's not totally odd. In this area too much can go wrong and needs special handling to be explained here. In most cases the lba32 option will suffice anyway. Old hard drives will usually need a little more special care until they do as told.<br />
Don't become fidgety when reading this section, I (Dennis) just happened to stumble over this problem when experimenting with a rather odd system, and figured it'd be a good idea to mention this show stopper and workarounds here. You probably won't ever experience this, and if you do, use GRUB.<br />
<br />
How to recreate a LILO boot sector with only a rescue disk is explained later in this document.<br />
<br />
=====/etc/mkinitrd.conf=====<br />
This file allows you to fine-tune the initial ramdisk (also commonly referred to as the "initrd") for your system. The initrd is a gzipped image that is read by the kernel during bootup. The purpose of the initrd is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if you are booting off a USB/FW drive). Once the initrd loads the proper modules, it passes control to the Arch system and your bootup continues. For this reason, the initrd only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of these modules will be loaded later on by hwdetect or hwd.<br />
<br />
By default, mkinitrd.conf is configured to provide all known modules for IDE, SCSI, or SATA systems. This means the default initrd should work for almost everybody. The downside to this is that there are many modules loaded that you will not need. This is easily visible by examining your module table after booting up (with the lsmod command). While this doesn't actually hurt anything, some people find it annoying. To cull this list down to only what you actually need, you can edit mkinitrd.conf and disable the subsystems (ie, IDE, SCSI, RAID, USB, etc) that you don't need. Each subsystem has a variable that starts with REMOVE_. Setting the variable to 1 (one) will remove it from the initrd.<br />
<br />
You can customize even further by specifying the exact modules you need in the HOSTCONTROLLER_ variables. Or, if you'd rather trust the auto-detection utility (hwdetect) to find the modules for you, you can set the AUTODETECT variable to 1 and ignore the other settings.<br />
If you're using RAID or encryption on your root filesystem, then you'll have to tweak the RAID/CRYPT settings near the bottom. See the wiki pages for RAID/LVM, filesystem encryption, and Initrd for more info.<br />
<br />
When you're finished tweaking mkinitrd.conf, you must run mkinitrd auto to regenerate the initrd. You can include the -show switch if you want to see a list of the modules being included.<br />
<pre># mkinitrd auto -show</pre><br />
<br />
WARNING: If you fail to include the correct module(s) in your initrd, your system will not boot! For this reason, you should be especially careful when tweaking your initrd. Do not over-tweak unless you know your hardware well.<br />
<br />
If you do manage to break your system, you can use the backup initrd that is included with the stock 2.6.x kernel, but only if you use the GRUB bootloader. To use the backup initrd, you must edit the initrd line from the GRUB menu at bootup and change it to point to the backup image. For example, if your normal initrd line is initrd /initrd26.img, you should change it to initrd /initrd26-full.img. Then bootup with the backup initrd and fix your primary!<br />
<br />
=====/etc/hosts=====<br />
This is where you stick hostname/ip pairs of other computers on your network. If a hostname isn't part of DNS, you can add it here. You usually don't need to change anything here, but you might want to add the hostname and hostname + domain of the machine to this file, resolving to the IP of your network interface. If you don't know what you're doing, leave this file alone until you read man hosts.<br />
<br />
=====/etc/fstab=====<br />
Your filesystem settings and mountpoints are configured here. The install program should have created the necessary entries for you, but you should look over it and make sure it's right.<br />
<br />
=====/etc/modprobe.conf=====<br />
<br />
This is for use with 2.6.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
The syntax of this file is nearly identical to the old modules.conf scheme, unless you use some of the more exotic options like post-install. Then you should invest a little time into reading man modprobe.conf.<br />
<br />
=====/etc/modules.conf (deprecated)=====<br />
This is for use with 2.4.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
=====/etc/resolv.conf=====<br />
Use this file to setup your nameserver(s) that you will use. It should basically look like this:<br />
<pre>search domain.tld<br />
nameserver 192.168.0.1<br />
nameserver 192.168.0.2</pre><br />
<br />
Replace domain.tld and the ip addresses with your settings. The so called search domain specifies the default domain that is appended to unqualified hostnames automatically. Setting this, a ping myhost will effectively become a ping myhost.domain.tld with the above values. These settings usually aren't mighty important, though, and most people should leave them alone for now. If you use DHCP, this file will be fed with the correct values automatically when networking is started, meaning you can and should happily ignore this file altogether.<br />
<br />
=====/etc/conf.d/*=====<br />
During setup, this is totally unimportant. Consider this as reference for the interested.<br />
<br />
Some daemon scripts will have a matching configuration file in this directory that contains some more-or-less useful default values. When a daemon is started, it will first source the settings from it's config file within this directory, and then source the /etc/rc.conf. This means you can easily centralize all your daemon configuration options in the rc.conf simply by setting an appropriate variable value, or split up your configuration over multiple files if you prefer a decentralized approach to this issue. Ain't life great if it's all just simple scripting?<br />
<br />
=====/etc/profile=====<br />
This script is run on each user login to initialize the system. It is kept quite simple under Arch Linux (most things are). You may wish to edit or customize it to suit your needs.<br />
<br />
====Boot Scripts====<br />
<br />
Arch Linux uses a fairly simple bootup sequence quite similar to *BSDs. The first boot script to run is /etc/rc.sysinit. When it's done, /etc/rc.multi will be called (in a normal bootup). The last script to run will be /etc/rc.local. When started in runlevel 1, the single user mode, the script /etc/rc.single is run instead of /etc/rc.multi. You will not find an endless symlink collection in the /etc/rc.d/ directories to define the bootup sequence for all possible runlevels. In fact, due to this approach Arch only really has three runlevels, if you take starting up X in runlevel 5 into account. The boot scripts are using the variables and definitions found in the /etc/rc.conf file and also a set of general functions defined in the /etc/rc.d/functions script. If you plan to write your own daemon files, you should consider having a look at this file and existing daemon scripts.<br />
<br />
Boot Script Overview<br />
* /etc/rc.sysinit<br />
* /etc/rc.single<br />
* /etc/rc.multi<br />
* /etc/rc.local<br />
* /etc/rc.shutdown<br />
* /etc/rc.d/*<br />
<br />
=====/etc/rc.sysinit=====<br />
<br />
The main system boot script. It does boot-critical things like mounting filesystems, running devfsd, activating swap, loading modules, setting localization parameters, etc. You will most likely never need to edit this file!<br />
=====/etc/rc.single=====<br />
<br />
Single-user startup. Not used in a normal boot-up. If the system is started in single-user mode, for example with the kernel parameter 1 before booting or during normal multi-user operation with the command init 1, this script makes sure no daemons are running except for the bare minimum; syslog-ng and udev. The single-user mode is useful if you need to make any changes to the system while making sure that no remote user can do anything that might cause data loss or damage.<br />
<br />
For desktop users, this mode usually is useless as crud. You'll probably never need to edit this script, either.<br />
<br />
=====/etc/rc.multi=====<br />
Multi-user startup script. It starts all daemons you configured in the DAEMONS array (set in /etc/rc.conf) after which it calls /etc/rc.local. You shouldn't feel a pressing need to edit this file.<br />
<br />
=====/etc/rc.local=====<br />
Local multi-user startup script. It is a good place to put any last-minute commands you want the system to run at the end of the bootup process. This is finally the one and only script you should modify if needed, and you have total freedom on what to add to this script.<br />
<br />
Most common system configuration tasks, like loading modules, changing the console font or setting up devices, usually have a dedicated place where they belong. To avoid confusion, you should make sure that whatever you intend to add to your rc.local isn't feeling just as home in /etc/profile.d/ or any other already existant config location instead.<br />
<br />
=====/etc/rc.shutdown=====<br />
System shutdown script. It stops daemons, unmounts filesystems, deactivates the swap, etc. Just don't touch.<br />
<br />
=====/etc/rc.d/*=====<br />
This directory contains the daemon scripts referred to from the rc.conf's DAEMONS array. In addition to being called on bootup, you can use these scripts when the system is running to manage the services of your system. For example the command<br />
<pre># /etc/rc.d/postfix stop</pre><br />
<br />
will stop the postfix daemon. Of course a script only exists when the appropriate package has been installed (in this case postfix). With a basic system install, you don't have many scripts in here, but rest assured that all relevant daemon scripts end up here. This directory is pretty much the equivalent to the /etc/rc3.d/ or /etc/init.d/ directories of other distributions, without all the symlink hassle.<br />
<br />
====User Management====<br />
<br />
Users and groups can be added and deleted with the standard commands provided in the util-linux package: useradd, userdel, groupadd, groupdel, passwd, and gpasswd. The typical way of adding a user is similar to this procedure:<br />
<pre># useradd -m -s /bin/bash johndoe<br />
# passwd johndoe</pre><br />
<br />
The first command will add the user named johndoe to the system, create a home directory for him at /home/johndoe, and place some default login files in his home directory. It will also set his login shell to be /bin/bash. The second command will ask you for a password for the johndoe user. A password is required to activate the account.<br />
<br />
As an alternative to the useradd command, the adduser script is also available to interactively create new users on your system simply by answering questions.<br />
<br />
See the manpages for more information on the remaining commands. It is a good idea to create one or multiple normal users for your day-to-day work to fully use the available security features and minimize potential damage that may be the result of using the root user for anything but system administration tasks.<br />
<br />
===Internet Access===<br />
Due to a lack of developers for dialup issues, connecting Arch to the Internet with a dialup line is requiring a lot of manual setup. If at all possible, set up a dedicated router which you can then use as a default gateway on the Arch box.<br />
There are quite a few dialup related documents in the Arch Linux Wiki.<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and passwort to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably.<br />
In case you're using a so called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should endulge in the vast information found on the LinModem homepage.<br />
<br />
====ISDN====<br />
Setting up ISDN is done in three steps:<br />
<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP<br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you won't need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module which needs two parameters; type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, or available online. The type parameter depends on your card; A list of all possible types is to be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<pre># modprobe hisax type=18 protocol=2</pre><br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file in which you should see your card being prepared for action. Please note that you will probably need to load some usb modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf (or /etc/modules.conf if you're using kernel 2.4.x):<br />
<pre>alias ippp0 hisax<br />
options hisax type=18 protocol=2</pre><br />
<br />
Alternatively you can only add the options line here, and add hisax to your MODULES array in the rc.conf. Your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl, it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples.<br />
Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dialup connection with isdnctrl dial ippp0 as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
These instructions are only relevant to you if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the adsl-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<pre># /etc/rc.d/adsl start</pre><br />
and<br />
<pre># /etc/rc.d/adsl stop</pre><br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically dial in on bootup, add adsl to your DAEMONS array.<br />
<br />
==Package Management==<br />
===Pacman===<br />
pacman is the package manager which tracks all the software installed on your system. It has simple dependency support and uses the standard tar-gz archive format for all packages. Some common tasks are explained below with the respective commands in long and short option form. For an up to date explanation of pacman's options, read man pacman. This overview is merely scratching the surface of pacman's current capabilities.<br />
<br />
Typical tasks:<br />
# Adding a new package with a package file<br />
# Upgrading a package with a package file<br />
# Removing packages<br />
# Refreshing the package list<br />
# Upgrading the system<br />
# Adding/Upgrading a package from the repositories<br />
# List installed packages<br />
# Check if a specific package is installed<br />
# Display specific package info<br />
# Display list of files contained in package<br />
# Find out which package a specific file belongs to<br />
<br />
====Adding a new package with a package file====<br />
<pre># pacman --add foo.pkg.tar.gz<br />
# pacman -A foo.pkg.tar.gz</pre><br />
<br />
This will install the foo.pkg.tar.gz package on the system. If dependencies are missing, pacman will exit with an error and report the missing deps, but not attempt to resolve the dependencies automatically. Look at the --sync option if you expect this functionality.<br />
<br />
NOTE: This option is deprecated. man pacman (>=3)<br />
<br />
-A, --add (deprecated)<br />
Add a package to the system. Either a<br />
URL or file path can be specified. The<br />
package will be uncompressed into the<br />
installation root and the database will<br />
be updated. The package will not be<br />
installed if another version is already<br />
installed. NOTE: please use --upgrade in<br />
place of this option.<br />
<br />
====Upgrading a package with a package file====<br />
<pre># pacman --upgrade foo.pkg.tar.gz<br />
# pacman -U foo.pkg.tar.gz</pre><br />
<br />
This does essentially the same as the --add operation, but will additionally upgrade an already-installed package at no extra cost. I can personally not imagine a case where you'd prefer --add over this --upgrade function.<br />
<br />
====Removing packages====<br />
<pre># pacman --remove foo<br />
# pacman -R foo</pre><br />
<br />
This will remove all files belonging to the package named foo, except for configuration files that have been edited. Only supply the name of the package to this command, without the pkg.tar.gz suffix.<br />
<br />
To remove any and all trace of a package, add the --nosave option to the above command.<br />
<br />
====Refreshing the package list====<br />
<pre># pacman --sync --refresh<br />
# pacman -Sy</pre><br />
<br />
This will retrieve a fresh master package list from the repositories defined in the /etc/pacman.conf file and uncompress it into the database area. You should use this before using --sysupgrade to make sure you get the newest packages. Depending on your pacman.conf settings, this command may require a working internet connection to access FTP-based repositories. This option is quite similar to Debian's apt-get update command.<br />
<br />
====Upgrading the system====<br />
<pre># pacman --sync --sysupgrade<br />
# pacman -Su</pre><br />
<br />
This command will upgrade all packages that are out-of-date on your system by comparing the local package version to the versions in the master package list that gets downloaded with the --refresh command. It's a good idea to run this every now and then to keep your system up to date. Note that this command does NOT implicitly refresh the master package list, so it's usually wiser to combine both commands into one:<br />
<pre># pacman --sync --refresh --sysupgrade<br />
# pacman -Syu</pre><br />
<br />
With these options pacman will automatically retrieve the current master package list and do a full system upgrade to the latest packages with all dependencies being automagically resolved. You will want to run this quite often.<br />
<br />
====Adding/Upgrading a package from the repositories====<br />
<pre># pacman --sync foo<br />
# pacman -S foo</pre><br />
<br />
Retrieve and install package foo, complete with all dependencies it requires. Before using any sync option, make sure you refreshed the package list, or add --refresh or -y to the options to do it before the installation attempt. Unlike --add, the --sync option does not differ between installing and upgrading packages. Depending on your pacman.conf settings this function requires working internet access.<br />
<br />
====List installed packages====<br />
<pre># pacman --query<br />
# pacman -Q</pre><br />
<br />
Displays the list of all installed packages in the system.<br />
<br />
====Check if a specific package is installed====<br />
<pre># pacman --query foo<br />
# pacman -Q foo</pre><br />
<br />
Instead of grepping the full list for a name, you can append the name of the package you are looking for to the query command. This command will display the name and version of the foo package if it is installed, nothing otherwise.<br />
<br />
====Display specific package info====<br />
<pre># pacman --query --info foo<br />
# pacman -Qi foo</pre><br />
<br />
Displays information on the installed package foo (size, install date, build date, dependencies, conflicts, etc.). To display this information for a package file that is not yet installed, add the --file or -p option, respectively:<br />
<pre># pacman --query --info --file foo.pkg.tar.gz<br />
# pacman -Qip foo.pkg.tar.gz</pre><br />
<br />
====Display list of files contained in package====<br />
<pre># pacman --query --list foo<br />
# pacman -Ql foo</pre><br />
<br />
Lists all files belonging to package foo.<br />
<br />
====Find out which package a specific file belongs to====<br />
<pre># pacman --query --owns /path/to/file<br />
# pacman -Qo /path/to/file</pre><br />
<br />
This query displays the name and version of the package which contains the file referenced by it's full path as a parameter.<br />
<br />
===Accessing Repositories===<br />
A package repository is a collection of packages and a package meta-info file that can reside in a local directory or on a remote FTP/HTTP server. The default repository for an Arch system is the current repository. This is kept up to date with the latest version of most software and stays fairly bleeding-edge.<br />
<br />
Many users also choose to activate the extra package repository which contains more packages that are not part of Arch's core package set. You can activate this repo by uncommenting the appropriate lines in your /etc/pacman.conf. This repository is activated by default.<br />
<br />
You can also build, maintain and use your own package repositories. See the pacman manpage for instructions.<br />
<br />
If you install from a CD and end up having a problem accessing the Internet, you may need to install additional packages from the CD. You can locate the packages on the cd and install them manually using pacman -A packagename.pkg.tar.gz Alternatively, you can temporarily set up a local repository to access the CD. Mount the CD on /mnt/cdrom using the command mount /mnt/cdrom (assuming your fstab is properly set up). Then add the following line to your /etc/pacman.conf, under the section [current] which is the name of the database package on the install cd (current.db.tar.gz):<br />
<br />
Server = file:///mnt/cdrom/arch/pkg<br />
<br />
Make sure you put it before "Include = /etc/pacman.d/current". This way, you cd will now be the primary [current] repository.<br />
You will then be able to install additional packages to help you get your Internet access set up.<br />
<br />
==Arch Build System (ABS)==<br />
===Binary vs. Source===<br />
Where pacman is responsible for the binary side of the package world, ABS is responsible for the source side: It helps you to build your own custom packages from source code, also letting you rebuild Arch Linux packages with your own customizations. The procedure usually goes as follows:<br />
<br />
# Synchronize your ABS tree with the server (run abs as root)<br />
# Create a new directory in /var/abs/local/ named after the package you are going to create<br />
# Copy the PKGBUILD.proto prototype from /var/abs/ into your newly created directory, remove the proto, suffix, and edit it for the new package.<br />
# Run makepkg in the working directory with the PKGBUILD file.<br />
# Install the newly built package with pacman.<br />
# Send the package to your friends for bragging rights (or give it to an Archer so s/he can stick it in the master ABS tree).<br />
<br />
===Synchronizing Your ABS Tree===<br />
You can synchronize all the PKGBUILD files in /var/abs by running the abs script as root. It requires the cvsup package to operate and will complain if you don't have it installed. Using CVS as the transfer medium allows you to follow different version trees within ABS - this can be configured in /etc/abs/supfile.arch. For example, the default supfile is set to track the current package tree, which is bleeding-edge and the recommended source to follow. You can also follow specific versions. See the comments in the supfiles for more info.<br />
<br />
ABS supports multiple repositories, which can be enabled or disabled from /etc/abs/abs.conf. By default abs will follow the current and extra repositories, but not unstable.<br />
<br />
You will also see an /etc/abs/supfile.extra file. This will give you access to all the unofficial build scripts that were not included in the main ABS repository. If you do not want to use this repository, you can delete the file, but usually it makes more sense to edit abs.conf accordingly instead.<br />
<br />
====How to Build Packages====<br />
The build process is thoroughly explained in the makepkg manpage. See it for instructions on building your own packages. If that's not helping you, keep your eyes peeled for tutorials in the Wiki, or ask for help in the forums or IRC.<br />
<br />
====Package Guidelines====<br />
<br />
When building package for Arch Linux, you should adhere to the package guidelines below, especially if you would like to contribute your new package to Arch Linux.<br />
<br />
====Package Naming====<br />
* Package names should consist of alphanumeric characters only; all letters should be lowercase.<br />
* Package versions should be the same as the version released by the author. Versions can include letters if need be (eg, nmap's version is 2.54BETA32). Version tags may not include hyphens! Letters, numbers, and periods only.<br />
* Package releases are specific to Arch Linux packages. These allow users to differentiate between newer and older package builds. When a new package version is first released, the release count starts at 1. Then as fixes and optimizations are made, the package will be re-released to the AL public and the release number will increment. When a new version comes out, the release count resets to 1. Package release tags follow the same naming restrictions as version tags.<br />
<br />
====Directories====<br />
Configuration files should be placed in the /etc directory. If there's more than one configuration file, it's customary to use a subdirectory in order to keep the /etc area as clean as possible. Use /etc/{pkgname}/ where {pkgname} is the name of your package (or a suitable alternative, eg, apache uses /etc/httpd/).<br />
<br />
Package files should follow these general directory guidelines:<br />
*/etc- System-essential configuration files<br />
*/usr/bin- Application binaries<br />
*/usr/sbin- System binaries<br />
*/usr/lib- Libraries<br />
*/usr/include- Header files<br />
*/usr/lib/{pkg}- Modules, plugins, etc.<br />
*/usr/man- Manpages<br />
*/usr/share/{pkg}- Application data<br />
*/etc/{pkg}- Configuration files for {pkg}<br />
*/opt- Packages that do not fit cleanly into Linux filesystem layout can be placed here. If a package's files can be cleanly placed into the above directories, then do so. If there are other high-level directories that do not fit, then you should use /opt. For example, the acrobat package has Browser, Reader, and Resource directories sitting at the same level as the bin directory. This doesn't fit into a normal Linux filesystem layout, so we place all the files in a subdirectory of /opt.<br />
<br />
====makepkg Duties====<br />
When you use makepkg to build a package for you, it does the following automatically:<br />
<br />
# Checks if package dependencies are installed<br />
# Downloads source files from servers<br />
# Unpacks source files<br />
# Does any necessary patching<br />
# Builds the software and installs it in a fake root<br />
# Removes /usr/doc, /usr/info, /usr/share/doc, and /usr/share/info from the package<br />
# Strips symbols from binaries<br />
# Strips debugging symbols from libraries<br />
# Generates the package meta file which is included with each package<br />
# Compresses the fake root into the package file<br />
# Stores the package file in the configured destination directory (cwd by default)<br />
<br />
====Other====<br />
Do not introduce new variables into your PKGBUILD build scripts, unless the package cannot be built without doing so, as these could possibly conflict with variables used in makepkg itself. If a new variable is absolutely required, prefix the variable name with an underscore.<br />
<br />
Avoid using /usr/libexec/ for anything. Use /usr/lib/{pkg} instead.<br />
<br />
The Packager field from the package meta file can be customized by the package builder by modifying the appropriate option in the /etc/makepkg.conf file, or alternatively by exporting the PACKAGER environment variable before building packages with makepkg:<br />
<pre># export PACKAGER="John Doe <your.email>"</pre><br />
<br />
====Submitting Packages====<br />
If you'd like to submit packages, please take a look at the Arch User Repository and their guidelines. New packages should be submitted to the AUR.<br />
<br />
If you're submitting a package directly to the Arch developers, we ask the following:<br />
<br />
# Please add a comment line to the top of your PKGBUILD file that follows this format: <pre># Contributor: Your Name <your.email></pre><br />
# Verify the package dependencies (eg, run ldd on dynamic executables, check tools required by scripts, etc.). It's also a good idea to use the namcap utility, written by Jason Chu jason@archlinux.org, to analyze the sanity if your package. namcap will tell you about bad permissions, missing dependencies, un-needed dependencies, and other common mistakes. You can install the namcap package with pacman.<br />
# All packages should come as a compressed tar file containing a directory with the newly built package, the PKGBUILD, filelist, and additional files (patches, install, ...) in it. The archive name should at least contain the name of the package.<br />
# Watch for announcements regarding the actual submission of packages, as a new implementation of the whole procedure is currently being discussed among the developers. If you think your package is too important to wait, you may of course ask a Trusted User if he would be willing to take your package for inclusion in his repository.<br />
<br />
==Frequently Asked Questions==<br />
The FAQs listed here are only covering any problems that may keep you from booting or installing an initial Arch Linux system. If you have questions regarding further usage of the system utilities, XFree86 setup, etc. or how to configure your hardware, please head over to the Wiki. If you think an issue is not covered here that should be, please notify the author of this document, whose address is to be found at the very top of this file.<br />
<br />
'''During package installation, pacman fails to resolve dependencies for package A because package B is not in the package set.'''<br />
<br />
Unless something is very broken and thus very likely to be reported by multiple people soon, you probably just forgot to mount your target partitions properly. This causes pacman to decompress the package database into the initial ramdisk, which fills up quite nicely and ultimatively leads to this error.<br />
<br />
Make sure that you use the DONE and not the CANCEL option offered by the Filesystem Mountpoints menu to apply your choices. This error should not happen if you use the Auto-Prepare feature; please report this as a bug.<br />
<br />
'''How can I install packages from the install CD with pacman --sync (so it resolves dependencies for me)?'''<br />
<br />
If you would rather have packages install from the CD instead of downloading them, then mount the install CD somewhere (eg, /mnt/cd) and add this line right below the [current] line in /etc/pacman.conf:<br />
<pre>Server = file:///mnt/cd/arch/pkg</pre><br />
<br />
Replace /mnt/cd with the mountpoint you chose. Then use pacman --sync as you normally would - It will now check the /mnt/cd directory first for packages.<br />
<br />
'''How can I create multiple swap partitions during the install?'''<br />
<br />
Naturally you won't be able to use the Auto-Prepare feature if you want to create and use multiple swap partitions. Create the partitions manually instead, and create as much swap partitions as your little heart desires. Go through the rest of the install, don't mind that you're only asked for one swap partition during the mount-point setting. Once you're through with the install and are about to edit your system configuration files, you can edit the fstab file and include a line for every swap device you created earlier. Simply copy the automatically generated swap line, and modify the referenced device according to your setup. The additional swaps will be activated after the bootup when swapon -a is being run by the initscripts.<br />
<br />
If, for any odd reason, you can not wait until after the installation with activating multiple swap partitions or files, you will have to open a shell on one of the virtual terminals and issue the swapon <device> for every swap drive or file you partitioned/readied before. Then continue as explained above with the install.<br />
<br />
In case you are honestly contemplating setting up multiple swap files or drives, you should keep in mind that a kernel that needs to swap is actually crying bitterly for more RAM, not more swap space. Please keep your penguin well fed. Thank you.<br />
<br />
'''How do I reconfigure LILO from the rescue system?'''<br />
As a first step you simply boot from the Arch Install CD or disks. If your partitions are intact and don't need checking, you should supply the root= kernel boot parameter as the instructions tell you. That will boot directly into your system, and you can skip all but the last step of actually reconfiguring and running lilo.<br />
<br />
If you cannot boot your old root directly, boot the CD as if you were going to start an installation. Once you're in a shell, you mount the root partition of your harddisk into the /mnt directory, for example like this:<br />
<pre># mount /dev/hda3 /mnt</pre><br />
<br />
Then you mount any other partitions to their respective mount points within that root of yours, for example a /boot partition:<br />
<pre># mount /dev/hda1 /mnt/boot</pre><br />
<br />
Now you need to mount a /dev tree in the /mnt area, where lilo will be able to find it:<br />
<pre># /mnt/bin/mount --bind /dev /mnt/dev</pre><br />
<br />
Once everything is mounted, make this /mnt directory your new root with the chroot /mnt command. This will start a new shell and drop you into the /mnt directory, which will be considered your / from then on.<br />
<br />
Now you can edit /etc/lilo.conf to your liking and run lilo to fix anything that needs fixing. Simply type exit when you want to break out of this root again, back into the original file tree. You can now reboot and test your changes.<br />
<br />
'''I can't ssh into my machine!'''<br />
<br />
Edit your /etc/hosts.deny file. The default configuration will reject all incoming connections.<br />
<br />
'''How should I load modules during boot now?'''<br />
<br />
If you want to load a module unconditionally without a specific device binding, add the name of the module to the MODULES array of your /etc/rc.conf. For on demand loading on device access, add it as usual with the alias command to your /etc/modprobe.conf (/etc/modules.conf for 2.4 kernels). To pass any options to a module you want to load through the MODULES array, only add the appropriate options line to the /etc/modprobe.conf.<br />
<br />
'''Kernel refuses to boot because of lost interrupt'''<br />
<br />
Kernel refuses to boot. It locks at:<br />
<pre>IRQ probe failed for hda<br />
hda lost interrupt</pre><br />
<br />
This error occurs for some HD controllers on kernel 2.6.x. A workaround is to pass the acpi=off option to the kernel at boot time.<br />
<br />
'''I get access denied errors trying to play sound or read DVDs.'''<br />
<br />
Add your user to the optical and audio groups.<br />
<pre># gpasswd -a johndoe optical<br />
# gpasswd -a johndoe audio</pre><br />
<br />
Logout, then login as your regular user (eg, johndoe) so the group changes can take effect.<br />
<br />
If you have a DVD drive, you may want to create a /dev/dvd symlink to your real DVD device.<br />
<br />
For example, if you use udev and your DVD drive is on /dev/hdc, you can do the following as root:<br />
<pre># cat >>/etc/udev/rules.d/00.rules <<EOF<br />
> KERNEL="hdc", NAME="hdc", SYMLINK="dvd"<br />
> EOF<br />
# /etc/start_udev<br />
# mount /dev/pts<br />
# mount /dev/shm</pre><br />
<br />
'''When trying to install packages with pacman, I get this: error: xorg conflicts with xfree86.'''<br />
<br />
This is a temporary problem as we make a full switch over to xorg. Currently, some packages still depend on xfree86 specifically, so pacman gets confused.<br />
<br />
You can fix this problem by installing xorg explicitly, then installing other packages afterwards.<br />
<br />
<pre># pacman -S xorg<br />
# pacman -S otherpkg1 otherpkg2 ...</pre></div>
LTSmash
https://wiki.archlinux.org/index.php?title=Official_Installation_Guide_(Espa%C3%B1ol)&diff=30168
Official Installation Guide (Español)
2007-09-30T19:33:39Z
<p>LTSmash: </p>
<hr />
<div>{{Translateme}}<br />
<br />
:''Esta es la Documentación General de Usuario para Arch Linux, '''version 0.7.2 (Gimmick)'''. Cumbre la obtención de los archivos necesarios, instalando la distribución y montando un sistema básico y funcional. Adicionalmente, una pequeña referencia sobre las herramientas básicas como son "pacman" el administrador de paquetes y "ABS".''<br />
<br />
==Introducción==<br />
===Que es Arch Linux===<br />
Arch Linux es una distribución GNU/Linux optimizada para i686 inspirada originalmente en CRUX, una genial distro de Per Lidén.<br />
<br />
Arch es rápida, ligera, flexible y simple. Quizá no sea una descripción glamorosa pero es verdadera. Arch está optimizada para la arquitectura i686 (Pentium-Pro en adelante), así que obtienes mejor rendimiento que con la mayoria de las distros que andan por ahí (la mayoria son i386). Es ligera comparada con distros como RedHat o Ubuntu, y su diseño simple le permite ser usada con cualquier finalidad. En un solo archivo guarda la configuración desde los "locales", la red, los modulos hasta los demonios y el orden en el que inician.<br />
<br />
Todo esto funciona envidiablemente con la ayuda del gestor de paquetes precompilados con resolución de dependencias que incluso permite la actualización completa del sistema con un solo comando, ya que Arch no tiene un sistema de producción basado en versiones, de esta forma garantizas siempre tener tu sistema con el ultimo software. Arch usa script de inicio estilo BSD y un sistema de administracion de paquetes desde la fuente como los ports (Arch Build System (ABS)), haciendo la tarea de compilar un juego; también permite sincronizar con un solo comando. ¡Y claro!, puedes recontruir todo tu sistema desde las fuentes con un solo comando. Todo se hace simple y transparentemente, resultando en una de las distros mas personalizables y potentes que existen.<br />
<br />
Arch Linux strives to maintain the latest stable version of its software. We currently support a fairly streamlined core package set with a growing collection of extra packages made by users and AL developers.<br />
<br />
In its goal to be simple and lightweight, the relatively useless portions of a Linux system have been left out, things like /usr/doc and the info pages. In my own personal experience these are rarely used, and the equivalent information can be obtained from the net if need be. Manpages all the way...<br />
<br />
Arch Linux also strives to use some of the newer features that are available to Linux users. Arch Linux 2007.05 (Duke) uses the 2.6.21 Linux kernel and udev by default, a progressive initramfs system (mkinitcpio), and has support for XFS/JFS,Reiserfs, RAID/LVM, and encrypted filesystems.<br />
<br />
===License===<br />
Arch Linux, pacman, documentation, and scripts are copyright ©2002-2006 by Judd Vinet and are licensed under the GNU Public License.<br />
<br />
==Installing Arch Linux==<br />
===Pre-Installation===<br />
Arch Linux is optimized for the i686 processor or x86-64 processor and will not run on any lower x86 chips (i386, i486, i586). A Pentium II processor or higher is required.<br />
<br />
Before installing Arch Linux, you should decide which installation method you would like to use. Arch Linux provides a bootable ISO image for a CD-ROM install, as well as floppy disk images for an FTP-based install. You can also download a base ISO of only roughly 200 MB in size, which contains only the identical base and kernel sets of packages. The Archlinux base-iso is the recommended method.<br />
<br />
If you do not have a CD-ROM drive attached to your computer, you're naturally stuck with the floppy variant and the FTP install.<br />
<br />
Otherwise obtain a bootable Arch installation CD, either by downloading and burning the latest ISO from one of the mirrors listed below, or by letting someone else burn a copy if your dial-up connection simply doesn't cut it, or you don't own a CD writer. You can also purchase a CD online from OSDisc, shipping nearly worldwide.<br />
<br />
You can also do an FTP install with the CD; the floppy variant is really only recommended as a last resort, as it's painfully slow and disks tend to be broken more often than they are intact.<br />
<br />
Furthermore, due to Arch's rolling-release concept, you should not worry about using an old ISO for installation, as upgrading the system to the current branch can be accomplished with one command, once you've got your base system set up. (A broadband connection is recommended.)<br />
<br />
Using a dial-up PPP connection to gain access to the internet during the install process is NOT supported as of yet, since the needed pppd daemon and ISDN utilities are not included in the root disk image.<br />
<br />
For a successful FTP install you must have a gateway in your LAN that is actually connected to the internet and routes any requests from the PC to be installed into the internet and back. Or, alternatively, you can of course have a properly set up FTP server in your LAN to install from. Point is that you cannot attach a modem to your PC and set up a connection with your provider with the Installer. It won't work.<br />
<br />
The most expedient method of installing Arch Linux surely is installing the base system from the base CD, followed by a complete system upgrade. Subsequently, any other packages you want or need once you set up your internet connection will be available through pacman from your newly installed base system. Again, this method is strongly recommended and conforms to the "Arch Way".<br />
<br />
Another thing you should know before trying to install Arch Linux is that during the install you're asked a few questions about which hard drive to prepare, what modules to load, and what changes to make to certain system-critical files like lilo.conf and rc.conf. The installer will not hold your hand here and guide you through any potential setup known and unknown to mankind; you are expected to know what to put in and leave out. This is quite a requirement for a newbie, so if this intimidates you already, make sure you read through this whole document to get at least a vague idea of what is going to be asked, and check back on IRC, the forums or a Linux guru in your neighborhood if anything is not clear to you before you totally mess up your system. You may of course boldly step into the fight and tinker around and try until it works, but don't tell anyone afterwards you haven't been warned. That being said, it's not as bad as it seems. ;)<br />
<br />
====What You Will Need====<br />
* A working knowledge of Linux and your system, esp. your hardware<br />
* Arch Linux installation media (see the mirror list)<br />
** Either the Arch Linux Install CD, or<br />
** 2-7 floppy disks, depending on what you need: SCSI, Ethernet, etc.<br />
* Either an i686-based computer (PPro, Pentium 2 or higher, Athlon/Duron, VIA-C7, etc. Note that AMD K6, Transmeta Crusoe, Cyrix III, and VIA C3 are NOT supported.), or<br />
* An x86-64-based computer (Pentium 4/Celeron with x64 support, Athlon x64, Core 2) <br />
* Some time to kill<br />
<br />
====Acquiring Arch Linux====<br />
You can download Arch Linux from any of the mirrors listed on the download page. If you are downloading the floppy disk images for an FTP-based install, be sure to select a mirror that provides the packages. Likewise, if you will be performing a CD-based install, be sure to select a mirror that provides the ISO.<br />
<br />
Consult the [http://www.archlinux.org/download webpage] for a current list of download mirrors.<br />
<br />
====Floppy Install====<br />
<br />
# Download images/boot.img (path is relative to the mirror root)<br />
# Download images/root.img<br />
# Download any add-on images you need from the images/addons/ subdirectory:<br />
;ethernet.img : Ethernet modules<br />
;fs1.img : XFS/JFS modules, Ext2 extra utilities<br />
;fs2.img : XFS/JFS extra utilities<br />
;keymaps_usb_firewire.img : Additional keymaps/console fonts, USB/Firewire modules<br />
;ntfs_fdisk.img : NTFS modules and utilities, fdisk<br />
;pcmcia_wlan.img : PCMCIA modules, wireless utilities<br />
;raid_lvm.img : RAID/LVM modules and utilities<br />
;scsi.img : SCSI modules<br />
<br />
#Find some blank floppies and write the images to them:<br />
<pre>(insert first disk)<br />
# dd if=boot.img of=/dev/fd0<br />
(insert second disk)<br />
# dd if=root.img of=/dev/fd0<br />
<br />
(repeat for any additional add-on images)<br />
# dd if=scsi.img of=/dev/fd0</pre><br />
<br />
If you need to write these images from a Windows box, you can download rawrite.exe and use it instead of dd.<br />
# Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, 8139too)<br />
<br />
====CD Install====<br />
# Download 2007.05/iso/i686/arch-2007.05.iso or 2007.05/iso/i686/arch-2007.05-base.iso (path relative to mirror root)<br />
# Download 2007.05/iso/i686/arch-2007.05.md5sum<br />
# Verify the integrity of the .iso image using md5sum:<br />
<pre>md5sum --check arch-2007.05.md5sum<br />
arch-2007.05.iso: OK</pre><br />
If you want to download the base or a beta ISO instead, use the appropriate filename, ie: arch-2007.05-base.iso instead of arch-2007.05.iso, likewise for the md5sum.<br />
# Burn the .iso image to a blank CD-R (this step varies depending on the OS/software you're using). It is recommended to use lower burn speeds (2x-16x) for this operation. This will ensure an accurate image burn and save you from unneeded aggravation. Checking the md5sum of the burned CD is also good practice:<br />
<br />
<pre>md5sum /dev/cdrom</pre><br />
<br />
Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, or 8139too, or forcedeth)<br />
<br />
===Using the CD-ROM===<br />
You should skip this section and go right to the Floppy Installation instructions if you are not using a CD-ROM from which to boot. If you're already familiar with the boot process, you may skip all this babble as well, and jump to the Common Install Procedure, which outlines the actual process of installing Arch Linux.<br />
<br />
Reboot your computer with the Arch Linux Installation CD in the drive. Make sure your BIOS is set in a way to allow booting from your CD-ROM. Refer to your motherboard manual or your system manufacturer for details if you have no clue how to do that. Once the CD is booted from, you will see a boot prompt waiting for your input indefinitely, explaining what your options are at this point. Most users can just hit Enter to boot the default Arch install kernel with IDE and SCSI support. If, for some reason, the kernel does not boot for you, you can try the IDE-only kernel by typing arch-noscsi at the boot prompt.<br />
<br />
If your CD-ROM fails to boot for no obvious reason, and you're using a rather old CD-ROM drive in conjunction with a copy burned to a CD-RW, consider using a normal CD-R instead. Some older drives [mine, for example - Dennis] don't manage to read CD-RWs properly.<br />
<br />
At the end of the boot procedure, you should be dropped into a root shell with a handful of instructions filling the upper half of your screen. At this point you are ready to commence the actual installation. Don't let those instructions fool you; when booting from a CD, you don't have to run the loaddisk anymore as it's done automatically during boot. Only floppy users need to run loaddisk manually.<br />
<br />
===Using The Floppies===<br />
If you have any chance of booting the system from the Arch Linux CD, it's strongly recommended to do so. Not only are the floppies themselves prone to failure, the whole boot process takes much longer, and if you need a handful of modules the disk-juggling is very unnerving. Note that you do not have to boot from floppies to install via FTP; CD-ROM will do just fine.<br />
<br />
Reboot your computer with the boot disk in the floppy drive. After some disk-crunching noises, you should come to a boot prompt, waiting eagerly for your input. Press Enter to continue the boot process after adding any potentially needed kernel parameters.<br />
<br />
If you are using a USB keyboard, you will need to load USB support automatically at bootup. You can do this by setting the NEEDUSB parameter to your USB bus type. For example, if you have a UHCI bus, you would type arch NEEDUSB=uhci at the boot prompt. After the root disk loads, you will be prompted to load the USB add-on disk, which will be auto-loaded after a 10-second wait. If you're not sure what kind of USB bus you have, try specifying NEEDUSB=auto, which will load all three (UHCI, OHCI, EHCI) bus modules.<br />
<br />
Partway through the boot-up process, you will be prompted:<br />
<br />
<pre>VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER</pre><br />
<br />
Insert the root disk in the drive and hit Enter. After some more chunking you will be given a shell. Since you'll be needing your Ethernet module for the install, you should now load the modules from the Ethernet disk. Put the disk in the drive and run:<br />
<br />
<pre># loaddisk /dev/fd0</pre><br />
<br />
After a while all Ethernet modules will be extracted to the file system. If the directory /lib/modules/ is still empty after this command, and/or you got a couple of errors, your disk has most likely gone bad. Create a new modules disk, and try again. You do not need to reboot in this case; just reissue the loaddisk command. Don't be worried if you have several disks failing this way; it's unfortunately quite common. Don't say nobody told you.<br />
<br />
You should also load any additional add-on disks that you need, such as SCSI or RAID/LVM. Use the loaddisk command as above for each disk; the order does not matter.<br />
<br />
If you know which Ethernet module you need, you should load it now with the modprobe command. Don't worry too much if you don't; the installer program will probe for the right module automatically.<br />
<br />
===Common Installation Procedure===<br />
<br />
At this point your system should be booted, and the hard drive to which you'd like to install, as well as your installation source, must be accessible. Make sure all necessary modules are loaded, if any.<br />
<br />
====Installation Steps====<br />
# Loading a non-US Keymap<br />
# Running Setup<br />
# Configure Network (FTP Install only)<br />
# Prepare Hard Drive<br />
## Auto-Prepare<br />
## Partition Hard Drives<br />
## Set Filesystem Mountpoints<br />
# Select Packages<br />
# Install Packages<br />
# Configure System<br />
# Install Kernel<br />
# Install Bootloader<br />
# Exit Install<br />
<br />
Using the available shell tools, experienced users are also able to prepare the hard drive or any devices needed for the installation before starting the installer. You may simply skip this paragraph if you don't see any immediate need for further manual interaction. Note that the Arch Linux installation media also contains a /arch/quickinst script for experienced users. This script installs the base set of packages to a user-specified destination directory. If you are doing an exotic install with fun things like RAID and LVM, or don't want to use the installer at all, you'll probably want to use the quickinst script. <br />
All the cool kids do it.<br />
<br />
====Loading a non-US Keymap====<br />
If you require a non-US keymap, you can use the km utility to load a new keymap. Just type km at the prompt, then use the arrow keys to navigate to the correct keymap and/or console font.<br />
<br />
====Running Setup====<br />
<br />
Now you can run /arch/setup to invoke the installer program. After some info messages you will be prompted for the installation method of your choice. If you have a fast internet connection, you might prefer the FTP installation to ensure you get the latest packages instead of using the potentially outdated CD contents. Note that you will probably run into trouble if you have an interesting proxy setup. If you can't use a CD-ROM, this is the only viable method of installing Arch Linux.<br />
<br />
When navigating the setup script, make sure that you select DONE from the submenus after performing each step. This saves any settings you make in preparation for the next step. Further, avoid backstepping through previous steps in the installation process as this can also confuse the installer.<br />
It's actually rather easy to set up your own FTP package mirror or create your own bootable installation CD with the packages you need, making the task of installing several instances of Arch Linux across multiple machines rather simple, whilst at the same time saving a lot of mirror bandwidth. Make your life and ours easier, and look into these alternatives!<br />
<br />
When choosing a CD-ROM install you will only be able to install packages contained on the CD, which may be quite old. Of course it has the merit that you won't need an internet connection, and is therefore the recommended choice for dialup users or anyone else who does not feel like downloading about at least 100 MB of packages.<br />
<br />
After choosing one of the two alternatives, you will be presented with the installer menu, listing the necessary steps in the order in which they should be completed.<br />
<br />
At any point in the install process, you can switch to your 5th virtual console (ALT-F5) to view the output from the commands that setup is running. Use (ALT-F1) to get back to your first console where the installer is running, and any F-key in between if you need to open another console to intervene manually for any reason.<br />
<br />
====Configure Network (FTP Install only)====<br />
Configure Network will allow you to install and configure your network device.<br />
<br />
If no eth0 device is available yet, you will be asked whether you want the installer to probe for a network module. Choose YES here unless that messes up your system horribly (which shouldn't happen), or NO if you want to load the module manually. If the installer fails to find a matching network module, make sure you ran the loaddisk command correctly earlier to make the ethernet modules available. When booting from CD-ROM, this is done automatically for you. If your network card is still not found, make sure your card is properly physically installed and supported by the linux kernel at all.<br />
<br />
When the correct module is loaded, you will be given the option to configure your network with DHCP. If you're connected to a DHCP server, hit YES and let the installer do the rest. If you select NO, you will be asked to enter the networking information manually, which you hopefully wrote down as you were told.<br />
<br />
This menu entry is only available when choosing FTP Installation, for rather obvious reasons.<br />
<br />
====Prepare Hard Drive====<br />
Prepare Hard Drive will bring you into a submenu offering two alternatives of preparing your target drive for installation.<br />
<br />
=====Auto-Prepare=====<br />
The first choice is Auto-Prepare, which will automatically partition your hard drive into a /boot, swap, and root partition, and then create filesystems on all three. These partitions will also be automatically mounted in the proper place. To be exact, this option will create a<br />
* 32 MB ext2 /boot partition<br />
* 256 MB swap partition<br />
* ext3 root partition with the remaining space<br />
<br />
Actual sizes may vary slightly due to different hard disk geometries. You can choose this option if you don't know much about hard drive partitions, but be warned: AUTO-PREPARE WILL ERASE ALL DATA ON THE CHOSEN HARD DRIVE!<br />
<br />
Read the warning presented by the installer very carefully, and make sure the correct device is about to be partitioned!<br />
<br />
A way to verify your choice for a device to partition would be to open another terminal (ALT-F2, Enter) and enter<br />
<pre># cfdisk -P s <name of device></pre><br />
there to display the current partition table of the selected device, which should suffice to identify the hard disk.<br />
<br />
If no device name is shown ([nothing] will be COMPLETELY ERASED! ...), and the installer produces an Device not valid error after hitting YES, make sure you loaded all needed modules if it's a SCSI, RAID, etc. device. You can still load any modules now by changing to another terminal and issuing the commands there, then return to the installer process on terminal one (ALT-F1).<br />
<br />
If you prefer to do the partitioning manually, use the other two options, Partition Hard Drives and Set Filesystem Mountpoints to prepare the target media according to your specifications as outlined below. Otherwise Return to Main Menu after a successful auto-preparation.<br />
<br />
=====Partition Hard Drives=====<br />
Partition Hard Drives should be skipped if you chose Auto-Prepare already.<br />
<br />
Otherwise you should select the disk(s) you want to partition, and you'll be dropped into the cfdisk program where you can freely modify the partitioning information until you [Write] and [Quit].<br />
<br />
You will need at least a swap and a root partition to continue the installation.<br />
<br />
=====Set Filesystem Mountpoints=====<br />
Set Filesystem Mountpoints should also be skipped if you chose to Auto-Prepare your hard drive. You should select this choice once the partition information is edited to your liking with the previous menu selection, or already existent through whatever other means.<br />
<br />
The first question to answer is what partition to use as swap. Select the previously created swap partition from the list, and select the partition that is supposed to become your root partition in the next step.<br />
<br />
Every time you specify a partition to mount, you will be asked if you want to create a filesystem on the respective partition. If you select YES, you will be asked what filesystem to create (a matter of taste, really. Choose ext2 if you have no clue), and the partition will be formatted with the chosen filesystem, destroying all data in the process. It should be no problem, however, to say NO at this point to preserve any existing files on the partition.<br />
<br />
If you want to preserve existing data on a partition, you are strongly advised to create backups instead of hoping that nothing will go wrong during the install. Don't say I didn't warn you!<br />
<br />
You will not be asked for a filesystem to use on your swap partition, as this partition uses a specific filesystem of it's own.<br />
<br />
If you want to mount any other partitions, for example a separate /boot or /home partition, you will be able to do so now. Simply<br />
* select a partition to mount<br />
* choose a filesystem (if you want to create one instead of keeping the data)<br />
* choose a mountpoint for the partition<br />
<br />
Repeat these steps until you're satisfied, then select DONE to create any filesystems and mount the partitions in their respective places. After formatting and mounting all partitions, you will be dropped into the Main Menu, ready to proceed.<br />
<br />
Do not mount /tmp on a separate partition just yet, as it will badly confuse the installer! Simply leave the designated /tmp partition alone until the installation is done, and configure the partition manually after you have a running system if you must have a separate partition for /tmp.<br />
<br />
====Select Packages====<br />
Select Packages will let you select the packages you wish to install from the CD or your FTP mirror.<br />
<br />
If you chose CD-ROM installation, you have to tell the installer whether it should try to mount the CD itself, or whether you already mounted the source media in /src. Select the option according to what you need; Normally you will want to choose CD, after which you will be given the possibility to choose a CDROM drive from the list of all detected devices.<br />
<br />
If your CD-ROM drive is not displayed in the list, make sure you loaded any modules that may be needed, like SCSI or USB storage support.<br />
<br />
If you chose FTP Installation, you will be asked to choose a mirror close to you from a list, or select CUSTOM to enter your own fully qualified FTP path to an installation source, ie. a prepared server in your LAN, or a mirror that's not listed for whatever reason.<br />
<br />
Whatever source you chose, after fetching the package list you'll be dropped into the package category selection screen.<br />
<br />
If you are presented an error while fetching the package database, you should either choose another FTP mirror, make sure your network is working at all, and you didn't slip any typos into your custom server address. You might also have goofed mounting of your source media in the /src directory, if you chose that option.<br />
<br />
Now, once that is tackled, you have the opportunity to specify whole package groups from which you'd generally like to install packages, then fine-tune your coarse selection by (de)selecting individual packages.<br />
<br />
Any packages in the BASE category should stay selected under all circumstances, and you should select any other group which contains a package you might need. Please note that the upcoming individual package selection screen will only offer packages which are in the categories you select here, so if you only select BASE, you won't be able to add any other packages than those in the BASE category.<br />
<br />
If you want to only select the bare minimum for installation, but be able to browse through all available packages nevertheless to see if anything interesting is there to add, you should select all package categories, but choose to NOT select all packages by default.<br />
<br />
The Select all packages by default? question can be easily misunderstood; Basically you are asked whether you want all the packages in the categories you just chose to be selected or not.<br />
<br />
If you select YES, the whole list of packages contained in the chosen categories will be displayed and selected, and your job will be to deselect what you do not want.<br />
<br />
If you select NO, the same list of packages will displayed, but only packages of the BASE category will be selected, and you'll have to explicitly select any other packages you want to install.<br />
<br />
Choosing NO helps to install a lean system!<br />
<br />
It is recommended that you install all the BASE packages, but not anything else at this point. Don't worry about getting all the packages you want - you can easily install more of them once the basic system boots by itself. The only exception to this rule is installing any packages you need for setting up internet connectivity. These packages usually are:<br />
<br />
;dhcpcd (base) : Add if your machine is a DHCP client.<br />
;isdn4k-utils (network) : Add if you use ISDN for dialup.<br />
;ppp (base) : Add if you use an analog modem for dialup.<br />
;rp-pppoe (base) : Add if you use DSL for pseudo-dialup.<br />
<br />
The downloadable base ISO does not contain any packages but those in the BASE category, so be advised to get the full sized ISO if you need ISDN packages!<br />
<br />
Once you're done selecting the packages you need, leave the selection screen and continue to the next step, Install Packages.<br />
<br />
====Install Packages====<br />
Install Packages will now install pacman and any other packages you selected with resolved dependencies onto your harddisk.<br />
<br />
If you skipped preparation of your hard drive, you will be asked where your root partition has been mounted. This should only happen to people who partitioned and created filesystems on the target devices manually. Those people will have to enter the root directory where the packages shall be installed. By default, the installer mounts the root partition in /mnt, and any extra partitions below.<br />
<br />
Error messages and debugging output is output to terminal five (ALT-F5). After the packages are installed, proceed to the next step, Configure System.<br />
<br />
====Configure System====<br />
Configure System allows you to edit the configuration files crucial for your newly installed system.<br />
<br />
If you're in a real hurry, you may skip this step entirely and hope the defaults will work, but it's strongly recommended to iterate through the list of config file presented here and change options accordingly. Please refer to [[#System Configuration|System Configuration]] for detailed instructions.<br />
<br />
====Install Kernel====<br />
Install Kernel will ask you which kernel image to install on your hard drive.<br />
<br />
Recommended: Install the stock 2.6.x kernel with SCSI/SATA/IDE support. The exact support each 2.6.x kernel has will depend on how you have configured your initial ramdisk, but the default has support for all known SCSI, SATA, and IDE systems. See the System Configuration section for more information about the initrd. <br />
<br />
Please note that Arch Linux uses the 2.6 kernel by default. We are phasing out support for the 2.4 series, so you should only use it if 2.6 just isn't working out for you.<br />
<br />
====Install Bootloader====<br />
Install Bootloader will install a bootloader on your hard drive, either GRUB (recommended) or LILO, depending on your personal preference.<br />
<br />
Before installing the bootloader, the setup script will want you to examine the appropriate configuration file to confirm the proper settings. Make sure you know what your root (and /boot, if you have it) partitions are.<br />
<br />
If you choose to install LILO, the bootloader will be automatically installed according to your settings in the configuration file, whilst GRUB demands the selection of a partition to install the bootloader to. Here you should choose what you would enter as the boot option of LILO, which is usually the entry named /dev/hda, as it refers the master boot record of the first hard disk. Detailed error messages can be found as usual on VC5 (virtual console 5), if anything goes wrong.<br />
<br />
If you plan on setting up a multiboot system, it might be a better option to install the bootloader in your root or /boot partition, and refer to that boot sector from whatever other boot loader you want to reside in the master boot record.<br />
<br />
Installing a boot loader in the MBR will relentlessly overwrite any existing bootloader! Make sure you understand the implications of that if you're running a multiboot system, or want to preserve an installed bootloader from another OS!<br />
<br />
====Exit Install====<br />
<br />
Exit Install now, remove the CD from the drive, type reboot at the command line and cross your fingers!<br />
<br />
If your system boots up, you can log in as root without any password, so your first things to do are setting a password for root with the passwd command once you're logged in, add a user as outlined in the User Management section, and set up your Internet Connection.<br />
<br />
Congratulations! Now you can proceed getting into the nitty-gritty of configuring the interesting parts of your system.<br />
<br />
==System Configuration==<br />
These are the core configuration files for Arch Linux. You should be comfortable hand-editing these files with a text-editor, because there aren't any GUI apps to help you out. Only the most basic configuration files are listed here. If you need help configuring a specific service, please read the appropriate manpage or refer to any online documentation.<br />
<br />
Arch Linux does not use any abstraction layer to administrate your system. As a result, you can usually stick to any instructions published by the author of a software, or whatever you find in a search engine of your choice, and it'll work out without confusing your system, because your system just does not care.<br />
<br />
====Configuration Files====<br />
Before attempting to boot your newly installed system, you should at least glance over these files and make sure they are not too far off.<br />
# /etc/rc.conf<br />
# /boot/grub/menu.lst<br />
# /etc/lilo.conf<br />
# /etc/mkinitrd.conf<br />
# /etc/hosts<br />
# /etc/fstab<br />
# /etc/modprobe.conf<br />
# /etc/modules.conf<br />
# /etc/resolv.conf<br />
# /etc/conf.d/*<br />
# /etc/profile<br />
<br />
=====/etc/rc.conf=====<br />
This is the main configuration file for Arch Linux. It allows you to set your keyboard, timezone, hostname, network, daemons to run and modules to load at bootup, profiles, and more. You should read through all the settings in this file and make sure you understand them:<br />
<br />
;LOCALE : This sets your system language, which will be used by all i18n-friendly applications and utilities. You can get a list of the available locales by running '''locale -a''' from the commandline. This setting is not needed for US English users. <br />
;HARDWARECLOCK : Either '''UTC''' if your BIOS clock is set to UTC or GMT, or '''localtime''' if your BIOS clock is set to your local time. If you have an OS installed which cannot handle UTC BIOS times correctly, like Windows, choose localtime here, otherwise prefer UTC, which makes daylight savings time a non-issue and has a few other positive aspects. <br />
;TIMEZONE : Specifies your time zone. Possible time zones are the relative path to a zoneinfo file starting from the directory /usr/share/zoneinfo. For example, a german timezone would be '''Europe/Berlin''', which refers to the file /usr/share/zoneinfo/Europe/Berlin. If you don't know the exact name of your timezone file, worry about it later. Command '''tzselect''' can find correct timezone for you.<br />
;KEYMAP : Defines the keymap to load with the loadkeys program on bootup. Possible keymaps are found in /usr/share/kbd/keymaps. Please note that this setting is only valid for your TTYs, not any graphical window managers or X. <br />
;CONSOLEFONT : Defines the console font to load with the setfont program on bootup. Possible fonts are found in /usr/share/kbd/consolefonts. <br />
;USECOLOR : Enable ('''yes''') or disable ('''no''') colorized status messages during boot-up. <br />
;MOD_AUTOLOAD : If set to "YES", Arch will scan your hardware at bootup and attempt to automatically load the proper modules for your system. This is done with the hwdetect utility. <br />
;MOD_BLACKLIST : This is an array of modules that you do not want to be loaded at bootup. For example, if you don't want that annoying PC speaker, you could blacklist the pcspkr module. <br />
;MODULES : In this array you can list the names of modules you want to load during bootup without the need to bind them to a hardware device as in the modprobe.conf (or modules.conf, if you're using kernel 2.4.x). Simply add the name of the module here, and put any options into the modprobe.conf if need be. Prepending a module with a bang ('!') will not load the module during bootup (this is not the same as MOD_BLACKLIST). <br />
;USELVM : Set to "YES" to run a vgchange during sysinit, thus activating any LVM groups. If you have no idea what this means, don't bother. <br />
;HOSTNAME : Set this to the hostname of the machine, without the domain part. This is totally your choice, as long as you stick to letters, digits and a few common special characters like the dash. Don't be too creative here, though. <br />
;INTERFACES : Here you define the settings for your networking interfaces. The default lines and the included comments explain the setup well enough. If you do not use DHCP to configure a device, just keep in mind that the value of the variable (whose name must be equal to the name of the device which is supposed to be configured) equals the line which would be appended to the ifconfig command if you were to configure the device manually in the shell. <br />
;ROUTES : You can define your own static network routes with arbitrary names here. Look at the example for a default gateway to get the idea. Basically the quoted part is passed exactly as you pass it to the route add command, therefore reading man route is recommended if you don't know what to write here. <br />
;NET_PROFILES : Enable certain network profiles at bootup. Network profiles provide a convenient way of managing multiple network configurations, and are intended to replace the standard INTERFACES/ROUTES setup that is still recommended for systems with only one network configuration. If your computer will be participating in various networks at various times (eg, a laptop) then you should take look in the /etc/network-profiles directory to set up some profiles. There is a template file included there that can be used to create new profiles. <br />
;DAEMONS : This array simply lists the names of those scripts contained in /etc/rc.d/ which are supposed to be started during the boot process. If a script name is prefixed with a bang (!), it is not executed. If a script is prefixed with an "at" symbol (@), then it will be executed in the background (ie, the startup sequence will not wait for successful completion before continuing). Usually you do not need to change the defaults to get a running system, but will edit this array quite often once you install system services like sshd.<br />
<br />
=====/boot/grub/menu.lst=====<br />
GRUB is the default bootloader for Arch Linux, and is highly recommended. You should check and modify this file to accommodate your boot setup if you want to use GRUB, otherwise read on about the LILO configuration.<br />
<br />
Configuring GRUB is quite easy, the biggest hurdle is that it uses yet another device naming scheme different from /dev; Your hard disks as a whole are referred to as (hd0), (hd1), etc., sequentially numbered in order of appearance on the IDE/SCSI bus, just like the hda, hdb, etc. names in Linux. The partitions of a disk are referred to with (hd0,0), (hd0,1) and so on, with 0 meaning the first partition. A few conversion examples are included in the default menu.lst to aid your understanding.<br />
<br />
Note that the hdx naming scheme is in direct reference to your BIOS drive layout, whereas the sdx naming scheme is in direct reference to the udev device layout. The 2 are not always in sync, (for instance, hd0,0 will not always be sda1) especially if you have a mixture of both many IDE and SATA harddrives on your machine.<br />
<br />
Once you have grasped the concept of device naming, all you need to do is to choose a nice title for your boot section(s), supply the correct partition device as a parameter to the root option to have it mounted as / on bootup, and create a kernel line that includes the partition and path where the kernel is located as well as any boot parameters. If using the stock Arch 2.6.x kernel, you'll also need an initrd line that points to the initrd26.img file in your /boot directory. The path you put on your initrd line should be the same as the path to vmlinuz26 that you provide on the kernel line. You should be fine with the defaults, just check whether the partition information is correct in the root and kernel lines.<br />
<br />
To create a boot option that loads the bootsector of a different OS, this example might be helpful. You will probably succeed in starting any Microsoft-based operating system with it, just add this block to the file after any other sections, and modify the partition device accordingly to refer to the partition containing the bootsector of the OS you are intending to boot.<br />
<br />
<pre># (1) Other OS<br />
title My Other OS<br />
rootnoverify (hd0,1)<br />
makeactive<br />
chainloader +1</pre><br />
<br />
For advanced configuration of other OSes, please refer to the online [http://www.gnu.org/software/grub/manual/grub.html GRUB manual].<br />
<br />
=====/etc/lilo.conf=====<br />
This is the configuration file for the LILO bootloader. Make sure you check this one and get it right if you want to use LILO to boot your system. See LILO documentation for help on this.<br />
<br />
Things you should check are the root= lines in the image sections and the boot= line right at the beginning of the file. The root lines specify the device which shall be mounted as the root filesystem on bootup. If you don't know what is supposed to be entered here, change to another terminal and type mount to see a list of all currently mounted drives, and look for the line which displays a device name mounted on /mnt type [...]. The device path at the beginning of this very line should be entered in the root lines of your lilo.conf. Change if necessary.<br />
<br />
The boot line should be okay by default in most cases. Unless you have a weird boot manager setup in mind with multiple OSes, the device referenced here should be having the same prefix your root lines have, but not end with a number. For example, a root of /dev/hda3 means you probably want to install LILO into the Master Boot Record of the hard disk, so you would set boot to /dev/hda, which references the disk as a whole.<br />
To prevent some serious grief, you should make sure you know how to restore the bootsector of your other OSes, for example with Windows's FIXBOOT/FIXMBR tools.<br />
<br />
To be on the safe side, you should keep the option lba32 right below the prompt line. This will prevent some geometry issues from happening.<br />
<br />
In some cases, depending on your BIOS, LILO will not run on bootup and spill out an error code infinitely. In most cases you either removed the lba32 option, or your hardware setup is a little special, meaning that maybe your CD-ROM drive is primary master and the hard disk you installed secondary slave. This can very well irritate your BIOS, and prevent a boot up. To prevent that you can try and make the install drive the primary master on your IDE bus. If you've got a mixed IDE and SCSI system and the problem persists, you'll probably need some experimentation with the disk and bios options of LILO to provide a working mapping; The disk drives in your system are numbered sequentially by your BIOS, starting with 0x80. If you're lucky your SCSI controller tells you which drive has which BIOS ID, but usually you're not. How the drives are effectively numbered is depending on your BIOS, so in the worst case you can only guess until it works. A typical disk line would look like this:<br />
<pre>boot=/dev/hda<br />
disk=/dev/hda bios=0x80</pre><br />
<br />
The disk option maps a BIOS ID to the disk device known to linux. Note that there is still no guarantee that things will work as other things can be wrong, so do not despair if all your tries fail, but rather try rearranging your hardware in a way that's not totally odd. In this area too much can go wrong and needs special handling to be explained here. In most cases the lba32 option will suffice anyway. Old hard drives will usually need a little more special care until they do as told.<br />
Don't become fidgety when reading this section, I (Dennis) just happened to stumble over this problem when experimenting with a rather odd system, and figured it'd be a good idea to mention this show stopper and workarounds here. You probably won't ever experience this, and if you do, use GRUB.<br />
<br />
How to recreate a LILO boot sector with only a rescue disk is explained later in this document.<br />
<br />
=====/etc/mkinitrd.conf=====<br />
This file allows you to fine-tune the initial ramdisk (also commonly referred to as the "initrd") for your system. The initrd is a gzipped image that is read by the kernel during bootup. The purpose of the initrd is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if you are booting off a USB/FW drive). Once the initrd loads the proper modules, it passes control to the Arch system and your bootup continues. For this reason, the initrd only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of these modules will be loaded later on by hwdetect or hwd.<br />
<br />
By default, mkinitrd.conf is configured to provide all known modules for IDE, SCSI, or SATA systems. This means the default initrd should work for almost everybody. The downside to this is that there are many modules loaded that you will not need. This is easily visible by examining your module table after booting up (with the lsmod command). While this doesn't actually hurt anything, some people find it annoying. To cull this list down to only what you actually need, you can edit mkinitrd.conf and disable the subsystems (ie, IDE, SCSI, RAID, USB, etc) that you don't need. Each subsystem has a variable that starts with REMOVE_. Setting the variable to 1 (one) will remove it from the initrd.<br />
<br />
You can customize even further by specifying the exact modules you need in the HOSTCONTROLLER_ variables. Or, if you'd rather trust the auto-detection utility (hwdetect) to find the modules for you, you can set the AUTODETECT variable to 1 and ignore the other settings.<br />
If you're using RAID or encryption on your root filesystem, then you'll have to tweak the RAID/CRYPT settings near the bottom. See the wiki pages for RAID/LVM, filesystem encryption, and Initrd for more info.<br />
<br />
When you're finished tweaking mkinitrd.conf, you must run mkinitrd auto to regenerate the initrd. You can include the -show switch if you want to see a list of the modules being included.<br />
<pre># mkinitrd auto -show</pre><br />
<br />
WARNING: If you fail to include the correct module(s) in your initrd, your system will not boot! For this reason, you should be especially careful when tweaking your initrd. Do not over-tweak unless you know your hardware well.<br />
<br />
If you do manage to break your system, you can use the backup initrd that is included with the stock 2.6.x kernel, but only if you use the GRUB bootloader. To use the backup initrd, you must edit the initrd line from the GRUB menu at bootup and change it to point to the backup image. For example, if your normal initrd line is initrd /initrd26.img, you should change it to initrd /initrd26-full.img. Then bootup with the backup initrd and fix your primary!<br />
<br />
=====/etc/hosts=====<br />
This is where you stick hostname/ip pairs of other computers on your network. If a hostname isn't part of DNS, you can add it here. You usually don't need to change anything here, but you might want to add the hostname and hostname + domain of the machine to this file, resolving to the IP of your network interface. If you don't know what you're doing, leave this file alone until you read man hosts.<br />
<br />
=====/etc/fstab=====<br />
Your filesystem settings and mountpoints are configured here. The install program should have created the necessary entries for you, but you should look over it and make sure it's right.<br />
<br />
=====/etc/modprobe.conf=====<br />
<br />
This is for use with 2.6.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
The syntax of this file is nearly identical to the old modules.conf scheme, unless you use some of the more exotic options like post-install. Then you should invest a little time into reading man modprobe.conf.<br />
<br />
=====/etc/modules.conf (deprecated)=====<br />
This is for use with 2.4.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
=====/etc/resolv.conf=====<br />
Use this file to setup your nameserver(s) that you will use. It should basically look like this:<br />
<pre>search domain.tld<br />
nameserver 192.168.0.1<br />
nameserver 192.168.0.2</pre><br />
<br />
Replace domain.tld and the ip addresses with your settings. The so called search domain specifies the default domain that is appended to unqualified hostnames automatically. Setting this, a ping myhost will effectively become a ping myhost.domain.tld with the above values. These settings usually aren't mighty important, though, and most people should leave them alone for now. If you use DHCP, this file will be fed with the correct values automatically when networking is started, meaning you can and should happily ignore this file altogether.<br />
<br />
=====/etc/conf.d/*=====<br />
During setup, this is totally unimportant. Consider this as reference for the interested.<br />
<br />
Some daemon scripts will have a matching configuration file in this directory that contains some more-or-less useful default values. When a daemon is started, it will first source the settings from it's config file within this directory, and then source the /etc/rc.conf. This means you can easily centralize all your daemon configuration options in the rc.conf simply by setting an appropriate variable value, or split up your configuration over multiple files if you prefer a decentralized approach to this issue. Ain't life great if it's all just simple scripting?<br />
<br />
=====/etc/profile=====<br />
This script is run on each user login to initialize the system. It is kept quite simple under Arch Linux (most things are). You may wish to edit or customize it to suit your needs.<br />
<br />
====Boot Scripts====<br />
<br />
Arch Linux uses a fairly simple bootup sequence quite similar to *BSDs. The first boot script to run is /etc/rc.sysinit. When it's done, /etc/rc.multi will be called (in a normal bootup). The last script to run will be /etc/rc.local. When started in runlevel 1, the single user mode, the script /etc/rc.single is run instead of /etc/rc.multi. You will not find an endless symlink collection in the /etc/rc.d/ directories to define the bootup sequence for all possible runlevels. In fact, due to this approach Arch only really has three runlevels, if you take starting up X in runlevel 5 into account. The boot scripts are using the variables and definitions found in the /etc/rc.conf file and also a set of general functions defined in the /etc/rc.d/functions script. If you plan to write your own daemon files, you should consider having a look at this file and existing daemon scripts.<br />
<br />
Boot Script Overview<br />
* /etc/rc.sysinit<br />
* /etc/rc.single<br />
* /etc/rc.multi<br />
* /etc/rc.local<br />
* /etc/rc.shutdown<br />
* /etc/rc.d/*<br />
<br />
=====/etc/rc.sysinit=====<br />
<br />
The main system boot script. It does boot-critical things like mounting filesystems, running devfsd, activating swap, loading modules, setting localization parameters, etc. You will most likely never need to edit this file!<br />
=====/etc/rc.single=====<br />
<br />
Single-user startup. Not used in a normal boot-up. If the system is started in single-user mode, for example with the kernel parameter 1 before booting or during normal multi-user operation with the command init 1, this script makes sure no daemons are running except for the bare minimum; syslog-ng and udev. The single-user mode is useful if you need to make any changes to the system while making sure that no remote user can do anything that might cause data loss or damage.<br />
<br />
For desktop users, this mode usually is useless as crud. You'll probably never need to edit this script, either.<br />
<br />
=====/etc/rc.multi=====<br />
Multi-user startup script. It starts all daemons you configured in the DAEMONS array (set in /etc/rc.conf) after which it calls /etc/rc.local. You shouldn't feel a pressing need to edit this file.<br />
<br />
=====/etc/rc.local=====<br />
Local multi-user startup script. It is a good place to put any last-minute commands you want the system to run at the end of the bootup process. This is finally the one and only script you should modify if needed, and you have total freedom on what to add to this script.<br />
<br />
Most common system configuration tasks, like loading modules, changing the console font or setting up devices, usually have a dedicated place where they belong. To avoid confusion, you should make sure that whatever you intend to add to your rc.local isn't feeling just as home in /etc/profile.d/ or any other already existant config location instead.<br />
<br />
=====/etc/rc.shutdown=====<br />
System shutdown script. It stops daemons, unmounts filesystems, deactivates the swap, etc. Just don't touch.<br />
<br />
=====/etc/rc.d/*=====<br />
This directory contains the daemon scripts referred to from the rc.conf's DAEMONS array. In addition to being called on bootup, you can use these scripts when the system is running to manage the services of your system. For example the command<br />
<pre># /etc/rc.d/postfix stop</pre><br />
<br />
will stop the postfix daemon. Of course a script only exists when the appropriate package has been installed (in this case postfix). With a basic system install, you don't have many scripts in here, but rest assured that all relevant daemon scripts end up here. This directory is pretty much the equivalent to the /etc/rc3.d/ or /etc/init.d/ directories of other distributions, without all the symlink hassle.<br />
<br />
====User Management====<br />
<br />
Users and groups can be added and deleted with the standard commands provided in the util-linux package: useradd, userdel, groupadd, groupdel, passwd, and gpasswd. The typical way of adding a user is similar to this procedure:<br />
<pre># useradd -m -s /bin/bash johndoe<br />
# passwd johndoe</pre><br />
<br />
The first command will add the user named johndoe to the system, create a home directory for him at /home/johndoe, and place some default login files in his home directory. It will also set his login shell to be /bin/bash. The second command will ask you for a password for the johndoe user. A password is required to activate the account.<br />
<br />
As an alternative to the useradd command, the adduser script is also available to interactively create new users on your system simply by answering questions.<br />
<br />
See the manpages for more information on the remaining commands. It is a good idea to create one or multiple normal users for your day-to-day work to fully use the available security features and minimize potential damage that may be the result of using the root user for anything but system administration tasks.<br />
<br />
===Internet Access===<br />
Due to a lack of developers for dialup issues, connecting Arch to the Internet with a dialup line is requiring a lot of manual setup. If at all possible, set up a dedicated router which you can then use as a default gateway on the Arch box.<br />
There are quite a few dialup related documents in the Arch Linux Wiki.<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and passwort to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably.<br />
In case you're using a so called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should endulge in the vast information found on the LinModem homepage.<br />
<br />
====ISDN====<br />
Setting up ISDN is done in three steps:<br />
<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP<br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you won't need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module which needs two parameters; type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, or available online. The type parameter depends on your card; A list of all possible types is to be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<pre># modprobe hisax type=18 protocol=2</pre><br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file in which you should see your card being prepared for action. Please note that you will probably need to load some usb modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf (or /etc/modules.conf if you're using kernel 2.4.x):<br />
<pre>alias ippp0 hisax<br />
options hisax type=18 protocol=2</pre><br />
<br />
Alternatively you can only add the options line here, and add hisax to your MODULES array in the rc.conf. Your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl, it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples.<br />
Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dialup connection with isdnctrl dial ippp0 as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
These instructions are only relevant to you if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the adsl-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<pre># /etc/rc.d/adsl start</pre><br />
and<br />
<pre># /etc/rc.d/adsl stop</pre><br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically dial in on bootup, add adsl to your DAEMONS array.<br />
<br />
==Package Management==<br />
===Pacman===<br />
pacman is the package manager which tracks all the software installed on your system. It has simple dependency support and uses the standard tar-gz archive format for all packages. Some common tasks are explained below with the respective commands in long and short option form. For an up to date explanation of pacman's options, read man pacman. This overview is merely scratching the surface of pacman's current capabilities.<br />
<br />
Typical tasks:<br />
# Adding a new package with a package file<br />
# Upgrading a package with a package file<br />
# Removing packages<br />
# Refreshing the package list<br />
# Upgrading the system<br />
# Adding/Upgrading a package from the repositories<br />
# List installed packages<br />
# Check if a specific package is installed<br />
# Display specific package info<br />
# Display list of files contained in package<br />
# Find out which package a specific file belongs to<br />
<br />
====Adding a new package with a package file====<br />
<pre># pacman --add foo.pkg.tar.gz<br />
# pacman -A foo.pkg.tar.gz</pre><br />
<br />
This will install the foo.pkg.tar.gz package on the system. If dependencies are missing, pacman will exit with an error and report the missing deps, but not attempt to resolve the dependencies automatically. Look at the --sync option if you expect this functionality.<br />
<br />
NOTE: This option is deprecated. man pacman (>=3)<br />
<br />
-A, --add (deprecated)<br />
Add a package to the system. Either a<br />
URL or file path can be specified. The<br />
package will be uncompressed into the<br />
installation root and the database will<br />
be updated. The package will not be<br />
installed if another version is already<br />
installed. NOTE: please use --upgrade in<br />
place of this option.<br />
<br />
====Upgrading a package with a package file====<br />
<pre># pacman --upgrade foo.pkg.tar.gz<br />
# pacman -U foo.pkg.tar.gz</pre><br />
<br />
This does essentially the same as the --add operation, but will additionally upgrade an already-installed package at no extra cost. I can personally not imagine a case where you'd prefer --add over this --upgrade function.<br />
<br />
====Removing packages====<br />
<pre># pacman --remove foo<br />
# pacman -R foo</pre><br />
<br />
This will remove all files belonging to the package named foo, except for configuration files that have been edited. Only supply the name of the package to this command, without the pkg.tar.gz suffix.<br />
<br />
To remove any and all trace of a package, add the --nosave option to the above command.<br />
<br />
====Refreshing the package list====<br />
<pre># pacman --sync --refresh<br />
# pacman -Sy</pre><br />
<br />
This will retrieve a fresh master package list from the repositories defined in the /etc/pacman.conf file and uncompress it into the database area. You should use this before using --sysupgrade to make sure you get the newest packages. Depending on your pacman.conf settings, this command may require a working internet connection to access FTP-based repositories. This option is quite similar to Debian's apt-get update command.<br />
<br />
====Upgrading the system====<br />
<pre># pacman --sync --sysupgrade<br />
# pacman -Su</pre><br />
<br />
This command will upgrade all packages that are out-of-date on your system by comparing the local package version to the versions in the master package list that gets downloaded with the --refresh command. It's a good idea to run this every now and then to keep your system up to date. Note that this command does NOT implicitly refresh the master package list, so it's usually wiser to combine both commands into one:<br />
<pre># pacman --sync --refresh --sysupgrade<br />
# pacman -Syu</pre><br />
<br />
With these options pacman will automatically retrieve the current master package list and do a full system upgrade to the latest packages with all dependencies being automagically resolved. You will want to run this quite often.<br />
<br />
====Adding/Upgrading a package from the repositories====<br />
<pre># pacman --sync foo<br />
# pacman -S foo</pre><br />
<br />
Retrieve and install package foo, complete with all dependencies it requires. Before using any sync option, make sure you refreshed the package list, or add --refresh or -y to the options to do it before the installation attempt. Unlike --add, the --sync option does not differ between installing and upgrading packages. Depending on your pacman.conf settings this function requires working internet access.<br />
<br />
====List installed packages====<br />
<pre># pacman --query<br />
# pacman -Q</pre><br />
<br />
Displays the list of all installed packages in the system.<br />
<br />
====Check if a specific package is installed====<br />
<pre># pacman --query foo<br />
# pacman -Q foo</pre><br />
<br />
Instead of grepping the full list for a name, you can append the name of the package you are looking for to the query command. This command will display the name and version of the foo package if it is installed, nothing otherwise.<br />
<br />
====Display specific package info====<br />
<pre># pacman --query --info foo<br />
# pacman -Qi foo</pre><br />
<br />
Displays information on the installed package foo (size, install date, build date, dependencies, conflicts, etc.). To display this information for a package file that is not yet installed, add the --file or -p option, respectively:<br />
<pre># pacman --query --info --file foo.pkg.tar.gz<br />
# pacman -Qip foo.pkg.tar.gz</pre><br />
<br />
====Display list of files contained in package====<br />
<pre># pacman --query --list foo<br />
# pacman -Ql foo</pre><br />
<br />
Lists all files belonging to package foo.<br />
<br />
====Find out which package a specific file belongs to====<br />
<pre># pacman --query --owns /path/to/file<br />
# pacman -Qo /path/to/file</pre><br />
<br />
This query displays the name and version of the package which contains the file referenced by it's full path as a parameter.<br />
<br />
===Accessing Repositories===<br />
A package repository is a collection of packages and a package meta-info file that can reside in a local directory or on a remote FTP/HTTP server. The default repository for an Arch system is the current repository. This is kept up to date with the latest version of most software and stays fairly bleeding-edge.<br />
<br />
Many users also choose to activate the extra package repository which contains more packages that are not part of Arch's core package set. You can activate this repo by uncommenting the appropriate lines in your /etc/pacman.conf. This repository is activated by default.<br />
<br />
You can also build, maintain and use your own package repositories. See the pacman manpage for instructions.<br />
<br />
If you install from a CD and end up having a problem accessing the Internet, you may need to install additional packages from the CD. You can locate the packages on the cd and install them manually using pacman -A packagename.pkg.tar.gz Alternatively, you can temporarily set up a local repository to access the CD. Mount the CD on /mnt/cdrom using the command mount /mnt/cdrom (assuming your fstab is properly set up). Then add the following line to your /etc/pacman.conf, under the section [current] which is the name of the database package on the install cd (current.db.tar.gz):<br />
<br />
Server = file:///mnt/cdrom/arch/pkg<br />
<br />
Make sure you put it before "Include = /etc/pacman.d/current". This way, you cd will now be the primary [current] repository.<br />
You will then be able to install additional packages to help you get your Internet access set up.<br />
<br />
==Arch Build System (ABS)==<br />
===Binary vs. Source===<br />
Where pacman is responsible for the binary side of the package world, ABS is responsible for the source side: It helps you to build your own custom packages from source code, also letting you rebuild Arch Linux packages with your own customizations. The procedure usually goes as follows:<br />
<br />
# Synchronize your ABS tree with the server (run abs as root)<br />
# Create a new directory in /var/abs/local/ named after the package you are going to create<br />
# Copy the PKGBUILD.proto prototype from /var/abs/ into your newly created directory, remove the proto, suffix, and edit it for the new package.<br />
# Run makepkg in the working directory with the PKGBUILD file.<br />
# Install the newly built package with pacman.<br />
# Send the package to your friends for bragging rights (or give it to an Archer so s/he can stick it in the master ABS tree).<br />
<br />
===Synchronizing Your ABS Tree===<br />
You can synchronize all the PKGBUILD files in /var/abs by running the abs script as root. It requires the cvsup package to operate and will complain if you don't have it installed. Using CVS as the transfer medium allows you to follow different version trees within ABS - this can be configured in /etc/abs/supfile.arch. For example, the default supfile is set to track the current package tree, which is bleeding-edge and the recommended source to follow. You can also follow specific versions. See the comments in the supfiles for more info.<br />
<br />
ABS supports multiple repositories, which can be enabled or disabled from /etc/abs/abs.conf. By default abs will follow the current and extra repositories, but not unstable.<br />
<br />
You will also see an /etc/abs/supfile.extra file. This will give you access to all the unofficial build scripts that were not included in the main ABS repository. If you do not want to use this repository, you can delete the file, but usually it makes more sense to edit abs.conf accordingly instead.<br />
<br />
====How to Build Packages====<br />
The build process is thoroughly explained in the makepkg manpage. See it for instructions on building your own packages. If that's not helping you, keep your eyes peeled for tutorials in the Wiki, or ask for help in the forums or IRC.<br />
<br />
====Package Guidelines====<br />
<br />
When building package for Arch Linux, you should adhere to the package guidelines below, especially if you would like to contribute your new package to Arch Linux.<br />
<br />
====Package Naming====<br />
* Package names should consist of alphanumeric characters only; all letters should be lowercase.<br />
* Package versions should be the same as the version released by the author. Versions can include letters if need be (eg, nmap's version is 2.54BETA32). Version tags may not include hyphens! Letters, numbers, and periods only.<br />
* Package releases are specific to Arch Linux packages. These allow users to differentiate between newer and older package builds. When a new package version is first released, the release count starts at 1. Then as fixes and optimizations are made, the package will be re-released to the AL public and the release number will increment. When a new version comes out, the release count resets to 1. Package release tags follow the same naming restrictions as version tags.<br />
<br />
====Directories====<br />
Configuration files should be placed in the /etc directory. If there's more than one configuration file, it's customary to use a subdirectory in order to keep the /etc area as clean as possible. Use /etc/{pkgname}/ where {pkgname} is the name of your package (or a suitable alternative, eg, apache uses /etc/httpd/).<br />
<br />
Package files should follow these general directory guidelines:<br />
*/etc- System-essential configuration files<br />
*/usr/bin- Application binaries<br />
*/usr/sbin- System binaries<br />
*/usr/lib- Libraries<br />
*/usr/include- Header files<br />
*/usr/lib/{pkg}- Modules, plugins, etc.<br />
*/usr/man- Manpages<br />
*/usr/share/{pkg}- Application data<br />
*/etc/{pkg}- Configuration files for {pkg}<br />
*/opt- Packages that do not fit cleanly into Linux filesystem layout can be placed here. If a package's files can be cleanly placed into the above directories, then do so. If there are other high-level directories that do not fit, then you should use /opt. For example, the acrobat package has Browser, Reader, and Resource directories sitting at the same level as the bin directory. This doesn't fit into a normal Linux filesystem layout, so we place all the files in a subdirectory of /opt.<br />
<br />
====makepkg Duties====<br />
When you use makepkg to build a package for you, it does the following automatically:<br />
<br />
# Checks if package dependencies are installed<br />
# Downloads source files from servers<br />
# Unpacks source files<br />
# Does any necessary patching<br />
# Builds the software and installs it in a fake root<br />
# Removes /usr/doc, /usr/info, /usr/share/doc, and /usr/share/info from the package<br />
# Strips symbols from binaries<br />
# Strips debugging symbols from libraries<br />
# Generates the package meta file which is included with each package<br />
# Compresses the fake root into the package file<br />
# Stores the package file in the configured destination directory (cwd by default)<br />
<br />
====Other====<br />
Do not introduce new variables into your PKGBUILD build scripts, unless the package cannot be built without doing so, as these could possibly conflict with variables used in makepkg itself. If a new variable is absolutely required, prefix the variable name with an underscore.<br />
<br />
Avoid using /usr/libexec/ for anything. Use /usr/lib/{pkg} instead.<br />
<br />
The Packager field from the package meta file can be customized by the package builder by modifying the appropriate option in the /etc/makepkg.conf file, or alternatively by exporting the PACKAGER environment variable before building packages with makepkg:<br />
<pre># export PACKAGER="John Doe <your.email>"</pre><br />
<br />
====Submitting Packages====<br />
If you'd like to submit packages, please take a look at the Arch User Repository and their guidelines. New packages should be submitted to the AUR.<br />
<br />
If you're submitting a package directly to the Arch developers, we ask the following:<br />
<br />
# Please add a comment line to the top of your PKGBUILD file that follows this format: <pre># Contributor: Your Name <your.email></pre><br />
# Verify the package dependencies (eg, run ldd on dynamic executables, check tools required by scripts, etc.). It's also a good idea to use the namcap utility, written by Jason Chu jason@archlinux.org, to analyze the sanity if your package. namcap will tell you about bad permissions, missing dependencies, un-needed dependencies, and other common mistakes. You can install the namcap package with pacman.<br />
# All packages should come as a compressed tar file containing a directory with the newly built package, the PKGBUILD, filelist, and additional files (patches, install, ...) in it. The archive name should at least contain the name of the package.<br />
# Watch for announcements regarding the actual submission of packages, as a new implementation of the whole procedure is currently being discussed among the developers. If you think your package is too important to wait, you may of course ask a Trusted User if he would be willing to take your package for inclusion in his repository.<br />
<br />
==Frequently Asked Questions==<br />
The FAQs listed here are only covering any problems that may keep you from booting or installing an initial Arch Linux system. If you have questions regarding further usage of the system utilities, XFree86 setup, etc. or how to configure your hardware, please head over to the Wiki. If you think an issue is not covered here that should be, please notify the author of this document, whose address is to be found at the very top of this file.<br />
<br />
'''During package installation, pacman fails to resolve dependencies for package A because package B is not in the package set.'''<br />
<br />
Unless something is very broken and thus very likely to be reported by multiple people soon, you probably just forgot to mount your target partitions properly. This causes pacman to decompress the package database into the initial ramdisk, which fills up quite nicely and ultimatively leads to this error.<br />
<br />
Make sure that you use the DONE and not the CANCEL option offered by the Filesystem Mountpoints menu to apply your choices. This error should not happen if you use the Auto-Prepare feature; please report this as a bug.<br />
<br />
'''How can I install packages from the install CD with pacman --sync (so it resolves dependencies for me)?'''<br />
<br />
If you would rather have packages install from the CD instead of downloading them, then mount the install CD somewhere (eg, /mnt/cd) and add this line right below the [current] line in /etc/pacman.conf:<br />
<pre>Server = file:///mnt/cd/arch/pkg</pre><br />
<br />
Replace /mnt/cd with the mountpoint you chose. Then use pacman --sync as you normally would - It will now check the /mnt/cd directory first for packages.<br />
<br />
'''How can I create multiple swap partitions during the install?'''<br />
<br />
Naturally you won't be able to use the Auto-Prepare feature if you want to create and use multiple swap partitions. Create the partitions manually instead, and create as much swap partitions as your little heart desires. Go through the rest of the install, don't mind that you're only asked for one swap partition during the mount-point setting. Once you're through with the install and are about to edit your system configuration files, you can edit the fstab file and include a line for every swap device you created earlier. Simply copy the automatically generated swap line, and modify the referenced device according to your setup. The additional swaps will be activated after the bootup when swapon -a is being run by the initscripts.<br />
<br />
If, for any odd reason, you can not wait until after the installation with activating multiple swap partitions or files, you will have to open a shell on one of the virtual terminals and issue the swapon <device> for every swap drive or file you partitioned/readied before. Then continue as explained above with the install.<br />
<br />
In case you are honestly contemplating setting up multiple swap files or drives, you should keep in mind that a kernel that needs to swap is actually crying bitterly for more RAM, not more swap space. Please keep your penguin well fed. Thank you.<br />
<br />
'''How do I reconfigure LILO from the rescue system?'''<br />
As a first step you simply boot from the Arch Install CD or disks. If your partitions are intact and don't need checking, you should supply the root= kernel boot parameter as the instructions tell you. That will boot directly into your system, and you can skip all but the last step of actually reconfiguring and running lilo.<br />
<br />
If you cannot boot your old root directly, boot the CD as if you were going to start an installation. Once you're in a shell, you mount the root partition of your harddisk into the /mnt directory, for example like this:<br />
<pre># mount /dev/hda3 /mnt</pre><br />
<br />
Then you mount any other partitions to their respective mount points within that root of yours, for example a /boot partition:<br />
<pre># mount /dev/hda1 /mnt/boot</pre><br />
<br />
Now you need to mount a /dev tree in the /mnt area, where lilo will be able to find it:<br />
<pre># /mnt/bin/mount --bind /dev /mnt/dev</pre><br />
<br />
Once everything is mounted, make this /mnt directory your new root with the chroot /mnt command. This will start a new shell and drop you into the /mnt directory, which will be considered your / from then on.<br />
<br />
Now you can edit /etc/lilo.conf to your liking and run lilo to fix anything that needs fixing. Simply type exit when you want to break out of this root again, back into the original file tree. You can now reboot and test your changes.<br />
<br />
'''I can't ssh into my machine!'''<br />
<br />
Edit your /etc/hosts.deny file. The default configuration will reject all incoming connections.<br />
<br />
'''How should I load modules during boot now?'''<br />
<br />
If you want to load a module unconditionally without a specific device binding, add the name of the module to the MODULES array of your /etc/rc.conf. For on demand loading on device access, add it as usual with the alias command to your /etc/modprobe.conf (/etc/modules.conf for 2.4 kernels). To pass any options to a module you want to load through the MODULES array, only add the appropriate options line to the /etc/modprobe.conf.<br />
<br />
'''Kernel refuses to boot because of lost interrupt'''<br />
<br />
Kernel refuses to boot. It locks at:<br />
<pre>IRQ probe failed for hda<br />
hda lost interrupt</pre><br />
<br />
This error occurs for some HD controllers on kernel 2.6.x. A workaround is to pass the acpi=off option to the kernel at boot time.<br />
<br />
'''I get access denied errors trying to play sound or read DVDs.'''<br />
<br />
Add your user to the optical and audio groups.<br />
<pre># gpasswd -a johndoe optical<br />
# gpasswd -a johndoe audio</pre><br />
<br />
Logout, then login as your regular user (eg, johndoe) so the group changes can take effect.<br />
<br />
If you have a DVD drive, you may want to create a /dev/dvd symlink to your real DVD device.<br />
<br />
For example, if you use udev and your DVD drive is on /dev/hdc, you can do the following as root:<br />
<pre># cat >>/etc/udev/rules.d/00.rules <<EOF<br />
> KERNEL="hdc", NAME="hdc", SYMLINK="dvd"<br />
> EOF<br />
# /etc/start_udev<br />
# mount /dev/pts<br />
# mount /dev/shm</pre><br />
<br />
'''When trying to install packages with pacman, I get this: error: xorg conflicts with xfree86.'''<br />
<br />
This is a temporary problem as we make a full switch over to xorg. Currently, some packages still depend on xfree86 specifically, so pacman gets confused.<br />
<br />
You can fix this problem by installing xorg explicitly, then installing other packages afterwards.<br />
<br />
<pre># pacman -S xorg<br />
# pacman -S otherpkg1 otherpkg2 ...</pre></div>
LTSmash
https://wiki.archlinux.org/index.php?title=Official_Installation_Guide_(Espa%C3%B1ol)&diff=30167
Official Installation Guide (Español)
2007-09-30T19:17:04Z
<p>LTSmash: Translating the official instll guide to spanish, any help is welcome</p>
<hr />
<div>{{Translateme}}<br />
<br />
[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Official Arch Linux Install Guide}}<br />
{{i18n_entry|Česky|Oficiální instalační příručka (Česky)}}<br />
{{i18n_entry|Русский|Руководство по установке}}<br />
{{i18n_links_end}}<br />
<br />
:''This is the general user documentation for the Arch Linux distribution, '''version 0.7.2 (Gimmick)'''. It covers obtaining the necessary files, installing the distribution and setting up a basic, bootable system. Additionally, a short reference for the system layout and Arch-specific tools is supplied, e.g. the pacman package manager and ABS.''<br />
<br />
==Introduction==<br />
===What is Arch Linux?===<br />
Arch Linux is an i686-optimized Linux distribution that was originally inspired by ideas from CRUX, a great distribution developed by Per Lidén.<br />
<br />
Arch is fast, lightweight, flexible and simple. Those aren't very fancy buzzwords but they're all true. Arch is optimized for the i686 processor, so you get more for your CPU cycle. It's lightweight compared to RedHat et al, and its simple design makes it easy to extend and mold into whatever kind of system you're building. It uses one main configuration file to control everything from your locale, network, and modules, to daemons and the order in which they start.<br />
<br />
This is backed by an easy-to-use binary package system that resolves dependencies automatically, and allows you to upgrade your entire system with one command, since Arch conforms to a rolling-release cycle. Arch also uses BSD-style init scripts and a ports-like package build system (Arch Build System) to make it easy to build packages, which can also be synchronized with one command. Oh yeah, and you can rebuild your entire system with one command, too. Everything is done quite simply and transparently, resulting in one of the most streamlined, powerful, and customizable distributions currently available.<br />
<br />
Arch Linux strives to maintain the latest stable version of its software. We currently support a fairly streamlined core package set with a growing collection of extra packages made by users and AL developers.<br />
<br />
In its goal to be simple and lightweight, the relatively useless portions of a Linux system have been left out, things like /usr/doc and the info pages. In my own personal experience these are rarely used, and the equivalent information can be obtained from the net if need be. Manpages all the way...<br />
<br />
Arch Linux also strives to use some of the newer features that are available to Linux users. Arch Linux 2007.05 (Duke) uses the 2.6.21 Linux kernel and udev by default, a progressive initramfs system (mkinitcpio), and has support for XFS/JFS,Reiserfs, RAID/LVM, and encrypted filesystems.<br />
<br />
===License===<br />
Arch Linux, pacman, documentation, and scripts are copyright ©2002-2006 by Judd Vinet and are licensed under the GNU Public License.<br />
<br />
==Installing Arch Linux==<br />
===Pre-Installation===<br />
Arch Linux is optimized for the i686 processor or x86-64 processor and will not run on any lower x86 chips (i386, i486, i586). A Pentium II processor or higher is required.<br />
<br />
Before installing Arch Linux, you should decide which installation method you would like to use. Arch Linux provides a bootable ISO image for a CD-ROM install, as well as floppy disk images for an FTP-based install. You can also download a base ISO of only roughly 200 MB in size, which contains only the identical base and kernel sets of packages. The Archlinux base-iso is the recommended method.<br />
<br />
If you do not have a CD-ROM drive attached to your computer, you're naturally stuck with the floppy variant and the FTP install.<br />
<br />
Otherwise obtain a bootable Arch installation CD, either by downloading and burning the latest ISO from one of the mirrors listed below, or by letting someone else burn a copy if your dial-up connection simply doesn't cut it, or you don't own a CD writer. You can also purchase a CD online from OSDisc, shipping nearly worldwide.<br />
<br />
You can also do an FTP install with the CD; the floppy variant is really only recommended as a last resort, as it's painfully slow and disks tend to be broken more often than they are intact.<br />
<br />
Furthermore, due to Arch's rolling-release concept, you should not worry about using an old ISO for installation, as upgrading the system to the current branch can be accomplished with one command, once you've got your base system set up. (A broadband connection is recommended.)<br />
<br />
Using a dial-up PPP connection to gain access to the internet during the install process is NOT supported as of yet, since the needed pppd daemon and ISDN utilities are not included in the root disk image.<br />
<br />
For a successful FTP install you must have a gateway in your LAN that is actually connected to the internet and routes any requests from the PC to be installed into the internet and back. Or, alternatively, you can of course have a properly set up FTP server in your LAN to install from. Point is that you cannot attach a modem to your PC and set up a connection with your provider with the Installer. It won't work.<br />
<br />
The most expedient method of installing Arch Linux surely is installing the base system from the base CD, followed by a complete system upgrade. Subsequently, any other packages you want or need once you set up your internet connection will be available through pacman from your newly installed base system. Again, this method is strongly recommended and conforms to the "Arch Way".<br />
<br />
Another thing you should know before trying to install Arch Linux is that during the install you're asked a few questions about which hard drive to prepare, what modules to load, and what changes to make to certain system-critical files like lilo.conf and rc.conf. The installer will not hold your hand here and guide you through any potential setup known and unknown to mankind; you are expected to know what to put in and leave out. This is quite a requirement for a newbie, so if this intimidates you already, make sure you read through this whole document to get at least a vague idea of what is going to be asked, and check back on IRC, the forums or a Linux guru in your neighborhood if anything is not clear to you before you totally mess up your system. You may of course boldly step into the fight and tinker around and try until it works, but don't tell anyone afterwards you haven't been warned. That being said, it's not as bad as it seems. ;)<br />
<br />
====What You Will Need====<br />
* A working knowledge of Linux and your system, esp. your hardware<br />
* Arch Linux installation media (see the mirror list)<br />
** Either the Arch Linux Install CD, or<br />
** 2-7 floppy disks, depending on what you need: SCSI, Ethernet, etc.<br />
* Either an i686-based computer (PPro, Pentium 2 or higher, Athlon/Duron, VIA-C7, etc. Note that AMD K6, Transmeta Crusoe, Cyrix III, and VIA C3 are NOT supported.), or<br />
* An x86-64-based computer (Pentium 4/Celeron with x64 support, Athlon x64, Core 2) <br />
* Some time to kill<br />
<br />
====Acquiring Arch Linux====<br />
You can download Arch Linux from any of the mirrors listed on the download page. If you are downloading the floppy disk images for an FTP-based install, be sure to select a mirror that provides the packages. Likewise, if you will be performing a CD-based install, be sure to select a mirror that provides the ISO.<br />
<br />
Consult the [http://www.archlinux.org/download webpage] for a current list of download mirrors.<br />
<br />
====Floppy Install====<br />
<br />
# Download images/boot.img (path is relative to the mirror root)<br />
# Download images/root.img<br />
# Download any add-on images you need from the images/addons/ subdirectory:<br />
;ethernet.img : Ethernet modules<br />
;fs1.img : XFS/JFS modules, Ext2 extra utilities<br />
;fs2.img : XFS/JFS extra utilities<br />
;keymaps_usb_firewire.img : Additional keymaps/console fonts, USB/Firewire modules<br />
;ntfs_fdisk.img : NTFS modules and utilities, fdisk<br />
;pcmcia_wlan.img : PCMCIA modules, wireless utilities<br />
;raid_lvm.img : RAID/LVM modules and utilities<br />
;scsi.img : SCSI modules<br />
<br />
#Find some blank floppies and write the images to them:<br />
<pre>(insert first disk)<br />
# dd if=boot.img of=/dev/fd0<br />
(insert second disk)<br />
# dd if=root.img of=/dev/fd0<br />
<br />
(repeat for any additional add-on images)<br />
# dd if=scsi.img of=/dev/fd0</pre><br />
<br />
If you need to write these images from a Windows box, you can download rawrite.exe and use it instead of dd.<br />
# Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, 8139too)<br />
<br />
====CD Install====<br />
# Download 2007.05/iso/i686/arch-2007.05.iso or 2007.05/iso/i686/arch-2007.05-base.iso (path relative to mirror root)<br />
# Download 2007.05/iso/i686/arch-2007.05.md5sum<br />
# Verify the integrity of the .iso image using md5sum:<br />
<pre>md5sum --check arch-2007.05.md5sum<br />
arch-2007.05.iso: OK</pre><br />
If you want to download the base or a beta ISO instead, use the appropriate filename, ie: arch-2007.05-base.iso instead of arch-2007.05.iso, likewise for the md5sum.<br />
# Burn the .iso image to a blank CD-R (this step varies depending on the OS/software you're using). It is recommended to use lower burn speeds (2x-16x) for this operation. This will ensure an accurate image burn and save you from unneeded aggravation. Checking the md5sum of the burned CD is also good practice:<br />
<br />
<pre>md5sum /dev/cdrom</pre><br />
<br />
Write down all your network settings so you can enter them into setup later, if you want to install via FTP:<br />
** IP Address<br />
** Subnet Mask<br />
** Gateway<br />
** Ethernet Module for your network card (e.g.: eepro100, or 8139too, or forcedeth)<br />
<br />
===Using the CD-ROM===<br />
You should skip this section and go right to the Floppy Installation instructions if you are not using a CD-ROM from which to boot. If you're already familiar with the boot process, you may skip all this babble as well, and jump to the Common Install Procedure, which outlines the actual process of installing Arch Linux.<br />
<br />
Reboot your computer with the Arch Linux Installation CD in the drive. Make sure your BIOS is set in a way to allow booting from your CD-ROM. Refer to your motherboard manual or your system manufacturer for details if you have no clue how to do that. Once the CD is booted from, you will see a boot prompt waiting for your input indefinitely, explaining what your options are at this point. Most users can just hit Enter to boot the default Arch install kernel with IDE and SCSI support. If, for some reason, the kernel does not boot for you, you can try the IDE-only kernel by typing arch-noscsi at the boot prompt.<br />
<br />
If your CD-ROM fails to boot for no obvious reason, and you're using a rather old CD-ROM drive in conjunction with a copy burned to a CD-RW, consider using a normal CD-R instead. Some older drives [mine, for example - Dennis] don't manage to read CD-RWs properly.<br />
<br />
At the end of the boot procedure, you should be dropped into a root shell with a handful of instructions filling the upper half of your screen. At this point you are ready to commence the actual installation. Don't let those instructions fool you; when booting from a CD, you don't have to run the loaddisk anymore as it's done automatically during boot. Only floppy users need to run loaddisk manually.<br />
<br />
===Using The Floppies===<br />
If you have any chance of booting the system from the Arch Linux CD, it's strongly recommended to do so. Not only are the floppies themselves prone to failure, the whole boot process takes much longer, and if you need a handful of modules the disk-juggling is very unnerving. Note that you do not have to boot from floppies to install via FTP; CD-ROM will do just fine.<br />
<br />
Reboot your computer with the boot disk in the floppy drive. After some disk-crunching noises, you should come to a boot prompt, waiting eagerly for your input. Press Enter to continue the boot process after adding any potentially needed kernel parameters.<br />
<br />
If you are using a USB keyboard, you will need to load USB support automatically at bootup. You can do this by setting the NEEDUSB parameter to your USB bus type. For example, if you have a UHCI bus, you would type arch NEEDUSB=uhci at the boot prompt. After the root disk loads, you will be prompted to load the USB add-on disk, which will be auto-loaded after a 10-second wait. If you're not sure what kind of USB bus you have, try specifying NEEDUSB=auto, which will load all three (UHCI, OHCI, EHCI) bus modules.<br />
<br />
Partway through the boot-up process, you will be prompted:<br />
<br />
<pre>VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER</pre><br />
<br />
Insert the root disk in the drive and hit Enter. After some more chunking you will be given a shell. Since you'll be needing your Ethernet module for the install, you should now load the modules from the Ethernet disk. Put the disk in the drive and run:<br />
<br />
<pre># loaddisk /dev/fd0</pre><br />
<br />
After a while all Ethernet modules will be extracted to the file system. If the directory /lib/modules/ is still empty after this command, and/or you got a couple of errors, your disk has most likely gone bad. Create a new modules disk, and try again. You do not need to reboot in this case; just reissue the loaddisk command. Don't be worried if you have several disks failing this way; it's unfortunately quite common. Don't say nobody told you.<br />
<br />
You should also load any additional add-on disks that you need, such as SCSI or RAID/LVM. Use the loaddisk command as above for each disk; the order does not matter.<br />
<br />
If you know which Ethernet module you need, you should load it now with the modprobe command. Don't worry too much if you don't; the installer program will probe for the right module automatically.<br />
<br />
===Common Installation Procedure===<br />
<br />
At this point your system should be booted, and the hard drive to which you'd like to install, as well as your installation source, must be accessible. Make sure all necessary modules are loaded, if any.<br />
<br />
====Installation Steps====<br />
# Loading a non-US Keymap<br />
# Running Setup<br />
# Configure Network (FTP Install only)<br />
# Prepare Hard Drive<br />
## Auto-Prepare<br />
## Partition Hard Drives<br />
## Set Filesystem Mountpoints<br />
# Select Packages<br />
# Install Packages<br />
# Configure System<br />
# Install Kernel<br />
# Install Bootloader<br />
# Exit Install<br />
<br />
Using the available shell tools, experienced users are also able to prepare the hard drive or any devices needed for the installation before starting the installer. You may simply skip this paragraph if you don't see any immediate need for further manual interaction. Note that the Arch Linux installation media also contains a /arch/quickinst script for experienced users. This script installs the base set of packages to a user-specified destination directory. If you are doing an exotic install with fun things like RAID and LVM, or don't want to use the installer at all, you'll probably want to use the quickinst script. <br />
All the cool kids do it.<br />
<br />
====Loading a non-US Keymap====<br />
If you require a non-US keymap, you can use the km utility to load a new keymap. Just type km at the prompt, then use the arrow keys to navigate to the correct keymap and/or console font.<br />
<br />
====Running Setup====<br />
<br />
Now you can run /arch/setup to invoke the installer program. After some info messages you will be prompted for the installation method of your choice. If you have a fast internet connection, you might prefer the FTP installation to ensure you get the latest packages instead of using the potentially outdated CD contents. Note that you will probably run into trouble if you have an interesting proxy setup. If you can't use a CD-ROM, this is the only viable method of installing Arch Linux.<br />
<br />
When navigating the setup script, make sure that you select DONE from the submenus after performing each step. This saves any settings you make in preparation for the next step. Further, avoid backstepping through previous steps in the installation process as this can also confuse the installer.<br />
It's actually rather easy to set up your own FTP package mirror or create your own bootable installation CD with the packages you need, making the task of installing several instances of Arch Linux across multiple machines rather simple, whilst at the same time saving a lot of mirror bandwidth. Make your life and ours easier, and look into these alternatives!<br />
<br />
When choosing a CD-ROM install you will only be able to install packages contained on the CD, which may be quite old. Of course it has the merit that you won't need an internet connection, and is therefore the recommended choice for dialup users or anyone else who does not feel like downloading about at least 100 MB of packages.<br />
<br />
After choosing one of the two alternatives, you will be presented with the installer menu, listing the necessary steps in the order in which they should be completed.<br />
<br />
At any point in the install process, you can switch to your 5th virtual console (ALT-F5) to view the output from the commands that setup is running. Use (ALT-F1) to get back to your first console where the installer is running, and any F-key in between if you need to open another console to intervene manually for any reason.<br />
<br />
====Configure Network (FTP Install only)====<br />
Configure Network will allow you to install and configure your network device.<br />
<br />
If no eth0 device is available yet, you will be asked whether you want the installer to probe for a network module. Choose YES here unless that messes up your system horribly (which shouldn't happen), or NO if you want to load the module manually. If the installer fails to find a matching network module, make sure you ran the loaddisk command correctly earlier to make the ethernet modules available. When booting from CD-ROM, this is done automatically for you. If your network card is still not found, make sure your card is properly physically installed and supported by the linux kernel at all.<br />
<br />
When the correct module is loaded, you will be given the option to configure your network with DHCP. If you're connected to a DHCP server, hit YES and let the installer do the rest. If you select NO, you will be asked to enter the networking information manually, which you hopefully wrote down as you were told.<br />
<br />
This menu entry is only available when choosing FTP Installation, for rather obvious reasons.<br />
<br />
====Prepare Hard Drive====<br />
Prepare Hard Drive will bring you into a submenu offering two alternatives of preparing your target drive for installation.<br />
<br />
=====Auto-Prepare=====<br />
The first choice is Auto-Prepare, which will automatically partition your hard drive into a /boot, swap, and root partition, and then create filesystems on all three. These partitions will also be automatically mounted in the proper place. To be exact, this option will create a<br />
* 32 MB ext2 /boot partition<br />
* 256 MB swap partition<br />
* ext3 root partition with the remaining space<br />
<br />
Actual sizes may vary slightly due to different hard disk geometries. You can choose this option if you don't know much about hard drive partitions, but be warned: AUTO-PREPARE WILL ERASE ALL DATA ON THE CHOSEN HARD DRIVE!<br />
<br />
Read the warning presented by the installer very carefully, and make sure the correct device is about to be partitioned!<br />
<br />
A way to verify your choice for a device to partition would be to open another terminal (ALT-F2, Enter) and enter<br />
<pre># cfdisk -P s <name of device></pre><br />
there to display the current partition table of the selected device, which should suffice to identify the hard disk.<br />
<br />
If no device name is shown ([nothing] will be COMPLETELY ERASED! ...), and the installer produces an Device not valid error after hitting YES, make sure you loaded all needed modules if it's a SCSI, RAID, etc. device. You can still load any modules now by changing to another terminal and issuing the commands there, then return to the installer process on terminal one (ALT-F1).<br />
<br />
If you prefer to do the partitioning manually, use the other two options, Partition Hard Drives and Set Filesystem Mountpoints to prepare the target media according to your specifications as outlined below. Otherwise Return to Main Menu after a successful auto-preparation.<br />
<br />
=====Partition Hard Drives=====<br />
Partition Hard Drives should be skipped if you chose Auto-Prepare already.<br />
<br />
Otherwise you should select the disk(s) you want to partition, and you'll be dropped into the cfdisk program where you can freely modify the partitioning information until you [Write] and [Quit].<br />
<br />
You will need at least a swap and a root partition to continue the installation.<br />
<br />
=====Set Filesystem Mountpoints=====<br />
Set Filesystem Mountpoints should also be skipped if you chose to Auto-Prepare your hard drive. You should select this choice once the partition information is edited to your liking with the previous menu selection, or already existent through whatever other means.<br />
<br />
The first question to answer is what partition to use as swap. Select the previously created swap partition from the list, and select the partition that is supposed to become your root partition in the next step.<br />
<br />
Every time you specify a partition to mount, you will be asked if you want to create a filesystem on the respective partition. If you select YES, you will be asked what filesystem to create (a matter of taste, really. Choose ext2 if you have no clue), and the partition will be formatted with the chosen filesystem, destroying all data in the process. It should be no problem, however, to say NO at this point to preserve any existing files on the partition.<br />
<br />
If you want to preserve existing data on a partition, you are strongly advised to create backups instead of hoping that nothing will go wrong during the install. Don't say I didn't warn you!<br />
<br />
You will not be asked for a filesystem to use on your swap partition, as this partition uses a specific filesystem of it's own.<br />
<br />
If you want to mount any other partitions, for example a separate /boot or /home partition, you will be able to do so now. Simply<br />
* select a partition to mount<br />
* choose a filesystem (if you want to create one instead of keeping the data)<br />
* choose a mountpoint for the partition<br />
<br />
Repeat these steps until you're satisfied, then select DONE to create any filesystems and mount the partitions in their respective places. After formatting and mounting all partitions, you will be dropped into the Main Menu, ready to proceed.<br />
<br />
Do not mount /tmp on a separate partition just yet, as it will badly confuse the installer! Simply leave the designated /tmp partition alone until the installation is done, and configure the partition manually after you have a running system if you must have a separate partition for /tmp.<br />
<br />
====Select Packages====<br />
Select Packages will let you select the packages you wish to install from the CD or your FTP mirror.<br />
<br />
If you chose CD-ROM installation, you have to tell the installer whether it should try to mount the CD itself, or whether you already mounted the source media in /src. Select the option according to what you need; Normally you will want to choose CD, after which you will be given the possibility to choose a CDROM drive from the list of all detected devices.<br />
<br />
If your CD-ROM drive is not displayed in the list, make sure you loaded any modules that may be needed, like SCSI or USB storage support.<br />
<br />
If you chose FTP Installation, you will be asked to choose a mirror close to you from a list, or select CUSTOM to enter your own fully qualified FTP path to an installation source, ie. a prepared server in your LAN, or a mirror that's not listed for whatever reason.<br />
<br />
Whatever source you chose, after fetching the package list you'll be dropped into the package category selection screen.<br />
<br />
If you are presented an error while fetching the package database, you should either choose another FTP mirror, make sure your network is working at all, and you didn't slip any typos into your custom server address. You might also have goofed mounting of your source media in the /src directory, if you chose that option.<br />
<br />
Now, once that is tackled, you have the opportunity to specify whole package groups from which you'd generally like to install packages, then fine-tune your coarse selection by (de)selecting individual packages.<br />
<br />
Any packages in the BASE category should stay selected under all circumstances, and you should select any other group which contains a package you might need. Please note that the upcoming individual package selection screen will only offer packages which are in the categories you select here, so if you only select BASE, you won't be able to add any other packages than those in the BASE category.<br />
<br />
If you want to only select the bare minimum for installation, but be able to browse through all available packages nevertheless to see if anything interesting is there to add, you should select all package categories, but choose to NOT select all packages by default.<br />
<br />
The Select all packages by default? question can be easily misunderstood; Basically you are asked whether you want all the packages in the categories you just chose to be selected or not.<br />
<br />
If you select YES, the whole list of packages contained in the chosen categories will be displayed and selected, and your job will be to deselect what you do not want.<br />
<br />
If you select NO, the same list of packages will displayed, but only packages of the BASE category will be selected, and you'll have to explicitly select any other packages you want to install.<br />
<br />
Choosing NO helps to install a lean system!<br />
<br />
It is recommended that you install all the BASE packages, but not anything else at this point. Don't worry about getting all the packages you want - you can easily install more of them once the basic system boots by itself. The only exception to this rule is installing any packages you need for setting up internet connectivity. These packages usually are:<br />
<br />
;dhcpcd (base) : Add if your machine is a DHCP client.<br />
;isdn4k-utils (network) : Add if you use ISDN for dialup.<br />
;ppp (base) : Add if you use an analog modem for dialup.<br />
;rp-pppoe (base) : Add if you use DSL for pseudo-dialup.<br />
<br />
The downloadable base ISO does not contain any packages but those in the BASE category, so be advised to get the full sized ISO if you need ISDN packages!<br />
<br />
Once you're done selecting the packages you need, leave the selection screen and continue to the next step, Install Packages.<br />
<br />
====Install Packages====<br />
Install Packages will now install pacman and any other packages you selected with resolved dependencies onto your harddisk.<br />
<br />
If you skipped preparation of your hard drive, you will be asked where your root partition has been mounted. This should only happen to people who partitioned and created filesystems on the target devices manually. Those people will have to enter the root directory where the packages shall be installed. By default, the installer mounts the root partition in /mnt, and any extra partitions below.<br />
<br />
Error messages and debugging output is output to terminal five (ALT-F5). After the packages are installed, proceed to the next step, Configure System.<br />
<br />
====Configure System====<br />
Configure System allows you to edit the configuration files crucial for your newly installed system.<br />
<br />
If you're in a real hurry, you may skip this step entirely and hope the defaults will work, but it's strongly recommended to iterate through the list of config file presented here and change options accordingly. Please refer to [[#System Configuration|System Configuration]] for detailed instructions.<br />
<br />
====Install Kernel====<br />
Install Kernel will ask you which kernel image to install on your hard drive.<br />
<br />
Recommended: Install the stock 2.6.x kernel with SCSI/SATA/IDE support. The exact support each 2.6.x kernel has will depend on how you have configured your initial ramdisk, but the default has support for all known SCSI, SATA, and IDE systems. See the System Configuration section for more information about the initrd. <br />
<br />
Please note that Arch Linux uses the 2.6 kernel by default. We are phasing out support for the 2.4 series, so you should only use it if 2.6 just isn't working out for you.<br />
<br />
====Install Bootloader====<br />
Install Bootloader will install a bootloader on your hard drive, either GRUB (recommended) or LILO, depending on your personal preference.<br />
<br />
Before installing the bootloader, the setup script will want you to examine the appropriate configuration file to confirm the proper settings. Make sure you know what your root (and /boot, if you have it) partitions are.<br />
<br />
If you choose to install LILO, the bootloader will be automatically installed according to your settings in the configuration file, whilst GRUB demands the selection of a partition to install the bootloader to. Here you should choose what you would enter as the boot option of LILO, which is usually the entry named /dev/hda, as it refers the master boot record of the first hard disk. Detailed error messages can be found as usual on VC5 (virtual console 5), if anything goes wrong.<br />
<br />
If you plan on setting up a multiboot system, it might be a better option to install the bootloader in your root or /boot partition, and refer to that boot sector from whatever other boot loader you want to reside in the master boot record.<br />
<br />
Installing a boot loader in the MBR will relentlessly overwrite any existing bootloader! Make sure you understand the implications of that if you're running a multiboot system, or want to preserve an installed bootloader from another OS!<br />
<br />
====Exit Install====<br />
<br />
Exit Install now, remove the CD from the drive, type reboot at the command line and cross your fingers!<br />
<br />
If your system boots up, you can log in as root without any password, so your first things to do are setting a password for root with the passwd command once you're logged in, add a user as outlined in the User Management section, and set up your Internet Connection.<br />
<br />
Congratulations! Now you can proceed getting into the nitty-gritty of configuring the interesting parts of your system.<br />
<br />
==System Configuration==<br />
These are the core configuration files for Arch Linux. You should be comfortable hand-editing these files with a text-editor, because there aren't any GUI apps to help you out. Only the most basic configuration files are listed here. If you need help configuring a specific service, please read the appropriate manpage or refer to any online documentation.<br />
<br />
Arch Linux does not use any abstraction layer to administrate your system. As a result, you can usually stick to any instructions published by the author of a software, or whatever you find in a search engine of your choice, and it'll work out without confusing your system, because your system just does not care.<br />
<br />
====Configuration Files====<br />
Before attempting to boot your newly installed system, you should at least glance over these files and make sure they are not too far off.<br />
# /etc/rc.conf<br />
# /boot/grub/menu.lst<br />
# /etc/lilo.conf<br />
# /etc/mkinitrd.conf<br />
# /etc/hosts<br />
# /etc/fstab<br />
# /etc/modprobe.conf<br />
# /etc/modules.conf<br />
# /etc/resolv.conf<br />
# /etc/conf.d/*<br />
# /etc/profile<br />
<br />
=====/etc/rc.conf=====<br />
This is the main configuration file for Arch Linux. It allows you to set your keyboard, timezone, hostname, network, daemons to run and modules to load at bootup, profiles, and more. You should read through all the settings in this file and make sure you understand them:<br />
<br />
;LOCALE : This sets your system language, which will be used by all i18n-friendly applications and utilities. You can get a list of the available locales by running '''locale -a''' from the commandline. This setting is not needed for US English users. <br />
;HARDWARECLOCK : Either '''UTC''' if your BIOS clock is set to UTC or GMT, or '''localtime''' if your BIOS clock is set to your local time. If you have an OS installed which cannot handle UTC BIOS times correctly, like Windows, choose localtime here, otherwise prefer UTC, which makes daylight savings time a non-issue and has a few other positive aspects. <br />
;TIMEZONE : Specifies your time zone. Possible time zones are the relative path to a zoneinfo file starting from the directory /usr/share/zoneinfo. For example, a german timezone would be '''Europe/Berlin''', which refers to the file /usr/share/zoneinfo/Europe/Berlin. If you don't know the exact name of your timezone file, worry about it later. Command '''tzselect''' can find correct timezone for you.<br />
;KEYMAP : Defines the keymap to load with the loadkeys program on bootup. Possible keymaps are found in /usr/share/kbd/keymaps. Please note that this setting is only valid for your TTYs, not any graphical window managers or X. <br />
;CONSOLEFONT : Defines the console font to load with the setfont program on bootup. Possible fonts are found in /usr/share/kbd/consolefonts. <br />
;USECOLOR : Enable ('''yes''') or disable ('''no''') colorized status messages during boot-up. <br />
;MOD_AUTOLOAD : If set to "YES", Arch will scan your hardware at bootup and attempt to automatically load the proper modules for your system. This is done with the hwdetect utility. <br />
;MOD_BLACKLIST : This is an array of modules that you do not want to be loaded at bootup. For example, if you don't want that annoying PC speaker, you could blacklist the pcspkr module. <br />
;MODULES : In this array you can list the names of modules you want to load during bootup without the need to bind them to a hardware device as in the modprobe.conf (or modules.conf, if you're using kernel 2.4.x). Simply add the name of the module here, and put any options into the modprobe.conf if need be. Prepending a module with a bang ('!') will not load the module during bootup (this is not the same as MOD_BLACKLIST). <br />
;USELVM : Set to "YES" to run a vgchange during sysinit, thus activating any LVM groups. If you have no idea what this means, don't bother. <br />
;HOSTNAME : Set this to the hostname of the machine, without the domain part. This is totally your choice, as long as you stick to letters, digits and a few common special characters like the dash. Don't be too creative here, though. <br />
;INTERFACES : Here you define the settings for your networking interfaces. The default lines and the included comments explain the setup well enough. If you do not use DHCP to configure a device, just keep in mind that the value of the variable (whose name must be equal to the name of the device which is supposed to be configured) equals the line which would be appended to the ifconfig command if you were to configure the device manually in the shell. <br />
;ROUTES : You can define your own static network routes with arbitrary names here. Look at the example for a default gateway to get the idea. Basically the quoted part is passed exactly as you pass it to the route add command, therefore reading man route is recommended if you don't know what to write here. <br />
;NET_PROFILES : Enable certain network profiles at bootup. Network profiles provide a convenient way of managing multiple network configurations, and are intended to replace the standard INTERFACES/ROUTES setup that is still recommended for systems with only one network configuration. If your computer will be participating in various networks at various times (eg, a laptop) then you should take look in the /etc/network-profiles directory to set up some profiles. There is a template file included there that can be used to create new profiles. <br />
;DAEMONS : This array simply lists the names of those scripts contained in /etc/rc.d/ which are supposed to be started during the boot process. If a script name is prefixed with a bang (!), it is not executed. If a script is prefixed with an "at" symbol (@), then it will be executed in the background (ie, the startup sequence will not wait for successful completion before continuing). Usually you do not need to change the defaults to get a running system, but will edit this array quite often once you install system services like sshd.<br />
<br />
=====/boot/grub/menu.lst=====<br />
GRUB is the default bootloader for Arch Linux, and is highly recommended. You should check and modify this file to accommodate your boot setup if you want to use GRUB, otherwise read on about the LILO configuration.<br />
<br />
Configuring GRUB is quite easy, the biggest hurdle is that it uses yet another device naming scheme different from /dev; Your hard disks as a whole are referred to as (hd0), (hd1), etc., sequentially numbered in order of appearance on the IDE/SCSI bus, just like the hda, hdb, etc. names in Linux. The partitions of a disk are referred to with (hd0,0), (hd0,1) and so on, with 0 meaning the first partition. A few conversion examples are included in the default menu.lst to aid your understanding.<br />
<br />
Note that the hdx naming scheme is in direct reference to your BIOS drive layout, whereas the sdx naming scheme is in direct reference to the udev device layout. The 2 are not always in sync, (for instance, hd0,0 will not always be sda1) especially if you have a mixture of both many IDE and SATA harddrives on your machine.<br />
<br />
Once you have grasped the concept of device naming, all you need to do is to choose a nice title for your boot section(s), supply the correct partition device as a parameter to the root option to have it mounted as / on bootup, and create a kernel line that includes the partition and path where the kernel is located as well as any boot parameters. If using the stock Arch 2.6.x kernel, you'll also need an initrd line that points to the initrd26.img file in your /boot directory. The path you put on your initrd line should be the same as the path to vmlinuz26 that you provide on the kernel line. You should be fine with the defaults, just check whether the partition information is correct in the root and kernel lines.<br />
<br />
To create a boot option that loads the bootsector of a different OS, this example might be helpful. You will probably succeed in starting any Microsoft-based operating system with it, just add this block to the file after any other sections, and modify the partition device accordingly to refer to the partition containing the bootsector of the OS you are intending to boot.<br />
<br />
<pre># (1) Other OS<br />
title My Other OS<br />
rootnoverify (hd0,1)<br />
makeactive<br />
chainloader +1</pre><br />
<br />
For advanced configuration of other OSes, please refer to the online [http://www.gnu.org/software/grub/manual/grub.html GRUB manual].<br />
<br />
=====/etc/lilo.conf=====<br />
This is the configuration file for the LILO bootloader. Make sure you check this one and get it right if you want to use LILO to boot your system. See LILO documentation for help on this.<br />
<br />
Things you should check are the root= lines in the image sections and the boot= line right at the beginning of the file. The root lines specify the device which shall be mounted as the root filesystem on bootup. If you don't know what is supposed to be entered here, change to another terminal and type mount to see a list of all currently mounted drives, and look for the line which displays a device name mounted on /mnt type [...]. The device path at the beginning of this very line should be entered in the root lines of your lilo.conf. Change if necessary.<br />
<br />
The boot line should be okay by default in most cases. Unless you have a weird boot manager setup in mind with multiple OSes, the device referenced here should be having the same prefix your root lines have, but not end with a number. For example, a root of /dev/hda3 means you probably want to install LILO into the Master Boot Record of the hard disk, so you would set boot to /dev/hda, which references the disk as a whole.<br />
To prevent some serious grief, you should make sure you know how to restore the bootsector of your other OSes, for example with Windows's FIXBOOT/FIXMBR tools.<br />
<br />
To be on the safe side, you should keep the option lba32 right below the prompt line. This will prevent some geometry issues from happening.<br />
<br />
In some cases, depending on your BIOS, LILO will not run on bootup and spill out an error code infinitely. In most cases you either removed the lba32 option, or your hardware setup is a little special, meaning that maybe your CD-ROM drive is primary master and the hard disk you installed secondary slave. This can very well irritate your BIOS, and prevent a boot up. To prevent that you can try and make the install drive the primary master on your IDE bus. If you've got a mixed IDE and SCSI system and the problem persists, you'll probably need some experimentation with the disk and bios options of LILO to provide a working mapping; The disk drives in your system are numbered sequentially by your BIOS, starting with 0x80. If you're lucky your SCSI controller tells you which drive has which BIOS ID, but usually you're not. How the drives are effectively numbered is depending on your BIOS, so in the worst case you can only guess until it works. A typical disk line would look like this:<br />
<pre>boot=/dev/hda<br />
disk=/dev/hda bios=0x80</pre><br />
<br />
The disk option maps a BIOS ID to the disk device known to linux. Note that there is still no guarantee that things will work as other things can be wrong, so do not despair if all your tries fail, but rather try rearranging your hardware in a way that's not totally odd. In this area too much can go wrong and needs special handling to be explained here. In most cases the lba32 option will suffice anyway. Old hard drives will usually need a little more special care until they do as told.<br />
Don't become fidgety when reading this section, I (Dennis) just happened to stumble over this problem when experimenting with a rather odd system, and figured it'd be a good idea to mention this show stopper and workarounds here. You probably won't ever experience this, and if you do, use GRUB.<br />
<br />
How to recreate a LILO boot sector with only a rescue disk is explained later in this document.<br />
<br />
=====/etc/mkinitrd.conf=====<br />
This file allows you to fine-tune the initial ramdisk (also commonly referred to as the "initrd") for your system. The initrd is a gzipped image that is read by the kernel during bootup. The purpose of the initrd is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if you are booting off a USB/FW drive). Once the initrd loads the proper modules, it passes control to the Arch system and your bootup continues. For this reason, the initrd only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of these modules will be loaded later on by hwdetect or hwd.<br />
<br />
By default, mkinitrd.conf is configured to provide all known modules for IDE, SCSI, or SATA systems. This means the default initrd should work for almost everybody. The downside to this is that there are many modules loaded that you will not need. This is easily visible by examining your module table after booting up (with the lsmod command). While this doesn't actually hurt anything, some people find it annoying. To cull this list down to only what you actually need, you can edit mkinitrd.conf and disable the subsystems (ie, IDE, SCSI, RAID, USB, etc) that you don't need. Each subsystem has a variable that starts with REMOVE_. Setting the variable to 1 (one) will remove it from the initrd.<br />
<br />
You can customize even further by specifying the exact modules you need in the HOSTCONTROLLER_ variables. Or, if you'd rather trust the auto-detection utility (hwdetect) to find the modules for you, you can set the AUTODETECT variable to 1 and ignore the other settings.<br />
If you're using RAID or encryption on your root filesystem, then you'll have to tweak the RAID/CRYPT settings near the bottom. See the wiki pages for RAID/LVM, filesystem encryption, and Initrd for more info.<br />
<br />
When you're finished tweaking mkinitrd.conf, you must run mkinitrd auto to regenerate the initrd. You can include the -show switch if you want to see a list of the modules being included.<br />
<pre># mkinitrd auto -show</pre><br />
<br />
WARNING: If you fail to include the correct module(s) in your initrd, your system will not boot! For this reason, you should be especially careful when tweaking your initrd. Do not over-tweak unless you know your hardware well.<br />
<br />
If you do manage to break your system, you can use the backup initrd that is included with the stock 2.6.x kernel, but only if you use the GRUB bootloader. To use the backup initrd, you must edit the initrd line from the GRUB menu at bootup and change it to point to the backup image. For example, if your normal initrd line is initrd /initrd26.img, you should change it to initrd /initrd26-full.img. Then bootup with the backup initrd and fix your primary!<br />
<br />
=====/etc/hosts=====<br />
This is where you stick hostname/ip pairs of other computers on your network. If a hostname isn't part of DNS, you can add it here. You usually don't need to change anything here, but you might want to add the hostname and hostname + domain of the machine to this file, resolving to the IP of your network interface. If you don't know what you're doing, leave this file alone until you read man hosts.<br />
<br />
=====/etc/fstab=====<br />
Your filesystem settings and mountpoints are configured here. The install program should have created the necessary entries for you, but you should look over it and make sure it's right.<br />
<br />
=====/etc/modprobe.conf=====<br />
<br />
This is for use with 2.6.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
The syntax of this file is nearly identical to the old modules.conf scheme, unless you use some of the more exotic options like post-install. Then you should invest a little time into reading man modprobe.conf.<br />
<br />
=====/etc/modules.conf (deprecated)=====<br />
This is for use with 2.4.x kernels only.<br />
<br />
This tells the kernel which modules it needs to load for system devices. For example, to have the kernel load your Realtek 8139 ethernet module when it starts the network (ie. tries to setup eth0), use this line:<br />
<pre>alias eth0 8139too</pre><br />
<br />
=====/etc/resolv.conf=====<br />
Use this file to setup your nameserver(s) that you will use. It should basically look like this:<br />
<pre>search domain.tld<br />
nameserver 192.168.0.1<br />
nameserver 192.168.0.2</pre><br />
<br />
Replace domain.tld and the ip addresses with your settings. The so called search domain specifies the default domain that is appended to unqualified hostnames automatically. Setting this, a ping myhost will effectively become a ping myhost.domain.tld with the above values. These settings usually aren't mighty important, though, and most people should leave them alone for now. If you use DHCP, this file will be fed with the correct values automatically when networking is started, meaning you can and should happily ignore this file altogether.<br />
<br />
=====/etc/conf.d/*=====<br />
During setup, this is totally unimportant. Consider this as reference for the interested.<br />
<br />
Some daemon scripts will have a matching configuration file in this directory that contains some more-or-less useful default values. When a daemon is started, it will first source the settings from it's config file within this directory, and then source the /etc/rc.conf. This means you can easily centralize all your daemon configuration options in the rc.conf simply by setting an appropriate variable value, or split up your configuration over multiple files if you prefer a decentralized approach to this issue. Ain't life great if it's all just simple scripting?<br />
<br />
=====/etc/profile=====<br />
This script is run on each user login to initialize the system. It is kept quite simple under Arch Linux (most things are). You may wish to edit or customize it to suit your needs.<br />
<br />
====Boot Scripts====<br />
<br />
Arch Linux uses a fairly simple bootup sequence quite similar to *BSDs. The first boot script to run is /etc/rc.sysinit. When it's done, /etc/rc.multi will be called (in a normal bootup). The last script to run will be /etc/rc.local. When started in runlevel 1, the single user mode, the script /etc/rc.single is run instead of /etc/rc.multi. You will not find an endless symlink collection in the /etc/rc.d/ directories to define the bootup sequence for all possible runlevels. In fact, due to this approach Arch only really has three runlevels, if you take starting up X in runlevel 5 into account. The boot scripts are using the variables and definitions found in the /etc/rc.conf file and also a set of general functions defined in the /etc/rc.d/functions script. If you plan to write your own daemon files, you should consider having a look at this file and existing daemon scripts.<br />
<br />
Boot Script Overview<br />
* /etc/rc.sysinit<br />
* /etc/rc.single<br />
* /etc/rc.multi<br />
* /etc/rc.local<br />
* /etc/rc.shutdown<br />
* /etc/rc.d/*<br />
<br />
=====/etc/rc.sysinit=====<br />
<br />
The main system boot script. It does boot-critical things like mounting filesystems, running devfsd, activating swap, loading modules, setting localization parameters, etc. You will most likely never need to edit this file!<br />
=====/etc/rc.single=====<br />
<br />
Single-user startup. Not used in a normal boot-up. If the system is started in single-user mode, for example with the kernel parameter 1 before booting or during normal multi-user operation with the command init 1, this script makes sure no daemons are running except for the bare minimum; syslog-ng and udev. The single-user mode is useful if you need to make any changes to the system while making sure that no remote user can do anything that might cause data loss or damage.<br />
<br />
For desktop users, this mode usually is useless as crud. You'll probably never need to edit this script, either.<br />
<br />
=====/etc/rc.multi=====<br />
Multi-user startup script. It starts all daemons you configured in the DAEMONS array (set in /etc/rc.conf) after which it calls /etc/rc.local. You shouldn't feel a pressing need to edit this file.<br />
<br />
=====/etc/rc.local=====<br />
Local multi-user startup script. It is a good place to put any last-minute commands you want the system to run at the end of the bootup process. This is finally the one and only script you should modify if needed, and you have total freedom on what to add to this script.<br />
<br />
Most common system configuration tasks, like loading modules, changing the console font or setting up devices, usually have a dedicated place where they belong. To avoid confusion, you should make sure that whatever you intend to add to your rc.local isn't feeling just as home in /etc/profile.d/ or any other already existant config location instead.<br />
<br />
=====/etc/rc.shutdown=====<br />
System shutdown script. It stops daemons, unmounts filesystems, deactivates the swap, etc. Just don't touch.<br />
<br />
=====/etc/rc.d/*=====<br />
This directory contains the daemon scripts referred to from the rc.conf's DAEMONS array. In addition to being called on bootup, you can use these scripts when the system is running to manage the services of your system. For example the command<br />
<pre># /etc/rc.d/postfix stop</pre><br />
<br />
will stop the postfix daemon. Of course a script only exists when the appropriate package has been installed (in this case postfix). With a basic system install, you don't have many scripts in here, but rest assured that all relevant daemon scripts end up here. This directory is pretty much the equivalent to the /etc/rc3.d/ or /etc/init.d/ directories of other distributions, without all the symlink hassle.<br />
<br />
====User Management====<br />
<br />
Users and groups can be added and deleted with the standard commands provided in the util-linux package: useradd, userdel, groupadd, groupdel, passwd, and gpasswd. The typical way of adding a user is similar to this procedure:<br />
<pre># useradd -m -s /bin/bash johndoe<br />
# passwd johndoe</pre><br />
<br />
The first command will add the user named johndoe to the system, create a home directory for him at /home/johndoe, and place some default login files in his home directory. It will also set his login shell to be /bin/bash. The second command will ask you for a password for the johndoe user. A password is required to activate the account.<br />
<br />
As an alternative to the useradd command, the adduser script is also available to interactively create new users on your system simply by answering questions.<br />
<br />
See the manpages for more information on the remaining commands. It is a good idea to create one or multiple normal users for your day-to-day work to fully use the available security features and minimize potential damage that may be the result of using the root user for anything but system administration tasks.<br />
<br />
===Internet Access===<br />
Due to a lack of developers for dialup issues, connecting Arch to the Internet with a dialup line is requiring a lot of manual setup. If at all possible, set up a dedicated router which you can then use as a default gateway on the Arch box.<br />
There are quite a few dialup related documents in the Arch Linux Wiki.<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and passwort to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably.<br />
In case you're using a so called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should endulge in the vast information found on the LinModem homepage.<br />
<br />
====ISDN====<br />
Setting up ISDN is done in three steps:<br />
<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP<br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you won't need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module which needs two parameters; type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, or available online. The type parameter depends on your card; A list of all possible types is to be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<pre># modprobe hisax type=18 protocol=2</pre><br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file in which you should see your card being prepared for action. Please note that you will probably need to load some usb modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf (or /etc/modules.conf if you're using kernel 2.4.x):<br />
<pre>alias ippp0 hisax<br />
options hisax type=18 protocol=2</pre><br />
<br />
Alternatively you can only add the options line here, and add hisax to your MODULES array in the rc.conf. Your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl, it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples.<br />
Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dialup connection with isdnctrl dial ippp0 as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
These instructions are only relevant to you if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the adsl-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<pre># /etc/rc.d/adsl start</pre><br />
and<br />
<pre># /etc/rc.d/adsl stop</pre><br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically dial in on bootup, add adsl to your DAEMONS array.<br />
<br />
==Package Management==<br />
===Pacman===<br />
pacman is the package manager which tracks all the software installed on your system. It has simple dependency support and uses the standard tar-gz archive format for all packages. Some common tasks are explained below with the respective commands in long and short option form. For an up to date explanation of pacman's options, read man pacman. This overview is merely scratching the surface of pacman's current capabilities.<br />
<br />
Typical tasks:<br />
# Adding a new package with a package file<br />
# Upgrading a package with a package file<br />
# Removing packages<br />
# Refreshing the package list<br />
# Upgrading the system<br />
# Adding/Upgrading a package from the repositories<br />
# List installed packages<br />
# Check if a specific package is installed<br />
# Display specific package info<br />
# Display list of files contained in package<br />
# Find out which package a specific file belongs to<br />
<br />
====Adding a new package with a package file====<br />
<pre># pacman --add foo.pkg.tar.gz<br />
# pacman -A foo.pkg.tar.gz</pre><br />
<br />
This will install the foo.pkg.tar.gz package on the system. If dependencies are missing, pacman will exit with an error and report the missing deps, but not attempt to resolve the dependencies automatically. Look at the --sync option if you expect this functionality.<br />
<br />
NOTE: This option is deprecated. man pacman (>=3)<br />
<br />
-A, --add (deprecated)<br />
Add a package to the system. Either a<br />
URL or file path can be specified. The<br />
package will be uncompressed into the<br />
installation root and the database will<br />
be updated. The package will not be<br />
installed if another version is already<br />
installed. NOTE: please use --upgrade in<br />
place of this option.<br />
<br />
====Upgrading a package with a package file====<br />
<pre># pacman --upgrade foo.pkg.tar.gz<br />
# pacman -U foo.pkg.tar.gz</pre><br />
<br />
This does essentially the same as the --add operation, but will additionally upgrade an already-installed package at no extra cost. I can personally not imagine a case where you'd prefer --add over this --upgrade function.<br />
<br />
====Removing packages====<br />
<pre># pacman --remove foo<br />
# pacman -R foo</pre><br />
<br />
This will remove all files belonging to the package named foo, except for configuration files that have been edited. Only supply the name of the package to this command, without the pkg.tar.gz suffix.<br />
<br />
To remove any and all trace of a package, add the --nosave option to the above command.<br />
<br />
====Refreshing the package list====<br />
<pre># pacman --sync --refresh<br />
# pacman -Sy</pre><br />
<br />
This will retrieve a fresh master package list from the repositories defined in the /etc/pacman.conf file and uncompress it into the database area. You should use this before using --sysupgrade to make sure you get the newest packages. Depending on your pacman.conf settings, this command may require a working internet connection to access FTP-based repositories. This option is quite similar to Debian's apt-get update command.<br />
<br />
====Upgrading the system====<br />
<pre># pacman --sync --sysupgrade<br />
# pacman -Su</pre><br />
<br />
This command will upgrade all packages that are out-of-date on your system by comparing the local package version to the versions in the master package list that gets downloaded with the --refresh command. It's a good idea to run this every now and then to keep your system up to date. Note that this command does NOT implicitly refresh the master package list, so it's usually wiser to combine both commands into one:<br />
<pre># pacman --sync --refresh --sysupgrade<br />
# pacman -Syu</pre><br />
<br />
With these options pacman will automatically retrieve the current master package list and do a full system upgrade to the latest packages with all dependencies being automagically resolved. You will want to run this quite often.<br />
<br />
====Adding/Upgrading a package from the repositories====<br />
<pre># pacman --sync foo<br />
# pacman -S foo</pre><br />
<br />
Retrieve and install package foo, complete with all dependencies it requires. Before using any sync option, make sure you refreshed the package list, or add --refresh or -y to the options to do it before the installation attempt. Unlike --add, the --sync option does not differ between installing and upgrading packages. Depending on your pacman.conf settings this function requires working internet access.<br />
<br />
====List installed packages====<br />
<pre># pacman --query<br />
# pacman -Q</pre><br />
<br />
Displays the list of all installed packages in the system.<br />
<br />
====Check if a specific package is installed====<br />
<pre># pacman --query foo<br />
# pacman -Q foo</pre><br />
<br />
Instead of grepping the full list for a name, you can append the name of the package you are looking for to the query command. This command will display the name and version of the foo package if it is installed, nothing otherwise.<br />
<br />
====Display specific package info====<br />
<pre># pacman --query --info foo<br />
# pacman -Qi foo</pre><br />
<br />
Displays information on the installed package foo (size, install date, build date, dependencies, conflicts, etc.). To display this information for a package file that is not yet installed, add the --file or -p option, respectively:<br />
<pre># pacman --query --info --file foo.pkg.tar.gz<br />
# pacman -Qip foo.pkg.tar.gz</pre><br />
<br />
====Display list of files contained in package====<br />
<pre># pacman --query --list foo<br />
# pacman -Ql foo</pre><br />
<br />
Lists all files belonging to package foo.<br />
<br />
====Find out which package a specific file belongs to====<br />
<pre># pacman --query --owns /path/to/file<br />
# pacman -Qo /path/to/file</pre><br />
<br />
This query displays the name and version of the package which contains the file referenced by it's full path as a parameter.<br />
<br />
===Accessing Repositories===<br />
A package repository is a collection of packages and a package meta-info file that can reside in a local directory or on a remote FTP/HTTP server. The default repository for an Arch system is the current repository. This is kept up to date with the latest version of most software and stays fairly bleeding-edge.<br />
<br />
Many users also choose to activate the extra package repository which contains more packages that are not part of Arch's core package set. You can activate this repo by uncommenting the appropriate lines in your /etc/pacman.conf. This repository is activated by default.<br />
<br />
You can also build, maintain and use your own package repositories. See the pacman manpage for instructions.<br />
<br />
If you install from a CD and end up having a problem accessing the Internet, you may need to install additional packages from the CD. You can locate the packages on the cd and install them manually using pacman -A packagename.pkg.tar.gz Alternatively, you can temporarily set up a local repository to access the CD. Mount the CD on /mnt/cdrom using the command mount /mnt/cdrom (assuming your fstab is properly set up). Then add the following line to your /etc/pacman.conf, under the section [current] which is the name of the database package on the install cd (current.db.tar.gz):<br />
<br />
Server = file:///mnt/cdrom/arch/pkg<br />
<br />
Make sure you put it before "Include = /etc/pacman.d/current". This way, you cd will now be the primary [current] repository.<br />
You will then be able to install additional packages to help you get your Internet access set up.<br />
<br />
==Arch Build System (ABS)==<br />
===Binary vs. Source===<br />
Where pacman is responsible for the binary side of the package world, ABS is responsible for the source side: It helps you to build your own custom packages from source code, also letting you rebuild Arch Linux packages with your own customizations. The procedure usually goes as follows:<br />
<br />
# Synchronize your ABS tree with the server (run abs as root)<br />
# Create a new directory in /var/abs/local/ named after the package you are going to create<br />
# Copy the PKGBUILD.proto prototype from /var/abs/ into your newly created directory, remove the proto, suffix, and edit it for the new package.<br />
# Run makepkg in the working directory with the PKGBUILD file.<br />
# Install the newly built package with pacman.<br />
# Send the package to your friends for bragging rights (or give it to an Archer so s/he can stick it in the master ABS tree).<br />
<br />
===Synchronizing Your ABS Tree===<br />
You can synchronize all the PKGBUILD files in /var/abs by running the abs script as root. It requires the cvsup package to operate and will complain if you don't have it installed. Using CVS as the transfer medium allows you to follow different version trees within ABS - this can be configured in /etc/abs/supfile.arch. For example, the default supfile is set to track the current package tree, which is bleeding-edge and the recommended source to follow. You can also follow specific versions. See the comments in the supfiles for more info.<br />
<br />
ABS supports multiple repositories, which can be enabled or disabled from /etc/abs/abs.conf. By default abs will follow the current and extra repositories, but not unstable.<br />
<br />
You will also see an /etc/abs/supfile.extra file. This will give you access to all the unofficial build scripts that were not included in the main ABS repository. If you do not want to use this repository, you can delete the file, but usually it makes more sense to edit abs.conf accordingly instead.<br />
<br />
====How to Build Packages====<br />
The build process is thoroughly explained in the makepkg manpage. See it for instructions on building your own packages. If that's not helping you, keep your eyes peeled for tutorials in the Wiki, or ask for help in the forums or IRC.<br />
<br />
====Package Guidelines====<br />
<br />
When building package for Arch Linux, you should adhere to the package guidelines below, especially if you would like to contribute your new package to Arch Linux.<br />
<br />
====Package Naming====<br />
* Package names should consist of alphanumeric characters only; all letters should be lowercase.<br />
* Package versions should be the same as the version released by the author. Versions can include letters if need be (eg, nmap's version is 2.54BETA32). Version tags may not include hyphens! Letters, numbers, and periods only.<br />
* Package releases are specific to Arch Linux packages. These allow users to differentiate between newer and older package builds. When a new package version is first released, the release count starts at 1. Then as fixes and optimizations are made, the package will be re-released to the AL public and the release number will increment. When a new version comes out, the release count resets to 1. Package release tags follow the same naming restrictions as version tags.<br />
<br />
====Directories====<br />
Configuration files should be placed in the /etc directory. If there's more than one configuration file, it's customary to use a subdirectory in order to keep the /etc area as clean as possible. Use /etc/{pkgname}/ where {pkgname} is the name of your package (or a suitable alternative, eg, apache uses /etc/httpd/).<br />
<br />
Package files should follow these general directory guidelines:<br />
*/etc- System-essential configuration files<br />
*/usr/bin- Application binaries<br />
*/usr/sbin- System binaries<br />
*/usr/lib- Libraries<br />
*/usr/include- Header files<br />
*/usr/lib/{pkg}- Modules, plugins, etc.<br />
*/usr/man- Manpages<br />
*/usr/share/{pkg}- Application data<br />
*/etc/{pkg}- Configuration files for {pkg}<br />
*/opt- Packages that do not fit cleanly into Linux filesystem layout can be placed here. If a package's files can be cleanly placed into the above directories, then do so. If there are other high-level directories that do not fit, then you should use /opt. For example, the acrobat package has Browser, Reader, and Resource directories sitting at the same level as the bin directory. This doesn't fit into a normal Linux filesystem layout, so we place all the files in a subdirectory of /opt.<br />
<br />
====makepkg Duties====<br />
When you use makepkg to build a package for you, it does the following automatically:<br />
<br />
# Checks if package dependencies are installed<br />
# Downloads source files from servers<br />
# Unpacks source files<br />
# Does any necessary patching<br />
# Builds the software and installs it in a fake root<br />
# Removes /usr/doc, /usr/info, /usr/share/doc, and /usr/share/info from the package<br />
# Strips symbols from binaries<br />
# Strips debugging symbols from libraries<br />
# Generates the package meta file which is included with each package<br />
# Compresses the fake root into the package file<br />
# Stores the package file in the configured destination directory (cwd by default)<br />
<br />
====Other====<br />
Do not introduce new variables into your PKGBUILD build scripts, unless the package cannot be built without doing so, as these could possibly conflict with variables used in makepkg itself. If a new variable is absolutely required, prefix the variable name with an underscore.<br />
<br />
Avoid using /usr/libexec/ for anything. Use /usr/lib/{pkg} instead.<br />
<br />
The Packager field from the package meta file can be customized by the package builder by modifying the appropriate option in the /etc/makepkg.conf file, or alternatively by exporting the PACKAGER environment variable before building packages with makepkg:<br />
<pre># export PACKAGER="John Doe <your.email>"</pre><br />
<br />
====Submitting Packages====<br />
If you'd like to submit packages, please take a look at the Arch User Repository and their guidelines. New packages should be submitted to the AUR.<br />
<br />
If you're submitting a package directly to the Arch developers, we ask the following:<br />
<br />
# Please add a comment line to the top of your PKGBUILD file that follows this format: <pre># Contributor: Your Name <your.email></pre><br />
# Verify the package dependencies (eg, run ldd on dynamic executables, check tools required by scripts, etc.). It's also a good idea to use the namcap utility, written by Jason Chu jason@archlinux.org, to analyze the sanity if your package. namcap will tell you about bad permissions, missing dependencies, un-needed dependencies, and other common mistakes. You can install the namcap package with pacman.<br />
# All packages should come as a compressed tar file containing a directory with the newly built package, the PKGBUILD, filelist, and additional files (patches, install, ...) in it. The archive name should at least contain the name of the package.<br />
# Watch for announcements regarding the actual submission of packages, as a new implementation of the whole procedure is currently being discussed among the developers. If you think your package is too important to wait, you may of course ask a Trusted User if he would be willing to take your package for inclusion in his repository.<br />
<br />
==Frequently Asked Questions==<br />
The FAQs listed here are only covering any problems that may keep you from booting or installing an initial Arch Linux system. If you have questions regarding further usage of the system utilities, XFree86 setup, etc. or how to configure your hardware, please head over to the Wiki. If you think an issue is not covered here that should be, please notify the author of this document, whose address is to be found at the very top of this file.<br />
<br />
'''During package installation, pacman fails to resolve dependencies for package A because package B is not in the package set.'''<br />
<br />
Unless something is very broken and thus very likely to be reported by multiple people soon, you probably just forgot to mount your target partitions properly. This causes pacman to decompress the package database into the initial ramdisk, which fills up quite nicely and ultimatively leads to this error.<br />
<br />
Make sure that you use the DONE and not the CANCEL option offered by the Filesystem Mountpoints menu to apply your choices. This error should not happen if you use the Auto-Prepare feature; please report this as a bug.<br />
<br />
'''How can I install packages from the install CD with pacman --sync (so it resolves dependencies for me)?'''<br />
<br />
If you would rather have packages install from the CD instead of downloading them, then mount the install CD somewhere (eg, /mnt/cd) and add this line right below the [current] line in /etc/pacman.conf:<br />
<pre>Server = file:///mnt/cd/arch/pkg</pre><br />
<br />
Replace /mnt/cd with the mountpoint you chose. Then use pacman --sync as you normally would - It will now check the /mnt/cd directory first for packages.<br />
<br />
'''How can I create multiple swap partitions during the install?'''<br />
<br />
Naturally you won't be able to use the Auto-Prepare feature if you want to create and use multiple swap partitions. Create the partitions manually instead, and create as much swap partitions as your little heart desires. Go through the rest of the install, don't mind that you're only asked for one swap partition during the mount-point setting. Once you're through with the install and are about to edit your system configuration files, you can edit the fstab file and include a line for every swap device you created earlier. Simply copy the automatically generated swap line, and modify the referenced device according to your setup. The additional swaps will be activated after the bootup when swapon -a is being run by the initscripts.<br />
<br />
If, for any odd reason, you can not wait until after the installation with activating multiple swap partitions or files, you will have to open a shell on one of the virtual terminals and issue the swapon <device> for every swap drive or file you partitioned/readied before. Then continue as explained above with the install.<br />
<br />
In case you are honestly contemplating setting up multiple swap files or drives, you should keep in mind that a kernel that needs to swap is actually crying bitterly for more RAM, not more swap space. Please keep your penguin well fed. Thank you.<br />
<br />
'''How do I reconfigure LILO from the rescue system?'''<br />
As a first step you simply boot from the Arch Install CD or disks. If your partitions are intact and don't need checking, you should supply the root= kernel boot parameter as the instructions tell you. That will boot directly into your system, and you can skip all but the last step of actually reconfiguring and running lilo.<br />
<br />
If you cannot boot your old root directly, boot the CD as if you were going to start an installation. Once you're in a shell, you mount the root partition of your harddisk into the /mnt directory, for example like this:<br />
<pre># mount /dev/hda3 /mnt</pre><br />
<br />
Then you mount any other partitions to their respective mount points within that root of yours, for example a /boot partition:<br />
<pre># mount /dev/hda1 /mnt/boot</pre><br />
<br />
Now you need to mount a /dev tree in the /mnt area, where lilo will be able to find it:<br />
<pre># /mnt/bin/mount --bind /dev /mnt/dev</pre><br />
<br />
Once everything is mounted, make this /mnt directory your new root with the chroot /mnt command. This will start a new shell and drop you into the /mnt directory, which will be considered your / from then on.<br />
<br />
Now you can edit /etc/lilo.conf to your liking and run lilo to fix anything that needs fixing. Simply type exit when you want to break out of this root again, back into the original file tree. You can now reboot and test your changes.<br />
<br />
'''I can't ssh into my machine!'''<br />
<br />
Edit your /etc/hosts.deny file. The default configuration will reject all incoming connections.<br />
<br />
'''How should I load modules during boot now?'''<br />
<br />
If you want to load a module unconditionally without a specific device binding, add the name of the module to the MODULES array of your /etc/rc.conf. For on demand loading on device access, add it as usual with the alias command to your /etc/modprobe.conf (/etc/modules.conf for 2.4 kernels). To pass any options to a module you want to load through the MODULES array, only add the appropriate options line to the /etc/modprobe.conf.<br />
<br />
'''Kernel refuses to boot because of lost interrupt'''<br />
<br />
Kernel refuses to boot. It locks at:<br />
<pre>IRQ probe failed for hda<br />
hda lost interrupt</pre><br />
<br />
This error occurs for some HD controllers on kernel 2.6.x. A workaround is to pass the acpi=off option to the kernel at boot time.<br />
<br />
'''I get access denied errors trying to play sound or read DVDs.'''<br />
<br />
Add your user to the optical and audio groups.<br />
<pre># gpasswd -a johndoe optical<br />
# gpasswd -a johndoe audio</pre><br />
<br />
Logout, then login as your regular user (eg, johndoe) so the group changes can take effect.<br />
<br />
If you have a DVD drive, you may want to create a /dev/dvd symlink to your real DVD device.<br />
<br />
For example, if you use udev and your DVD drive is on /dev/hdc, you can do the following as root:<br />
<pre># cat >>/etc/udev/rules.d/00.rules <<EOF<br />
> KERNEL="hdc", NAME="hdc", SYMLINK="dvd"<br />
> EOF<br />
# /etc/start_udev<br />
# mount /dev/pts<br />
# mount /dev/shm</pre><br />
<br />
'''When trying to install packages with pacman, I get this: error: xorg conflicts with xfree86.'''<br />
<br />
This is a temporary problem as we make a full switch over to xorg. Currently, some packages still depend on xfree86 specifically, so pacman gets confused.<br />
<br />
You can fix this problem by installing xorg explicitly, then installing other packages afterwards.<br />
<br />
<pre># pacman -S xorg<br />
# pacman -S otherpkg1 otherpkg2 ...</pre></div>
LTSmash
https://wiki.archlinux.org/index.php?title=Main_Page_(Espa%C3%B1ol)&diff=30166
Main Page (Español)
2007-09-30T19:12:15Z
<p>LTSmash: Please errase the changes i made. I will first translate the articles and then will make this page. Thanks. Support will be apreciated.</p>
<hr />
<div>__NOTOC__ __NOEDITSECTION__<br />
<br />
{{Navigate_i18n_mainpages}}<br />
<br />
{{translateme}}<br />
<br />
Bienvenido al Wiki de [[ArchLinux]]. Si eres nuevo en Arch quiza estes interesado en la [[Beginners Guide]] (en Ingles mientras es traducida).<br />
<br />
== Secciones Interesantes ==<br />
Un resumen de las paginas de Interes General del Wiki de ArchLinux.<br />
<br />
==== &nbsp;&nbsp;[[:Categoria: Sobre Arch (English)|Sobre Arch]] ====<br />
: [[El Camino de Arch]] :: [[Arch vs Otros]] :: [[FAQ]] :: [[Repositorios Oficiales]] :: [[Repostorio de Usuarios ArchLinux (AUR)|Repositorio de usuarios (AUR)]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Getting and installing Arch (English)|Getting and Installing Arch]] ====<br />
: [[Official Arch Linux Install Guide|Official Install Guide]] :: [[Post Installation Tips]] :: [[Configuring network|Configuring Network]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: System administration (English)|System Administration]] ====<br />
: [[Pacman]] :: [[:Category: Package management (English)|Package Management]] :: [[Xorg|Xorg Setup]] :: [[:Category: Desktop environments (English)|Desktop Environments]] :: [[ALSA]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Desktop user's guide (English)|Desktop User's Guide]] ====<br />
: [[:Category: Internet and Email (English)|Internet and Email]] :: [[:Category: Office (English)|Office]] :: [[:Category: Audio/Video (English)|Audio/Video]]<br />
<br />
==== &nbsp;&nbsp;[[:Category:System recovery (English)|System Recovery]] ====<br />
: [[Reinstalling GRUB]] :: [[Kernel Panics]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Arch development (English)|Arch Development]] ====<br />
<br />
==== &nbsp;&nbsp;[[:Category:Arch64 (English)|Arch64]] ====<br />
: [[Arch64 FAQ]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Live Arch systems (English)|Live Arch Systems]] ====<br />
<br />
==== &nbsp;&nbsp;[[Table_of_Contents_(English)|Table of Contents]] ====<br />
<br />
== Wiki News ==<br />
<br />
Check the [[Wiki News]] page for the latest lowdown on the Wiki.<br />
<br />
Note that we are currently in the process of editing the wiki structure. If you have some time to make minor or major edits, take a look at the [[Priority Todo]] and the [[WikiTodo]] pages to see how you can help. We're especially interested in having people recategorize the non-English pages. Please coordinate your activities with [[ContactList|admins and sysops]] or [[ArchWiki maintainers (English)|maintainers]].<br />
<br />
== In Your Language ==<br />
More comfortable reading articles in your own language? Browse the categories for the following languages: <br />
: [[:Category:English|English]] :: [[:Category:Česky|Česky]] :: [[:Category:Deutsch|Deutsch]] :: [[:Category:Français|Français]] :: [[:Category:Italiano|Italiano]] :: [[:Category:Lietuviškai|Lietuviškai]] :: [[:Category:Polski|Polski]] :: [[:Category:Русский|Русский]] ::[[:Category:Українська|Українська]] :: [[:Category:Српски|Српски]] :: [[:Category:ไทย|ไทย]]<br />
<br />
== Help ==<br />
If you're having trouble finding what you're looking for, try using the search box to the left.<br />
<br />
You must create an account to edit this wiki. Once done, you can play around in the [[Sandbox]] or your user page to familiarize yourself with ArchWiki markup. The available syntax is listed in the [[:Category:Help|Wiki Help Category]] and there is an [[:Category:ArchWiki Tools (English)|Archwiki Tools section]] with some HOWTOs and guidelines.<br />
<br />
<br />
<br />
=Antigua Pagina del Wiki=<br />
<br />
__NOTOC__ __NOEDITSECTION__<br />
{{Navigate_i18n_mainpages}}{{newpagelinksmain}}<br />
<br />
{{translateme}}<br />
<br />
== Wiki de ArchLinux ==<br />
Bienvenido al Wiki de [[ArchLinux]] . <br />
<br />
{{sn|Comenzando:<br />
* [[ArchLinux]]<br />
* [[Arch vs Others]]<br />
* [[FAQ]]<br />
* [[The Arch Way]]<br />
* [[ArchWiki Tutorial]]<br />
}}<br />
<br />
=== Noticias del Wiki ===<br />
Ocasionalmente algo es de interés periodístico, pero sólo para el wiki.<br />
En éstos casos, visita la página de [[Wiki News]] para ver la última información del Wiki.<br />
<br />
=== Obteniendo Ayuda ===<br />
<br />
¿Tienes problemas para configurar algo? ¿No sabes dónde mirar?<br />
<br />
Aunque estamos intentando archivar tantos temas como sea posible, estamos actualmente en curso de corregir la estructura del wiki, y muchos de los archivos se están moviendo.<br />
<br />
Échale una ojeada a la '''[[:Category:HowTos|lista obsoleta de categorías]]'''. Ésta sección aún contiene información valiosa que no ha sido movida a las nuevas secciones.<br />
<br />
Páginas que ya han sido movidas pueden ser '''[[:Category:Pages sorted by topic|seleccionadas en función del tema]]'''. Hay también nuevas secciones en la '''[[:Category:Pages sorted by type|lista de artículos por tipos]]''' (P. ej: HOWTO, Tutoriales, etc).<br />
<br />
'''TIP:''' El motor de búsqueda no parece trabajar como esperan los usuarios. Hasta que este asunto se resuelva, deberías usar la [[:Category:Pages sorted by type|lista de artículos por tipos]] y usar la función ''Buscar'' de tu navegador para buscar títulos que puedan interesarte. Si te sientes con suerte, aún puedes usar el motor de búsqueda de ArchWiki (Accesible a través del panel de la izquierda).<br />
<br />
=== Ayudando ===<br />
<br />
El equipo del Wiki busca voluntarios para ayudar a reestructurar y reorganizar el wiki. Si tienes algo de tiempo para hacer algunas modificaciones menores o mayores, echa un vistazo a las '''[[Priority Todo|tareas prioritarias pendientes]]''' y a la lista general de '''[[WikiTodo|tareas pendientes]]''' para ver cómo puedes ayudar. Estamos especialmente interesados en tener gente para re-categorizar las páginas que no están en inglés. Coordina tus actividades con [[ContactList|administradores y operadores]], y con los [[ArchWiki maintainers (English)|encargados de mantenimiento]].<br />
<br />
=== Creando tus propias páginas ===<br />
<br />
Es necesario crear una cuenta de usuario antes de comenzar a editar páginas. Cuando lo hayas hecho, puedes ejercitarte en el [[Sandbox|cajón de arena]] para familiarizarte con la sintaxis del ArchWiki. Tu página de usuario/a es otro buen sitio para practicar. Hay una lista de elementos sintácticos simples en la [[:Category:Help|Categoría de ayuda]]. También puedes encontrar este enlace en la barra de navegación. Además hay una [[:Category:ArchWiki Tools (English)|sección nueva]] con algunos archivos ''HOWTO'' y con varias normas (parte de la futura ''Guía de los escritores y editores del wiki'').<br />
<br />
=== Contactos ===<br />
<br />
Para cualquier pregunta o sugerencia ver la [[ContactList|lista de contactos]].<br />
<br />
{{navigatearchlinux|}}</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Main_Page_(Espa%C3%B1ol)&diff=30165
Main Page (Español)
2007-09-30T19:08:30Z
<p>LTSmash: Translating to spanish, have to make a full cleanup.</p>
<hr />
<div>__NOTOC__ __NOEDITSECTION__<br />
<br />
{{Navigate_i18n_mainpages}}<br />
<br />
{{translateme}}<br />
<br />
Bienvenido al Wiki de [[ArchLinux]]. Si eres nuevo en Arch quiza estes interesado en la [[Beginners Guide]] (en Ingles mientras es traducida).<br />
<br />
== Secciones Interesantes ==<br />
Un resumen de las paginas de Interes General del Wiki de ArchLinux.<br />
<br />
==== &nbsp;&nbsp;[[:Categoria: Sobre Arch (English)|About Arch]] ====<br />
: [[The Arch Way]] :: [[Arch vs Others]] :: [[FAQ]] :: [[Official Repositories]] :: [[ArchLinux User-community Repository (AUR)|Arch User Repository (AUR)]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Getting and installing Arch (English)|Getting and Installing Arch]] ====<br />
: [[Official Arch Linux Install Guide|Official Install Guide]] :: [[Post Installation Tips]] :: [[Configuring network|Configuring Network]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: System administration (English)|System Administration]] ====<br />
: [[Pacman]] :: [[:Category: Package management (English)|Package Management]] :: [[Xorg|Xorg Setup]] :: [[:Category: Desktop environments (English)|Desktop Environments]] :: [[ALSA]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Desktop user's guide (English)|Desktop User's Guide]] ====<br />
: [[:Category: Internet and Email (English)|Internet and Email]] :: [[:Category: Office (English)|Office]] :: [[:Category: Audio/Video (English)|Audio/Video]]<br />
<br />
==== &nbsp;&nbsp;[[:Category:System recovery (English)|System Recovery]] ====<br />
: [[Reinstalling GRUB]] :: [[Kernel Panics]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Arch development (English)|Arch Development]] ====<br />
<br />
==== &nbsp;&nbsp;[[:Category:Arch64 (English)|Arch64]] ====<br />
: [[Arch64 FAQ]]<br />
<br />
==== &nbsp;&nbsp;[[:Category: Live Arch systems (English)|Live Arch Systems]] ====<br />
<br />
==== &nbsp;&nbsp;[[Table_of_Contents_(English)|Table of Contents]] ====<br />
<br />
== Wiki News ==<br />
<br />
Check the [[Wiki News]] page for the latest lowdown on the Wiki.<br />
<br />
Note that we are currently in the process of editing the wiki structure. If you have some time to make minor or major edits, take a look at the [[Priority Todo]] and the [[WikiTodo]] pages to see how you can help. We're especially interested in having people recategorize the non-English pages. Please coordinate your activities with [[ContactList|admins and sysops]] or [[ArchWiki maintainers (English)|maintainers]].<br />
<br />
== In Your Language ==<br />
More comfortable reading articles in your own language? Browse the categories for the following languages: <br />
: [[:Category:English|English]] :: [[:Category:Česky|Česky]] :: [[:Category:Deutsch|Deutsch]] :: [[:Category:Français|Français]] :: [[:Category:Italiano|Italiano]] :: [[:Category:Lietuviškai|Lietuviškai]] :: [[:Category:Polski|Polski]] :: [[:Category:Русский|Русский]] ::[[:Category:Українська|Українська]] :: [[:Category:Српски|Српски]] :: [[:Category:ไทย|ไทย]]<br />
<br />
== Help ==<br />
If you're having trouble finding what you're looking for, try using the search box to the left.<br />
<br />
You must create an account to edit this wiki. Once done, you can play around in the [[Sandbox]] or your user page to familiarize yourself with ArchWiki markup. The available syntax is listed in the [[:Category:Help|Wiki Help Category]] and there is an [[:Category:ArchWiki Tools (English)|Archwiki Tools section]] with some HOWTOs and guidelines.<br />
<br />
<br />
<br />
=Antigua Pagina del Wiki=<br />
<br />
__NOTOC__ __NOEDITSECTION__<br />
{{Navigate_i18n_mainpages}}{{newpagelinksmain}}<br />
<br />
{{translateme}}<br />
<br />
== Wiki de ArchLinux ==<br />
Bienvenido al Wiki de [[ArchLinux]] . <br />
<br />
{{sn|Comenzando:<br />
* [[ArchLinux]]<br />
* [[Arch vs Others]]<br />
* [[FAQ]]<br />
* [[The Arch Way]]<br />
* [[ArchWiki Tutorial]]<br />
}}<br />
<br />
=== Noticias del Wiki ===<br />
Ocasionalmente algo es de interés periodístico, pero sólo para el wiki.<br />
En éstos casos, visita la página de [[Wiki News]] para ver la última información del Wiki.<br />
<br />
=== Obteniendo Ayuda ===<br />
<br />
¿Tienes problemas para configurar algo? ¿No sabes dónde mirar?<br />
<br />
Aunque estamos intentando archivar tantos temas como sea posible, estamos actualmente en curso de corregir la estructura del wiki, y muchos de los archivos se están moviendo.<br />
<br />
Échale una ojeada a la '''[[:Category:HowTos|lista obsoleta de categorías]]'''. Ésta sección aún contiene información valiosa que no ha sido movida a las nuevas secciones.<br />
<br />
Páginas que ya han sido movidas pueden ser '''[[:Category:Pages sorted by topic|seleccionadas en función del tema]]'''. Hay también nuevas secciones en la '''[[:Category:Pages sorted by type|lista de artículos por tipos]]''' (P. ej: HOWTO, Tutoriales, etc).<br />
<br />
'''TIP:''' El motor de búsqueda no parece trabajar como esperan los usuarios. Hasta que este asunto se resuelva, deberías usar la [[:Category:Pages sorted by type|lista de artículos por tipos]] y usar la función ''Buscar'' de tu navegador para buscar títulos que puedan interesarte. Si te sientes con suerte, aún puedes usar el motor de búsqueda de ArchWiki (Accesible a través del panel de la izquierda).<br />
<br />
=== Ayudando ===<br />
<br />
El equipo del Wiki busca voluntarios para ayudar a reestructurar y reorganizar el wiki. Si tienes algo de tiempo para hacer algunas modificaciones menores o mayores, echa un vistazo a las '''[[Priority Todo|tareas prioritarias pendientes]]''' y a la lista general de '''[[WikiTodo|tareas pendientes]]''' para ver cómo puedes ayudar. Estamos especialmente interesados en tener gente para re-categorizar las páginas que no están en inglés. Coordina tus actividades con [[ContactList|administradores y operadores]], y con los [[ArchWiki maintainers (English)|encargados de mantenimiento]].<br />
<br />
=== Creando tus propias páginas ===<br />
<br />
Es necesario crear una cuenta de usuario antes de comenzar a editar páginas. Cuando lo hayas hecho, puedes ejercitarte en el [[Sandbox|cajón de arena]] para familiarizarte con la sintaxis del ArchWiki. Tu página de usuario/a es otro buen sitio para practicar. Hay una lista de elementos sintácticos simples en la [[:Category:Help|Categoría de ayuda]]. También puedes encontrar este enlace en la barra de navegación. Además hay una [[:Category:ArchWiki Tools (English)|sección nueva]] con algunos archivos ''HOWTO'' y con varias normas (parte de la futura ''Guía de los escritores y editores del wiki'').<br />
<br />
=== Contactos ===<br />
<br />
Para cualquier pregunta o sugerencia ver la [[ContactList|lista de contactos]].<br />
<br />
{{navigatearchlinux|}}</div>
LTSmash
https://wiki.archlinux.org/index.php?title=Post_Installation_Tips&diff=28351
Post Installation Tips
2007-08-31T23:53:36Z
<p>LTSmash: /* Optimizing your packages */ Added link to safe cflags</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
As a new Archer, know that some tasks need to be accomplished after the fresh install. Here are some performance tweaks and other useful information for Arch Linux newbies.<br />
===Hardware===<br />
====Auto-Recognition====<br />
* <code>lshwd</code> is your hardware auto-recognition tool. It will inform you which module you need to load and set.<br />
<br />
* Or you can use <code>hwdetect</code>. In my experience it detects more hardware and is faster than lshwd. More information on [[hwdetect]]<br />
<br />
====Lilo Boot Process Speed-Up====<br />
* to speed up lilo boot process, add the following command to <code>/etc/lilo.conf</code>:<br />
compact<br />
<br />
====Hard Drive Performance====<br />
* to boost HDD performance, tweak using hdparm. The best place to put it (IMHO) is in <code>/etc/rc.sysinit</code>, as the first line. My hdparm parameters are:<br />
**-a1024 = sets read_ahead buffer to 1024 bytes<br />
**-c3 = sets I/O support to 32-bit with sync<br />
**-d1 = turn on DMA<br />
**-m16 = sets multiple-buffer count to 16 (my HDD's max; find yours using hdparm -i)<br />
<br />
Example:<br />
hdparm -a1024 -c3 -d1 -m16 /dev/hda<br />
<br />
(Note: If you get something like /dev/hda not found, place the above line at the end of <code>/etc/rc.sysinit</code>. UDEV have to be loaded before you can set /dev/hda with hdparm.)<br />
<br />
===Pausing at End of Boot Process===<br />
* to pause at the end of the boot process before getting the login prompt (usually used for debugging your boot messages), add at the end of <code>/etc/rc.local</code>:<br />
read KEY<br />
or else remove the first character in <code>/etc/issue</code> file, which is a "clear screen" escape code.<br />
<br />
===Enabling mouse support in console (gpm)===<br />
* You can enable mouse support in the console by installing <b>gpm</b>:<br />
pacman -S gpm<br />
* If you see the mouse cursor flickering and it doesn't work properly, you will need to change <code>/etc/conf.d/gpm</code>.<br />
'''For PS/2 mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
'''For USB mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
* When it works, you can add <code>gpm</code> into <code>DAEMONS</code> array in <code>/etc/rc.conf</code> to have it started at boot.<br />
<br />
===Enabling sound (ALSA/OSS)===<br />
* [[ALSA Setup]]: ALSA is the default sound system on Linux<br />
* [[OSS|OSS Setup]]: Free but proprietary OSS/commercial driver<br />
<br />
===Start X at boot===<br />
* [[Start X at boot]]<br />
<br />
===Building your own Kernel===<br />
* When building your own kernel ([http://bbs.archlinux.org/viewforum.php?f=22&sid=7565520b3217f47ccc4ffc6f43f4744a Kernel/Hardware Issues]), the following options must be set and linked statically and NOT as modules:<br />
*** Code maturity level options<br />
*** Prompt for development and/or incomplete code/drivers = on<br />
*** Device Drivers<br />
*** File systems<br />
*** Pseudo file systems<br />
*** /dev file system support = on<br />
*** Automatically mount at boot = on<br />
**<b>to be able to tweak hd performance using hdparm, set the followings :</b><br />
*** Device Drivers<br />
*** ATA/ATAPI/MFM/RLL support = on<br />
*** Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support = on<br />
*** Generic PCI bus-master DMA support = on<br />
*** Intel PIIXn chipsets support = on<br />
*** <and your IDE hdw...> = on<br />
* Also, to speed kernel loading time a bit, make sure you statically link ALL your hardware-specific drivers (which you load anyway using <code>/etc/modprobe.conf</code> or otherwise) instead of linking them as modules.<br />
<br />
===ABS to build your own packages===<br />
* If you use abs to build your own packages, remember to copy first your target package dir to <code>/var/abs/local/<pkgname></code> to avoid your files and configuration getting overwritten at the next abs update...<br />
<br />
===Optimizing your packages===<br />
* For optimizing the packages you build using makepkg (the kernel is a good example), set your gcc preferred settings in <code>/etc/makepkg.conf</code>:<br />
(example for athlon cpu)<br />
export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
See [http://wiki.archlinux.org/index.php/Safe_CFlags Safe CFlags] for more info.<br />
<br />
===Kernel Updates===<br />
* Remember to execute <code>lilo</code> after each kernel update (i.e. each time you replace your boot image, usually named <code>/boot/vmlinuzXX</code>, etc).<br />
**If you forgot and need to rescue back from the CD, here are the rescue steps:<br />
modprobe xfs<br />
mount -t xfs /dev/discs/discX/partY /mnt<br />
mount -t xfs /dev/discs/discV/partW /mnt/boot (if you have it)<br />
mount -t devfs none /mnt/dev<br />
mount -t proc none /mnt/proc<br />
chroot /mnt /sbin/lilo<br />
<br />
===Personal Command-aliases===<br />
* You can create your own commands-aliases using <code><homedir>/.bashrc</code> or <code>/etc/profile</code>. Both can be used to define your own aliases:<br />
#alias ls="ls --color=auto" not necessary in Arch Linux<br />
alias ll="ls -lh"<br />
alias la="ls -a"<br />
alias exit="clear; exit"<br />
alias x="startx"<br />
<br />
===Reduce Sleeping time on shutdown===<br />
* You can reduce system sleeping time on shutdown by changing the sleep parameter in <code>/etc/rc.shutdown</code> and <code>/etc/rc.single</code>.<br />
<br />
===Set timezone===<br />
* To set your timezone (so local time shows properly) look at <code>/usr/share/zoneinfo/</code> for your timezone, and change the <code>TIMEZONE</code> variable in <code>/etc/rc.conf</code>:<br />
TIMEZONE=Asia/Jerusalem<br />
<br />
===Disabling IPv6===<br />
Until the widespread adoption of IPv6, you may benefit from [[IPv6_-_Disabling_the_Module|disabling the IPv6 module]]. <br />
<br />
===PDF file viewer (kghostview)===<br />
* To fix the PDF file viewer (kghostview), install Ghostscript using:<br />
<pre>pacman -S ghostscript</pre><br />
* and change the Ghostscript section in <code><homedir>/.kde/share/config/kghostviewrc</code> to:<br />
<pre><br />
Antialiasing arguments=-sDEVICE=x11 -dTextAlphaBits=4 -dGraphicsAlphaBits=&lt;2 -dMaxBitmap=10000000<br />
GS Version=<br />
Interpreter=/usr/bin/gs<br />
Non-antialiasing arguments=-sDEVICE=x11<br />
Redetection Counter=2 <br />
</pre><br />
<br />
===Useful Commands & Programs===<br />
*<code>grep</code> - searches for files by its contents (example: <code>grep -i syslog /etc/*</code> will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the <code>-i</code> parameter))<br />
*<code>killall <process_name></code> - kills processes by name (example: <code>killall kdm</code>)<br />
*<code>ps</code> - display process status (example: <code>ps -xau</code> will display all active processes)<br />
*<code>locate</code> - quickly locates files on your hard drive (use <code>locate -u</code> first to create/update the files db...) (example: <code>locate Xservers</code> will find all files named Xservers)<br />
<br />
====Pacman====<br />
[[Pacman]] is an automated tool for managing your packages - both locally and via the web. It will auto-solve dependencies among packages, which is the biggest headache in the Linux-packaging-distribution-world (-as-we-know-it-:) ). For improved performance, pacman can be optimized from time to time:<br />
<pre>pacman-optimize</pre><br />
<br />
====makepkg====<br />
An automated tool to create packages - it actually automates the <code>./configure && make && make install</code> procedure. It uses a file named PKGBUILD which must exist in the same directory you will build your package. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.<br />
<br />
====abs====<br />
An automated tool that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all your PKGBUILD scripts from the CVS repository into <code>/var/abs</code>.<br />
<br />
===File Descriptions===<br />
*<code><homedir>/.xinitrc</code> - controls which programs X11 will load on startup; the last line must be your preferred windows manager and should be prefixed with <code>exec</code><br />
*<code>/etc/profile</code> - system profiling file; loads environment configuration per profile (kernel must support profiling)<br />
*<code>/etc/rc.conf</code> - main configuration file, something like config.sys on steroids...<br />
*<code>/etc/rc.sysinit</code> - this is like the main autoexec.bat file, which takes care of loading and setting up the system<br />
*<code>/etc/rc.single</code> - script file for single-user system level<br />
*<code>/etc/rc.multi</code> - script file for multiple-user system level<br />
*<code>/etc/rc.local</code> - script file for local multi-user system level<br />
*<code>/etc/rc.shutdown</code> - script file for shutdown system level<br />
*<code>/etc/rc.d/*</code> - configures daemons for the system.<br />
<br />
===Extracting compressed files===<br />
file.tar : tar xvf file.tar<br />
file.tgz : tar xvzf file.tgz<br />
file.tar.gz : tar xvzf file.tar.gz<br />
file.bz : bzip -cd file.bz | tar xvf -<br />
file.bz2 : tar xvjf file.tar.bz2 <b>OR</b> bzip2 -cd file.bz2 | tar xvf -<br />
file.zip : unzip file.zip<br />
file.rar : unrar x file.rar<br />
----<br />
WikiMigration & Rewrite--[[User:Dlanor|dlanor]] 15:36, 23 Jul 2005 (EDT)</div>
LTSmash