|
|
(28 intermediate revisions by 9 users not shown) |
Line 1: |
Line 1: |
− | [[Category:Getting and installing Arch]]
| + | #REDIRECT: [[General recommendations]] |
− | {{out of date}}
| |
− | == Notice ==
| |
− | This handbook has only just been started. It's currently a rather bare outline. Please edit it and make it better! Look at the [http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ FreeBSD Handbook] as a style guide.
| |
− | | |
− | Most sections should be a summary, with a link to the main article on the subject.
| |
− | | |
− | == Getting Started ==
| |
− | | |
− | === Introduction ===
| |
− | Arch linux is a lightweight and flexible linux distribution that tries to Keep It Simple.
| |
− | There are official packages optimized for the i686 and x86-64 architectures. There is also a community-operated package repository.
| |
− | See the pages in [[:Category:About Arch|this category]]
| |
− | | |
− | === Installing Arch Linux ===
| |
− | The full install guide is [[Official Arch Linux Install Guide|here]] and the install CDs are available [http://www.archlinux.org/download/ here]. If you would like a more detailed installation guide, please see the [[Beginners Guide|Beginners' Guide]].
| |
− | | |
− | === Linux Basics ===
| |
− | A few basics on the file system and command line, for people starting Unix/Linux with Arch.
| |
− | | |
− | '''How to change directory:'''
| |
− | | |
− | cd /name/of/directory
| |
− | | |
− | e.g.
| |
− | | |
− | cd /etc/pacman.d
| |
− | | |
− | '''How to make a Directory:'''
| |
− | | |
− | mkdir /path/to/new/directory
| |
− | | |
− | e.g.
| |
− | | |
− | mkdir /home/archuser/newfolder
| |
− | | |
− | '''How to remove an (empty) directory:'''
| |
− | | |
− | rmdir /path/to/empty/directory
| |
− | | |
− | '''How to remove a non-empty directory:'''
| |
− | | |
− | rmdir --ignore-fail-on-non-empty /path/to/non_empty/directory
| |
− | | |
− | '''How to List files in a directory:'''
| |
− | | |
− | All Files: (except hidden files)
| |
− | | |
− | ls
| |
− | | |
− | All files: (including hidden files)
| |
− | | |
− | ls -a
| |
− | | |
− | All files, hidden files and their properties:
| |
− | | |
− | ls -la
| |
− | | |
− | Files with the .avi file extension only:
| |
− | | |
− | ls *.avi
| |
− | | |
− | '''How to move a file:'''
| |
− | | |
− | mv /path/to/old/file.ext /path/to/new/file.ext
| |
− | | |
− | e.g.
| |
− | | |
− | mv /home/archuser/compressed.zip /home/archuser/myfiles/compressed2.zip
| |
− | | |
− | '''How to copy a file:'''
| |
− | | |
− | cp /path/to/file.txt /path/to/copied/file.txt
| |
− | | |
− | '''How to remove a file:'''
| |
− | | |
− | rm /path/to/file.txt
| |
− | | |
− | e.g.
| |
− | | |
− | rm /home/archuser/file.txt
| |
− | | |
− | '''How to show the contents of a file:'''
| |
− | | |
− | cat /path/to/file.txt
| |
− | | |
− | '''How to make a File/Script Executable:'''
| |
− | | |
− | chmod +x /path/to/script.sh
| |
− | | |
− | '''How to (search the entire filesystem for) a file called euwfh.avi'''
| |
− | | |
− | cd /
| |
− | | |
− | find -name euwfh.avi
| |
− | | |
− | '''How to mount a partition:'''
| |
− | | |
− | mount /dev/sdX1 /media/mountpoint
| |
− | | |
− | e.g.
| |
− | | |
− | mount /dev/sda1 /media/folder
| |
− | | |
− | | |
− | '''How to Show How much Space is Left/used on (all mounted) partitions:'''
| |
− | | |
− | df -h
| |
− | | |
− | '''How to show all running processes:'''
| |
− | | |
− | ps -A
| |
− | | |
− | '''How to stop an annoying process called "EvilTrojan":'''
| |
− | | |
− | killall EvilTrojan
| |
− | | |
− | '''How to show an unintelligible manual for a program "ultracompressor"'''
| |
− | | |
− | man ultracompressor
| |
− | | |
− | === Installing Software: Pacman ===
| |
− | See [[pacman]].
| |
− | | |
− | === X11 and Graphical Desktop Environments ===
| |
− | Basics of X11 concepts, installation and configuration of Gnome, KDE, etc.
| |
− | ====Xorg====
| |
− | | |
− | See [[Xorg]].
| |
− | | |
− | ====Window Managers and Desktop Environments====
| |
− | | |
− | ==pacman==
| |
− | {{merge|pacman}}
| |
− | | |
− | Installing, updating and removing software is a fairly common task and this chapter will
| |
− | introduce you to Pacman(8). Pacman is a package manager that will aid you in keeping your
| |
− | system up-to-date, installing new software and general house keeping. If this is your
| |
− | first time with Arch Linux you REALLY want to read this chapter at least once. Not reading
| |
− | it will severely impair your experience with Arch, so please read it carefully.
| |
− | | |
− | After reading this chapter you will know...
| |
− | * ... how to install, remove and update software.
| |
− | * ... how to search for software in the package database.
| |
− | * ... how to update every single software package on your computer.
| |
− | * ... how to query the package database for information about installed packages.
| |
− | | |
− | Let's get on with it shall we?
| |
− | | |
− | === Pacman introduction ===
| |
− | | |
− | As mentioned previously Pacman(8) is a software utility that helps you keep your system
| |
− | up-to-date and install, remove or update software. Pacman will automatically resolve
| |
− | dependencies during installation of a software. A dependency is simply another software
| |
− | package required by the program you're trying to install.
| |
− | | |
− | Let's us fire up Pacman and see what
| |
− | it can do. In a console type the following:
| |
− | | |
− | sh$ pacman --help
| |
− | usage: pacman <operation> [...]
| |
− | options:
| |
− | pacman {-h --help}
| |
− | pacman {-V --version}
| |
− | pacman {-A --add} [options] <file>
| |
− | pacman {-Q --query} [options] [package]
| |
− | pacman {-R --remove} [options] <package>
| |
− | pacman {-S --sync} [options] [package]
| |
− | pacman {-U --upgrade} [options] <file>
| |
− | | |
− | use 'pacman --help' with other options for more syntax
| |
− | | |
− | Functionality in Pacman is split into a main action and a sub-action. Each action usually
| |
− | requires an argument to specify exactly what you're trying to achieve. For example --query (or -Q)
| |
− | will allow you to query the package database to see installed packages and other types
| |
− | of information related to the software installed. Let's assume we wanted to find out which
| |
− | package owns the file /etc/rc.conf. In a console type the following:
| |
− | | |
− | sh$ pacman --query --owns /etc/rc.conf
| |
− | /etc/rc.conf is owned by initscripts 2008.03-4
| |
− | | |
− | As we can see here rc.conf is owned by initscripts 2008.03-4. Most actions can be abbreviated
| |
− | such that '--query --owns' becomes '-Qo' . For clarity we'll however continue to use the longer
| |
− | version.
| |
− | | |
− | === Searching for software ===
| |
− | | |
− | Pacman comes with powerful searching capabilities and that allows you to do searches using
| |
− | regular expressions. If you're unfamiliar with regular expressions there is no reason for
| |
− | concern as you'll do just fine without them.
| |
− | | |
− | Searching is done through the --sync (or -S) action and sub-action --search (or -s).
| |
− | Let's see if we can find a package called wpa_supplicant. In a console type the following:
| |
− | | |
− | sh$ pacman --sync --search wpa_supplicant
| |
− | core/wpa_supplicant 0.5.10-1 (base)
| |
− | A utility providing key negotiation for WPA wireless networks
| |
− | extra/wpa_supplicant_gui 0.5.10-1
| |
− | A qt frontend to wpa_supplicant
| |
− | | |
− | The results displays two matching packages one from the 'core' respository and another from
| |
− | 'extra'. Should we want more detailed information about this package we can again use Pacman
| |
− | to query the database with --sync --info. In a console type the following:
| |
− | | |
− | sh$ pacman --sync --info wpa_supplicant
| |
− | Repository : core
| |
− | Name : wpa_supplicant
| |
− | Version : 0.5.10-1
| |
− | URL : None
| |
− | Licences : None
| |
− | Groups : base
| |
− | Provides : None
| |
− | Depends On : openssl
| |
− | Optional Deps : None
| |
− | Conflicts With : None
| |
− | Replaces : None
| |
− | Download Size : 193.46 K
| |
− | Installed Size : 193.46 K
| |
− | Packager : None
| |
− | Architecture : None
| |
− | Build Date : None
| |
− | MD5 Sum : 91b2beebb2abea973c18eb672057f128
| |
− | Description : A utility providing key negotiation for WPA wireless networks
| |
− | | |
− | === Installing software ===
| |
− | | |
− | Now that you've found a package it's time to install it. Choose any package you're interested
| |
− | in and type the following in your console:
| |
− | | |
− | # pacman -S muparser
| |
− | resolving dependencies...
| |
− | looking for inter-conflicts...
| |
− |
| |
− | Targets: muparser-1.28-1
| |
− |
| |
− | Total Download Size: 0.15 MB
| |
− |
| |
− | Proceed with installation? [Y/n]
| |
− | | |
− | Pacman will check for dependencies and if all is good proceed to download required packages.
| |
− | Once all files are downloaded Pacman will proceed to install them. While installing the software
| |
− | Pacman might print messages during installation. It's VERY important that you read these
| |
− | messages as they usually contain important information about the software you're installing.
| |
− | | |
− | (!) Note: Remember to read any messages printed by Pacman during installation, they are printed
| |
− | for a reason and should be considered essential reading. Please do not forget! (!)
| |
− | | |
− | === Removing software ===
| |
− | | |
− | So you've decided to remove a package from the system. Again Pacman will happily do this for
| |
− | you and also remove any non-explicitly (dependencies) installed packages as well. Pacman will
| |
− | obviously not remove depdencies if they are required by other packages, but if you want that
| |
− | Pacman can do that as well.
| |
− | | |
− | To remove a particular package and any dependencies no longer needed type the following in a
| |
− | console:
| |
− | | |
− | sh$ pacman --remove --recursive muparser
| |
− | | |
− | Pacman will remove any files belonging to the specified package and potential dependencies. It's
| |
− | important to understand that some files might remain on the system even after removing the
| |
− | package. There might for example be configuration files left in your home-folder and Pacman
| |
− | will NOT remove these files.
| |
− | | |
− | === Updating software ===
| |
− | | |
− | Pacman will obviously not only install and remove software packages but also help you maintain
| |
− | the ones you have installed on your system. Keeping software up-to-date is useful for many
| |
− | reasons such as removing security vulnerabiltiies, bugs and perhaps even adding more
| |
− | functionality.
| |
− | | |
− | Before proceeding with any package updating you should first ensure that you have the most
| |
− | recent snapshop of currently available packages. This is done through a simple command to
| |
− | Pacman. Type the following in your console:
| |
− | | |
− | sh$ pacman --sync --refresh
| |
− | | |
− | Pacman will connect to each repository and update, if necessary, information about available
| |
− | software packages. Once Pacman has updated your respositories it's time to check if you've
| |
− | got any outdated packages that may be upgraded to a later version.
| |
− | | |
− | Generally you'll want to update the entire system in one go, but we'll first walk through the
| |
− | steps of updating just one package. To find out what packages may be updated we'll use Pacman
| |
− | to query the package database. In a console type the following:
| |
− | | |
− | sh$ pacman --query --upgrades
| |
− | | |
− | Choose a package you'd like to update and type the following in a console:
| |
− | | |
− | sh$ pacman --sync <package_to_upgrade>
| |
− | | |
− | Confirm the procedure and Pacman will begin downloading new packages and any necessary
| |
− | dependencies. Should you want to avoid updating of dependencies you'd also want to add
| |
− | --nodeps (or -d).
| |
− | | |
− | Clearly this is not a particularily quick and efficient way of updating your entire system,
| |
− | especially if you've got more than ten available package updates. Pacman does solve this
| |
− | problem as well so keep reading and you'll learn how you can update your entire system
| |
− | in just one command.
| |
− | | |
− | === Updating the entire system ===
| |
− | | |
− | If you've not already run your repository update, please do so now. (In case you do not remember:
| |
− | pacman --sync --refresh) In a console type the following:
| |
− | | |
− | sh$ pacman --sync --sysupgrade
| |
− | | |
− | Pacman will now begin a possibly lengthy process of downloading and updating your entire
| |
− | system. Depending on things such as download speed, processor power it might take anything from
| |
− | a few seconds to a half an hour. Not too bad considering your entire system will be completely
| |
− | updated after it finishes.
| |
− | | |
− | (!) Note: During installation Pacman might print messages on the screen. It's VERY important
| |
− | that you do not ignore these messages as they are printed for a reason. Read them, please!
| |
− | If you do not understand the meaning of them, write them down and use ask the forum for help. (!)
| |
− | | |
− | Sometimes Pacman may update important packages that contain updates to some of your configuration
| |
− | files in for example /etc. It's important to always keep an eye out for .pacnew files in this
| |
− | folder. Pacman will only produce these files (.pacnew/.pacsave) if you've made any changes to
| |
− | the files being updated. If no changes have been made Pacman will automatically replace the old
| |
− | files with the new ones. We'll talk more about this in a later chapter.
| |
− | | |
− | === Summary ===
| |
− | | |
− | This chapter introduced you to some of the basic functionality of Pacman. There is much more
| |
− | functionality in Pacman and we've only really scratched the surface. If you'd like a more
| |
− | thorough description of all the options Pacman provide we recommend reading the man pages for
| |
− | Pacman(8).
| |
− | | |
− | Hopefully this chapter have demonstrated some of the Pacman power and why it makes Arch Linux
| |
− | a powerful, yet simple Linux distribution. In the next chapter we'll talk about how to various
| |
− | aspects of Arch Linux. See you there!
| |
− | | |
− | == Common Tasks ==
| |
− | | |
− | === Desktop Applications ===
| |
− | Web browsers, office suites, etc.
| |
− | | |
− | === Multimedia ===
| |
− | Video players, music jukeboxes, photo management, how to get codecs.
| |
− | | |
− | === Printing ===
| |
− | CUPS installation and configuration, finding drivers.
| |
− | | |
− | == System Administration ==
| |
− | | |
− | === Configuration and Tuning ===
| |
− | A lot of the configuration of Arch is done in /etc/rc.conf. This may sound daunting , but it is well commented and allows you to set modules for auto-loading and blacklisting, along with daemons and some network configuration.
| |
− | Details on some common configuration (init, cron).
| |
− | | |
− | === Users and Basic Account Management ===
| |
− | Creating and managing users with command-line utilities.
| |
− | | |
− | Users are created with <code>adduser</code>. Users must also be added to [[groups]] to make them useful.
| |
− | | |
− | == Networking ==
| |
− | | |
− | === Network Configuration ===
| |
− | How networks are set up in Arch.
| |
− | | |
− | === Servers ===
| |
− | Mail, web, SSH server installation and configuration.
| |
− | | |
− | === Firewalls ===
| |
− | See [[Firewalls]], [[iptables]], [[Simple Stateful Firewall]].
| |