https://wiki.archlinux.org/api.php?action=feedcontributions&user=Adsworth&feedformat=atom
ArchWiki - User contributions [en]
2024-03-28T21:41:27Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Talk:CUPS&diff=347570
Talk:CUPS
2014-12-01T21:44:40Z
<p>Adsworth: /* Duplicate content */</p>
<hr />
<div>==Kernel modules==<br />
The whole kernel modules section is confusing. Is it mandatory? What exactly should we do?<br><br />
-- [[User:Drozzy|Drozzy]] ([[User_talk:Drozzy|talk]]) 10:37, April 10, 2012<br />
<br />
== Print button greyed-out in GNOME print dialogs ==<br />
<br />
As suggested by the Arch wiki, I used the <br />
# HostNameLookups Double<br />
option. However, that resulted in following error message: <br />
IP lookup failed - connection from localhost closed!<br />
<br />
and I wasn't able to add printers via the CUPS web interface (internal server error)<br />
<br />
It seems there is an outstanding bug with respect to the HostNameLookups:<br />
http://www.cups.org/str.php?L4070+Qversion:%20-feature<br />
<br />
Removing the HostNameLookups double form the cups config file resolved my issue. Not sure why this used to solve instead of create problems.<br><br />
-- [[User:Davidovitch|Davidovitch]] ([[User_talk:Davidovitch|talk]]) 07:24, July 4, 2012<br />
<br />
== Device node permissions ==<br />
<br />
I got a problem after update of {{pkg|hplip}} / {{pkg|cups}} and foomatic. My printer not working anymore.<br />
<br />
So I first check possible problems and read section Device node permissions. It's recommended to verify that permissions are 660. It was my case so I am looking to find another solution.<br />
<br />
After a long time and read I was back to this section. I read also section below Device node permission troubleshooting. As my conf was with well permission I don't really read all carefully. It was the 3rd/4th time before I see the note about 666 permissions. I tried this and it's solved my problem.<br />
<br />
So I think it would be great to make also a note on Device node permissions about 666. Because my conf look alright as writing in wiki, but in fact not.<br><br />
-- [[User:Ioo|Ioo]] ([[User_talk:Ioo|talk]]) 19:09, July 19, 2012<br />
<br />
== Is libcups really sufficient as a client package ? ==<br />
<br />
I can't seem to be able to print in KDE applications (4.9.97) if I only have {{Pkg|libcups}} installed: <br />
<br />
''Could not print the document. Detailed error is "Could not find a suitable binary for printing. Make sure '''CUPS lpr''' binary is available"''<br />
<br />
But {{ic|/usr/bin/lpr}} is part of the {{Pkg|cups}} package... Could it be that KDE requires cups for printing ?<br><br />
--[[User:Gdebure|Gdebure]] ([[User talk:Gdebure|talk]]) 23:02, 10 January 2013 (UTC)<br />
<br />
== Foomatic not providing drivers? ==<br />
<br />
I don't know if this is a general-enough problem to be put on the wiki, but I was unable to print using my Konica-Minolta PagePro 1350w because the driver was not installed with foomatic. I installed foomatic-db, foomatic-db-engine, and foomatic-filters, and used the CUPS web interface to add the printer and select the recommended min12xxw driver. I was unable to print, and only got uninformative error messages in the logs like "Filter error". The Gnome printer dialog, however, said it was unable to find the driver, so I tried installing it from AUR (https://aur.archlinux.org/packages/min12xxw/), after which I was able to print. Why was the driver listed in the CUPS web management interface, but not actually installed? Maybe a note on the wiki will help future users.<br />
<br />
[[User:Goodmami|Goodmami]] ([[User talk:Goodmami|talk]]) 04:42, 10 March 2013 (UTC)<br />
<br />
== GNOME Printing Workflow ==<br />
In my test, GNOME 3.8.1 print workflow no longer requires to install {{Pkg|system-config-printer}}. It should be removed from this wiki, also i am not sure if lpadmin is required either.<br />
<br />
[[User:Donniezazen|Donniezazen]] ([[User talk:Donniezazen|talk]]) 01:35, 12 May 2013 (UTC)<br />
<br />
== Printer driver ==<br />
<br />
The link to "ufr2", which points to the AUR, is dead.<br />
Is there an up to date link?<br><br />
-- [[User:Jtgd|Jtgd]] 24 June 2013<br />
<br />
:Isn't the listed {{AUR|cndrvcups-lb}} the same? The description says "Canon UFR II / LIPSLX Printer Driver for Linux with support for LBP/iR/MF printers".<br />
:--[[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 10:04, 24 June 2013 (UTC)<br />
<br />
== Unknown option "i" ==<br />
<br />
In the section [[Cups#Command-line_configuration|Command-line configuration]] under "Add a new printer" it says, "The device can be retrieved from the 'lpinfo -i' command." When I run that command I get, 'lpinfo: Unknown option "i"'. -- [[User:Fsckd|fsckd]] ([[User_talk:Fsckd|talk]]) 16:28, 30 September 2013 (UTC)<br />
<br />
:Looks like this has been fixed on the page. It now states `lpadmin -v`<br />
:[[User:Adsworth|Adsworth]] ([[User talk:Adsworth|talk]]) 21:38, 1 December 2014 (UTC)<br />
<br />
== Broken Links ==<br />
<br />
The See Also: Install HP printers easy way link links to a page that does not exist. [[User:Drankinatty|David C. Rankin, J.D.,P.E. -- Rankin Law Firm, PLLC]] ([[User talk:Drankinatty|talk]]) 02:30, 2 February 2014 (UTC)<br />
<br />
== CUPS prints only an empty and an error-message page on HP LaserJet ==<br />
<br />
Thanks for the fix. Worked fine. Still happening in Knoppix 7.2 which is certainly more recent than 2012. I don't know why certain bugs continue to propagate forward into later Debian based releases.<br />
<br />
--[[User:Neil Parker|Neil Parker]] ([[User talk:Neil Parker|talk]]) 13:26, 21 March 2014 (UTC)<br />
<br />
== Duplicate content ==<br />
The section [[CUPS#GNOME]] repeats the instructions needed to allow users to, for instance, add printers. The first occurance is in [[CUPS#CUPS_administration]].<br />
Also the instructions in the section GNOME use different group names and commands.<br />
<br />
I think it would make sense to link to the section [[CUPS#CUPS_administration]] from the section [[CUPS#GNOME]].<br />
<br />
[[User:Adsworth|Adsworth]] ([[User talk:Adsworth|talk]]) 21:43, 1 December 2014 (UTC)</div>
Adsworth
https://wiki.archlinux.org/index.php?title=Talk:CUPS&diff=347569
Talk:CUPS
2014-12-01T21:43:33Z
<p>Adsworth: </p>
<hr />
<div>==Kernel modules==<br />
The whole kernel modules section is confusing. Is it mandatory? What exactly should we do?<br><br />
-- [[User:Drozzy|Drozzy]] ([[User_talk:Drozzy|talk]]) 10:37, April 10, 2012<br />
<br />
== Print button greyed-out in GNOME print dialogs ==<br />
<br />
As suggested by the Arch wiki, I used the <br />
# HostNameLookups Double<br />
option. However, that resulted in following error message: <br />
IP lookup failed - connection from localhost closed!<br />
<br />
and I wasn't able to add printers via the CUPS web interface (internal server error)<br />
<br />
It seems there is an outstanding bug with respect to the HostNameLookups:<br />
http://www.cups.org/str.php?L4070+Qversion:%20-feature<br />
<br />
Removing the HostNameLookups double form the cups config file resolved my issue. Not sure why this used to solve instead of create problems.<br><br />
-- [[User:Davidovitch|Davidovitch]] ([[User_talk:Davidovitch|talk]]) 07:24, July 4, 2012<br />
<br />
== Device node permissions ==<br />
<br />
I got a problem after update of {{pkg|hplip}} / {{pkg|cups}} and foomatic. My printer not working anymore.<br />
<br />
So I first check possible problems and read section Device node permissions. It's recommended to verify that permissions are 660. It was my case so I am looking to find another solution.<br />
<br />
After a long time and read I was back to this section. I read also section below Device node permission troubleshooting. As my conf was with well permission I don't really read all carefully. It was the 3rd/4th time before I see the note about 666 permissions. I tried this and it's solved my problem.<br />
<br />
So I think it would be great to make also a note on Device node permissions about 666. Because my conf look alright as writing in wiki, but in fact not.<br><br />
-- [[User:Ioo|Ioo]] ([[User_talk:Ioo|talk]]) 19:09, July 19, 2012<br />
<br />
== Is libcups really sufficient as a client package ? ==<br />
<br />
I can't seem to be able to print in KDE applications (4.9.97) if I only have {{Pkg|libcups}} installed: <br />
<br />
''Could not print the document. Detailed error is "Could not find a suitable binary for printing. Make sure '''CUPS lpr''' binary is available"''<br />
<br />
But {{ic|/usr/bin/lpr}} is part of the {{Pkg|cups}} package... Could it be that KDE requires cups for printing ?<br><br />
--[[User:Gdebure|Gdebure]] ([[User talk:Gdebure|talk]]) 23:02, 10 January 2013 (UTC)<br />
<br />
== Foomatic not providing drivers? ==<br />
<br />
I don't know if this is a general-enough problem to be put on the wiki, but I was unable to print using my Konica-Minolta PagePro 1350w because the driver was not installed with foomatic. I installed foomatic-db, foomatic-db-engine, and foomatic-filters, and used the CUPS web interface to add the printer and select the recommended min12xxw driver. I was unable to print, and only got uninformative error messages in the logs like "Filter error". The Gnome printer dialog, however, said it was unable to find the driver, so I tried installing it from AUR (https://aur.archlinux.org/packages/min12xxw/), after which I was able to print. Why was the driver listed in the CUPS web management interface, but not actually installed? Maybe a note on the wiki will help future users.<br />
<br />
[[User:Goodmami|Goodmami]] ([[User talk:Goodmami|talk]]) 04:42, 10 March 2013 (UTC)<br />
<br />
== GNOME Printing Workflow ==<br />
In my test, GNOME 3.8.1 print workflow no longer requires to install {{Pkg|system-config-printer}}. It should be removed from this wiki, also i am not sure if lpadmin is required either.<br />
<br />
[[User:Donniezazen|Donniezazen]] ([[User talk:Donniezazen|talk]]) 01:35, 12 May 2013 (UTC)<br />
<br />
== Printer driver ==<br />
<br />
The link to "ufr2", which points to the AUR, is dead.<br />
Is there an up to date link?<br><br />
-- [[User:Jtgd|Jtgd]] 24 June 2013<br />
<br />
:Isn't the listed {{AUR|cndrvcups-lb}} the same? The description says "Canon UFR II / LIPSLX Printer Driver for Linux with support for LBP/iR/MF printers".<br />
:--[[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 10:04, 24 June 2013 (UTC)<br />
<br />
== Unknown option "i" ==<br />
<br />
In the section [[Cups#Command-line_configuration|Command-line configuration]] under "Add a new printer" it says, "The device can be retrieved from the 'lpinfo -i' command." When I run that command I get, 'lpinfo: Unknown option "i"'. -- [[User:Fsckd|fsckd]] ([[User_talk:Fsckd|talk]]) 16:28, 30 September 2013 (UTC)<br />
<br />
:Looks like this has been fixed on the page. It now states `lpadmin -v`<br />
:[[User:Adsworth|Adsworth]] ([[User talk:Adsworth|talk]]) 21:38, 1 December 2014 (UTC)<br />
<br />
== Broken Links ==<br />
<br />
The See Also: Install HP printers easy way link links to a page that does not exist. [[User:Drankinatty|David C. Rankin, J.D.,P.E. -- Rankin Law Firm, PLLC]] ([[User talk:Drankinatty|talk]]) 02:30, 2 February 2014 (UTC)<br />
<br />
== CUPS prints only an empty and an error-message page on HP LaserJet ==<br />
<br />
Thanks for the fix. Worked fine. Still happening in Knoppix 7.2 which is certainly more recent than 2012. I don't know why certain bugs continue to propagate forward into later Debian based releases.<br />
<br />
--[[User:Neil Parker|Neil Parker]] ([[User talk:Neil Parker|talk]]) 13:26, 21 March 2014 (UTC)<br />
<br />
== Duplicate content ==<br />
The section [[CUPS#GNOME]] repeats the instructions needed to allow users to, for instance, add printers. The first occurance is in [[CUPS#CUPS_administration]].<br />
Also the instructions in the section GNOME use different group names and commands.<br />
<br />
[[User:Adsworth|Adsworth]] ([[User talk:Adsworth|talk]]) 21:43, 1 December 2014 (UTC)</div>
Adsworth
https://wiki.archlinux.org/index.php?title=Talk:CUPS&diff=347568
Talk:CUPS
2014-12-01T21:38:58Z
<p>Adsworth: /* Unknown option "i" */</p>
<hr />
<div>==Kernel modules==<br />
The whole kernel modules section is confusing. Is it mandatory? What exactly should we do?<br><br />
-- [[User:Drozzy|Drozzy]] ([[User_talk:Drozzy|talk]]) 10:37, April 10, 2012<br />
<br />
== Print button greyed-out in GNOME print dialogs ==<br />
<br />
As suggested by the Arch wiki, I used the <br />
# HostNameLookups Double<br />
option. However, that resulted in following error message: <br />
IP lookup failed - connection from localhost closed!<br />
<br />
and I wasn't able to add printers via the CUPS web interface (internal server error)<br />
<br />
It seems there is an outstanding bug with respect to the HostNameLookups:<br />
http://www.cups.org/str.php?L4070+Qversion:%20-feature<br />
<br />
Removing the HostNameLookups double form the cups config file resolved my issue. Not sure why this used to solve instead of create problems.<br><br />
-- [[User:Davidovitch|Davidovitch]] ([[User_talk:Davidovitch|talk]]) 07:24, July 4, 2012<br />
<br />
== Device node permissions ==<br />
<br />
I got a problem after update of {{pkg|hplip}} / {{pkg|cups}} and foomatic. My printer not working anymore.<br />
<br />
So I first check possible problems and read section Device node permissions. It's recommended to verify that permissions are 660. It was my case so I am looking to find another solution.<br />
<br />
After a long time and read I was back to this section. I read also section below Device node permission troubleshooting. As my conf was with well permission I don't really read all carefully. It was the 3rd/4th time before I see the note about 666 permissions. I tried this and it's solved my problem.<br />
<br />
So I think it would be great to make also a note on Device node permissions about 666. Because my conf look alright as writing in wiki, but in fact not.<br><br />
-- [[User:Ioo|Ioo]] ([[User_talk:Ioo|talk]]) 19:09, July 19, 2012<br />
<br />
== Is libcups really sufficient as a client package ? ==<br />
<br />
I can't seem to be able to print in KDE applications (4.9.97) if I only have {{Pkg|libcups}} installed: <br />
<br />
''Could not print the document. Detailed error is "Could not find a suitable binary for printing. Make sure '''CUPS lpr''' binary is available"''<br />
<br />
But {{ic|/usr/bin/lpr}} is part of the {{Pkg|cups}} package... Could it be that KDE requires cups for printing ?<br><br />
--[[User:Gdebure|Gdebure]] ([[User talk:Gdebure|talk]]) 23:02, 10 January 2013 (UTC)<br />
<br />
== Foomatic not providing drivers? ==<br />
<br />
I don't know if this is a general-enough problem to be put on the wiki, but I was unable to print using my Konica-Minolta PagePro 1350w because the driver was not installed with foomatic. I installed foomatic-db, foomatic-db-engine, and foomatic-filters, and used the CUPS web interface to add the printer and select the recommended min12xxw driver. I was unable to print, and only got uninformative error messages in the logs like "Filter error". The Gnome printer dialog, however, said it was unable to find the driver, so I tried installing it from AUR (https://aur.archlinux.org/packages/min12xxw/), after which I was able to print. Why was the driver listed in the CUPS web management interface, but not actually installed? Maybe a note on the wiki will help future users.<br />
<br />
[[User:Goodmami|Goodmami]] ([[User talk:Goodmami|talk]]) 04:42, 10 March 2013 (UTC)<br />
<br />
== GNOME Printing Workflow ==<br />
In my test, GNOME 3.8.1 print workflow no longer requires to install {{Pkg|system-config-printer}}. It should be removed from this wiki, also i am not sure if lpadmin is required either.<br />
<br />
[[User:Donniezazen|Donniezazen]] ([[User talk:Donniezazen|talk]]) 01:35, 12 May 2013 (UTC)<br />
<br />
== Printer driver ==<br />
<br />
The link to "ufr2", which points to the AUR, is dead.<br />
Is there an up to date link?<br><br />
-- [[User:Jtgd|Jtgd]] 24 June 2013<br />
<br />
:Isn't the listed {{AUR|cndrvcups-lb}} the same? The description says "Canon UFR II / LIPSLX Printer Driver for Linux with support for LBP/iR/MF printers".<br />
:--[[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 10:04, 24 June 2013 (UTC)<br />
<br />
== Unknown option "i" ==<br />
<br />
In the section [[Cups#Command-line_configuration|Command-line configuration]] under "Add a new printer" it says, "The device can be retrieved from the 'lpinfo -i' command." When I run that command I get, 'lpinfo: Unknown option "i"'. -- [[User:Fsckd|fsckd]] ([[User_talk:Fsckd|talk]]) 16:28, 30 September 2013 (UTC)<br />
<br />
:Looks like this has been fixed on the page. It now states `lpadmin -v`<br />
:[[User:Adsworth|Adsworth]] ([[User talk:Adsworth|talk]]) 21:38, 1 December 2014 (UTC)<br />
<br />
== Broken Links ==<br />
<br />
The See Also: Install HP printers easy way link links to a page that does not exist. [[User:Drankinatty|David C. Rankin, J.D.,P.E. -- Rankin Law Firm, PLLC]] ([[User talk:Drankinatty|talk]]) 02:30, 2 February 2014 (UTC)<br />
<br />
== CUPS prints only an empty and an error-message page on HP LaserJet ==<br />
<br />
Thanks for the fix. Worked fine. Still happening in Knoppix 7.2 which is certainly more recent than 2012. I don't know why certain bugs continue to propagate forward into later Debian based releases.<br />
<br />
--[[User:Neil Parker|Neil Parker]] ([[User talk:Neil Parker|talk]]) 13:26, 21 March 2014 (UTC)</div>
Adsworth
https://wiki.archlinux.org/index.php?title=List_of_applications/Internet&diff=347562
List of applications/Internet
2014-12-01T20:58:55Z
<p>Adsworth: /* Console */ corrected url.</p>
<hr />
<div><noinclude><br />
[[Category:Internet applications]]<br />
[[cs:List of Applications/Internet]]<br />
[[es:List of Applications/Internet]]<br />
[[it:List of Applications/Internet]]<br />
[[ja:List of Applications/Internet]]<br />
[[ru:List of applications/Internet]]<br />
[[zh-CN:List of Applications/Internet]]<br />
{{List of applications navigation}}<br />
</noinclude><br />
== Internet ==<br />
<br />
{{Note|1=For possibly more up to date selection of applications, try checking the [https://aur.archlinux.org/packages.php?O=0&K=&do_Search=Go&detail=1&C=13&SeB=nd&SB=n&SO=a&PP=50 AUR 'network' category]}}<br />
<br />
=== Network managers ===<br />
<br />
* {{App|[[Connman]]|Daemon for managing internet connections within embedded devices running the Linux operating system. Comes with a command-line client, plus Enlightenment, GTK and Dmenu clients are available.|https://connman.net/|{{Pkg|connman}}}}<br />
* {{App|[[netctl]]|Simple and robust tool to manage network connections via profiles. Intended for use with [[systemd]].|https://projects.archlinux.org/netctl.git/|{{Pkg|netctl}}}}<br />
* {{App|[[NetworkManager]]|Manager that provides wired, wireless, mobile broadband and OpenVPN detection with configuration and automatic connection.|http://projects.gnome.org/NetworkManager/|{{Pkg|networkmanager}}}}<br />
* {{App|[[systemd-networkd]]|Native [[systemd]] daemon that manages network configuration. It includes support for basic network configuration through udev and networkd. The service is available with systemd > 210.|http://www.freedesktop.org/software/systemd/man/systemd-networkd.service.html|{{Pkg|systemd}}}}<br />
* {{App|[[Wicd]]|Wireless and wired connection manager with few dependencies. Comes with an ncurses interface, and a GTK interface {{Pkg|wicd-gtk}} is available.|http://wicd.sourceforge.net/|{{Pkg|wicd}}}}<br />
<br />
=== Web browsers ===<br />
<br />
See also [[Wikipedia:Comparison of web browsers]].<br />
<br />
==== Console ====<br />
<br />
* {{App|[[Wikipedia:ELinks|ELinks]]|Advanced and well-established feature-rich text mode web browser (Links fork, barely supported since 2009).|http://elinks.or.cz/|{{Pkg|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|Text WWW browser. Includes a console version [links] similar to Lynx, and a graphical X-window/framebuffer version [links -g] (must be compiled in, Arch has both) with CSS, image rendering, pull-down menus.|http://links.twibright.com/|{{Pkg|links}}}}<br />
* {{App|[[Wikipedia:Lynx (web browser)|Lynx]]|Text browser for the World Wide Web.|http://lynx.isc.org|{{Pkg|lynx}}}}<br />
* {{App|retawq|Interactive, multi-threaded network client (web browser) for text terminals.|http://retawq.sourceforge.net/|{{AUR|retawq}}}}<br />
* {{App|[[Wikipedia:W3m|w3m]]|Pager/text-based web browser. It has vim-like keybindings, and is able to display images. It has javascript support too.|http://w3m.sourceforge.net/|{{Pkg|w3m}}}}<br />
<br />
==== Graphical ====<br />
<br />
====="Mainstream"=====<br />
* {{App|[[Chromium]]|Web browser developed by Google, the open source project behind Google Chrome.|http://www.chromium.org/|{{Pkg|chromium}}}}<br />
* {{App|[[Firefox]]|Extensible browser from Mozilla based on Gecko with fast rendering.|https://mozilla.com/firefox|{{Pkg|firefox}}}}<br />
* {{App|[[Opera]]|Highly customizable browser with focuses on an adherence to web rendering standards.|http://opera.com|{{Pkg|opera}}}}<br />
<br />
=====Webkit-based=====<br />
* {{App|[[Wikipedia:Arora (browser)|Arora]]|Cross-platform web browser built using QtWebKit. Development stopped in January 2012.|https://code.google.com/p/arora/|{{Pkg|arora}}}}<br />
* {{App|[[dwb]]|Lightweight, highly customizable web browser based on the WebKit engine with ''vi''-like shortcuts and tiling layouts. As of October 2014 ''dwb'' is [https://bitbucket.org/portix/dwb/pull-request/22/several-cleanups-to-increase-portability/diff#comment-3217936 unmaintained].|http://portix.bitbucket.org/dwb/|{{Pkg|dwb}}}}<br />
* {{App|[[Epiphany]]|Browser which uses the WebKit rendering engine, part of {{Grp|gnome}}.|http://projects.gnome.org/epiphany/|{{Pkg|epiphany}}}}<br />
* {{App|[[Jumanji]]|Highly customizable and functional web browser.|http://pwmt.org/projects/jumanji|{{AUR|jumanji}}}}<br />
* {{App|[[Wikipedia:Konqueror|Konqueror]]|Web browser based on Qt and KHTML, part of {{Grp|kdebase}}.|http://konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Luakit]]|Highly configurable, micro-browser framework based on the WebKit engine and the GTK+ toolkit. It is very fast, extensible by Lua and licensed under the GNU GPLv3 license.|http://mason-larobina.github.com/luakit/|{{Pkg|luakit}}}}<br />
* {{App|Maxthon|A browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.|http://www.maxthon.cn/|{{AUR|maxthon-browser}}}}<br />
* {{App|[[Wikipedia:Midori (web browser)|Midori]]|Lightweight web browser based on GTK+ and WebKit.|http://midori-browser.org/|{{Pkg|midori}}}}<br />
* {{App|Otter-browser|Browser aiming to recreate classic Opera (12.x) UI using Qt5.|http://otter-browser.org/|{{AUR|otter-browser}}}}<br />
* {{App|[[Wikipedia:QupZilla|QupZilla]]|New and very fast open source browser based on WebKit core, written in Qt framework.| http://www.qupzilla.com |{{pkg|qupzilla}}}} <br />
* {{App|[[wikipedia:Rekonq|Rekonq]]|WebKit-based web browser for KDE.|http://rekonq.kde.org/|{{Pkg|rekonq}}}}<br />
* {{App|Sb|Very lightweight WebKit-based browser that uses keybindings to perform most things the URL bar would usually do.|https://github.com/mutantturkey/sb/|{{AUR|sb-git}}}}<br />
* {{App|SlimBoat|Fast, free secure and powerful web browser based on QtWebkit.|http://www.slimboat.com/|{{AUR|slimboat}}}}<br />
* {{App|Surf|Lightweight WebKit-based browser, which follows the [http://suckless.org/philosophy suckless ideology] (basically, the browser itself is a single C source file).|http://surf.suckless.org|{{Pkg|surf}}}}<br />
* {{App|[[Wikipedia:Uzbl|Uzbl]]|Group of web interface tools which adhere to the Unix philosophy.|http://uzbl.org/|{{Pkg|uzbl-browser}}}}<br />
* {{App|Vimb|Fast and lightweight vim like web browser based on the webkit web browser engine and the GTK toolkit.|https://fanglingsu.github.io/vimb/|{{AUR|vimb}}}}<br />
* {{App|[[Vimprobable]]|Browser that behaves like the Vimperator plugin available for Mozilla Firefox. It is based on the WebKit engine and uses the GTK+ bindings.|http://sourceforge.net/apps/trac/vimprobable/|{{AUR|vimprobable-git}}}}<br />
* {{App|[[Wikipedia:Xombrero|Xombrero]] (formerly known as ''xxxterm'') |Webkit minimalist web browser with sophisticated security features designed-in, BSD style.|https://opensource.conformal.com/wiki/xombrero|{{AUR|xombrero-git}}}}<br />
<br />
=====Alternatives=====<br />
* {{App|[[Wikipedia:Abaco (web browser)|Abaco]]|Multi-page graphical web browser for the Plan 9 OS.|http://lab-fgb.com/abaco/|{{AUR|abaco}}}}<br />
* {{App|[[Wikipedia:Conkeror|Conkeror]]|Highly programmable web browser, with Emacs-like keybindings, based on Mozilla's XULRunner.|http://conkeror.org/|{{AUR|conkeror-git}}}}<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|Small, fast graphical web browser built on [[Wikipedia:Fltk|FLTK]].|http://dillo.org/|{{Pkg|dillo}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]|Featherweight browser written in C, notable for its lack of JavaScript support and fast rendering through its own custom rendering engine.|http://netsurf-browser.org|{{Pkg|netsurf}}}}<br />
<br />
=== Downloaders ===<br />
<br />
==== FTP ====<br />
<br />
===== FTP clients =====<br />
<br />
See also [[Wikipedia:Comparison of FTP client software]].<br />
<br />
* {{App|CurlFtpFS|Filesystem for acessing FTP hosts based on FUSE and libcurl.|http://curlftpfs.sourceforge.net/|{{Pkg|curlftpfs}}}}<br />
* {{App|FatRat|Download manager with support for HTTP, FTP, SFTP, BitTorrent, RapidShare and more.|http://fatrat.dolezel.info/|{{Pkg|fatrat}}}}<br />
* {{App|[[Wikipedia:FileZilla|FileZilla]]|Fast and reliable FTP, FTPS and SFTP client.|http://filezilla-project.org/|{{Pkg|filezilla}}}}<br />
* {{App|fuseftp|FTP filesystem written in Perl, using [[Wikipedia:Filesystem in Userspace|FUSE]].|http://freshmeat.net/projects/fuseftp/|{{AUR|fuseftp}}}}<br />
* {{App|[[Wikipedia:gFTP|gFTP]]|Multithreaded FTP client for Linux.|http://gftp.seul.org/|{{Pkg|gftp}}}}<br />
* {{App|[[Wikipedia:Lftp|LFTP]]|Sophisticated command-line FTP client.|http://lftp.yar.ru/|{{Pkg|lftp}}}}<br />
* {{App|[[Wikipedia:tnftp|tnftp]]|FTP client with several advanced features for [[Wikipedia:NetBSD|NetBSD]].|http://freecode.com/projects/tnftp|{{Pkg|tnftp}}}}<br />
Some file managers like Dolphin, [[GNOME Files]] and [[Thunar]] also provide FTP functionality.<br />
<br />
===== FTP servers =====<br />
<br />
* {{App|bftpd|Small, easy-to-configure FTP server|http://bftpd.sourceforge.net/|{{Pkg|bftpd}}}}<br />
* {{App|[[Glftpd|glFTPd]]|GreyLine FTP daemon (highly configurable, no system accounts required)|http://glftpd.eu/|{{AUR?|glftp}}}}<br />
* {{App|[[Proftpd|proFTPd]]|A secure and configurable FTP server|http://www.proftpd.org/|{{AUR|proftpd}}}}<br />
* {{App|[[Pure-FTPd]]|Free (BSD-licensed), secure, production-quality and standard-compliant FTP server.|http://www.pureftpd.org/project/pure-ftpd|{{AUR|pure-ftpd}}}}<br />
* {{App|[[Very Secure FTP Daemon|vsftpd]]|Lightweight, stable and secure FTP server for UNIX-like systems.|https://security.appspot.com/vsftpd.html|{{Pkg|vsftpd}}}}<br />
<br />
==== BitTorrent clients ====<br />
<br />
See also [[Wikipedia:Comparison of BitTorrent clients]].<br />
<br />
===== Console =====<br />
<br />
====== Command line / backend ======<br />
Can be used as-is via command line, but all have a choice of front-end options as well.<br />
* {{App|[[aria2]]|Lightweight download utility that supports simultaneous adaptive downloading via HTTP(S), FTP, BitTorrent (DHT, PEX, MSE/PE) protocols and Metalink. It can run as a daemon controlled via a built-in JSON-RPC or XML-RPC interface.|http://aria2.sourceforge.net/|{{Pkg|aria2}}}}<br />
* {{App|[[btpd]]|Simple BitTorrent client daemon with a command-line interface (web and GTK+ interfaces are also available).|http://github.com/btpd/btpd|{{AUR|btpd}}}}<br />
* {{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client that supports BitTorrent, HTTP, FTP, eDonkey and Direct Connect.|http://mldonkey.sourceforge.net/|{{Pkg|mldonkey}}}}<br />
* {{App|[[Transmission]]|Simple and easy-to-use BitTorrent client with a daemon version, GTK+, Qt GUI, web and CLI front-ends.|http://transmissionbt.com/|{{Pkg|transmission-cli}} (includes backend, daemon, command-line interface, and a Web UI interface)}}<br />
<br />
====== Console Interface ======<br />
* {{App|[[rTorrent]]|Simple and lightweight ncurses BitTorrent client. Requires {{Pkg|libtorrent}} backend.|http://libtorrent.rakshasa.no/|{{Pkg|rtorrent}}}}<br />
* {{App|[[Transmission]]|Simple and easy-to-use BitTorrent client with a daemon version, ncurses CLI. Requires {{Pkg|transmission-cli}} backend.|http://transmissionbt.com/|{{Pkg|transmission-remote-cli}}}}<br />
<br />
===== Graphical Interface =====<br />
<br />
====== libtorrent-rasterbar backend ======<br />
* {{App|[[Deluge]]|User-friendly BitTorrent client written in PyGTK that can run as a daemon.|http://deluge-torrent.org/|{{Pkg|deluge}}}}<br />
* {{App|FatRat|Qt4 based download manager with support for HTTP, FTP, SFTP, BitTorrent, rapidshare and more. Written in C++.|http://fatrat.dolezel.info/|{{Pkg|fatrat}}}}<br />
* {{App|[[Wikipedia:qBittorrent|qBittorrent]]|Open source (GPLv2) BitTorrent client that strongly resembles µtorrent.|http://qbittorrent.sourceforge.net/|{{AUR|qbittorrent}}}}<br />
* {{App|[[Wikipedia:Tribler|Tribler]]|4th generation file sharing system bittorrent client.|http://www.tribler.org|{{AUR|tribler}}}}<br />
<br />
====== libktorrent backend ======<br />
* {{App|[[Wikipedia:KGet|KGet]]|Download manager for KDE that supports HTTP(S), FTP and BitTorrent. Part of {{Grp|kdenetwork}}.|http://www.kde.org/applications/internet/kget/|{{Pkg|kdenetwork-kget}}}}<br />
* {{App|[[Ktorrent]]|Feature-rich BitTorrent client for KDE.|http://ktorrent.org/|{{Pkg|ktorrent}}}}<br />
<br />
====== others ======<br />
* {{App|QTorrent|BitTorrent client written in PyQt3.|http://thegraveyard.org/qtorrent.php{{Dead link|2012|09|20}}|{{AUR|qtorrent}}}}<br />
* {{App|Tixati|P2P client that uses the BitTorrent protocol.|http://www.tixati.com|{{AUR|tixati}}}}<br />
* {{App|[[Transmission]]|Simple and easy-to-use BitTorrent client with daemon version, GTK+, Qt GUI, web and CLI front-ends.|http://transmissionbt.com/|{{Pkg|transmission-gtk}} {{Pkg|transmission-qt}} {{AUR|transmission-remote-gtk}} (remote clients work with the daemon in the -cli package)}}<br />
* {{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus).|https://www.vuze.com/|{{AUR|vuze}}}}<br />
<br />
==== eDonkey clients ====<br />
<br />
eDonkey is still the second-largest p2p network (see [http://ipoque.com/en/resources/internet-studies Internet Study 2008/2009]).<br />
<br />
See also [[Wikipedia:Comparison of eDonkey software]].<br />
<br />
* {{App|[[aMule]]|Well-known eDonkey/Kad client with a daemon version and GTK+, web, and CLI front-ends.|http://www.amule.org/|{{Pkg|amule}}}}<br />
* {{App|KaMule|KDE graphical front-end for aMule.|http://kde-apps.org/content/show.php?content&#61;150270|{{AUR|kamule}}}}<br />
<br />
==== Gnutella ====<br />
<br />
* {{App|[[Wikipedia:Sharelin|Sharelin]]|Gnutella2 only client with a web UI.|http://sourceforge.net/apps/mediawiki/sharelin|{{AUR|Sharelin}}}}<br />
<br />
=== Communication ===<br />
<br />
==== Email clients ====<br />
<br />
See also [[Wikipedia:Comparison of e-mail clients]].<br />
<br />
===== Console =====<br />
<br />
* {{App|alot|An experimental terminal MUA based on [http://notmuchmail.org/ notmuch mail]. It is written in python using the [http://urwid.org/ urwid] toolkit.|https://github.com/pazz/alot|{{AUR|alot}} {{AUR|alot-git}}}}<br />
* {{App|[[Alpine]]|Fast, easy-to-use and Apache-licensed email client based on [[Wikipedia:Pine (email client)|Pine]].|https://washington.edu/alpine|{{pkg|re-alpine}} {{AUR|alpine}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|Email, NNTP and RSS client for Emacs.|http://gnus.org/|{{AUR|emacs-gnus-git}}}}<br />
* {{App|S-nail|a mail processing system with a command syntax reminiscent of ''ed'' with lines replaced by messages. Provides the functionality of [[Wikipedia:mailx|mailx]] and much more.|http://sourceforge.net/projects/s-nail/|{{Pkg|s-nail}}}}<br />
* {{App|mu/mu4e|Email indexer (mu) and client for emacs (mu4e). Xapian based for fast searches.|http://www.djcbsoftware.nl/code/mu/mu4e.html|{{AUR|mu}}}}<br />
* {{App|[[Mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Pkg|mutt}}}}<br />
* {{App|Nmh|A modular mail handling system.|http://www.nongnu.org/nmh/|{{AUR|nmh}} {{AUR|nmh-git}}}}<br />
* {{App|[[notmuch]]|A fast mail indexer built on top of ''xapian''.|http://notmuchmail.org/|{{Pkg|notmuch}} {{Pkg|notmuch-vim}} {{Pkg|notmuch-mutt}}}}<br />
* {{App|[[Sup]]|CLI mail client with very fast searching, tagging, threading and GMail like operation.|http://supmua.org/|{{AUR|sup}}}}<br />
* {{App|Wanderlust|Email client and news reader for Emacs.|http://www.gohome.org/wl/|{{Pkg|wanderlust}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Balsa]]|Simple and light email client that is part of the Gnome project.|http://pawsa.fedorapeople.org/balsa/|{{Pkg|balsa}}}}<br />
* {{App|[[Wikipedia:Claws Mail|Claws Mail]]|Lightweight GTK-based email client and news reader.|http://claws-mail.org/|{{Pkg|claws-mail}}}}<br />
* {{App|[[Evolution]]|Mature and feature-rich e-mail client used in GNOME by default. Part of {{Grp|gnome-extra}}.|http://projects.gnome.org/evolution/|{{Pkg|evolution}}}}<br />
* {{App|Geary|Simple desktop mail client built in [[Wikipedia:Vala (programming language)|Vala]].|https://wiki.gnome.org/Apps/Geary|{{Pkg|geary}}}}<br />
* {{App|[[Wikipedia:Kmail|Kmail]]|Mature and feature-rich email client. Part of {{Grp|kdepim}}.|http://kde.org/applications/internet/kmail/|{{Pkg|kdepim-kmail}}}}<br />
* {{App|Manitou Mail|Database-driven email system.|http://www.manitou-mail.org/|{{AUR|manitou-mdx}} {{AUR|manitou-ui}}}}<br />
* {{App|Roundcubemail|Browser-based multilingual IMAP client with a native application-like user interface.|http://roundcube.net/|{{Pkg|roundcubemail}}}}<br />
* {{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly GTK+ email client.|http://sylpheed.sraoss.jp/en/|{{Pkg|sylpheed}}}}<br />
* {{App|[[Thunderbird]]|Feature-rich email client from Mozilla written in GTK+.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Trojitá|Qt IMAP email client.|http://trojita.flaska.net/|{{Pkg|trojita}}}}<br />
<br />
==== Instant messaging ====<br />
<br />
See also [[Wikipedia:Comparison of instant messaging protocols]].<br />
<br />
This section lists all software with [[Wikipedia:Instant messaging|instant messaging]] support. Particularly, that are client and server applications.<br />
<br />
===== Multi-protocol clients =====<br />
<br />
See also [[Wikipedia:Comparison of instant messaging clients]].<br />
<br />
{{Note|All messengers, that support several networks by means of direct connections to them, belong to this section.}}<br />
<br />
Many clients listed here (including Pidgin and all its forks) support multiple IM networks via [[Wikipedia:libpurple|libpurple]]. The number of networks supported by these clients is very large but they (like any multiprotocol clients) usually have very limited or no support for network-specific features.<br />
<br />
====== Console ======<br />
<br />
* {{App|BarnOwl|Ncurses-based chat client with support for the Zephyr, AIM, Jabber, IRC, and Twitter protocols.|http://barnowl.mit.edu/|{{AUR|barnowl}}}}<br />
* {{App|[[Bitlbee]]|IRC client that provides a gateway to popular chat networks (XMPP, MSN, Yahoo, AIM, ICQ and Twitter).|http://bitlbee.org/|{{Pkg|bitlbee}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Fork of CenterICQ, a text mode menu- and window-driven IM interface.|http://centerim.org/|{{Pkg|centerim}}}}<br />
* {{App|[[Pidgin|Finch]]|Ncurses-based chat client that uses libpurple and supports all its protocols.|http://developer.pidgin.im/wiki/Using%20Finch|{{Pkg|finch}}}}<br />
* {{App|[[Wikipedia:naim (software)|naim]]|Ncurses chat client with support for AOL, ICQ, IRC and the Lily CMC.|http://naim.n.ml.org/|{{Pkg|naim}}}}<br />
* {{App|pork|Programmable, ncurses-based AIM and IRC client that mostly looks and feels like ircII.|http://dev.ojnk.net/|{{Pkg|pork}}}}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|Carrier|Pidgin fork providing minor GUI enhancements (formerly FunPidgin).|http://funpidgin.sourceforge.net/|{{AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|PyGTK instant messenger for the Windows Live Messenger network, also compatible with Jabber, Facebook and Google Talk.|http://emesene.org/|{{AUR|emesene}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|GNOME instant messaging client using the [[Wikipedia:Telepathy (software)|Telepathy]] framework.|http://live.gnome.org/Empathy|{{Pkg|empathy}}}}<br />
* {{App|Galaxium Messenger|Messenger application designed for the GNOME desktop.|https://code.google.com/p/galaxium/|{{AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Instantbird|Instantbird]]|Multi-protocol chat client using Mozilla's XUL and libpurple.|http://instantbird.com/|{{AUR|instantbird}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|User-friendly IM supporting AIM, ICQ, Windows Live Messenger, Yahoo, Jabber, Gadu-Gadu, Novell GroupWise Messenger, and other IM networks. Part of {{Grp|kdenetwork}}.|http://kopete.kde.org/|{{Pkg|kdenetwork-kopete}}}}<br />
* {{App|[[Kde#KDE_Telepathy|KDE Telepathy]]|KDE instant messaging client using the [[Wikipedia:Telepathy (software)|Telepathy]] framework. Meant as a replacement for Kopete.|http://community.kde.org/Real-Time_Communication_and_Collaboration/|{{Pkg|kde-telepathy-meta}}}}<br />
* {{App|Licq|Instant messaging client for UNIX supporting multiple protocols (currently ICQ, MSN and Jabber).|http://www.licq.org|{{Pkg|licq}}}}<br />
* {{App|Mikutter|An open-source Twitter client using [[GTK+]] and Ruby.|http://mikutter.hachune.net/|{{AUR|mikutter}} {{AUR|mikutter-git}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client.|http://pidgin.im/|{{Pkg|pidgin}} {{AUR|pidgin-light}}}}<br />
* {{App|qutIM|Simple and user-friendly IM supporting ICQ, Jabber, Mail.Ru, IRC and VKontakte messaging.|http://qutim.org/|{{AUR|qutim-stable}}}}<br />
<br />
===== XMPP (Jabber) =====<br />
<br />
See also [[Wikipedia:XMPP]] and [[Wikipedia:Comparison of instant messaging clients#XMPP-related features]].<br />
<br />
====== Console clients ======<br />
<br />
* {{App|Freetalk|Console-based Jabber client.|https://gnu.org/s/freetalk/|{{Pkg|freetalk}}}}<br />
* {{App|jabber.el|Minimal Jabber client for [[Emacs]].|http://emacs-jabber.sourceforge.net/|{{AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|Small Jabber console client, includes features: SSL, PGP, MUC, OTR, and UTF8.|http://mcabber.com/|{{Pkg|mcabber}}}}<br />
* {{App|Profanity|A console based Jabber client inspired by Irssi.|http://www.profanity.im/|{{Pkg|profanity}}}}<br />
<br />
====== Graphical clients ======<br />
<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|Jabber client written in PyGTK.|https://gajim.org/|{{Pkg|gajim}}}}<br />
* {{App|Jabbim|Jabber client written in PyQt.|http://www.jabbim.com/|{{AUR|jabbim-svn}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|Qt-based Jabber client.|http://psi-im.org/|{{Pkg|psi}}}}<br />
* {{App|Psi+|Enhanced version of the Psi Jabber client with many new [http://psi-plus.com/wiki/en:features#differences_between_psi_beta_version_and_the_official_psi_015-dev_version features].|https://code.google.com/p/psi-dev/|{{AUR|psi-plus-git}}}}<br />
* {{App|[[Wikipedia:Tkabber|Tkabber]]|Easy to hack feature-rich XMPP client by the author of the ejabberd XMPP server.|http://tkabber.jabber.ru/|{{Pkg|tkabber}}}}<br />
<br />
====== Servers ======<br />
<br />
See also [[Wikipedia:Comparison of XMPP server software]].<br />
<br />
* {{App|[[Prosody]]|An XMPP server written in the [http://www.lua.org/ Lua] programming language. Prosody is designed to be lightweight and highly extensible. It is licensed under a permissive [http://prosody.im/source/mit MIT license].|http://prosody.im/|{{Pkg|prosody}}}}<br />
* {{App|Ejabberd|Jabber server written in Erlang|http://www.ejabberd.im/|{{Pkg|ejabberd}}}}<br />
* {{App|[[Jabberd2]]|An XMPP server written in the C language and licensed under the GNU General Public License. It was inspired by jabberd14.|http://jabberd2.org|{{AUR|jabberd2}}}}<br />
<br />
===== IRC clients =====<br />
<br />
See also [[Wikipedia:Comparison of Internet Relay Chat clients]].<br />
<br />
====== Console ======<br />
<br />
* {{App|[[Wikipedia:BitchX|BitchX]]|Console-based IRC client developed from the popular [[Wikipedia:ircII|ircII]].|http://www.bitchx.org/|{{AUR|bitchx-git}}}}<br />
* {{App|ERC|Powerful, modular, and extensible IRC client for [[Emacs]].|http://savannah.gnu.org/projects/erc/|{{AUR|erc-git}}}}<br />
* {{App|[[Wikipedia:Ii (IRC client)|ii]]|Featherweight IRC client, literally {{ic|tail -f}} the conversation and {{ic|echo}} back your replies to a file.|http://tools.suckless.org/ii|{{AUR|ii}}}}<br />
* {{App|Ircfs|File system interface to IRC written in [http://limbo.cat-v.org Limbo].|http://www.ueber.net/code/r/ircfs|{{AUR?|ircfs}}}}<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client.|http://irssi.org/|{{Pkg|irssi}}}}<br />
* {{App|ScrollZ|Advanced IRC client based on [[Wikipedia:ircII|ircII]].|http://www.scrollz.info/|{{AUR|scrollz}}}}<br />
* {{App|sic|Extremely simple IRC client, similar to [[Wikipedia:Ii (IRC client)|ii]].|http://tools.suckless.org/sic|{{AUR|sic}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|Modular, lightweight ncurses-based IRC client.|http://weechat.org/|{{Pkg|weechat}}}}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|HexChat|Fork of XChat for Linux and Windows.|http://hexchat.github.io/|{{Pkg|hexchat}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE desktop.|http://konversation.kde.org/|{{Pkg|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support.|http://kvirc.net/|{{Pkg|kvirc}}}}<br />
* {{App|Loqui|GTK+ IRC client with only one dependency: [https://live.gnome.org/GNetLibrary GNet].|https://launchpad.net/loqui|{{AUR|loqui}}}}<br />
* {{App|LostIRC|Simple GTK+ IRC client with tab-autocompletion, multiple server support, logging and others.|http://lostirc.sourceforge.net|{{AUR|lostirc}}}}<br />
* {{App|pcw|Frontend for [http://tools.suckless.org/ii ii] that opens a new terminal for each channel.|https://bitbucket.org/emg/pcw|{{AUR|pcw-hg}}}}<br />
* {{App|[[Wikipedia:Quassel IRC|Quassel]]|Modern, cross-platform, distributed IRC client.|http://quassel-irc.org/|{{Pkg|quassel-core}} {{Pkg|quassel-client}}}}<br />
* {{App|[[Wikipedia:Smuxi|Smuxi]]|Cross-platform IRC client for the GNOME desktop inspired by [[Irssi]].|http://smuxi.org/|{{Pkg|smuxi}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|GTK-based IRC client that works on both Linux and Windows.|http://xchat.org/|{{Pkg|xchat}}}}<br />
<br />
===== Lan messengers =====<br />
<br />
See also: [[Wikipedia:Comparison_of_LAN_messengers|Comparison of LAN messengers]].<br />
<br />
* {{App|iptux|Lan communication software, compatible with IP Messenger.|https://github.com/iptux-src/iptux|{{AUR|iptux}}}}<br />
<br />
==== Softphone ====<br />
<br />
See also [[Wikipedia:Comparison of VoIP software]] and [[Wikipedia:List of SIP software]].<br />
<br />
===== Clients =====<br />
<br />
* {{App|[[Wikipedia:Blink (software)|Blink]]|State of the art, easy to use SIP client.|http://www.icanblink.com/|{{AUR|blink-darcs}}}}<br />
* {{App|[[Wikipedia:Ekiga|Ekiga]]|VoIP and video conferencing application with full SIP and H.323 support (formerly known as GNOME Meeting).|http://www.ekiga.org/|{{Pkg|ekiga}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|GNOME instant messenger client using the Telepathy framework with SIP support (using the Sofia-SIP library).|https://live.gnome.org/Empathy|{{Pkg|empathy}}}}<br />
* {{App|iaxComm|Open source softphone for the Asterisk PBX (using the IAX protocol).|http://iaxclient.sourceforge.net/iaxcomm/|{{AUR?|iaxcomm}}}}<br />
* {{App|[[Wikipedia:Jitsi|Jitsi]]|Audio/video SIP VoIP phone and instant messenger written in Java (formerly SIP-Communicator).|https://jitsi.org/|{{AUR|jitsi}}}}<br />
* {{App|Kiax|Qt-based IAX/2 Softphone.|http://www.forschung-direkt.eu/projects/kiax2/|{{AUR|kiax}}}}<br />
* {{App|[[Wikipedia:KPhone|KPhone]]|Qt SIP User Agent with voice, video and text messaging support.|http://sourceforge.net/projects/kphone/|{{AUR?|kphone}}}}<br />
* {{App|[[Wikipedia:Linphone|Linphone]]|VoIP phone application that allows you to to communicate freely with people over the internet, with voice, video, and text instant messaging.|http://www.linphone.org/|{{Pkg|linphone}}}}<br />
* {{App|Minisip|SIP User Agent with focus on security (supports TLS, end-to-end security, SRTP, MIKEY (DH, PSK, PKE)).|http://www.minisip.org/|{{AUR?|minisip}}}}<br />
* {{App|[[Wikipedia:Mumble (software)|Mumble]]|Voice chat application similar to TeamSpeak.|http://mumble.sourceforge.net/|{{pkg|mumble}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|Qt-based Jabber client which supports video conferencing (since version 0.13).|http://psi-im.org/|{{Pkg|psi}} {{AUR|psi-plus-git}}}}<br />
* {{App|[[Wikipedia:QuteCom|QuteCom]]|Softphone which allows you to make free PC to PC video and voice calls, and to integrate all your IM contacts in one place (formerly Wengo Phone).|http://trac.qutecom.org/|{{AUR|qutecom}}}}<br />
* {{App|[[Wikipedia:SFLphone|SFLPhone]]|Open-source SIP/IAX2 compatible softphone with PulseAudio support.|http://sflphone.org/|{{AUR|sflphone}}}}<br />
* {{App|[[Skype]]|Popular but proprietary application for high-quality voice communication.|http://www.skype.com/|{{Pkg|skype}}}}<br />
* {{App|[[TeamSpeak]]|Proprietary VoIP application with gamers as its target audience.|http://www.teamspeak.com/|{{Pkg|teamspeak3}}}}<br />
* {{App|[[Wikipedia:Twinkle (software)|Twinkle]]|Qt softphone for VoIP and IM communication using SIP.|http://www.twinklephone.com/|{{AUR|twinkle}}}}<br />
* {{App|[[Wikipedia:X-Lite|X-Lite]]|Proprietary freeware VoIP soft phone that uses SIP.|http://www.counterpath.net/x-lite|{{AUR|xlite_bin}}}}<br />
* {{App|[[Wikipedia:Zfone|Zfone]]|Softphone application for secure voice communication over the Internet (VoIP), using the ZRTP protocol.|http://zfoneproject.com/|{{AUR|zfone}}}}<br />
<br />
===== Utilities =====<br />
<br />
* {{App|Gladstone|Educational ITU-T G.729 compliant codec with a GStreamer plugin.|https://gitorious.org/gladstone|{{AUR|gladstone-drizztbsd-git}}}}<br />
* {{App|SIPp|Open source test tool and traffic generator for the SIP protocol.|http://sipp.sourceforge.net/|{{AUR|sipp}}}}<br />
* {{App|Sipsak|Small command-line tool for developers and administrators of SIP applications.|http://sipsak.org/|{{AUR|sipsak}}}}<br />
<br />
=== News, RSS, and blogs ===<br />
<br />
==== News aggregators ====<br />
<br />
See also [[Wikipedia:Comparison of feed aggregators]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[Wikipedia:Canto (news aggregator)|Canto]]|Ncurses RSS aggregator.|http://codezen.org/canto/|{{AUR|canto-next-git}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|Email, NNTP and RSS client for Emacs.|http://gnus.org/|{{AUR|emacs-gnus-git}}}}<br />
* {{App|Newsbeuter|Ncurses RSS aggregator with layout and keybinding similar to the [[Mutt]] email client.|http://newsbeuter.org|{{Pkg|newsbeuter}}}}<br />
* {{App|Rawdog|"RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in chronological order.|http://offog.org/code/rawdog.html|{{AUR|rawdog}}}}<br />
* {{App|Snownews|Text mode RSS news reader.|http://kiza.kcore.de/software/snownews/|{{Pkg|snownews}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Wikipedia:Kontact#News Feed Aggregator|Akregator]]|News aggregator for KDE, part of {{Grp|kdepim}}.|http://kde.org/applications/internet/akregator/|{{Pkg|kdepim-akregator}}}}<br />
* {{App|Blam|Simple newsreader for GNOME written in C Sharp.| https://git.gnome.org/browse/blam|{{Pkg|blam}}}}<br />
* {{App|[[Wikipedia:BlogBridge|BlogBridge]]|Excellent Java-based aggregator, which gives users the option to synchronize their feeds across multiple computers.|http://blogbridge.com|{{AUR|blogbridge}}}}<br />
* {{App|[[Wikipedia:Liferea|Liferea]]|GTK+ news aggregator for online news feeds and weblogs.| http://liferea.sourceforge.net|{{Pkg|liferea}}}}<br />
* {{App|RSS Guard|Very tiny RSS and ATOM news reader developed using Qt framework.|https://bitbucket.org/skunkos/rssguard|{{AUR|rssguard}}}}<br />
* {{App|[[Wikipedia:RSSOwl|RSSOwl]]|Powerful aggregator for RSS and Atom feeds, written in Java using Eclipse Rich Client Platform and SWT as a widget toolkit.|http://boreal.rssowl.org|{{AUR|rssowl}}}}<br />
* {{App|[[Thunderbird]]|Email client from Mozilla which also functions as a pretty nice news aggregator.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Tickr (formerly News)|GTK-based RSS Reader that displays feeds as a smooth scrolling line on your Desktop, as known from TV stations.|http://newsrssticker.com/|{{AUR|tickr}}}}<br />
* {{App|Urssus|Cross platform GUI news aggregator.|https://code.google.com/p/urssus/|{{AUR|urssus}}}}<br />
* {{App|QuiteRSS|RSS/Atom feed reader written on Qt/С++.|http://quiterss.org/|{{AUR|quiterss}}}}<br />
<br />
==== Podcast clients ====<br />
<br />
* {{App|gPodder|A podcast client and feed aggregator (GTK+ and CLI interface).|http://gpodder.org/|{{AUR|gpodder3}}}}<br />
* {{App|Greg|A command-line podcast aggregator.|https://github.com/manolomartinez/greg|{{AUR|greg-git}}}}<br />
* {{App|Marrie|A simple podcast client that runs on the Command Line Interface.|https://github.com/rafaelmartins/marrie/|{{AUR|marrie-git}}}}<br />
* {{App|PodCastXDL|A simple podcast Downloader for the terminal.|https://github.com/levi0x0/PodCastXDL|{{AUR|podcastxdl-git}}}}<br />
* {{App|Vocal|Simple Podcast Client for the Modern Desktop (GTK+).|https://launchpad.net/vocal|{{AUR|vocal-bzr}}}}<br />
<br />
==== Usenet newsreaders & newsgrabbers ====<br />
<br />
Some [[#Email_clients|email clients]] also support NNTP. This section mainly lists NNTP-only client.<br />
<br />
See also: [[Wikipedia:List_of_Usenet_newsreaders]], [[Wikipedia:Comparison_of_Usenet_newsreaders]].<br />
<br />
* {{app|lottanzb|A ''SABnzbd+'' (Usenet binary downloader) GUI front-end written in PyGTK|http://www.lottanzb.org/|{{aur|lottanzb}}}}<br />
* {{app|nn|Alternative more user-friendly(curses-based) Usenet newsreader for UNIX.|http://www.nndev.org/|{{aur|nn}}}}<br />
* {{app|[[NZBGet]]|CLI Utility to grab Usenet binary file using .nzb files.|http://nzbget.sourceforge.net/|{{pkg|nzbget}}}}<br />
* {{app|[[Wikipedia:Pan_(newsreader)|pan]]|A GTK2 Usenet newsreader that's good at both text and binaries.|http://pan.rebelbase.com/|{{aur|pan}}}}<br />
* {{app|[[Wikipedia:slrn|slrn]]|An open source text-based news client.|http://www.slrn.org/|{{pkg|slrn}}}}<br />
* {{app|[[Wikipedia:Tin_(newsreader)|tin]]|A cross-platform threaded NNTP and spool based UseNet newsreader.|http://tin.org/|{{aur|tin}}}}<br />
* {{app|trn|A text-based Threaded Usenet newsreader.|http://trn.sourceforge.net/|{{aur|trn}}}}<br />
* {{app|[[Wikipedia:XPN_(newsreader)|XPN]]|A graphical newsreader use PyGTK.|http://xpn.altervista.org/index-en.html|{{aur|xpn}}}}<br />
* {{app|xrn|Usenet newsreader for X Window System.|http://www.mit.edu/people/jik/software/xrn.html|{{aur|xrn}}}}<br />
<br />
==== Blog software ====<br />
<br />
See also [[Wikipedia:Blog software]] and [[Wikipedia:List of content management systems]].<br />
<br />
* {{App|[[Drupal]]|An open source content management platform powering millions of websites and applications. It is built, used, and supported by an active and diverse community of people around the world.|http://drupal.org/|{{Pkg|drupal}}}}<br />
* {{App|Hexo|A fast, simple & powerful blog framework, powered by Node.js.|http://hexo.io|{{AUR|nodejs-hexo}}}}<br />
* {{App|[[Jekyll]]|A static blog engine, written in Ruby, which supports Markdown, textile and other formats.|http://jekyllrb.com/|{{AUR|ruby-jekyll}}}}<br />
* {{App|Nanoblogger|A small weblog engine written in Bash for the command line. It uses common UNIX tools such as cat, grep, and sed to create static HTML content. It is not mantained anymore.|http://nanoblogger.sourceforge.net/|{{Pkg|nanoblogger}}}}<br />
* {{App|[[Wordpress]]|An easy to setup and administer FLOSS content management system featuring a strong and vibrant community with thousands of plugins and themes.|http://wordpress.org/|{{Pkg|wordpress}}}}<br />
<br />
==== Microblogging clients ====<br />
<br />
See also [[Wikipedia:List of Twitter services and applications]].<br />
<br />
* {{App|Birdie|A beautiful Twitter client for GNU/Linux, currently [http://www.birdieapp.eu/2014/10/26/birdie-2-status.html under active development].|http://birdieapp.github.io/ |{{AUR|birdie}}}}<br />
* {{App|Choqok|Microblogging client for KDE that supports Twitter.com, Identi.ca and opendesktop.org services.|http://choqok.gnufolks.org/|{{Pkg|choqok}}}}<br />
* {{App|Corebird|Native Gtk+ Twitter client for the Linux desktop.|http://corebird.baedert.org/|{{AUR|corebird-git}}}}<br />
* {{App|[[Wikipedia:Gwibber|Gwibber]]|GTK-based microblogging client with support for Facebook, Identi.ca, Twitter, Flickr, Foursquare, Sina and Sohu.|http://gwibber.com/|{{AUR|gwibber}}}}<br />
* {{App|[[Wikipedia:Hotot (program)|Hotot]]|Lightweight and open source microblogging client with support for Twitter and Identi.ca and integration with various image sharing services and URL shorteners [http://hotot.org/ (discontinued)].|http://hotot.org|{{AUR|hotot}}}}<br />
* {{App|Pino|Simple and fast client for Twitter and Identi.ca written in [[Wikipedia:Vala (programming language)|Vala]].|http://pino-app.appspot.com/|{{AUR|pino}}}}<br />
* {{App|Polly|Linux Twitter client designed for multiple columns of multiple accounts.|https://launchpad.net/polly/|{{AUR|polly}}}}<br />
* {{App|Qwit|Cross-platform client for Twitter using the Qt toolkit.|http://code.google.com/p/qwit/|{{AUR|qwit}}}}<br />
* {{App|ttytter|Easily scriptable twitter client written in Perl.|http://www.floodgap.com/software/ttytter/|{{Pkg|ttytter}}}}<br />
* {{App|Turpial|Multi-interface Twitter client written in Python.|http://turpial.org.ve/|{{AUR|turpial-git}}}}<br />
* {{App|tyrs|Simple client for Twitter and Identi.ca supporting virtually all its features with nice console UI (unmaintained).|http://tyrs.nicosphere.net/ {{Dead link|2014|07|17}}|{{AUR|tyrs}}}}<br />
* {{App|turses|Twitter client for the console based off {{AUR|tyrs}} with major improvements.|http://turses.rtfd.org/|{{AUR|turses}}}}<br />
<br />
=== Pastebin clients ===<br />
<br />
See also [[Wikipedia:Pastebin]].<br />
<br />
Pastebin services are often used to paste information into [[IRC_Channel|IRC channels]] to help with troubleshooting. There are services for both text (e.g. [http://bpaste.net/ bpaste.net], [http://pastie.org/ pastie.org], [http://codepad.org/ codepad.org]) and images (e.g. [http://imgur.com/ imgur.com], [http://picpaste.com/ picpaste.com]). Pastebin clients allow you to post directy from the cli without using a web browser.<br />
<br />
{{Tip|The sprunge and ix pastebins can be accessed directly via curl, which should return a link to the paste: {{bc|<nowiki><command> | curl -F 'sprunge=<-' http://sprunge.us</nowiki><br><br><nowiki><command> 2>&1 | curl -F 'f:1=<-' ix.io</nowiki>}}<br />
There is also a [https://github.com/robbyrussell/oh-my-zsh/wiki/Usage-of-the-%22sprunge%22-command sprunge plugin] for [https://github.com/robbyrussell/oh-my-zsh/wiki oh-my-zsh] (a configuration tool for the [[Zsh]] command shell).}}<br />
<br />
{{Warning|Do not use [http://pastebin.com/ pastebin.com]. It appears to be the most popular site but it is slow, full of adverts, formats the text badly (it will mess up your code) and many people can not even open the site due to aggressive spam filters.}}<br />
<br />
* {{App|codepad-git|A codepad.org pastebin client written in python.|http://www.codepad.org|{{AUR|codepad-git}}}}<br />
* {{App|Elmer|Pastebin client similar to wgetpaste and curlpaste, except written in Perl and usable with wget or curl. Servers: [http://codepad.org/ codepad.org], [http://rafb.me/ rafb.me], [http://sprunge.us/ sprunge.us].|https://github.com/sudokode/elmer|{{AUR|elmer}}}}<br />
* {{App|Fb-client|Client for the [http://paste.xinu.at/ paste.xinu.at] pastebin.|http://paste.xinu.at|{{Pkg|fb-client}}}}<br />
* {{App|Gist|Command-line interface for the [https://gist.github.com/ gist.github.com] pastebin service.|http://github.com/defunkt/gist|{{AUR|gist}}}}<br />
* {{App|Haste|Universal pastebin tool, written in Haskell. Servers: [http://hpaste.org/ hpaste.org], [http://paste2.org/ paste2.org], [http://pastebin.com/ pastebin.com] and others.|http://hackage.haskell.org/package/haste|{{AUR|ruby-haste}} {{AUR|ruby-haste-git}}}}<br />
* {{App|Hg-paste|Pastebin extension for Mercurial which can send diffs to various pastebin websites for easy sharing. Servers: [http://dpaste.com/ dpaste.com] and [http://dpaste.org/ dpaste.org].|http://bitbucket.org/sjl/hg-paste|{{AUR|hg-paste}}}}<br />
* {{App|imgur|A CLI client which can upload image to [http://imgur.com imgur.com] image sharing service.|http://imgur.com/apps|{{AUR|imgur}}}}<br />
* {{App|Ix|Client for the ix.io pastebin.|http://ix.io|{{Pkg|ix}}}}<br />
* {{App|Npaste-client|Client for the [http://npaste.de/ npaste.de] pastebin.|http://npaste.de|{{AUR|npaste-client}}}}<br />
* {{App|Pastebinit|Really small Python script that acts as a Pastebin client. Servers: [http://pastie.org/ pastie.org], [http://paste.kde.org/ paste.kde.org], [http://paste.debian.net/ paste.debian.net], [http://paste.ubuntu.com/ paste.ubuntu.com] and others (for a full list see {{ic|pastebinit -l}}).|http://launchpad.net/pastebinit|{{Pkg|pastebinit}}}}<br />
* {{App|Uppity|The pastebin client with an attitude.|https://github.com/Kiwi/Uppity|{{AUR|uppity-git}}}}<br />
* {{App|Vim-gist|Vim script for [https://gist.github.com/ gist.github.com].| http://www.vim.org/scripts/script.php?script_id&#61;2423 |{{AUR|vim-gist}}}}<br />
* {{App|Vim-paster|Vim plugin to paste to any pastebin service using curl.|http://eugeneciurana.com/site.php?page&#61;tools|{{AUR|vim-paster}}}}<br />
* {{App|Wgetpaste|Bash script that automates pasting to a number of pastebin services. Servers: [http://pastebin.ca/ pastebin.ca], [http://codepad.org/ codepad.org], [http://dpaste.com/ dpaste.com] and [http://pastebin.osuosl.org/ pastebin.osuosl.org].|http://wgetpaste.zlin.dk/|{{Pkg|wgetpaste}}}}<br />
<br />
=== Bitcoin ===<br />
<br />
See the main article: [[Bitcoin]].<br />
<br />
* {{App|Armory|Bitcoin client with features such as support for multiple wallets, importing keys and backups.|https://github.com/etotheipi/BitcoinArmory|{{AUR|armory-git}}}}<br />
* {{App|[[Bitcoin]]|Official tool to manage Bitcoins, a P2P currency.|http://bitcoin.org/|{{Pkg|bitcoin-daemon}} {{Pkg|bitcoin-qt}}}}<br />
* {{App|Electrum|An easy to use Bitcoin client.|http://electrum.org/|{{Pkg|electrum}}}}<br />
* {{App|MultiBit|A lightweight Bitcoin desktop client powered by the BitCoinJ library.|https://multibit.org/|{{Pkg|multibit}}}}</div>
Adsworth
https://wiki.archlinux.org/index.php?title=GRUB&diff=111375
GRUB
2010-07-08T20:59:25Z
<p>Adsworth: copying resolv.conf in a netinstall</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|GRUB2}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Covers various aspects of the next generation of the GRand Unified Bootloader (GRUB2).}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GRUB}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|GNU GRUB -- GNU Project|http://www.gnu.org/software/grub/}}<br />
{{Article summary link|GNU GRUB Wiki|http://grub.enbug.org/}}<br />
{{Article summary end}}<br />
<br />
[http://www.gnu.org/software/grub/grub-2.en.html GRUB2] is the next generation of the GRand Uniform Bootloader (GRUB). GRUB2 is derived from [http://www.nongnu.org/pupa/ PUPA] which was a research project to investigate the next generation of GRUB. GRUB 2 has been rewritten from scratch to clean up everything and provide modularity and portability [http://www.gnu.org/software/grub/grub-2-faq.en.html#q1].<br />
<br />
Briefly, the ''bootloader'' is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the Linux kernel. The kernel, in turn, initializes the rest of the operating system.<br />
<br />
Currently, [[GRUB]] (i.e. version 0.9x) is the de facto standard bootloader of Linux, and is expected to be superseded by GRUB2 in the near future. When this happens, "GRUB" will become "GRUB Legacy". Even though Grub2 has been worked on since February 2005 and Grub (version 0.9x) is referred to as grub-legacy in some places over the internet, this is yet *not* the case. The new Grub2 still isn't fully implemented.<br />
<br />
== Preface ==<br />
<br />
GRUB2 is still under development and therefore caution should be observed. '''Consider yourself warned!''' GRUB2 may not behave as expected, features may be missing, and functionality may change. Without any specific reason to use GRUB2, users should consider installing the more stable [[GRUB]] instead.<br />
<br />
=== Notes for current GRUB users ===<br />
<br />
* There are differences in the commands of GRUB and GRUB2. Familiarize yourself with [http://grub.enbug.org/CommandList GRUB2 commands] before proceeding (e.g. "find" has been replaced with "search").<br />
<br />
* GRUB2 is now ''modular'' and no longer requires "stage 1.5". As a result, the bootloader itself is limited -- modules are loaded from the hard drive as needed to expand functionality (e.g. for [[LVM]] or RAID support).<br />
<br />
* Device naming has changed between GRUB and GRUB2. Partitions are numbered from 1 instead of 0 while drives are still numbered from 0. For example, {{Filename|/dev/sda1}} would be referred to as {{Codeline|(hd0,1)}} using GRUB2.<br />
<br />
== Installation ==<br />
<br />
The GRUB2 package can be installed with pacman (and will replace {{Package Official|grub}}, if it is installed):<br />
# pacman -S grub2<br />
<br />
Additionally, GRUB2 must be installed to the boot sector of a drive or partition to serve as a bootloader. This is covered in the [[#Bootloader installation]] section.<br />
<br />
=== Installing GRUB2 during Arch Linux installation ===<br />
<br />
* Skip the '''Install Bootloader''' step and exit the installer. <br />
* Configure the network:<br />
# aif -p partial-configure-network<br />
* From the installer's live shell, chroot to the installed system:<br />
{{Note | you only need to copy the resolv.conf if you are doing a netinstall and the grub2 package needs to be fetched from a mirrorserver.}}<br />
# mount -o bind /dev /mnt/dev<br />
# cp /etc/resolv.conf /mnt/etc/resolv.conf<br />
# chroot /mnt bash<br />
* Install the GRUB2 package:<br />
# pacman -Sy grub2<br />
<br />
=== Bootloader Installation ===<br />
<br />
GRUB2 may be installed from a live environment, or directly from a running Arch install.<br />
<br />
In most cases, installing GRUB2 is as easy as running the '''grub-install''' command as root:<br />
# grub-install /dev/sda --no-floppy<br />
<br />
Where the <code>--no-floppy</code> tells to not search for floppy devices which will vastly improve the command's overall execution time on many systems (it will also prevent the issue below from occuring) and where {{Filename|/dev/sda}} is the destination of the installation (in this case the MBR of the first SATA disk). If you use [[LVM]] for your {{Filename|/boot}}, you can install GRUB2 on multiple physical disks. <br />
<br />
Executing grub-install without the <code>--no-floppy</code> flag can also lead to this when there is a problem detecting the path of the floppy device:<br />
<br />
grub-probe: error: Cannot get the real path of '/dev/fd0'<br />
Auto-detection of a filesystem module failed.<br />
Please specify the module with the option '--modules' explicitly.<br />
<br />
Thus it is recommended to use the <code>--no-floppy</code> switch, if you don't want to have your MBR on a floppy. If you do, you also want to set floppy as the first boot device in BIOS.<br />
<br />
== Configuration ==<br />
<br />
The configuration files are <code>/etc/default/grub</code> and <code>/etc/grub.d/*</code>. These files are used to generate the <code>/boot/grub/grub.cfg</code> file. You can also choose to manually edit <code>grub.cfg</code>.<br />
<br />
=== grub-mkconfig ===<br />
<br />
The grub-mkconfig script can be used to generate a {{Filename|grub.cfg}} file. By default the script outputs to stdout. To generate a {{Filename|grub.cfg}} file run the command:<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
=== grub.cfg ===<br />
<br />
A basic grub file uses the following options<br />
* {{Codeline|(hdX,Y)}} is the partition {{Codeline|Y}} on disk {{Codeline|X}}, partition numbers starting at 1, disk numbers starting at 0<br />
* {{Codeline|1=set default=N}} is the default boot entry that is chosen after timeout for user action<br />
* {{Codeline|1=set timeout=M}} is the time {{Codeline|M}} to wait in seconds for a user selection before default is booted<br />
* {{Codeline|<nowiki>menuentry "title" {entry options}</nowiki>}} is a boot entry titled {{Codeline|title}}<br />
* {{Codeline|1=set root=(hdX,Y)}} sets the boot partition, where the kernel and GRUB modules are stored (boot need not be a separate partition, and may simply be a directory under the "root" partition ({{Filename|/}})<br />
<br />
An example configuration:<br />
<br />
{{File<br />
|name=/boot/grub/grub.cfg<br />
|content=<nowiki><br />
# Config file for GRUB2 - The GNU GRand Unified Bootloader<br />
# /boot/grub/grub.cfg<br />
<br />
# DEVICE NAME CONVERSIONS<br />
#<br />
# Linux Grub<br />
# -------------------------<br />
# /dev/fd0 (fd0)<br />
# /dev/sda (hd0)<br />
# /dev/sdb2 (hd1,2)<br />
# /dev/sda3 (hd0,3)<br />
#<br />
<br />
# Timeout for menu<br />
set timeout=5<br />
<br />
# Set default boot entry as Entry 0<br />
set default=0<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
set root=(hd0,1)<br />
linux /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
}<br />
<br />
## (1) Windows<br />
#menuentry "Windows" {<br />
#set root=(hd0,3)<br />
#chainloader +1<br />
#}<br />
</nowiki>}}<br />
<br />
If you choose to modify <code>grub.cfg</code> completely manually and won't even generate the first <code>grub.cfg</code>, you should know that if you do not have a separate boot partition, <code>/boot</code> must prefix entries in <code>grub.cfg</code>. Example:<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
set root=(hd0,1)<br />
linux '''/boot/'''vmlinuz26 root=/dev/sda1 ro<br />
initrd '''/boot/'''kernel26.img<br />
}<br />
<br />
=== Dual-booting ===<br />
<br />
<br />
==== Using grub-mkconfig ====<br />
The best way to add other entries is editing the {{Filename|/etc/grub.d/40_custom}}. The entries in this file will be automatically added when running '''grub-mkconfig'''.<br />
After adding the new lines, run <br />
# grub-mkconfig -o /boot/grub/grub.cfg <br />
to generate an updated {{Filename|grub.cfg}}.<br />
<br />
===== With GNU/Linux =====<br />
<br />
Assuming that the other distro is on partition {{Filename|sda2}}:<br />
<br />
menuentry "Other Linux" {<br />
set root=(hd0,2)<br />
linux /boot/vmlinuz (add other options here as required)<br />
initrd /boot/initrd.img (if the other kernel uses/needs one)<br />
}<br />
<br />
===== With Windows =====<br />
<br />
This assumes that your Windows partition is {{Filename|sda3}}.<br />
<br />
# (2) Windows XP<br />
menuentry "Windows XP" {<br />
set root=(hd0,3)<br />
chainloader +1<br />
}<br />
<br />
If the windows bootloader is on an entirely different harddrive than grub, it may be neccessary to trick windows into believing that it is in fact the first harddrive. This was possible in the old grub with <code>map</code> and is now done with <code>drivemap</code>. Assume grub is on hd0 and windows on hd2, you need to add the following after <code>set root</code><br />
<br />
drivemap -s hd0 hd2 <br />
<br />
==== With Windows via EasyBCD and NeoGRUB ====<br />
<br />
Since EasyBCD's NeoGRUB currently does not understand the GRUB2 menu format, chainload to it by replacing the contents of your {{Filename|C:\NST\menu.lst}} file with lines similar to the following:<br />
<br />
default 0<br />
timeout 1<br />
<br />
title Chainload into GRUB v2<br />
root (hd0,7)<br />
kernel /boot/grub/core.img<br />
<br />
===Visual Configuration===<br />
<br />
In GRUB2 it is possible, by default to change the look of the menu.<br />
<br />
====Background image and bitmap fonts====<br />
<br />
GRUB2 comes with support for background images and bitmap fonts in pf2 format. The unifont font is included in the grub2 package under the filename {{Filename|unicode.pf2}}, or, as only ascii characters under the name {{Filename|ascii.pf2}}. Image formats supported include tga, png and jpeg, providing the correct modules are loaded. The maximum supported resolution depends on your hardware. There are two ways of setting a tga file as background. Two sample configurations are shown below.<br />
<br />
=====The new über method=====<br />
<br />
Edit <code>/etc/default/grub</code> like this:<br />
GRUB_GFXMODE=1024x768x32<br />
GRUB_GFXPAYLOAD_LINUX=keep<br />
GRUB_BACKGROUND="/boot/grub/archlinux.tga"<br />
#GRUB_THEME="/path/to/gfxtheme"<br />
<br />
To generate the changes, run: <br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
=====The deprecated method=====<br />
<br />
This is the piece of text that would be generated. You can choose to add it manually to grub.cfg:<br />
if loadfont /usr/share/grub/unicode.pf2 ; then<br />
set gfxmode="1024x768x32"<br />
set gfxpayload=keep<br />
insmod gfxterm<br />
insmod vbe<br />
terminal_output gfxterm<br />
if terminal_output gfxterm; then true ; else<br />
terminal gfxterm<br />
fi<br />
fi<br />
insmod tga<br />
background_image /boot/grub/archlinux.tga<br />
<br />
{{Note|If this example doesn't work for you try to replace {{Codeline|1=gfxmode="1024x768x32"}} by {{Codeline|1=vbemode="0x105"}}.}}<br />
{{Note|To show all the modes you can use the {{Codeline|1=vbeinfo}} command at grub2 prompt (you need to load the vbe module before).}}<br />
{{Note|If you have installed Grub on a separate partition, /boot/grub/archlinux.tga becomes /grub/archlinux.tga.}}<br />
<br />
====Menu colors====<br />
<br />
As in Grub (0.9x), you can change the menu colors in Grub2. The available colors for GRUB2 are at http://www.gnu.org/software/grub/manual/html_node/color.html. <br />
Here's an example:<br />
<br />
=====The new über method=====<br />
Edit <code>/etc/default/grub</code>:<br />
GRUB_COLOR_NORMAL="light-blue/black"<br />
GRUB_COLOR_HIGHLIGHT="light-cyan/blue"<br />
<br />
Execute:<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
=====The deprecated method=====<br />
<br />
### BEGIN /etc/grub.d/00_header ###<br />
....<br />
'''set menu_color_normal=light-blue/black'''<br />
'''set menu_color_highlight=light-cyan/blue'''<br />
....<br />
### END /etc/grub.d/00_header ###<br />
<br />
====Hidden menu====<br />
<br />
One of the unique features of Grub2 is hiding/skipping the menu and showing it by holding "Shift" when needed. You can also adjust whether you want to see the timeout counter.<br />
<br />
=====The new über method=====<br />
<br />
Edit <code>/etc/default/grub</code> as you wish. Here's an example where the comments from the beginning of the two lines have been removed to enable the feature, the timeout has been set to five seconds and to be shown to the user:<br />
GRUB_HIDDEN_TIMEOUT=5<br />
GRUB_HIDDEN_TIMEOUT_QUIET=false<br />
<br />
And run:<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
=====The deprecated method=====<br />
<br />
Once again, you can choose to be an exception and do this manually as shown here:<br />
<br />
....<br />
set locale_dir=($root)/boot/grub/locale<br />
set lang=en<br />
'''insmod gettext'''<br />
''''if sleep --interruptible 5 ; then'''<br />
'''set timeout=0'''<br />
'''fi'''<br />
### END /etc/grub.d/00_header ###<br />
....<br />
<br />
====Setting the framebuffer resolution ====<br />
<br />
===== The new über method =====<br />
<br />
Grub2 can set the framebuffer for both grub2 itself and the kernel. The old ''vga='' way is deprecated. The preferred method is editing <code>/etc/default/grub</code> as the following sample:<br />
<br />
GRUB_GFXMODE=1024x768x32<br />
GRUB_GFXPAYLOAD_LINUX=keep<br />
<br />
To generate the changes, run: <br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
The gfxpayload property will make sure the kernel keeps the resolution.<br />
<br />
If this method does not work for you, the deprecated vga= method will still work. Just<br />
add the vga= setting next to the "GRUB_CMDLINE_LINUX_DEFAULT=" line in "/etc/default/grub"<br />
for eg: "GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=792" will give you a 1024x768 resolution<br />
<br />
<br />
===== The deprecated method =====<br />
<br />
Again, you can add the configuration manually to grub.cfg as shown below.<br />
<br />
if loadfont /usr/share/grub/unicode.pf2 ; then<br />
set gfxmode="1024x768x32" <br />
set gfxpayload=keep<br />
insmod gfxterm<br />
insmod vbe<br />
terminal_output gfxterm<br />
if terminal_output gfxterm; then true ; else<br />
terminal gfxterm<br />
fi<br />
fi<br />
<br />
=== Other Options ===<br />
<br />
==== LVM ====<br />
<br />
If you use [[LVM]] for your {{Filename|/boot}}, add the following before menuentry lines:<br />
<br />
insmod lvm<br />
<br />
and specify your root in the menuentry as:<br />
<br />
set root=(''lvm_group_name''-''lvm_logical_boot_partition_name'')<br />
<br />
Example:<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
insmod lvm<br />
set root=(VolumeGroup-lv_boot)<br />
# you can only set following two lines<br />
linux /vmlinuz26 root=/dev/mapper/VolumeGroup-root ro<br />
initrd /kernel26.img<br />
}<br />
<br />
==== Raid ====<br />
<br />
Grub2 provides convenient handling of raid-volumes. You need to add<br />
<br />
insmod raid<br />
<br />
which allows you to address the volume natively. E.g. {{Filename|/dev/md0}} becomes<br />
<br />
set root=(md0)<br />
<br />
whereas a partitioned raid-volume (e.g. {{Filename|/dev/md0p1}}) becomes <br />
<br />
set root=(md0,1)<br />
<br />
==== Persistent block device naming ====<br />
You can use UUIDs to detect partitions instead of the "old" '''/dev/sd*''' and '''/dev/hd*''' scheming. It has the advantage of detecting partitions by their unique UUIDs, which is needed by some people booting with complicated partition setups.<br />
<br />
UUIDs are used by default in the recent versions of grub2 - there's no downside in it anyway except that you need to re-generate the grub.cfg file every time you resize or reformat your partitions. Remember this when modifying partitions with Live-CD.<br />
<br />
===== The new über method =====<br />
<br />
The recent versions of grub2 use UUIDs by default. You can re-enable the use of UUIDS by simply commenting the UUID line (this is also what it looks like by default):<br />
#GRUB_DISABLE_LINUX_UUID=true<br />
you can also just set the value as <code>false</code> as shown here:<br />
GRUB_DISABLE_LINUX_UUID=false<br />
<br />
Either way don't forget to generate the changes:<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
===== The deprecated method =====<br />
<br />
To list UUIDs, from a running system:<br />
# blkid<br />
<br />
Replace the value of the {{Codeline|root}} pointer on the linux line with the following:<br />
<br />
linux /vmlinuz26 root='''/dev/disk/by-uuid/<UUID>''' ro<br />
<br />
However, you still have to set Grub2's notion of a root partition. In order to do that, use the {{Codeline|search}} command:<br />
<br />
search --no-floppy --fs-uuid <UUID> --set root<br />
<br />
What the <code>--no-floppy</code> flag does has already been explained. An example boot entry using Persistent block device naming would look like:<br />
<br />
menuentry "Arch Linux" {<br />
'''search --no-floppy --fs-uuid 355ccb5c-99e1-400d-b612-451f9247e35e --set root'''<br />
linux /boot/vmlinuz26 '''root=/dev/disk/by-uuid/355ccb5c-99e1-400d-b612-451f9247e35e''' ro<br />
initrd /boot/kernel26.img<br />
}<br />
<br />
==== Using Labels ====<br />
<br />
It is possible to use labels, human-readable strings attached to filesystems, by using the {{Codeline|--label}} option to {{Codeline|search}}. First of all, label your existing partition:<br />
<br />
# tune2fs -L a <LABEL> <PARTITION><br />
<br />
Then, add an entry using labels. An example of this:<br />
<br />
menuentry "Arch Linux, session texte" {<br />
search --label archroot --set root<br />
linux /boot/vmlinuz26 root=/dev/disk/by-label/archroot ro<br />
initrd /boot/kernel26.img<br />
}<br />
<br />
== Using the command shell ==<br />
<br />
Since the MBR is too small to store all GRUB2 modules, only the menu and a few basic commands reside there. The majority of GRUB2 functionality remains in modules in {{Filename|/boot/grub}}, which are inserted as needed. In error conditions (e.g. if the partition layout changes) GRUB2 may fail to boot. When this happens, a command shell may appear.<br />
<br />
GRUB2 offers multiple shells/prompts. If there is a problem reading the menu but the bootloader is able to find the disk, you will likely be dropped to the "normal" shell:<br />
<br />
sh:grub><br />
<br />
If there is a more serious problem (e.g. GRUB cannot find required files), you may instead be dropped to the "rescue" shell:<br />
<br />
grub rescue><br />
<br />
The rescue shell is a restricted subset of the normal shell, offering much less functionality. If dumped to the rescue shell, first try inserting the "normal" module, then starting the "normal" shell:<br />
<br />
grub rescue> set prefix=(hdX,Y)/boot/grub<br />
grub rescue> insmod (hdX,Y)/boot/grub/normal.mod<br />
rescue:grub> normal<br />
<br />
<br />
====parttool or legacy hide/unhide====<br />
If you have a win9x paradigm with hidden C disks GRUB legacy had the hide/unhide feature. In GRUB2 this has been replaced by parttool. For example, to boot the third C disk of three win9x installations on the CLI enter the CLI and:<br />
parttool hd0,1 hidden+ boot-<br />
parttool hd0,2 hidden+ boot-<br />
parttool hd0,3 hidden- boot+<br />
set root=hd0,3<br />
chainloader +1<br />
boot<br />
<br />
== Using the rescue console ==<br />
<br />
See [[#Using the command shell]] first. If unable to activate the standard shell, one possible solution is to boot using a live CD or some other rescue disk to correct configuration errors and reinstall GRUB. However, such a boot disk is not always available (nor necessary); the rescue console is surprisingly robust.<br />
<br />
The available commands in GRUB rescue include "insmod", "ls", "set", and "unset". This example uses "set" and "insmod". "set" modifies variables and "insmod" inserts new modules to add functionality.<br />
<br />
Before starting, the user must know the location of their {{Filename|/boot}} partition (be it a separate partition, or a subdirectory under their root):<br />
<br />
grub rescue> set prefix=(hdX,Y)/boot/grub<br />
<br />
where X is the physical drive number and Y is the partition number.<br />
<br />
To expand console capabilities, insert the "linux" module:<br />
<br />
grub rescue> insmod (hdX,Y)/boot/grub/linux.mod<br />
<br />
{{Note|With a separate boot partition, omit {{Filename|/boot}} from the path, (i.e. type {{Codeline|1=set prefix=(hdX,Y)/grub}} and {{Codeline|insmod (hdX,Y)/grub/linux.mod}}).}}<br />
<br />
This introduces the "linux" and "initrd" commands, which should be familiar (see [[#Configuration]]).<br />
<br />
An example, booting Arch Linux:<br />
<br />
set root=(hd0,5)<br />
linux /boot/vmlinuz26 root=/dev/sda5<br />
initrd /boot/kernel26.img<br />
boot<br />
<br />
With a separate boot partition, again change the lines accordingly:<br />
<br />
set root=(hd0,5)<br />
linux /vmlinuz26 root=/dev/sda6<br />
initrd /kernel26.img<br />
boot<br />
<br />
After successfully booting the Arch Linux installation, users can correct {{Filename|grub.cfg}} as needed and then run:<br />
<br />
# grub-install /dev/sda --no-floppy<br />
<br />
to reinstall GRUB2 and fix the problem completely, changing {{Filename|/dev/sda}} if needed. See [[#Bootloader installation]] for details.<br />
<br />
== Combining the use of UUID's and basic scripting ==<br />
--[[User:Celilo|Celilo]] 06:04, 19 March 2010 (EDT)<br />
<br />
If you like the idea of using UUID's to avoid unreliable bios mappings or are struggling with grub syntax, here is an example boot menu item that uses UUID's and a small script to direct grub to the proper disk partitions for your system. All you need to do is replace the UUID's in the sample with the correct UUID's for your system. (The example applies to a system with a boot and root partition. You will obviously need to modify the grub configuration if you have additional partitions.)<br />
<br />
menuentry "Arch Linux 64" {<br />
set uuid_grub_boot=ece0448f-bb08-486d-9864-ac3271bd8d07 #Enter the UUID of your boot partition (this is where grub and your kernel reside) <br />
set uuid_os_root=c55da16f-e2af-4603-9e0b-03f5f565ec4a #Enter the UUID of the partition containing the root partition of your Arch Linux installation. <br />
#(Note: this may be the same as your boot partition) <br />
search --no-floppy --fs-uuid $uuid_os_root --set=root #Here we set the grub "root" variable by locating the uuid of the root partition identified above<br />
search --no-floppy --fs-uuid $uuid_grub_boot --set=grub_boot #Here we set a custom variable grub_boot by locating the uuid of the boot partition identified above<br />
#Here's the magic. We test to see if the boot and root partitions have the same UUID. If they do we append /boot to the $grub_boot variable. For ex. (hd0,1) becomes (hd0,1)/boot. <br />
if [ $uuid_grub_boot == $uuid_os_root ] ; then <br />
set grub_boot=$grub_boot/boot<br />
fi<br />
# $grub_boot now points to the correct location, so the following will properly find the kernel and initrd<br />
linux ($grub_boot)/vmlinuz26 root=/dev/disk/by-uuid/$uuid_os_root ro<br />
initrd ($grub_boot)/kernel26.img<br />
}<br />
<br />
<br />
<br />
== Troubleshooting ==<br />
<br />
Any troubleshooting should be added here.<br />
<br />
=== msdos-style error message ===<br />
<br />
grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!<br />
grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.<br />
However, blocklists are UNRELIABLE and its use is discouraged.<br />
grub-setup: error: If you really want blocklists, use --force.<br />
<br />
This error may occur when you try installing GRUB2 in a VMware container. Read more about it [http://bbs.archlinux.org/viewtopic.php?pid=581760#p581760 here]. Hopefully a fix will be provided soon.<br />
<br />
It also happens when the first partition starts just after the MBR, without the usual space of 60-something block before the first partition.<br />
<br />
=== Other ===<br />
I couldn't figure out how to uninstall grub1, and install grub2 to the MBR, as it isn't being booted by default. It is still booting grub1. So, an easy work-around, is rename {{Filename|menu.lst.pacsave}} or whatever, to {{Filename|menu.lst}} (in /boot/grub/) and for each menu entry that you would like to use grub2, at the end type {{Codeline|"chainloader +1"}}. This will tell grub1 to forward control to grub2. This is an ugly hack though, so I advise setting the {{Filename|menu.lst}}'s timout as 0, otherwise the total timeout would be grub1's time out + grub2's which, for me would equal more than 18 seconds, which is quite a bit.<br />
<br />
P.S. hopefully someone figures out how to pry grub1's dead fingers off of my MBR, and place grub2 on it :) .<br />
<br />
In my case it had to do with my boot partition. Say boot-partition is {{Codeline|(hd0,1)}} and your root is {{Codeline|(hd0,3)}} (grub2 naming). grub-setup searches for {{Filename|(hd0,3)/boot/grub/core.img}}. Just because it's on {{Filename|(hd0,1)/grub/core.img}}, it is unable to find it. So I copied the grub-folder to my root partition and everything worked fine:<br />
<br />
E.g. (as root:)<br />
# mount /boot<br />
# cp -a /boot/grub /<br />
# umount /boot<br />
# mv /grub /boot/<br />
# grub-install /dev/sda</div>
Adsworth
https://wiki.archlinux.org/index.php?title=Awesome_(window_manager)&diff=70196
Awesome (window manager)
2009-06-08T13:36:01Z
<p>Adsworth: /* Installation */ Note on non working external Portfile</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Awesome (Česky)}}<br />
{{i18n_entry|English|Awesome3}}<br />
{{i18n_entry|简体中文|Awesome_(简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
= Introduction =<br />
From the awesome website:<br />
<br />
''[http://awesome.naquadah.org/ awesome] is a highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license.<br />
<br />
It is primarly targeted at power users, developers and any people dealing with every day computing tasks and who want to have fine-grained control on its graphical environment.''<br />
<br />
= Installation =<br />
<br />
Awesome 3.x is available in the community repositories, just:<br />
# pacman -S awesome<br />
<br />
Wicked is a lua library for awesome3 to provide more widgets, like MPD Widgets, CPU usage, memory usage, etc. You can require() it from within rc.lua, and set up all your widgets from inside the same config file, without having to run a separate program with separate config files. Wicked has not appeared in the standard repositories.<br />
<br />
There's a repository to install both awesom3 and wicked. You can edit /etc/pacman.conf,just add:<br />
<br />
[awesome]<br />
Server = <nowiki>http://www.camazotz.de/awesome/</nowiki><br />
<br />
{{Box Note | As of 8th June 2009 this Portfile doesn't install all dependencies neccesary. In the communtiy repository is a correct awesome3 packeage but no wicked-awseome3.}}<br />
<br />
To install them, simply:<br />
# pacman -S awesome3 wicked-awesome3<br />
<br />
== Awesome-git and wicked-git ==<br />
Git-based development versions are available from AUR, see [http://aur.archlinux.org/packages.php?ID=13916 awesome-git], [http://aur.archlinux.org/packages.php?ID=17232 wicked-git].<br />
<br />
There are several ways to install them.<br />
The easiest is to use "yaourt" (also available in the AUR). If you have yaourt installed, simply:<br />
# yaourt -S awesome-git wicked-git<br />
<br />
= Getting Started =<br />
<br />
==Using awesome==<br />
To run awesome without a login manager, simply add '''<tt>exec awesome</tt>''' to the startup script of your choice (e.g. ~/.xinitrc.)<br />
<br />
If you have problems with some devices (like mounting usbkeys, reading dvds) be sure to read documentation about hal and policykit. When you don't use a login manager, nothing is automated. In some cases, using '''<tt>exec ck-launch-session awesome</tt>''' can solve your problems.<br />
<br />
To start awesome from a login manager, see [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup | this article]]. <br />
<br />
'''[[SLIM]]''' is a popular lightweight login manager and comes highly recommended. You should do like this:<br />
<br />
1) Edit /etc/slim.conf for start awesome session, add awesome to sessions line. For example: <br />
sessions awesome,wmii,xmonad<br />
2) Edit ~/.xinitrc file <br />
DEFAULT_SESSION=awesome<br />
case $1 in<br />
awesome) exec awesome ;;<br />
wmii) exec wmii ;;<br />
xmonad) exec xmonad ;;<br />
*) exec $DEFAULT_SESSION ;;<br />
esac<br />
<br />
= Configuration =<br />
Awesome includes some good default settings right out of the box, but sooner or later you'll want to change something. The lua based configuration file is at <tt>~/.config/awesome/rc.lua</tt>.<br />
<br />
== Creating the configuration file ==<br />
Whenever compiled, awesome will attempt to use whatever custom settings are contained in ~/.config/awesome/rc.lua. This file is not created by default, so we must copy the template file first:<br />
$ cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua<br />
<br />
For more information about configuring awesome, check out the [http://awesome.naquadah.org/wiki/Awesome_3_configuration configuration page at awesome wiki]<br />
<br />
== More configuration resources ==<br />
{{Box Note | The syntax of awesome configuration changes regularly, so you will likely have to modify any file you download.}}<br />
<br />
Some good examples of rc.lua would be as follows:<br />
<br />
* http://git.glacicle.com/other/configs.git/.config/awesome/rc_30.lua<br />
* http://www.calmar.ws/dotfiles/dotfiledir/dot_awesomerc.lua<br />
* http://tux-atome.fr/rhaamo_config-files.git?a=tree;f=configs/awesome3/dot_config/awesome - Awesome 3, no wicked required and no beautiful.<br />
* http://github.com/wolgri/wolgri.config/tree/master/.config/awesome/rc.lua<br />
* http://oxmoz.no-ip.org/awesome/rc.lua<br />
* http://www.ugolnik.info/downloads/awesome/rc.lua (screen) - Awesome 3 with small titlebar and statusbar.<br />
* http://github.com/BaSh/config/tree/master/.config/awesome/rc.lua<br />
* http://silenceisdefeat.org/~koniu/awesome/rc.lua (screen)<br />
* http://dmaus.gmxhome.de/awesome/rc.lua (main file)<br />
** http://dmaus.gmxhome.de/awesome/thinkpad.include (notebook specific configuration) <br />
* https://trac.poildetroll.net/trac/akoya/browser/config/awesome/rc.lua<br />
* http://svn.grumblesmurf.org/mercurial/awesome-config/file/tip<br />
* http://github.com/stxza/arch-linux-configs/tree/master/.config/awesome (All) [http://balancest.deviantart.com/gallery/ (screen gallery)]<br />
* User Configuration Files http://awesome.naquadah.org/wiki/User_Configuration_Files<br />
<br />
= Themes =<br />
<br />
Beautiful is a lua library that allows you to theme awesome using an external file, it becomes very easy to dynamically change your whole awesome colours and wallpaper without changing your rc.lua. <br />
<br />
The default theme is at /usr/share/awesome/themes/default. Copy it to ~/.awesome/themes/default and change theme_path in rc.lua. <br />
<br />
More details [http://awesome.naquadah.org/wiki/Beautiful here]<br />
<br />
A few sample [http://awesome.naquadah.org/wiki/Beautiful_themes themes]<br />
<br />
== Setting up your wallpaper ==<br />
<br />
Beautiful can handle your wallpaper, thus you don't need to set it up in your .xinitrc or .xsession files. This allows you to have a specific wallpaper for each theme. If you take a look at the default theme file you'll see a wallpaper_cmd key, the given command is executed when beautiful.init("path_to_theme_file") is run. You can put here you own command or remove/comment the key if you don't want Beautiful to interfere with your wallpaper business.<br />
<br />
For instance, if you use fbsetbg to set your wallpaper, you can write:<br />
<br />
wallpaper_cmd = fbsetbg -f .config/awesome/themes/awesome-wallpaper.png<br />
<br />
= Tips & Tricks =<br />
Feel free to add any tips or tricks that you would like to pass on to other awesome users.<br />
==Expose effect like compiz==<br />
<br />
Revelation brings up a view of all your open clients; left-clicking a client pops to the first tag that client is visible on and raises/focuses the client. In addition, the Enter key pops to the currently focused client, and Escape aborts. <br />
<br />
http://awesome.naquadah.org/wiki/Revelation<br />
<br />
==Hide / show statusbars in awesome 3.0?==<br />
<br />
Lua code:<br />
<br />
mystatusbar.screen = nil<br />
<br />
To map Modkey-b to hide/show default statusbar on active screen (as default in awesome 2.3), add to your awesome/rc.lua:<br />
<br />
keybinding.new({ modkey }, "b", function () <br />
if mystatusbar[mouse.screen].screen == nil then <br />
mystatusbar[mouse.screen].screen = mouse.screen<br />
else<br />
mystatusbar[mouse.screen].screen = nil<br />
end<br />
end):add()<br />
<br />
Do not forget replace mystatusbar with the name of your statusbar<br />
<br />
==Enable printscreens==<br />
<br />
To enable printscreens in awesome through the PrtScr button you need to have a screen capturing program.<br />
Scrot is a easy to use utility for this purpose and is available in Arch repositories.<br />
<br />
Just type:<br />
# pacman -S scrot<br />
<br />
and install optional dependencies if you feel that you need them.<br />
<br />
Next of we need to get the key name for PrtScr, most often this is named "Print" but one can never be to sure.<br />
<br />
Start up:<br />
# xev<br />
<br />
And press the PrtScr button, the output should be something like:<br />
KeyPress event ....<br />
root 0x25c, subw 0x0, ...<br />
state 0x0, keycode 107 (keysym 0xff61, '''Print'''), same_screen YES,<br />
....<br />
<br />
In my case as you see, the keyname is Print.<br />
<br />
Now to the configuration of awesome!<br />
<br />
Somewhere in your globalkeys array (doesn't mather where) type:<br />
<br />
Lua code:<br />
<br />
key({ }, "Print", function() awesome.util.spawn("scrot -e 'mv $f ~/screenshots/ 2>/dev/null'") end),<br />
<br />
A good place to place this is bellow the keyhook for spawning a terminal.<br />
To find this line search for: awful.util.spawn(terminal) in your favourite text editor.<br />
<br />
Also, this function saves screenshots inside ~/screenshots/, edit this to fit your needs.<br />
<br />
==Dynamic tagging using Eminent==<br />
<br />
TODO...<br />
[http://awesome.naquadah.org/wiki/index.php?title=Eminent]<br />
<br />
Note: Eminent is a bit old and outdated. We have a new library in the works, Shifty. It hasn't been included with the main source yet, but is very promising. I'd recommend waiting for that and then writing this section for it. [http://garoth.com/awesome/shifty.ogv Shifty Video (.ogv)]<br />
<br />
Note2: There is actually yet another implementation of this feature. I'm hoping it merges with Shifty, and I'm poking the developers in that direction.<br />
<br />
==Space Invaders== <br />
TODO<br />
[http://awesome.naquadah.org/wiki/index.php?title=Space_Invaders]<br />
<br />
==Naughty for popup notification==<br />
TODO<br />
[http://awesome.naquadah.org/wiki/index.php?title=Naughty]<br />
<br />
==Popup Menus==<br />
There's a simple menu by default in awesome3, and customed menus seem very easy now. However, if you're using 2.x awesome, have a look at ''[http://awesome.naquadah.org/wiki/index.php?title=Awful.menu awful.menu]''.<br />
<br />
An example for awesome3:<br />
<pre><br />
myawesomemenu = {<br />
{ "lock", "xscreensaver-command -activate" },<br />
{ "manual", terminal .. " -e man awesome" },<br />
{ "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },<br />
{ "restart", awesome.restart },<br />
{ "quit", awesome.quit }<br />
}<br />
<br />
mycommons = {<br />
{ "pidgin", "pidgin" },<br />
{ "OpenOffice", "soffice-dev" },<br />
{ "Graphic", "gimp" }<br />
}<br />
<br />
mymainmenu = awful.menu.new({ items = { <br />
{ "terminal", terminal },<br />
{ "icecat", "icecat" },<br />
{ "Editor", "gvim" },<br />
{ "File Manager", "pcmanfm" },<br />
{ "VirtualBox", "VirtualBox" },<br />
{ "Common App", mycommons, beautiful.awesome_icon },<br />
{ "awesome", myawesomemenu, beautiful.awesome_icon }<br />
}<br />
})<br />
</pre><br />
<br />
==Widgets using wicked==<br />
Wicked is a lua library for awesome3 to provide more widgets.<br />
<br />
Make sure that you've installed wicked. See the Installation section above.<br />
<br />
Configuring wicked is easy, just add the following line to the top of your rc.lua and you're ready to go. <br />
require("wicked")<br />
Then add the following lines in the end of your rc.lua:<br />
<pre><br />
-- Widgets using wicked<br />
-- Merory usage<br />
memwidget = widget({<br />
type = 'textbox',<br />
name = 'memwidget',<br />
align = "right"<br />
})<br />
wicked.register(memwidget, wicked.widgets.mem,<br />
' RAM: $1% ($2Mb/$3Mb) || ')<br />
<br />
--date<br />
datewidget = widget({<br />
type = 'textbox',<br />
name = 'datewidget',<br />
})<br />
wicked.register(datewidget, wicked.widgets.date,<br />
' %c')<br />
<br />
-- file system<br />
fswidget = widget({<br />
type = 'textbox',<br />
name = 'fswidget',<br />
align = "right"<br />
})<br />
wicked.register(fswidget, wicked.widgets.fs,<br />
' DiskUsage: /root ${/ usep}% , /home ${/home usep}% (${/home used}/${/home size}) || ', 30)<br />
<br />
-- cpu<br />
cpuwidget = widget({<br />
type = 'textbox',<br />
name = 'cpuwidget',<br />
align = "right"<br />
})<br />
wicked.register(cpuwidget, wicked.widgets.cpu,<br />
' CPU: $1% $2% || ')<br />
<br />
-- net<br />
netwidget = widget({<br />
type = 'textbox',<br />
name = 'netwidget',<br />
align = "right"<br />
})<br />
wicked.register(netwidget, wicked.widgets.net,<br />
' NET: ${wlan0 down}/${wlan0 up} (${wlan0 rx}/${wlan0 tx})',<br />
nil, nil, 3)<br />
<br />
-- statebar in the bottom<br />
mystatebar = wibox( {position = "bottom", fg = beautiful.fg_normal, bg = beautiful.bg_normal} )<br />
mystatebar.widgets = {<br />
datewidget,<br />
fswidget,<br />
cpuwidget,<br />
memwidget,<br />
netwidget,<br />
}<br />
mystatebar.screen = 1<br />
</pre><br />
and restart awesome to check the effection.<br />
<br />
More details see the [http://awesome.naquadah.org/wiki/index.php?title=Wicked Wicked].<br />
<br />
== Transparency ==<br />
Awesome has support for (2D) transparency through xcompmgr. Note that you'll probably want the git version of xcompmgr, which is [http://aur.archlinux.org/packages.php?ID=16554 available in AUR]. <br />
<br />
Add this to your ~/.xinitrc<br />
xcompmgr &<br />
See ''man xcompmgr'' or [[xcompmgr]] for more options.<br />
<br />
you can set this window transparency dynamically in the rc.lua <br />
add<br />
<br />
c.opacity = 1<br />
<br />
to the awful.hooks.focus.register hook (to restore Visibility)<br />
add<br />
<br />
c.opacity = 0.4<br />
<br />
to the awful.hooks.unfocus.register hook (to make the Window transparent. Adjust value as comfortable)<br />
<br />
As of Awesome 3.1, there is now built-in pseudo transparency for wiboxes. To enable, just add 2 more hexadecimals to the colors in your theme file (~/.config/awesome/themes/default usually), like shown here:<br />
<br />
bg_normal = #000000AA<br />
<br />
where "AA" is the transparency value.<br />
<br />
== Autorun programs ==<br />
Just add the following codes in the rc.lua, and replace the applications in the autorunApps section with anything you like. Example:<br />
-- Autorun programs<br />
autorun = true<br />
autorunApps = <br />
{ <br />
"swiftfox",<br />
"mutt",<br />
"consonance",<br />
"linux-fetion",<br />
"weechat-curses",<br />
}<br />
if autorun then<br />
for app = 1, #autorunApps do<br />
awful.util.spawn(autorunApps[app])<br />
end<br />
end<br />
<br />
= Troubleshooting =<br />
<br />
==Mod4 key==<br />
<br />
Alias the Win key. Somehow, my Mod4 key isn't mapped by default. If that's your case too, you can check the keycode of your Mod4 key with<br />
<br />
$ xev<br />
<br />
It should be 115 for the left one. Then add this to your ~/.xinitrc<br />
<br />
xmodmap -e "keycode 115 = Super_L" -e "add mod4 = Super_L"<br />
exec awesome<br />
<br />
<br />
<br />
==Mod4 key vs. IBM ThinkPad users==<br />
<br />
IBM ThinkPads do not come equipped with a Window key (although Lenovo have changed this tradition on their ThinkPads). As of writing, the Alt key is not used in command combinations by the default rc.lua (refer to the Awesome wiki for a table of commands), which allows it be used as a replacement for the Super/Mod4/Win key. To do this, edit your rc.lua and replace:<br />
<br />
modkey = "Mod4"<br />
<br />
by:<br />
<br />
modkey = "Mod1"<br />
<br />
Note: Awesome does a have a few commands that make use of Mod4 plus a single letter. Changing Mod4 to Mod1/Alt could cause overlaps for some key combinations. The small amount of instances where this happens can be changed in the rc.lua file.<br />
<br />
<br />
==Cairo Memory Leak==<br />
If you experiencing [http://awesome.naquadah.org/bugs/index.php?do=details&task_id=396 memory leaks] then try [http://aur.archlinux.org/packages.php?ID=9566 cairo-git] in AUR. [http://bbs.archlinux.org/viewtopic.php?pid=462021 Forum Thread]<br />
<br />
Update: The recent Cairo 1.8.6 release is also fine to use it seems as the fix from git should be in there.<br />
<br />
= Additional Resources =<br />
* http://www.lua.org/pil/ - Programming in Lua (first edition)<br />
* http://awesome.naquadah.org/ - The official awesome website<br />
* http://awesome.naquadah.org/wiki/Main_Page - the awesome wiki<br />
* http://www.penguinsightings.org/desktop/awesome/ - A review</div>
Adsworth
https://wiki.archlinux.org/index.php?title=Official_Installation_Guide&diff=56826
Official Installation Guide
2009-01-03T21:22:32Z
<p>Adsworth: there is now only one package category base-devel in the installer. changed the guide to reflect the current situation.</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|General installation documentation for the Arch Linux distribution.}}<br />
{{Article summary heading|Available Languages}}<br />
{{i18n_entry|English|Official Arch Linux Install Guide}}<br />
{{i18n_entry|简体中文|Arch Linux 官方安装指南}}<br />
{{i18n_entry|正體中文|Arch Linux 官方安裝指南}}<br />
{{i18n_entry|Česky|Oficiální instalační příručka (Česky)}}<br />
{{i18n_entry|Русский|Руководство по установке}}<br />
{{i18n_entry|Español|Guía oficial de Instalación}}<br />
{{i18n_entry|Italiano|Official Arch Linux Install Guide (Italiano)}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|Beginners Guide}} (If you are new to Arch)<br />
{{Article summary end}}<br />
<br />
<br />
==Introduction==<br />
<br />
===What is Arch Linux?===<br />
<br />
Arch Linux is an independently developed i686/x86-64-optimized GNU/Linux distribution. Development is focused on a balance of simplicity, elegance, code-correctness and bleeding edge software.<br />
<br />
The Arch system and binary packages are compiled for i686 or x86-64 processors. Its lightweight and simple design makes it easy to extend and mold into whatever kind of system you're building.<br />
<br />
===License===<br />
<br />
Arch Linux, pacman, documentation, and scripts are copyright<br />
©2002-2007 by Judd Vinet, ©2007-2008 by Aaron Griffin and are licensed under the GNU General Public License Version 2.<br />
<br />
==Installing Arch Linux==<br />
<br />
===Pre-Installation===<br />
<br />
Arch Linux is optimized for the i686 processor and therefore will not<br />
run on any lower or incompatible generations of x86 CPUs<br />
(i386,i486,i586). A Pentium II or AMD Athlon processor or higher is<br />
required. Modern VIA C3 processors are also supported. x86-64 architectures are also officially supported.<br />
<br />
There is a community-driven project that provides packages for i586<br />
and ppc. See this site for more information.<br />
<br />
Before installing Arch Linux, you should decide which installation<br />
method you would like to use. Arch Linux provides two different<br />
bootable ISO images for a CD-ROM installation. Installing Arch from a USB stick or from within another already installed OS is also supported.<br />
<br />
As the preferred method of installation is the flexible CD-ROM based<br />
installation, we offer you two variants of the installation medium<br />
which only differ in terms of supplied packages. You can instruct the<br />
installer to obtain the packages via FTP using any of these images,<br />
and all images can also be used as fully functional live cds.<br />
<br />
* The core iso (~300MB) is a live environment which contains a snapshot of the entire /core repository. Packages are divided into 4 categories: BASE, SUPPORT, DEVEL and LIB. RAID/LVM are fully supported; all necessary packages are included within /core. Installing from a medium created with this image results in a completely functional GNU/Linux system, without any frills, expecting to be used from the command line; the Linux kernel, GNU toolchain and a few extra modules and libraries. This image is ideally suited for those who have a rather slow or nonexistent internet connection on the candidate machine, making an FTP install unfeasible. The name of the iso will be "archlinux-i686-2008.xx-x.core.iso", according to your architecture<br />
* The FTP iso (~175MB) is a live environment, containing no packages at all, but rather pulls in all software over your internet connection. If you have access to a fast and easily setup internet connection, this method may be preferred, since the completed system will be completely up-to-date, without requiring further upgrades from the package versions included on the Core CD. Of course all packages you choose to install have to be downloaded from somewhere, but at least you don't have to update the system directly after installation, saving yourself some hassle. If your network connection is cheap and fast, choose this image. <br />
{{Box Note | When choosing a pacman mirror during installation, keep in mind that archlinux.org is throttled to 50Kb/s.}}<br />
<br />
If you do not have a CD-ROM drive attached to your computer, you may refer to [[Install_from_USB_stick | this guide]] to install Arch Linux using a USB stick. If you do not have a USB stick, there are [[Hard_Disk_Installation | instructions]] for installing from a hard disk partition, such as a swap partition. If you want to use an existing distribution to install Arch Linux, please follow this [[Install_From_Existing_Linux | guide]].<br />
<br />
You can also purchase a cd online from OSDisc, shipping nearly<br />
world-wide.<br />
<br />
Using a dialup PPP connection to gain access to the internet during<br />
the install process is now supported. ppp utilities, rp-pppoe<br />
and the ISDN userspace utilities are included in the installation<br />
media.<br />
<br />
Since version 2007.08, isos are true live systems and run like any installed arch system.<br />
<br />
Some highlights: <br />
* pacman is included, to allow installation of any other needed packages for install environment.<br />
* complete /etc/rc.d/ and /etc/rc.conf support<br />
* complete Arch network support, including ssh,telnet and portmap services<br />
* custom config files support: any media with /config directory and files can be copied to /etc/ install environment<br />
* loading packages as addons during boot: any media with /packages directory including pacman packages can be installed during bootup.<br />
* '''links''' and '''naim''' included to be able to communicate over the internet.<br />
* complete kexec support<br />
<br />
If, during the installation process, you find you require a more verbose guide or explanation, you may also find the Arch Linux [[Beginners Guide]] helpful. <br />
<br />
What You Will Need<br />
<br />
* a working knowledge of GNU/Linux and the candidate machine's hardware<br />
* Arch Linux installation media (see the mirror list)<br />
* an i686 or x86-64 processor (PPro, Pentium 2 or higher, Athlon/Duron, etc. Note that AMD K6, Transmeta Crusoe, CyrixIII, and VIA-C3 are NOT supported.)<br />
* 160 MB RAM<br />
* some time to kill<br />
<br />
===Acquiring Arch Linux===<br />
<br />
You can download Arch Linux from any of the Arch Linux [http://www.archlinux.org/download/ mirrors]. Just follow the links into the "iso" directory and choose the version you wish to install. In general, you are advised to download the latest version as this helps avoid any difficulties during your initial update.<br />
<br />
===Preparing Installation Media===<br />
<br />
*Download <mirror>/iso/<your_architecture>/archlinux-<version>.iso (path relative to mirror root)<br />
*Download <mirror>/iso/<your_architecture>/md5sum-<version>.txt<br />
*Verify the integrity of the .iso image using md5sum:<br />
md5sum archlinux-<version>.iso<br />
*Burn the .iso image to a blank CD-R (this step varies depending on the OS/software you're using). If you want to download the core, ftp or a beta ISO instead, use the appropriate filename, ie: arch-0.8-core.iso instead of arch-0.8.iso, likewise for the md5sum.<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 (eg.: eepro100, 8139too, ne2k-pci, etc.)<br />
<br />
===Using the CD-ROM===<br />
If you are familiar with the boot process, you may skip this <br />
explanation and continue with [[#Common Installation Procedure | Common Installation Procedure]], which outlines <br />
the actual process of installing Arch Linux.<br />
<br />
Reboot your computer with the Arch Linux Installation CD in the drive.<br />
Make sure your BIOS is configured to boot from your CD-ROM.<br />
Refer to your motherboard manual or system manufacturer documentation for<br />
details.<br />
<br />
At the end of the boot procedure, you shall be dropped into a root<br />
shell. At this point you are ready to commence the actual<br />
installation.<br />
<br />
===Common Installation Procedure===<br />
<br />
Installation Steps:<br />
<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 Bootloader<br />
#Exit Install<br />
<br />
Using the available shell tools, experienced users are also able to<br />
prepare the hard drive or any devices needed for the installation<br />
before starting the installer. You may simply skip this paragraph if<br />
you don't see any immediate need for further manual interaction. Note<br />
that the Arch Linux installation media also contains a /arch/quickinst<br />
script for experienced users. This script installs the "base" set of<br />
packages to a user-specified destination directory. If you are doing<br />
an exotic install with fun things like RAID and LVM, or do not want to<br />
use the installer at all, you will probably want to use the quickinst<br />
script. All the cool kids are doing it.<br />
<br />
====Login and Loading a non-US Keymap====<br />
<br />
Login as 'root'. If you have a non-US keyboard layout do:<br />
km<br />
at the prompt.<br />
<br />
====Running Setup====<br />
<br />
Begin the installer script:<br />
/arch/setup<br />
After an informational message you will be prompted for the installation method<br />
of your choice. If you have a fast internet connection, you might<br />
prefer the FTP installation to ensure you get the latest packages<br />
instead of using the potentially outdated CD contents. <br />
<br />
When navigating the setup script, make sure to select DONE from<br />
the submenus after performing each step. This saves any settings you<br />
make in preparation for the next step. Further, avoid arbitrary steps<br />
throughout the installation process as this can also confuse the<br />
installer.<br />
<br />
It's actually rather easy to set up your own FTP package mirror or<br />
create your own bootable installation CD with the packages you need,<br />
making the task of installing several instances of Arch Linux across<br />
multiple machines rather simple, while at the same time saving a lot<br />
of mirror bandwidth. Make your life and ours easier, and look into<br />
these alternatives!<br />
<br />
When choosing a CD-ROM or OTHER SOURCE install you will only be able<br />
to install packages contained on the CD, which may be quite old, or<br />
packages stored on a medium you were able to mount (DVD, USB stick or<br />
similar) somewhere in the filesystem tree manually. Of course, it has<br />
the advantage of not needing an internet connection, and is therefore<br />
the recommended choice for dialup users or those unable or unwilling to download the entire package set via ftp.<br />
<br />
Next, you will be presented with the installer menu, listing the necessary steps in the order in which they should be completed.<br />
<br />
Virtual consoles 1-6 are active in the live environment. At any point in the install process, you can switch to your 5th virtual console (ALT-F5) to view the shell output from installer script. Use (ALT-F1) to get back to your first console where<br />
the installer is running.<br />
<br />
====Configure Network (FTP Install only)====<br />
<br />
Configure Network will allow you to install and configure your network<br />
device.<br />
<br />
A list of all currently available network devices is presented to you.<br />
If no ethernet device is available, load the necessary modules manually from another virtual console. Alternatively,<br />
you may probe for a network module on the following screen by selecting the Probe command. <br />
<br />
When the correct module is loaded, your network card will be<br />
listed. Select the ethernet device you wish to configure<br />
and you will be given the option to configure your network with DHCP.<br />
If you're connected to a DHCP server, hit YES and let the installer do<br />
the rest. If you select NO, you will be asked to enter the networking<br />
information manually.<br />
Either way, your network should be successfully configured, and if<br />
you're of the skeptical kind, you may check connectivity using<br />
standard tools like ping on another console.<br />
<br />
As automations are not perfect, you may not be able to successfully<br />
use the installer to set up your network. In these rare cases, set up you network device manually in one of the consoles.<br />
<br />
====Prepare Hard Drive====<br />
<br />
Prepare Hard Drive presents a submenu offering two<br />
alternatives of preparing the target drive for installation.<br />
<br />
The first choice is Auto-Prepare, which will automatically partition<br />
your hard drive into a /boot, swap, and root partition, and then<br />
create filesystems on all three. These partitions will also be<br />
automatically mounted in the proper place. To be exact, this option<br />
will create:<br />
* 32 MB ext2 /boot partition<br />
* 256 MB swap partition<br />
* root and /home partition with the remaining space. (Root and /home will share the same file system type if choosing the auto-prepare option).<br />
<br />
Actual sizes may vary slightly, due to different hard disk geometries.<br />
You can choose this option if you don't know much about hard drive<br />
partitions, but be warned:<br />
<br />
AUTO-PREPARE WILL ERASE ALL DATA ON THE CHOSEN HARD DRIVE!<br />
Read the warning presented by the installer very carefully, and make<br />
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<br />
another terminal (ALT-F2, Enter) and enter<br />
cfdisk -P s <name of device><br />
<br />
This will display the current partition table of the selected device,<br />
which should suffice to identify the hard disk.<br />
<br />
If you prefer to do the partitioning manually, use '''Partition Hard Drives''' and '''Set Filesystem Mountpoints''' to prepare the target media according to your specifications, as outlined below. After successful preparation, choose Return to Main Menu.<br />
<br />
====Partition Hard Drives====<br />
<br />
Partition Hard Drives should be skipped if you chose Auto-Prepare<br />
already!<br />
<br />
Otherwise you should select the disk(s) you want to partition, and<br />
you'll be dropped into the cfdisk program where you can freely modify<br />
the partitioning information until you [Write] and [Quit].<br />
<br />
You will need at least a root partition to continue the installation,<br />
and it's helpful to note somewhere which partition you're going to<br />
mount where, as you'll be asked exactly that in the next step.<br />
<br />
====Set Filesystem Mountpoints====<br />
<br />
Set Filesystem Mountpoints should also be skipped if you chose to<br />
Auto-Prepare your hard drive. You should select this option once the<br />
partition information is edited to your liking with the previous menu<br />
selection, or already existent through whatever other means.<br />
<br />
First, select the previously created swap partition from the list, or NONE, if you<br />
do not want to use a swap partition. Using a swap ''file'' is not directly<br />
supported by the installer; Instead choose NONE here, finish the<br />
mountpoint associations, and activate a swap file on your desired,<br />
formatted partition with the swapon command.<br />
<br />
After setting up the swap partition, you will be asked to specify the<br />
partition to be used as the root partition. This is mandatory.<br />
<br />
The association process is then repeated until you choose DONE from<br />
the list, ideally after all listed partitions have been associated<br />
with their intended mountpoints. The installer will suggest /boot for<br />
all following mountpoints after choosing swap and root.<br />
<br />
Each time a partition to mount is specified, you will be asked if you<br />
want to create a filesystem on the respective partition. Selecting<br />
YES, will prompt you for the filesystem type to create. The partition will then be<br />
formatted with the chosen filesystem type, destroying all data in the<br />
process. <br />
<br />
If additional mountpoints are desired, for example, a separate /boot or /home partition, you will be able to do so. Simply<br />
* select a partition to mount<br />
* choose a filesystem (if you want to create one instead of keeping existing data)<br />
* enter a unique mountpoint for the partition<br />
<br />
Repeat these steps until satisfied, then select DONE to create<br />
any filesystems and mount the partitions in their respective places.<br />
Before the actual formatting is done, the installer will present to<br />
you a list of all choices for review. After formatting and<br />
mounting all partitions, you may return to the Main Menu and proceed<br />
with the next step.<br />
<br />
===Select Packages===<br />
Now we shall select packages to install in our system.<br />
*Core ISO: Choose CD as source and select the appropriate CD drive if you have more than one.<br />
*FTP ISO: Select an FTP/HTTP mirror. ''Note that archlinux.org is throttled to 50KB/s''. ''Note also that some mirrors doesn't support resuming in case of download failure (e.g. ftp.free.fr)''<br />
<br />
The installer will always install a basic working system. You are given the option to install some basic development tools, such as GCC, autoconf, automake, make and some other useful packages such as openssh, sudo, iptable and some wifi packages.<br />
<br />
If you want to install any of the extra packages during the installation, you need to select the one and only package category '''BASE-DEVEL''' using the space bar.<br />
<br />
The next screen will present you with the selected packages within '''BASE-DEVEL'''.<br />
<br />
Once you're done selecting the packages you need, leave the selection<br />
screen and continue to the next step, Install Packages.<br />
<br />
====Install Packages====<br />
<br />
Install Packages will now install the base system and any other packages you<br />
selected with resolved dependencies onto your harddisk. Don't be<br />
surprised if more packages are installed than you selected! Those<br />
packages are dependencies for your selection, and the installer will<br />
not explicitly ask for permission to install these extra packages, as<br />
it assumes you know what you're doing.<br />
<br />
After the package selection, the installer will not check for free<br />
space on the target! This seemingly trivial task would eat up<br />
considerable time, and therefore the installer simply assumes to have<br />
enough free space on the target partition(s). In case it doesn't, the<br />
installation will fail in various funny ways. A df -h in another<br />
terminal might show that one or more of the targets mounted below /mnt<br />
have been filled up, causing mischief. Consider repartitioning or<br />
selecting a smaller set of packages.<br />
<br />
Error messages and debugging output is echoed to vc/5 (ALT-F5). After the packages have been installed, proceed to the next step, Configure System.<br />
<br />
Pacman will ask you whether it should keep the installed packages in cache. As you can delete them later using 'pacman -Scc', selecting 'yes' is recommended.<br />
<br />
==Configure System==<br />
<br />
Configure System allows you to edit the configuration files crucial<br />
for your newly installed system. Initially you will be asked whether<br />
to allow the hwdetect script to try and detect your hardware, and<br />
produce some (even more) sensible defaults for your configuration<br />
files. Unless you're having problems/crashes, you should let it have<br />
its way, and work from what it generates.<br />
<br />
Answer the following questions about RAID, LVM and encrypted volumes<br />
with Yes, if your root partition resides on a RAID, LVM or encrypted<br />
volume, respectively, to automatically add the necessary HOOKS to the<br />
mkinitcpio.conf. Otherwise you will get a kernel panic during boot, as<br />
your root partition will not be accessible at the time of boot. Most<br />
people will answer these questions with No, though, and not waste a<br />
second thought about it.<br />
<br />
After this automatic preconfiguration you'll be asked for your<br />
favourite editor to use for manually fine-tuning the generated<br />
configuration files, either VIM or nano. When in doubt, choose nano.<br />
<br />
===Configuration Files===<br />
These are the core configuration files for Arch Linux, to be configured with a text-editor. Only the most basic configuration<br />
files are listed here. If you need help configuring a specific<br />
service, please read the appropriate manpage or refer to any online<br />
documentation you need. In many cases, the Arch Linux Wiki and forums<br />
are a rich source for help as well.<br />
<br />
{{Box Note | Arch Linux does not use any abstraction layers to administrate your system. As a result, you can usually stick to any instructions published by the author of a particular software package, or whatever you find in a search engine of your choice, and it likely will work without confusing your system, because your system simply does not 'care'.}}<br />
<br />
'''List of Configuration Files'''<br />
* Setup-relevant configuration files:<br />
** /etc/rc.conf<br />
** /etc/hosts<br />
** [[Fstab | /etc/fstab]]<br />
** /etc/mkinitcpio.conf<br />
** /etc/modprobe.conf<br />
** /etc/resolv.conf<br />
** /etc/locale.gen<br />
** /boot/grub/menu.lst<br />
** /etc/lilo.conf<br />
* Additional configuration files:<br />
** /etc/conf.d/*<br />
** /etc/profile<br />
<br />
<br />
'''/etc/rc.conf'''<br />
<br />
This is the main configuration file for Arch Linux. It allows you to<br />
set your keyboard, timezone, hostname, network, daemons to run and<br />
modules to load at bootup, profiles, and more. You should read through<br />
all the settings in this file and make sure you understand them, and<br />
change them where appropriate:<br />
<br />
LOCALE<br />
This sets your system language, which will be used by all<br />
i18n-friendly applications and utilities. See locale.gen below<br />
for available options. This setting's default is fine for US <br />
English users.<br />
<br />
HARDWARECLOCK<br />
Either UTC if your BIOS clock is set to UTC, or localtime if<br />
your BIOS clock is set to your local time. If you have an OS<br />
installed which cannot handle UTC BIOS times correctly, like<br />
Windows, choose localtime here, otherwise you should prefer<br />
UTC, which makes daylight savings time a non-issue and has a<br />
few other positive aspects.<br />
<br />
TIMEZONE<br />
Specifies your time zone. Possible time zones are the relative<br />
path to a zoneinfo file starting from the directory<br />
/usr/share/zoneinfo. For example, a german timezone would be<br />
Europe/Berlin, which refers to the file<br />
/usr/share/zoneinfo/Europe/Berlin. If you don't know the exact<br />
name of your timezone file, worry about it later.<br />
<br />
KEYMAP<br />
Defines the keymap to load with the loadkeys program on bootup.<br />
Possible keymaps are found in /usr/share/kbd/keymaps. Please<br />
note that this setting is only valid for your TTYs, not any<br />
graphical window managers or X! Again, the default is fine for<br />
US users.<br />
<br />
CONSOLEFONT<br />
Defines the console font to load with the setfont program on<br />
bootup. Possible fonts are found in<br />
/usr/share/kbd/consolefonts.<br />
<br />
CONSOLEMAP<br />
Defines the console map to load with the setfont program on<br />
bootup. Possible maps are found in /usr/share/kbd/consoletrans.<br />
You will want to set this to a map suitable for your locale<br />
(8859-1 for Latin1, for example) if you're using an utf8 locale<br />
above, and use programs that generate 8-bit output. If you're<br />
using X11 for everyday work, don't bother, as it only affects<br />
the output of GNU/Linux console applications.<br />
<br />
USECOLOR<br />
Enable (or disable) colorized status messages during boot-up.<br />
<br />
MOD_AUTOLOAD<br />
If set to "yes", Arch will scan your hardware at bootup and<br />
attempt to automatically load the proper modules for your<br />
system. This is done with the hwdetect utility.<br />
<br />
MOD_BLACKLIST<br />
This is an array of modules that you do not want to be loaded<br />
at bootup. For example, if you don't want that annoying PC<br />
speaker, you could blacklist the pcspkr module.<br />
<br />
MODULES<br />
In this array you can list the names of modules you want to<br />
load during bootup without the need to bind them to a hardware<br />
device as in the modprobe.conf. Simply add the name of the<br />
module here, and put any options into the modprobe.conf if need<br />
be. Prepending a module with a bang ('!') will not load the<br />
module during bootup (this is not the same as MOD_BLACKLIST!),<br />
thus allowing to "comment out" certain modules if necessary. A<br />
benefit of specifying networking modules here is that ethernet<br />
cards covered by the listed modules will always be detected in<br />
the order the modules are listed. This prevents the dreaded<br />
interface confusion where your ethernet hardware is assigned to<br />
seemingly random interfaces after each boot. An even better way<br />
to handle this is using static interface labels by configuring<br />
udev appropriately, though.<br />
<br />
USELVM<br />
Set to "YES" to run a vgchange during sysinit, thus activating<br />
any LVM groups. If you have no idea what this means, don't<br />
bother.<br />
<br />
HOSTNAME<br />
Set this to the hostname of the machine, without the domain<br />
part. This is totally your choice, as long as you stick to<br />
letters, digits and a few common special characters like the<br />
dash. Don't be too creative here, though, and when in doubt,<br />
use the default.<br />
<br />
INTERFACES<br />
Here you define the settings for your networking interfaces.<br />
The default lines and the included comments explain the setup<br />
well enough. If you use DHCP, 'eth0="dhcp"' should work for you. If you do not use DHCP to configure a device, just<br />
keep in mind that the value of the variable (whose name must be<br />
equal to the name of the device which is supposed to be<br />
configured) equals the line which would be appended to the<br />
ifconfig command if you were to configure the device manually<br />
in the shell.<br />
<br />
ROUTES<br />
You can define your own static network routes with arbitrary<br />
names here. Look at the example for a default gateway to get<br />
the idea. Basically the quoted part is identical to what you'd<br />
pass to a manual route add command, therefore reading man route<br />
is recommended if you don't know what to write here, or simply<br />
leave this alone.<br />
<br />
[[Network_Profiles | NET_PROFILES]]<br />
Enables certain network profiles at bootup. Network profiles<br />
provide a convenient way of managing multiple network<br />
configurations, and are intended to replace the standard<br />
INTERFACES/ROUTES setup that is still recommended for systems<br />
with only one network configuration. If your computer will be<br />
participating in various networks at various times (eg, a<br />
laptop) then you should take a look at the<br />
/etc/network-profiles/ directory to set up some profiles. There<br />
is a template file included there that can be used to create<br />
new profiles.<br />
<br />
DAEMONS<br />
This array simply lists the names of those scripts contained in<br />
/etc/rc.d/ which are supposed to be started during the boot<br />
process, as well as the order in which they start. If a script name is prefixed with a bang (!), it is<br />
not executed. If a script is prefixed with an "at" symbol (@),<br />
then it will be executed in the background, ie. the startup<br />
sequence will not wait for successful completion before<br />
continuing. Usually you do not need to change the defaults to<br />
get a running system, but you are going to edit this array<br />
whenever you install system services like sshd, and want to<br />
start these automatically during bootup. This is basically<br />
Arch's way of handling what others handle with various symlinks<br />
to an init.d directory.<br />
<br />
<br />
'''/etc/hosts'''<br />
<br />
This is where you stick hostname/ip associations of computers on your<br />
network. If a hostname isn't known to your DNS, you can add it here to<br />
allow proper resolving, or override DNS replies. You usually don't<br />
need to change anything here, but you might want to add the hostname<br />
and hostname + domain of the local machine to this file, resolving to<br />
the IP of your network interface. Some services, postfix for example,<br />
will bomb otherwise. If you don't know what you're doing, leave this<br />
file alone until you read man hosts.<br />
<br />
<br />
'''[[Fstab | /etc/fstab]]'''<br />
<br />
Your filesystem settings and mountpoints are configured here. The<br />
installer should have created the necessary entries for you, but you<br />
should look over it and make sure it's right, especially when using an<br />
encrypted root device, LVM or RAID.<br />
<br />
With the current kernel, an important change has been introduced<br />
pertaining to the ATA/IDE subsystem. The new pata (Parallel ATA)<br />
drivers replace the legacy IDE subsystem, and one important change is<br />
that the naming scheme for IDE disks has changed from the old hda,<br />
hdb, etc. to also use device names of the type sda, sdb, etc, just<br />
like SCSI and SATA devices do. Because of this, when using the new<br />
pata driver in the HOOKS of the /etc/mkinitcpio.conf, remember to use<br />
the appropriate device names in your /etc/fstab and bootloader<br />
configuration! Alternatively, you could use the /dev/disk/by-uuid/...<br />
or /dev/disk/by-label/... representations of your disk drives where<br />
available to make absolutely sure you're referring to the right<br />
partitions, and save yourself the trouble of sorting out whether<br />
you're supposed to use sda or hda. If that's not an option, here's the<br />
rundown; If you're using pata instead of ide in the HOOKS array of the<br />
/etc/mkinitcpio.conf, you'll be using the sd? names. If not, use the<br />
old style hd? names. It is therefore crucial to check the HOOKS array<br />
in the /etc/mkinitcpio.conf, to be able to adapt the other files<br />
accordingly.<br />
<br />
<br />
'''/etc/mkinitcpio.conf'''<br />
<br />
This file allows you to fine-tune the initial ramdisk (also commonly<br />
referred to as the "initrd") for your system. The initrd is a gzipped<br />
image that is read by the kernel during bootup. The purpose of the<br />
initrd is to bootstrap the system to the point where it can access the<br />
root filesystem. This means it has to load any modules that are<br />
required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if<br />
you are booting off a USB/FW drive). Once the initrd loads the proper<br />
modules, either manually or through udev, it passes control to the<br />
Arch system and your bootup continues. For this reason, the initrd<br />
only needs to contain the modules necessary to access the root<br />
filesystem. It does not need to contain every module you would ever<br />
want to use. The majority of your everyday modules will be loaded<br />
later on by udev, during the init process.<br />
<br />
By default, mkinitcpio.conf is configured to provide all known modules<br />
for IDE, SCSI, or SATA systems through so-called HOOKS. This means the<br />
default initrd should work for almost everybody. The downside to this<br />
is that there are many modules loaded that you will not need. This is<br />
easily visible by examining your module table after booting up (with<br />
the lsmod command). While this doesn't actually hurt anything, some<br />
people find it annoying. To cull this list down to only what you<br />
actually need, you can edit mkinitcpio.conf and remove the subsystem<br />
HOOKS (ie, IDE, SCSI, RAID, USB, etc) that you don't need.<br />
<br />
You can customize even further by specifying the exact modules you<br />
need in the MODULES array and remove even more of the hooks, but take<br />
heed to the comments in the file, as this is a touchy place to go<br />
crazy with removing entries!<br />
<br />
If you're using RAID or encryption on your root filesystem, then<br />
you'll have to tweak the RAID/CRYPT settings near the bottom. See the<br />
wiki pages for RAID/LVM, filesystem encryption, and mkinitcpio for<br />
more info.<br />
<br />
When you're finished tweaking mkinitcpio.conf, you must run mkinitcpio<br />
-p kernel26 as root to regenerate the images, unless you're still<br />
installing the system; In that case this step will be done<br />
automatically after choosing Install Kernel later in the process.<br />
<br />
WARNING: If you fail to set up your mkinitcpio.conf correctly, your<br />
system will not boot! For this reason, you should be especially<br />
careful when tweaking this file.<br />
<br />
If you do manage to render your system unbootable, you can try using<br />
the fallback image that is installed alongside the stock kernel. A<br />
boot option for this is included in the default GRUB and LILO <br />
configuration.<br />
<br />
Read the warning about the pata transition problems elaborated in the<br />
fstab section carefully!<br />
<br />
<br />
'''/etc/modprobe.conf'''<br />
<br />
This tells the kernel which modules it needs to load for system<br />
devices, and what options to set. For example, to have the kernel load<br />
your Realtek 8139 ethernet module when it starts the network (ie.<br />
tries to setup eth0), use this line:<br />
alias eth0 8139too<br />
<br />
The syntax of this file is nearly identical to the old modules.conf<br />
scheme, unless you use some of the more exotic options like<br />
post-install. Then you should invest a little time into reading man<br />
modprobe.conf.<br />
<br />
Most people will not need to edit this file.<br />
<br />
<br />
'''/etc/resolv.conf'''<br />
<br />
Use this file to manually setup your nameserver(s) that you want to<br />
use. It should basically look like this:<br />
search domain.tld<br />
nameserver 192.168.0.1<br />
nameserver 192.168.0.2<br />
<br />
Replace domain.tld and the ip addresses with your settings. The<br />
so-called search domain specifies the default domain that is appended<br />
to unqualified hostnames automatically. By setting this, a ping myhost<br />
will effectively become a ping myhost.domain.tld with the above<br />
values. These settings usually aren't mighty important, though, and<br />
most people should leave them alone for now. If you use DHCP, this<br />
file will be replaced with the correct values automatically when<br />
networking is started, meaning you can and should happily ignore this<br />
file.<br />
<br />
<br />
'''/etc/locale.gen'''<br />
<br />
This file contains a list of all supported locales and charsets<br />
available to you. When choosing a LOCALE in your /etc/rc.conf or when<br />
starting a program, it is required to uncomment the respective locale<br />
in this file, to make a "compiled" version available to the system,<br />
and run the locale-gen command as root to generate all uncommented<br />
locales and put them in their place afterwards. You should uncomment<br />
all locales you intend to use.<br />
<br />
During the installation process, you do not need to run locale-gen<br />
manually, this will be taken care of automatically after saving your<br />
changes to this file.<br />
<br />
By default, all locales are commented out, including the default<br />
en_US.utf8 locale referred to in the /etc/rc.conf file. To make your<br />
system work smoothly, you must edit this file and uncomment at least<br />
the one locale you're using in your rc.conf.<br />
<br />
<br />
'''/boot/grub/menu.lst'''<br />
<br />
GRUB is the default bootloader for Arch Linux. You should check and<br />
modify this file to accommodate your boot setup if you want to use<br />
GRUB, otherwise read on about the LILO configuration.<br />
<br />
Make sure you read the warning regarding the pata transition<br />
elaborated on in the fstab section!<br />
<br />
Configuring GRUB is quite easy, the biggest hurdle is that it uses yet<br />
another device naming scheme different from /dev; Your hard disks as a<br />
whole are referred to as (hd0), (hd1), etc., sequentially numbered in<br />
order of appearance on the IDE/SCSI bus, just like the hda, hdb, etc.<br />
names in GNU/Linux. The partitions of a disk are referred to with (hd0,0),<br />
(hd0,1) and so on, with 0 meaning the first partition. A few<br />
conversion examples are included in the default menu.lst to aid your<br />
understanding.<br />
<br />
Once you grasped the concept of device naming, all you need to do is<br />
to choose a nice title for your boot section(s), supply the correct<br />
root partition device as a parameter to the root option to have it<br />
mounted as / on bootup, and create a kernel line that includes the<br />
partition and path where the kernel is located as well as any boot<br />
parameters. If using the stock Arch 2.6.x kernel, you'll also need an<br />
initrd line that points to the kernel26.img file in your /boot<br />
directory. The path you put on your initrd line should be the same as<br />
the path to vmlinuz26 that you provide on the kernel line. You should<br />
be fine with the defaults, just check whether the partition<br />
information is correct in the root and kernel lines, especially in<br />
regard to the pata issue!<br />
<br />
To create a boot option that loads the bootsector of a different OS,<br />
the following example might be helpful. You will probably succeed in<br />
starting any Microsoft-based operating system with it, just add this<br />
block to the file after any other sections, and modify the partition<br />
device accordingly to refer to the partition containing the bootsector<br />
of the OS you are intending to boot.<br />
(1) Other OS<br />
title My Other OS<br />
rootnoverify (hd0,1)<br />
makeactive<br />
chainloader +1<br />
<br />
For advanced configuration of other OSes, please refer to the online<br />
GRUB manual.<br />
<br />
After checking your bootloader configuration for correctness, you'll<br />
be prompted for a partition to install the loader to. Unless you're<br />
using yet another boot loader, you should install GRUB to the MBR of<br />
the installation disk, which is usually represented by the appropriate<br />
device name without a number suffix.<br />
<br />
<br />
'''/etc/lilo.conf'''<br />
<br />
This is the configuration file for the LILO bootloader. Make sure you<br />
check this one and get it right if you want to use LILO to boot your<br />
system. See LILO documentation for help on this.<br />
<br />
Things you should check are the root= lines in the image sections and<br />
the boot= line right at the beginning of the file. The root lines<br />
specify the device which shall be mounted as the root filesystem on<br />
bootup. If you don't know what is supposed to be entered here, change<br />
to another terminal and type mount to see a list of all currently<br />
mounted drives, and look for the line which displays a device name<br />
mounted on /mnt type [...]. The device path at the beginning of this<br />
very line should be entered in the root lines of your lilo.conf.<br />
Change if necessary, and keep the pata issue in mind!<br />
<br />
The boot line should be okay by default in most cases. Unless you have<br />
a weird boot manager setup in mind with multiple OSes, the device<br />
referenced here should be having the same prefix your root lines have,<br />
but not end with a number. For example, a root of /dev/hda3 means you<br />
probably want to install LILO into the Master Boot Record of the hard<br />
disk, so you would set boot to /dev/hda, which references the disk as<br />
a whole. During installation, the boot device must be the current name<br />
of the device where you want to write the boot sector to; This may<br />
differ from the name of the device after the first boot, thanks to the<br />
pata transition! Check carefully what device to write to during the<br />
installation stage, for example with the mount command.<br />
<br />
To prevent some serious grief, you should make sure you know how to<br />
restore the bootsector of your other OSes, for example with Windows's<br />
FIXBOOT/FIXMBR tools.<br />
<br />
To be on the safe side, you should keep the option lba32 listed. This<br />
will prevent some geometry issues from happening.<br />
<br />
In some cases, depending on your BIOS, LILO will not run on bootup and<br />
spill out an error code infinitely. In most cases you either removed<br />
the lba32 option, or your hardware setup is a little special, meaning<br />
that maybe your CD-ROM drive is primary master and the hard disk you<br />
installed secondary slave. This can very well confuse your BIOS, and<br />
thus stop the boot process. To prevent that you can try and make the<br />
install drive the primary master on your IDE bus. If you've got a<br />
mixed IDE and SCSI system and the problem persists, you'll probably<br />
need some experimentation with the disk and bios options of LILO to<br />
provide a working mapping; The disk drives in your system are numbered<br />
sequentially by your BIOS, starting with 0x80. If you're lucky your<br />
SCSI controller tells you which drive has which BIOS ID, but usually<br />
you're not. How the drives are effectively numbered is depending on<br />
your BIOS, so in the worst case you can only guess until it works. A<br />
typical disk line would look like this:<br />
boot=/dev/hda<br />
disk=/dev/hda bios=0x80<br />
<br />
The disk option maps a BIOS ID to the disk device known to the system. Note<br />
that there is still no guarantee that things will work as other things<br />
can be wrong, so do not despair if all your tries fail, but rather try<br />
rearranging your hardware in a way that's not totally odd. In this<br />
area too much can go wrong and needs special handling to be explained<br />
here. In most cases the lba32 option will suffice anyway. Old hard<br />
drives will usually need a little more special care until they do as<br />
told.<br />
<br />
Don't become fidgety when reading this section, I (Dennis) just<br />
happened to stumble over this problem when experimenting with a rather<br />
odd system, and figured it'd be a good idea to mention this show<br />
stopper and workarounds here. You probably won't ever experience this,<br />
as you should be using GRUB anyway.<br />
<br />
How to recreate a LILO boot sector with only a rescue disk is<br />
explained later in this document.<br />
<br />
<br />
'''/etc/conf.d/*'''<br />
<br />
During setup, this is totally unimportant. Consider this as reference<br />
for the interested.<br />
<br />
Some daemon scripts will have a matching configuration file in this<br />
directory that contains some more-or-less useful default values. When<br />
a daemon is started, it will first source the settings from its<br />
config file within this directory, and then source the /etc/rc.conf.<br />
This means you can easily centralize all your daemon configuration<br />
options in your /etc/rc.conf simply by setting an appropriate variable<br />
value, or split up your configuration over multiple files if you<br />
prefer a decentralized approach to this issue. Isn't life great if<br />
it's all just simple scripting?<br />
<br />
<br />
'''/etc/profile'''<br />
<br />
This script is run on each user login to initialize the system. It is<br />
kept quite simple under Arch Linux, as most things are. You may wish<br />
to edit or customize it to suit your needs.<br />
<br />
====Kernel====<br />
<br />
The CD-ROM includes the latest kernel available at time of release. If you are using the FTP<br />
Installation method, the kernel about to be installed will be the<br />
current version waiting on your FTP source, and might therefore<br />
introduce changes and/or incompatibilities unknown at the present<br />
time. This is unlikely, but keep it in mind.<br />
<br />
====Install Bootloader====<br />
<br />
Install Bootloader will install a bootloader on your hard drive,<br />
either GRUB (recommended) or LILO, depending on your personal<br />
preference.<br />
<br />
Before installing the bootloader, the setup script will want you to<br />
examine the appropriate configuration file to confirm the proper<br />
settings. <br />
<br />
If you choose to install LILO, the bootloader will be automatically<br />
installed according to your settings in the configuration file, whilst<br />
GRUB demands the selection of a partition to install the bootloader<br />
to. Here you should choose what you would enter as the boot option of<br />
LILO, which is usually the entry named /dev/hda, as it refers the<br />
master boot record of the first hard disk. Detailed error messages can<br />
be found as usual on VC5 (virtual console 5), if anything goes wrong.<br />
<br />
If you plan on setting up a multiboot system, you may wish to install the bootloader in your / or /boot partition, and<br />
refer to that boot sector from whatever other boot loader you want to<br />
reside in the master boot record. (chainloading)<br />
<br />
Installing a boot loader in the MBR will relentlessly overwrite any<br />
existing bootloader! Make sure you understand the implications of that<br />
if you're running a multiboot system, or want to preserve an installed<br />
bootloader from another OS!<br />
<br />
====Exit Install====<br />
<br />
Exit the Installer, eject the CD, and:<br />
reboot<br />
<br />
Login as root and add a user as outlined in the<br />
[[User_Management | User Management]] section, and set up your Internet Connection.<br />
<br />
Congratulations! Welcome to your new Arch Linux base system!<br />
<br />
==APPENDIX==<br />
===Adding a Window Manager/Desktop Environment===<br />
*[[KDE]] <br />
*[[KDEmod]]<br />
*[[GNOME]]<br />
*[[Xfce]]<br />
*[[Openbox]]<br />
*[[Wmii]]<br />
*[[Fluxbox]]<br />
*[[LXDE]]<br />
*[[E17]]<br />
See also [[.xinitrc]]<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<br />
/etc/rc.d/functions script. If you plan to write your own daemon<br />
files, you should consider having a look at this file and existing<br />
daemon scripts.<br />
<br />
Boot Script Overview<br />
<br />
#/etc/rc.sysinit<br />
#/etc/rc.single<br />
#/etc/rc.multi<br />
#/etc/rc.local<br />
#/etc/rc.shutdown<br />
#/etc/rc.local.shutdown<br />
#/etc/rc.d/*<br />
<br />
<br />
'''/etc/rc.sysinit'''<br />
<br />
The main system boot script. It does boot-critical things like<br />
mounting filesystems, running udev, activating swap, loading modules,<br />
setting localization parameters, etc. You will most likely never need<br />
to edit this file!<br />
<br />
<br />
'''/etc/rc.single'''<br />
<br />
Single-user startup. Not used in a normal boot-up. If the system is<br />
started in single-user mode, for example with the kernel parameter 1<br />
before booting or during normal multi-user operation with the command<br />
init 1, this script makes sure no daemons are running except for the<br />
bare minimum; syslog-ng and udev. The single-user mode is useful if<br />
you need to make any changes to the system while making sure that no<br />
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 should<br />
have no need to edit this script, either.<br />
<br />
<br />
'''/etc/rc.multi'''<br />
<br />
Multi-user startup script. It starts all daemons you configured in the<br />
DAEMONS array (set in /etc/rc.conf) after which it calls<br />
/etc/rc.local. You shouldn't feel a pressing need to edit this file.<br />
<br />
<br />
'''/etc/rc.local'''<br />
<br />
Local multi-user startup script. It is a good place to put any<br />
last-minute commands you want the system to run at the very end of the<br />
bootup process. This is finally the one and only script you should<br />
modify if needed, and you have total freedom on what to add to this<br />
script.<br />
<br />
Most common system configuration tasks, like loading modules, changing<br />
the console font or setting up devices, usually have a dedicated place<br />
where they belong. To avoid confusion, you should make sure that<br />
whatever you intend to add to your rc.local isn't feeling just as home<br />
in /etc/profile.d/ or any other already existant config location<br />
instead.<br />
<br />
<br />
'''/etc/rc.shutdown'''<br />
<br />
System shutdown script. It stops daemons, unmounts filesystems,<br />
deactivates the swap, etc. Just don't touch.<br />
<br />
<br />
'''/etc/rc.local.shutdown'''<br />
<br />
Analogous to the /etc/rc.local file, this file may contain any<br />
commands you want to run right before the common rc.shutdown is<br />
executed. Please note that this file does not exist by default, and<br />
for it to work properly, it must be set as executable.<br />
<br />
<br />
'''/etc/rc.d/*'''<br />
<br />
This directory contains the daemon scripts referred to from the<br />
rc.conf's DAEMONS array. In addition to being called on bootup, you<br />
can use these scripts when the system is running to manage the<br />
services of your system. For example the command<br />
/etc/rc.d/postfix stop<br />
<br />
will stop the postfix daemon. Of course a script only exists when the<br />
appropriate package has been installed (in this case postfix). With a<br />
basic system install, you don't have many scripts in here, but rest<br />
assured that all relevant daemon scripts end up here. This directory<br />
is pretty much the equivalent to the /etc/rc3.d/ or /etc/init.d/<br />
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<br />
provided in the util-linux package: useradd, userdel, groupadd,<br />
groupdel, passwd, and gpasswd. The typical way of adding a user is<br />
similar to this procedure:<br />
useradd -m -s /bin/bash johndoe<br />
passwd johndoe<br />
<br />
The first command will add the user named johndoe to the system,<br />
create a home directory for him at /home/johndoe, and place some<br />
default login files in his home directory. It will also set his login<br />
shell to be /bin/bash. The second command will ask you for a password<br />
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<br />
available to interactively create new users on your system simply by<br />
answering questions.<br />
<br />
See the manpages for more information on the remaining commands. It is<br />
a good idea to create one or multiple normal users for your day-to-day<br />
work to fully use the available security features and minimize<br />
potential damage that may be the result of using the root user for<br />
anything but system administration tasks.<br />
<br />
===Internet Access===<br />
<br />
Due to a lack of developers for dialup issues, connecting Arch to the<br />
Internet with a dialup line is requiring a lot of manual setup. If at<br />
all possible, set up a dedicated router which you can then use as a<br />
default gateway on the Arch box.<br />
<br />
There are quite a few dialup related documents in the Arch Linux Wiki<br />
<br />
====Analog Modem====<br />
<br />
To be able to use a Hayes-compatible, external, analog modem, you need<br />
to at least have the ppp package installed. Modify the file<br />
/etc/ppp/options to suit your needs and according to man pppd. You<br />
will need to define a chat script to supply your username and password<br />
to the ISP after the initial connection has been established. The<br />
manpages for pppd and chat have examples in them that should suffice<br />
to get a connection up and running if you're either experienced or<br />
stubborn enough. With udev, your serial ports usually are /dev/tts/0<br />
and /dev/tts/1.<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt<br />
to install wvdial or a similar tool to ease the setup process<br />
considerably.<br />
<br />
In case you're using a so called WinModem, which is basically a PCI<br />
plugin card working as an internal analog modem, you should indulge in<br />
the vast information found on the LinModem homepage.<br />
<br />
====ISDN====<br />
<br />
Setting up ISDN is done in three steps:<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,<br />
meaning that you won't need to recompile your kernel unless you're<br />
about to use rather odd or old ISDN hardware. After physically<br />
installing your ISDN card in your machine or plugging in your USB<br />
ISDN-Box, you can try loading the modules with modprobe. Nearly all<br />
passive ISDN PCI cards are handled by the hisax module which needs two<br />
parameters; type and protocol. You must set protocol to '1' if your<br />
country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3'<br />
if you're hooked to a so called leased-line without D-channel, and '4'<br />
for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the<br />
kernel documentation, more specifically in the isdn subdirectory,<br />
available online. The type parameter depends on your card; A list of<br />
all possible types is to be found in the README.HiSax kernel<br />
documentation. Choose your card and load the module with the<br />
appropriate options like this:<br />
modprobe hisax type=18 protocol=2<br />
<br />
This will load the hisax module for my (Dennis) ELSA Quickstep<br />
1000PCI, being used in Germany with the EDSS1 protocol. You should<br />
find helpful debugging output in your /var/log/everything.log file in<br />
which you should see your card being prepared for action. Please note<br />
that you will probably need to load some usb modules before you can<br />
work with an external USB ISDN Adapter.<br />
<br />
Once you confirmed that your card works with certain settings, you can<br />
add the module options to your /etc/modprobe.conf:<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
Alternatively you can only add the options line here, and add hisax to<br />
your MODULES array in the rc.conf. Your choice, really, but this<br />
example has the advantage that the module will not be loaded until<br />
it's really needed.<br />
<br />
That being done you should have working, supported hardware. Now you<br />
need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl,<br />
it'll get you started. Further down in the manpage you will find<br />
explanations on how to create a configuration file that can be parsed<br />
by isdnctrl, as well as some helpful setup examples.<br />
<br />
Please note that you have to add your SPID to your MSN setting<br />
separated by a colon if you use US NI1.<br />
<br />
After you configured your ISDN card with the isdnctrl utility, you<br />
should be able to dial into the machine you specified with the<br />
PHONE_OUT parameter, but fail the username and password<br />
authentication. To make this work add your username and password to<br />
/etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were<br />
configuring a normal analogous PPP link, depending on which protocol<br />
your ISP uses for authentication. If in doubt, put your data into both<br />
files.<br />
<br />
If you set up everything correctly, you should now be able to<br />
establish a dialup connection with isdnctrl dial ippp0 as root. If you<br />
have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
<br />
These instructions are only relevant to you if your PC itself is<br />
supposed to manage the connection to your ISP. You do not need to do<br />
anything but define a correct default gateway if you are using a<br />
separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to<br />
physically install the network card that is supposed to be connected<br />
to the DSL-Modem into your computer. After adding your newly installed<br />
network card to the modprobe.conf or the MODULES array, you should<br />
install the rp-pppoe package and run the pppoe-setup script to<br />
configure your connection. After you have entered all required data,<br />
you can connect and disconnect your line with<br />
<br />
# /etc/rc.d/adsl start<br />
# /etc/rc.d/adsl stop<br />
<br />
respectively. The setup usually is rather easy and straightforward,<br />
but feel free to read the manpages for hints. If you want to<br />
automatically dial in on bootup, add adsl to your DAEMONS array.<br />
<br />
==Package Management==<br />
<br />
===Pacman===<br />
<br />
[[pacman|Pacman]] is the package manager which tracks all the software installed<br />
on your system. It has simple dependency support and uses the standard<br />
gzipped tar archive format for all packages. Some common tasks are<br />
explained below with the respective commands in long and short option<br />
form. For an up to date explanation of pacman's options, read man<br />
pacman. This overview is merely scratching the surface of pacman's<br />
current capabilities.<br />
<br />
Typical tasks:<br />
<br />
====Adding/Upgrading a package with a package file====<br />
<br />
pacman --upgrade foo.pkg.tar.gz<br />
pacman -U foo.pkg.tar.gz<br />
<br />
This will install the foo.pkg.tar.gz package on the system. If<br />
dependencies are missing, pacman will exit with an error and report<br />
the missing deps, but not attempt to resolve the dependencies<br />
automatically. Look at the --sync option if you expect this<br />
functionality. Adding multiple package files is possible, and if the<br />
listed files depend on each other, the packages will be automatically<br />
installed in the correct order. This will additionally upgrade an already-installed package at no extra cost.<br />
<br />
====Removing packages====<br />
<br />
pacman --remove foo<br />
pacman -R foo<br />
<br />
This will remove all files belonging to the package named foo, except<br />
for configuration files that have been edited. Only supply the name of<br />
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<br />
the above command.<br />
<br />
====Refreshing the package list====<br />
<br />
pacman --sync --refresh<br />
pacman -Sy<br />
<br />
This will retrieve a fresh master package list from the repositories<br />
defined in the /etc/pacman.conf file and uncompress it into the<br />
database area. You should use this before using --sysupgrade to make<br />
sure you get the newest packages. Depending on your pacman.conf<br />
settings, this command may require a working internet connection to<br />
access FTP/HTTP-based repositories. This option is quite similar to<br />
Debian's apt-get update command.<br />
<br />
====Upgrading the system====<br />
<br />
pacman --sync --sysupgrade<br />
pacman -Su<br />
<br />
This command will upgrade all packages that are out-of-date on your<br />
system by comparing the local package version to the versions in the<br />
master package list that get downloaded with the --refresh command.<br />
It's a good idea to run this regularly to keep your system up to date.<br />
Note that this command does NOT implicitly refresh the master package<br />
list, so it's usually wiser to combine both commands into one like<br />
this:<br />
pacman --sync --refresh --sysupgrade<br />
pacman -Syu<br />
<br />
With these options pacman will automatically retrieve the current<br />
master package list and do a full system upgrade to the latest<br />
packages with all dependencies being automagically resolved. You will<br />
want to run this quite often.<br />
<br />
====Adding/Upgrading a package from the repositories====<br />
<br />
pacman --sync foo<br />
pacman -S foo<br />
<br />
Retrieve and install package foo, complete with all dependencies it<br />
requires. Before using any sync option, make sure you refreshed the<br />
package list, or add --refresh or -y to the options to do it before<br />
the installation attempt. Unlike --add, the --sync option does not<br />
differ between installing and upgrading packages. Depending on your<br />
pacman.conf settings this function requires working internet access.<br />
<br />
Receiving strange errors when downloading packages from the server,<br />
ie. broken downloads or files that aren't found, usually are either<br />
caused by not refreshing the package list with --sync, or if you're<br />
unlucky enough to try downloading from a mirror while it's syncing<br />
its contents, and is thus in an inconsistent state.<br />
<br />
====List installed packages====<br />
<br />
pacman --query<br />
pacman -Q<br />
<br />
Displays a list of all installed packages in the system.<br />
<br />
====Check if a specific package is installed====<br />
<br />
pacman --query foo<br />
pacman -Q foo<br />
<br />
Instead of grepping the full list for a name, you can append the name<br />
of the package you are looking for to the query command. This command<br />
will display the name and version of the foo package if it is<br />
installed, nothing otherwise.<br />
<br />
====Display specific package info====<br />
<br />
pacman --query --info foo<br />
pacman -Qi foo<br />
<br />
Displays information on the installed package foo (size, install date,<br />
build date, dependencies, conflicts, etc.). To display this<br />
information for a package file that is not yet installed, add the<br />
--file or -p option, respectively:<br />
pacman --query --info --file foo.pkg.tar.gz<br />
pacman -Qip foo.pkg.tar.gz<br />
<br />
====Display list of files contained in a package====<br />
<br />
pacman --query --list foo<br />
pacman -Ql foo<br />
<br />
Lists all files belonging to package foo.<br />
<br />
====Find out which package a specific file belongs to====<br />
<br />
pacman --query --owns /path/to/file<br />
pacman -Qo /path/to/file<br />
<br />
This query displays the name and version of the package which contains<br />
the file referenced by its full path as a parameter. Just using the<br />
file name without the path will not yield results.<br />
<br />
===Accessing Repositories===<br />
<br />
A package repository is a collection of packages and a package<br />
meta-info file that can reside in a local directory or on a remote<br />
FTP/HTTP server. The default repository for an Arch system is the<br />
core repository. This is kept up to date by developers with the<br />
latest version of most software and stays fairly bleeding-edge.<br />
<br />
Many users also choose to activate the extra package repository which<br />
contains more packages that are not part of Arch's core package set.<br />
You can activate this repo by uncommenting the appropriate lines in<br />
your /etc/pacman.conf. This repository is activated by default.<br />
<br />
You can also build, maintain and use your own package repositories.<br />
See the pacman manpage for instructions.<br />
<br />
If you install from CD-ROM and end up having problems accessing the<br />
Internet, you may need to install additional packages from the CD.<br />
Refer to the FAQs, specifically FAQ #3 later in this document, to find<br />
out how to define a repository that uses the installation CD-ROM as a<br />
package source.<br />
<br />
==Arch Build System (ABS)==<br />
<br />
===Binary vs. Source===<br />
<br />
Where pacman is responsible for the binary side of the package world,<br />
ABS is responsible for the source side: It helps you to build your own<br />
custom packages from source code, also letting you rebuild Arch Linux<br />
packages with your own customizations. <br />
<br />
The procedure usually goes as follows:<br />
# Install the '''abs''' package via pacman<br />
# Synchronize your ABS tree with the server by running '''abs''' as root.<br />
# Create a build directory, 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 to fit 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 />
<br />
You can synchronize all the required package building files in<br />
/var/abs by running the abs script as root. A<br />
working internet connection is also required, of course. Using SVN as<br />
the transfer medium allows you to follow different version trees<br />
within ABS - this can be configured in /etc/abs/supfile.arch. For<br />
example, the default supfile is set to track the core package tree,<br />
which is bleeding-edge and the recommended source to follow. You can<br />
also follow specific versions. See the comments in the supfiles for<br />
more info.<br />
<br />
ABS supports multiple repositories, which can be enabled or disabled<br />
in /etc/abs/abs.conf. By default, abs will follow the core and<br />
extra repositories, but not anything else.<br />
<br />
You will also see an /etc/abs/supfile.extra file. This will give you<br />
access to all the unofficial build scripts that were not included in<br />
the main ABS repository. If you do not want to use this repository,<br />
you can delete the file, but usually it makes more sense to edit<br />
abs.conf accordingly instead, and disable the repositories you don't<br />
need.<br />
<br />
===How to Build Packages===<br />
<br />
The build process is thoroughly explained in the makepkg manpage. Read<br />
it for instructions on building your own packages. If that's not<br />
helping you, keep your eyes peeled for tutorials in the Wiki, or ask<br />
for help in the forums or IRC.<br />
<br />
===Package Guidelines===<br />
<br />
When building a package for Arch Linux, you should adhere to the package<br />
guidelines below, especially if you would like to contribute your new<br />
package to Arch Linux.<br />
<br />
Package Naming<br />
<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'sversion was 2.54beta32 a good while ago). 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 countstarts 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 />
<br />
'''Directories'''<br />
<br />
Configuration files should be placed in the /etc directory. If there's<br />
more than one configuration file, it's customary to use a subdirectory<br />
in order to keep the /etc area as clean as possible. Use<br />
/etc/{pkgname}/ where {pkgname} is the name of your package (or a<br />
suitable alternative, eg, apache uses /etc/httpd/).<br />
<br />
Package files should follow these general directory guidelines:<br />
<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/share/man Manpages<br />
/usr/share/{pkg} Application data<br />
/etc/{pkg} Configuration files for {pkg}<br />
/opt Packages that do not fit cleanly into the GNU filesystem layout can be<br />
placed here. If a package's files can be cleanly placed into the above<br />
directories, then do so. If there are other high-level directories<br />
that do not fit, then you should use /opt.<br />
<br />
For example, the acrobat package has Browser, Reader, and Resource<br />
directories sitting at the same level as the bin directory. This<br />
doesn't fit into a normal GNU filesystem layout, so we place all the<br />
files in a subdirectory of /opt.<br />
<br />
Clear as mud? Good.<br />
<br />
<br />
'''makepkg Duties'''<br />
<br />
When you use makepkg to build a package for you, it does the following<br />
automatically:<br />
# Checks if package dependencies are installed<br />
# Downloads source files from servers<br />
# Unpacks source files<br />
# Performs any necessary patching, if specified in the PKGBUILD script<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 />
<br />
'''Other'''<br />
<br />
Do not introduce new variables into your PKGBUILD build scripts,<br />
unless the package cannot be built without doing so, as these could<br />
possibly conflict with variables used in makepkg itself. If a new<br />
variable is absolutely required, prefix the variable name with an<br />
underscore.<br />
<br />
Avoid using /usr/libexec/ for anything. Use /usr/lib/{pkgname}<br />
instead.<br />
<br />
The "Packager" field from the package meta file can be customized by<br />
the package builder by modifying the appropriate option in the<br />
/etc/makepkg.conf file, or alternatively by exporting the PACKAGER<br />
environment variable before building packages with makepkg:<br />
export PACKAGER="John Doe <your.email>"<br />
<br />
<br />
'''Submitting Packages'''<br />
<br />
If you'd like to submit packages, please take a look at the Arch User<br />
Repository and their guidelines. New packages should be submitted to<br />
the AUR.<br />
<br />
If you're submitting a package, please do the following:<br />
*Please add a comment line to the top of your PKGBUILD file that follows this format:<br />
Contributor: Your Name <your.email><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 as usual.<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 />
* Read the appropriate documents regarding the AUR, and the newest version of the packaging guildelines on the AUR Homepage.<br />
<br />
==Frequently Asked Questions==<br />
<br />
The FAQs listed here are only covering any problems that may keep you<br />
from booting or installing an initial Arch Linux system. If you have<br />
questions regarding further usage of the system utilities, X11 setup,<br />
etc. or how to configure your hardware, please head over to the Wiki.<br />
If you think an issue is not covered here that should be, please<br />
notify the author of this document, whose address is to be found at<br />
the very top of this file.<br />
<br />
===During the initial 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<br />
multiple people soon, you probably just forgot to mount your target<br />
partitions properly. This causes pacman to decompress the package<br />
database into the initial ramdisk, which fills up quite nicely and<br />
ultimatively leads to this error.<br />
<br />
Make sure that you use the DONE and not the CANCEL option offered by<br />
the Filesystem Mountpoints menu to apply your choices. This error<br />
should not happen if you use the Auto-Prepare feature; If it does<br />
nevertheless, 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<br />
downloading them, then mount the install CD somewhere (eg. /mnt/cd)<br />
and add this line right below the [core] line in /etc/pacman.conf:<br />
Server = file:///mnt/cd<br />
<br />
Replace /mnt/cd with the mountpoint you chose. Then use pacman --sync<br />
as you normally would - It will now check the /mnt/cd directory first<br />
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<br />
want to create and use multiple swap partitions. Create the partitions<br />
manually instead, and create as many swap partitions as your little<br />
heart desires. Go through the rest of the disk preparation steps,<br />
don't mind that you're only asked for one swap partition during the<br />
mount-point setting. Once you're through with the install and are<br />
about to edit your system configuration files, you can edit the fstab<br />
file and include a line for every swap device you created earlier.<br />
Simply copy the automatically generated swap line, and modify the<br />
referenced device according to your setup. The additional swaps will<br />
be activated after the bootup when swapon -a is being run by the<br />
initscripts. Make sure you ran mkswap on all of your swap partitions<br />
manually, or else your system will complain on bootup!<br />
<br />
If, for any odd reason, you can not wait until after the installation<br />
with activating multiple swap partitions or files, you will have to<br />
open a shell on one of the virtual terminals and issue the swapon<br />
<device> for every swap drive or file you partitioned/readied before<br />
with mkswap. Then continue as explained above with the install.<br />
<br />
In case you are honestly contemplating setting up multiple swap files<br />
or drives, you should keep in mind that a kernel that needs to swap is<br />
actually crying bitterly for more RAM, not more swap space. Please<br />
keep your penguin well fed. Thank you.<br />
<br />
===How do I reconfigure LILO from the rescue system?===<br />
<br />
As a first step you simply boot from the Arch Install CD or disks. If<br />
your partitions are intact and don't need checking, you can try<br />
choosing one of the recovery boot options according to your partition<br />
layout, or fiddle with the GRUB boot manager settings on your own to<br />
get your existing system to boot properly. That will boot directly<br />
into your system, and you can skip all but the last step of actually<br />
reconfiguring and running LILO.<br />
<br />
If you cannot boot your old root directly, boot from the CD as if you<br />
were going to start an installation. Once you're in a shell, you mount<br />
the root partition of your harddisk into the /mnt directory, for<br />
example like this:<br />
mount /dev/hda3 /mnt<br />
<br />
Then you mount any other partitions to their respective mount points<br />
within that root of yours, for example a /boot partition:<br />
mount /dev/hda1 /mnt/boot<br />
<br />
Now you need to mount a /dev tree in the /mnt area, where LILO will be<br />
able to find it:<br />
/mnt/bin/mount --bind /dev /mnt/dev<br />
<br />
Once everything is mounted, make this /mnt directory your new root<br />
with the chroot /mnt command. This will start a new shell and drop you<br />
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<br />
anything that needs fixing. Simply type exit when you want to break<br />
out of this root again, back into the original file tree. You can now<br />
reboot and test your changes.<br />
<br />
===I can't ssh into my machine!===<br />
<br />
The default configuration will reject all incoming connections, not only ssh connections. Edit your /etc/hosts.allow file and add the line: <code>sshd:all</code> to allow all incoming ssh 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<br />
binding, add the name of the module to the MODULES array of your<br />
/etc/rc.conf. For on demand loading on device access, add it as usual<br />
with the alias and optioncommands to your /etc/modprobe.conf, in the<br />
rare cases that the automatisms employed by udev don't cut<br />
it. To pass any options to a module you want to load through the<br />
MODULES array, only add the appropriate options line to your<br />
/etc/modprobe.conf.<br />
<br />
===Kernel refuses to boot because of "lost interrupt"===<br />
<br />
Kernel refuses to boot. It locks at:<br />
IRQ probe failed for hda<br />
hda lost interrupt<br />
<br />
This or a similar error occurs for some HD controllers on kernel<br />
2.6.x. A workaround is to pass the acpi=off option to the kernel at<br />
boot time.<br />
<br />
===I get "access denied" errors trying to play music or read DVDs===<br />
<br />
Add your user to the optical and audio groups.<br />
gpasswd -a johndoe optical<br />
gpasswd -a johndoe audio<br />
<br />
Logout, then login again as that user (eg. johndoe) so the group<br />
changes can take effect, and the device permissions shouldn't be a<br />
problem anymore.<br />
<br />
If you have a DVD drive, you may want to create a /dev/dvd symlink to<br />
your real DVD device. Usually udev does this for you already, but this<br />
will serve well as an example for setting up similar symlinks.<br />
<br />
For example, if your DVD drive is accessible through /dev/sdc, you can<br />
do the following as root:<br />
cat >>/etc/udev/rules.d/00.rules <<EOF<br />
> KERNEL="sdc", NAME="sdc", SYMLINK="dvd"<br />
> EOF<br />
/etc/start_udev<br />
mount /dev/pts<br />
mount /dev/shm</div>
Adsworth