(If you have not installed and configured Arch linux yet, please check my previous post first) .
A specific way in which files are stored on a disk is called file system: enables files to have names and attributes. It also enables them to be stored in a hierarchy of directories or folders arranged in a directory tree. The next figure shows how does linux organizes its directories. In linux everything is a file so there is no root directory (you won't find things like c: d: etc like in microsoft windows to represent storage devices and hard drive partitions).
Linux VFS (virtual file system) makes all the files on all the devices appear to exist in a single hierarchy.
Linux assigns a device name to each device but that is not how the files on that device are being accessed. to gain access to files on another device, the OS must first be informed where in the directory tree these files should appear (This process is called mounting a file system). The file system (device) includes a directory that is passed to the OS to be mounted (mount point). In part01 we learned about fstab configuration file provided by linux to facilitate mounting at boot time.
*Note: in the figure, jono, mako and cory are users of the systems.
Arch linux repositories and package Management
"A repository is a storage location from which software packages can be retrieved and installed on a computer." Arch linux official repositories include:
- basic: official binary repository
- core: Packages needed to, boot Arch linux, connect to the internet, building packages, and system setup processes.
- extra: desktop environment and programs. (packages that do not fit in core)
- community: Packages built by community (packages built by trusted AUR users: Archlinux User Repository)
- multilib: contains 32 bit software and libraries
Official packages are obtained by pacman (package tool/installer) from the Arch linux package tree and compiled either for IA-32 or x86-64 architectures. Binary packages use tar.xz format with .pkg placed before this (.pkg.tar.xz)
* There is also the Arch Build System (ABS) ( used in conjunction with AUR packages) which provides a directory tree of shell scripts called (PKGBuilds) that enable any and all official Arch packages to be customized and compiled. (more to ABS in future posts!)
Package Management (pacman)
Pacman is one of the major distinguishing features of Arch Linux and handles installation, upgrade, removal and downgrade of packages. It features an automatic dependencies resolution. pacman keeps the system up to date by synchronizing package lists with the master server.
Here are the most important uses and options of pacman:
- Update the packages database: pacman -Syu
- Search for packages in the database: pacman -Ss string1 string2
- Search for already installed packages: pacman -Qs string1 string2
- Display information about certain package: pacman -Si package_name
or pacman -Qi package_name (installed package)
- Cleaning the package cache: pacman -Sc
- Install package/packages: pacman -S package1 package2 ..
- Remove a package/packages: pacman -R package1 package2 ..
or pacman -Rs package_name (remove package and dependencies)
More info and options: pacman !