Arch Linux Install Dmg File
Posted : admin On 18.12.2020First, install sudo and a command line text editor like nano: pacman -S sudo nano. The configuration file for sudo is /etc/sudoers. It should always be edited with the visudo command. Visudo locks the sudoers file, saves edits to a temporary file, and checks that file’s grammar before copying it to /etc/sudoers. To use nano as the visudo. The default Arch install doesn’t come with a graphical desktop because Arch gives you the power to choose your own. If you’re new to this or looking for a suggestion, XFCE is a fantastic place to start. It’s a tried-and-true Linux desktop that’s light on resources while still providing a complete desktop experience. Grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible. Grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged. Grub-install: error: will not proceed with blocklists. When installing Arch Linux natively, these issues have been resolved by replacing the default pacman file downloader with an alternative (see Improve pacman performance for more details). When installing Arch Linux as a guest OS in VirtualBox, this issue has also been addressed by using Host interface instead of NAT in the machine properties. A.DMG file is the disc image file used by MAC OSX. It is an exact copy of a hard disk or compact disk. The DMG file can be burned to a CD or mount as a normal volume on Macintosh computers. Usually, the data in DMG file is stored in compressed format. On a Windows PC, AnyBurn can convert DMG file to ISO format, or burn it to a blank CD / DVD disc.
- Arch Linux Install Dmg File Linux Command
- Arch Linux Download
- Arch Linux Install Dmg File On Ipad
- Arch Linux Install Dmg File In Vmware Workstation
- Arch Linux Install Dmg File In Windows
The pacmanpackage manager is one of the major distinguishing features of Arch Linux. It combines a simple binary package format with an easy-to-use build system. The goal of pacman is to make it possible to easily manage packages, whether they are from the official repositories or the user's own builds.
Pacman keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows the user to download/install packages with a simple command, complete with all required dependencies.
Pacman is written in the C programming language and uses the bsdtar(1)tar format for packaging.
pacman -Ql pacman pacman-contrib grep -E 'bin/.+'
to see the full list.Usage
What follows is just a small sample of the operations that pacman can perform. To read more examples, refer to pacman(8).
Installing packages
A package is an archive containing:
- all of the (compiled) files of an application
- metadata about the application, such as application name, version, dependencies, ..
- installation files and directives for pacman
- (optionally) extra files to make your life easier, such as a start/stop script
Arch's package manager pacman can install, update, and remove those packages. Using packages instead of compiling and installing programs yourself has various benefits:
- easily updatable: pacman will update existing packages as soon as updates are available
- dependency checks: pacman handles dependencies for you, you only need to specify the program and pacman installs it together with every other program it needs
- clean removal: pacman has a list of every file in a package; this way, no files are unintentionally left behind when you decide to remove a package.
- Packages often have optional dependencies which are packages that provide additional functionality to the application but not strictly required for running it. When installing a package, pacman will list a package's optional dependencies, but they will not be found in
pacman.log
. Use the #Querying package databases command to view the optional dependencies of a package. - When installing a package which you require only as (optional) dependency of some other package (i.e. not required by you explicitly otherwise), it is recommended to use
--asdeps
option. For details see the #Installation reason section.
pacman -Sy package_name
instead of pacman -Syupackage_name
, as this could lead to dependency issues. See System maintenance#Partial upgrades are unsupported and BBS#89328.Installing specific packages
To install a single package or list of packages, including dependencies, issue the following command:
To install a list of packages with regex (see this forum thread):
Sometimes there are multiple versions of a package in different repositories (e.g. extra and testing). To install the version from the extra repository in this example, the repository needs to be defined in front of the package name:
To install a number of packages sharing similar patterns in their names one can use curly brace expansion. For example:
This can be expanded to however many levels needed:
Virtual packages
A virtual package is a special package which does not exist by itself, but is provided by one or more other packages. Virtual packages allow other packages to not name a specific package as a dependency, in case there are several candidates. Virtual packages cannot be installed by their name, instead they become installed in your system when you have install a package providing the virtual package.
Installing package groups
Some packages belong to a group of packages that can all be installed simultaneously. For example, issuing the command:
will prompt you to select the packages from the gnome group that you wish to install.
Sometimes a package group will contain a large amount of packages, and there may be only a few that you do or do not want to install. Instead of having to enter all the numbers except the ones you do not want, it is sometimes more convenient to select or exclude packages or ranges of packages with the following syntax:
which will select packages 1 through 10 and 15 for installation, or:
which will select all packages except 5 through 8 and 2 for installation.
To see what packages belong to the gnome group, run:
Also visit https://www.archlinux.org/groups/ to see what package groups are available.
--needed
option.Removing packages
To remove a single package, leaving all of its dependencies installed:
To remove a package and its dependencies which are not required by any other installed package:
The above may sometimes refuse to run when removing a group which contains otherwise needed packages. In this case try:
To remove a package, its dependencies and all the packages that depend on the target package:
To remove a package, which is required by another package, without removing the dependent package:
Pacman saves important configuration files when removing certain applications and names them with the extension: .pacsave. To prevent the creation of these backup files use the -n
option:
Upgrading packages
Warning:- Users are expected to follow the guidance in the System maintenance#Upgrading the system section to upgrade their systems regularly and not blindly run the following command.
- Arch only supports full system upgrades. See System maintenance#Partial upgrades are unsupported and #Installing packages for details.
Pacman can update all packages on the system with just one command. This could take quite a while depending on how up-to-date the system is. The following command synchronizes the repository databases and updates the system's packages, excluding 'local' packages that are not in the configured repositories:
Querying package databases
Pacman queries the local package database with the -Q
flag, the sync database with the -S
flag and the files database with the -F
flag. See pacman -Q --help
, pacman -S --help
and pacman -F --help
for the respective suboptions of each flag.
Pacman can search for packages in the database, searching both in packages' names and descriptions:
Sometimes, -s
's builtin ERE (Extended Regular Expressions) can cause a lot of unwanted results, so it has to be limited to match the package name only; not the description nor any other field:
To search for already installed packages:
To search for package file names in remote packages:
To display extensive information about a given package:
For locally installed packages:
Passing two -i
flags will also display the list of backup files and their modification states:
To retrieve a list of the files installed by a package:
To retrieve a list of the files installed by a remote package:
To verify the presence of the files installed by a package:
Passing the k
flag twice will perform a more thorough check.
To query the database to know which package a file in the file system belongs to:
To query the database to know which remote package a file belongs to:
To list all packages no longer required as dependencies (orphans):
Exec
in your hook: /usr/bin/bash -c '/usr/bin/pacman -Qtd /usr/bin/echo '=> None found.'
To list all packages explicitly installed and not required as dependencies:
See Pacman/Tips and tricks for more examples.
Pactree
To view the dependency tree of a package:
To view the dependant tree of a package, pass the reverse flag -r
to pactree, or use whoneeds from pkgtoolsAUR.
Database structure
The pacman databases are normally located at /var/lib/pacman/sync
. For each repository specified in /etc/pacman.conf
there will be a corresponding database file located there. Database files are gzipped tar archives containing one directory for each package, for example for the which package:
The desc
file contains meta data such as the package description, dependencies, file size and MD5 hash.
Cleaning the package cache
Pacman stores its downloaded packages in /var/cache/pacman/pkg/
and does not remove the old or uninstalled versions automatically. This has some advantages:
- It allows to downgrade a package without the need to retrieve the previous version through other means, such as the Arch Linux Archive.
- A package that has been uninstalled can easily be reinstalled directly from the cache folder, not requiring a new download from the repository.
However, it is necessary to deliberately clean up the cache periodically to prevent the folder to grow indefinitely in size.
The paccache(8) script, provided within the pacman-contrib package, deletes all cached versions of installed and uninstalled packages, except for the most recent 3, by default:
Enable and startpaccache.timer
to discard unused packages weekly.
You can also define how many recent versions you want to keep. To retain only one past version use:
Add the -u
/--uninstalled
switch to limit the action of paccache to uninstalled packages. For example to remove all cached versions of uninstalled packages, use the following:
Or you can combine it for both installed and uninstalled packages. For example to keep latest two of installed packages but remove all cached versions of uninstalled packages, use the following:
See paccache -h
for more options.
Pacman also has some built-in options to clean the cache and the leftover database files from repositories which are no longer listed in the configuration file /etc/pacman.conf
. However pacman does not offer the possibility to keep a number of past versions and is therefore more aggressive than paccache default options.
To remove all the cached packages that are not currently installed, and the unused sync database, execute:
To remove all files from the cache, use the clean switch twice, this is the most aggressive approach and will leave nothing in the cache folder:
pkgcachecleanAUR and pacleanerAUR are two further alternatives to clean the cache.
Additional commands
Download a package without installing it:
Install a 'local' package that is not from a remote repository (e.g. the package is from the AUR):
To keep a copy of the local package in pacman's cache, use:
Install a 'remote' package (not from a repository stated in pacman's configuration files):
To inhibit the -S
, -U
and -R
actions, -p
can be used.
Pacman always lists packages to be installed or removed and asks for permission before it takes action.
Installation reason
The pacman database distinguishes the installed packages in two groups according to the reason why they were installed:
- explicitly-installed: the packages that were literally passed to a generic pacman
-S
or-U
command; - dependencies: the packages that, despite never (in general) having been passed to a pacman installation command, were implicitly installed because required by another package that was explicitly installed.
When installing a package, it is possible to force its installation reason to dependency with:
--asdeps
will cause it such that if you remove orphans, pacman will also remove leftover optional dependencies.When reinstalling a package, though, the current installation reason is preserved by default.
/graphics-30-crack.html. The list of explicitly-installed packages can be shown with pacman -Qe
, while the complementary list of dependencies can be shown with pacman -Qd
.
To change the installation reason of an already installed package, execute:
Use --asexplicit
to do the opposite operation.
--asdeps
and --asexplicit
options when upgrading, such as with pacman -Syu package_name --asdeps
, is discouraged. This would change the installation reason of not only the package being installed, but also the packages being upgraded.Search for a package that contains a specific file
Sync the files database:
Search for a package containing a file, e.g.:
For advanced functionality install pkgfile, which uses a separate database with all files and their associated packages.
Configuration
Pacman's settings are located in /etc/pacman.conf
: this is the place where the user configures the program to work in the desired manner. In-depth information about the configuration file can be found in pacman.conf(5).
General options
General options are in the [options]
section. Read pacman.conf(5) or look in the default pacman.conf
for information on what can be done here.
Comparing versions before updating
To see old and new versions of available packages, uncomment the 'VerbosePkgLists' line in /etc/pacman.conf
. The output of pacman -Syu
will be like this:
Skip package from being upgraded
To have a specific package skipped when upgrading the system, specify it as such:
For multiple packages use a space-separated list, or use additional IgnorePkg
lines. Also, glob patterns can be used. If you want to skip packages just once, you can also use the --ignore
option on the command-line - this time with a comma-separated list.
It will still be possible to upgrade the ignored packages using pacman -S
: in this case pacman will remind you that the packages have been included in an IgnorePkg
statement.
Skip package group from being upgraded
Arch Linux Install Dmg File Linux Command
As with packages, skipping a whole package group is also possible:
Skip file from being upgraded
All files listed with a NoUpgrade
directive will never be touched during a package install/upgrade, and the new files will be installed with a .pacnew extension.
Skip files from being installed to system
To always skip installation of specific directories list them under NoExtract
. For example, to avoid installation of systemd units use this:
Later rules override previous ones, and you can negate a rule by prepending !
.
CheckSpace
option in pacman.conf
suppresses such warnings, but consider that the space-checking functionality will be disabled for all packages.Maintain several configuration files
If you have several configuration files (e.g. main configuration and configuration with testing repository enabled) and would have to share options between configurations you may use Include
option declared in the configuration files, e.g.:
where /path/to/common/settings
file contains the same options for both configurations.
Hooks
Pacman can run pre- and post-transaction hooks from the /usr/share/libalpm/hooks/
directory; more directories can be specified with the HookDir
option in pacman.conf
, which defaults to /etc/pacman.d/hooks
. Hook file names must be suffixed with .hook. Pacman hooks are not interactive.
Pacman hooks are used, for example, in combination with systemd-sysusers
and systemd-tmpfiles
to automatically create system users and files during the installation of packages. For example, tomcat8 specifies that it wants a system user called tomcat8
and certain directories owned by this user. The pacman hooks systemd-sysusers.hook
and systemd-tmpfiles.hook
invoke systemd-sysusers
and systemd-tmpfiles
when pacman determines that tomcat8 contains files specifying users and tmp files.
For more information on alpm hooks, see alpm-hooks(5).
Repositories and mirrors
Besides the special [options] section, each other [section]
in pacman.conf
defines a package repository to be used. A repository is a logical collection of packages, which are physically stored on one or more servers: for this reason each server is called a mirror for the repository.
Repositories are distinguished between official and unofficial. The order of repositories in the configuration file matters; repositories listed first will take precedence over those listed later in the file when packages in two repositories have identical names, regardless of version number. In order to use a repository after adding it, you will need to upgrade the whole system first.
Each repository section allows defining the list of its mirrors directly or in a dedicated external file through the Include
directive: for example, the mirrors for the official repositories are included from /etc/pacman.d/mirrorlist
. See the Mirrors article for mirror configuration.
Package security
Pacman supports package signatures, which add an extra layer of security to the packages. The default configuration, SigLevel = Required DatabaseOptional
, enables signature verification for all the packages on a global level: this can be overridden by per-repository SigLevel
lines. For more details on package signing and signature verification, take a look at pacman-key.
Troubleshooting
'Failed to commit transaction (conflicting files)' error
If you see the following error: [1]
This is happening because pacman has detected a file conflict, and by design, will not overwrite files for you. This is by design, not a flaw.
The problem is usually trivial to solve. A safe way is to first check if another package owns the file (pacman -Qo /path/to/file
). If the file is owned by another package, file a bug report. If the file is not owned by another package, rename the file which 'exists in filesystem' and re-issue the update command. If all goes well, the file may then be removed.
If you had installed a program manually without using pacman, for example through make install
, you have to remove/uninstall this program with all of its files. See also Pacman tips#Identify files not owned by any package.
Every installed package provides a /var/lib/pacman/local/package-version/files
file that contains metadata about this package. If this file gets corrupted, is empty or goes missing, it results in file exists in filesystem
errors when trying to update the package. Such an error usually concerns only one package. Instead of manually renaming and later removing all the files that belong to the package in question, you may explicitly run pacman -S --overwrite globpackage
to force pacman to overwrite files that match glob
.
--overwrite
switch. See System maintenance#Avoid certain pacman commands.'Failed to commit transaction (invalid or corrupted package)' error
Look for .part files (partially downloaded packages) in /var/cache/pacman/pkg/
and remove them (often caused by usage of a custom XferCommand
in pacman.conf
).
'Failed to init transaction (unable to lock database)' error
When pacman is about to alter the package database, for example installing a package, it creates a lock file at /var/lib/pacman/db.lck
. This prevents another instance of pacman from trying to alter the package database at the same time.
If pacman is interrupted while changing the database, this stale lock file can remain. If you are certain that no instances of pacman are running then delete the lock file:
Packages cannot be retrieved on installation
This error manifests as Not found in sync db
, Target not found
or Failed retrieving file
.
Firstly, ensure the package actually exists. If certain the package exists, your package list may be out-of-date. Try running pacman -Syu
to force a refresh of all package lists and upgrade. Also make sure the selected mirrors are up-to-date and repositories are correctly configured.
It could also be that the repository containing the package is not enabled on your system, e.g. the package could be in the multilib repository, but multilib is not enabled in your pacman.conf
.
See also FAQ#Why is there only a single version of each shared library in the official repositories?.
Pacman crashes during an upgrade
In the case that pacman crashes with a 'database write' error while removing packages, and reinstalling or upgrading packages fails thereafter, do the following:
- Boot using the Arch installation media. Preferably use a recent media so that the pacman version matches/is newer than the system.
- Mount the system's root filesystem, e.g.,
mount /dev/sdaX /mnt
as root, and check the mount has sufficient space withdf -h
- Mount the proc, sys and dev filesystems as well:
mount -t proc proc /mnt/proc; mount --rbind /sys /mnt/sys; mount --rbind /dev /mnt/dev
- If the system uses default database and directory locations, you can now update the system's pacman database and upgrade it via
pacman --sysroot /mnt -Syu
as root.- Alternatively, if you cannot update/upgrade, refer to Pacman/Tips and tricks#Reinstalling all packages.
- After the upgrade, one way to double-check for not upgraded but still broken packages:
find /mnt/usr/lib -size 0
- Followed by a re-install of any still broken package via
pacman --sysroot /mnt -S package
.
Manually reinstalling pacman
Even if pacman is terribly broken, you can fix it manually by downloading the latest packages and extracting them to the correct locations. The rough steps to perform are:
- Determine the pacman dependencies to install
- Download each package from a mirror of your choice
- Extract each package to root
- Reinstall these packages with
pacman -S --overwrite
to update the package database accordingly - Do a full system upgrade
If you have a healthy Arch system on hand, you can see the full list of dependencies with:
But you may only need to update a few of them depending on your issue. An example of extracting a package is
Note the use of the w
flag for interactive mode. Running non-interactively is very risky since you might end up overwriting an important file. Also take care to extract packages in the correct order (i.e. dependencies first). This forum post contains an example of this process where only a couple pacman dependencies are broken.
'Unable to find root device' error after rebooting
Most likely the initramfs became corrupted during a kernel update (improper use of pacman's --overwrite
option can be a cause). There are two options; first, try the Fallback entry.
Tab
key when the boot loader menu shows up (for Syslinux) or e
(for GRUB or systemd-boot), rename it initramfs-linux-fallback.img
and press Enter
or b
(depending on your boot loader) to boot with the new parameters.Once the system starts, run this command (for the stock linux kernel) either from the console or from a terminal to rebuild the initramfs image:
If that does not work, from a current Arch release (CD/DVD or USB stick), mount your root and boot partitions. Then chroot using arch-chroot:
Note:- If you do not have a current release or if you only have some other 'live' Linux distribution laying around, you can chroot using the old fashioned way. Obviously, there will be more typing than simply running the
arch-chroot
script. - If pacman fails with
Could not resolve host
, please check your internet connection. - If you cannot enter the arch-chroot or chroot environment but need to re-install packages you can use the command
pacman --sysroot /mnt -Syu foo bar
to use pacman on your root partition.
Reinstalling the kernel (the linux package) will automatically re-generate the initramfs image with mkinitcpio -p linux
. There is no need to do this separately.
Afterwards, it is recommended that you run exit
, umount /mnt/{boot,}
and reboot
.
Signature from 'User <email@example.org>' is unknown trust, installation failed
Potential solutions:
- Update the known keys, i.e.
pacman-key --refresh-keys
- Manually upgrade archlinux-keyring package first, i.e.
pacman -Sy archlinux-keyring && pacman -Su
- Follow pacman-key#Resetting all the keys
Request on importing PGP keys
If installing Arch with an outdated ISO, you are likely prompted to import PGP keys. Agree to download the key to proceed. If you are unable to add the PGP key successfully, update the keyring or upgrade archlinux-keyring (see '_is_unknown_trust,_installation_failed'>above).
Error: key '0123456789ABCDEF' could not be looked up remotely
If packages are signed with new keys, which were only recently added to archlinux-keyring, these keys are not locally available during update (chicken-egg-problem). The installed archlinux-keyring does not contain the key, until it is updated. Pacman tries to bypass this by a lookup through a key-server, which might not be possible e.g. behind proxys or firewalls and results in the stated error. Upgrade archlinux-keyring first as shown '_is_unknown_trust,_installation_failed'>above.
Signature from 'User <email@archlinux.org>' is invalid, installation failed
When the system time is faulty, signing keys are considered expired (or invalid) and signature checks on packages will fail with the following error:
Make sure to correct the system time, for example with ntpd -qg
run as root, and run hwclock -w
as root before subsequent installations or upgrades.
'Warning: current locale is invalid; using default 'C' locale' error
As the error message says, your locale is not correctly configured. See Locale.
Pacman does not honor proxy settings
Make sure that the relevant environment variables ($http_proxy
, $ftp_proxy
etc.) are set up. If you use pacman with sudo, you need to configure sudo to pass these environment variables to pacman. Also, ensure the configuration of dirmngr has honor-http-proxy
in /etc/pacman.d/gnupg/dirmngr.conf
to honor the proxy when refreshing the keys.
How do I reinstall all packages, retaining information on whether something was explicitly installed or as a dependency?
To reinstall all the native packages: pacman -Qnq pacman -S -
or pacman -S $(pacman -Qnq)
(the -S
option preserves the installation reason by default).
You will then need to reinstall all the foreign packages, which can be listed with pacman -Qmq
.
'Cannot open shared object file' error
It looks like previous pacman transaction removed or corrupted shared libraries needed for pacman itself.
To recover from this situation you need to unpack required libraries to your filesystem manually. First find what package contains the missed library and then locate it in the pacman cache (/var/cache/pacman/pkg/
). Unpack required shared library to the filesystem. This will allow to run pacman.
Now you need to reinstall the broken package. Note that you need to use --overwrite
flag as you just unpacked system files and pacman does not know about it. Pacman will correctly replace our shared library file with one from package.
That's it. Update the rest of the system.
Freeze of package downloads
Some issues have been reported regarding network problems that prevent pacman from updating/synchronizing repositories. [2][3] When installing Arch Linux natively, these issues have been resolved by replacing the default pacman file downloader with an alternative (see Improve pacman performance for more details). When installing Arch Linux as a guest OS in VirtualBox, this issue has also been addressed by using Host interface instead of NAT in the machine properties.
Failed retrieving file 'core.db' from mirror
If you receive this error message with correct mirrors, try setting a different name server.
error: 'local-package.pkg.tar': permission denied
If you want to install a package on an sshfs mount using pacman -U
and receive this error, move the package to a local directory and try to install again.
Understanding
What happens during package install/upgrade/removal
The factual accuracy of this article or section is disputed.
When successfully completing a package transaction, pacman performs the following high-level steps:
- pacman obtains the to-be installed package file for all packages queued in a transaction.
- pacman performs various checks that the packages can likely be installed.
- If pre-existing pacman
PreTransaction
hooks apply, they are executed. - Each package is installed/upgraded/removed in turn.
- If the package has an install script, its
pre_install
function is executed (orpre_upgrade
orpre_remove
in the case of an upgraded or removed package). - pacman deletes all the files from a pre-existing version of the package (in the case of an upgraded or removed package). However, files that were marked as configuration files in the package are kept (see Pacman/Pacnew and Pacsave).
- pacman untars the package and dumps its files into the file system (in the case of an installed or upgraded package). Files that would overwrite kept, and manually modified, configuration files (see previous step), are stored with a new name (.pacnew).
- If the package has an install script, its
post_install
function is executed (orpost_upgrade
orpost_remove
in the case of an upgraded or removed package).
- If the package has an install script, its
- If pacman
PostTransaction
hooks that exist at the end of the transaction apply, they are executed.
See also
by Jonathan Baldie
Got an old computer that is too slow to run Windows? Don’t throw it away or sell it. Install Linux on it.
Never used Linux? It’s a lot of fun, as long as you’re willing to learn and to tinker.
Note that if you do not enjoy tinkering, desktop Linux might not be the best operating system for you.
The Windows and macOS operating systems make systems run slower over time. Apps get more complex as they adapt to the demands for more user-friendly features.
Windows 10 has been better on this front. Microsoft’s goal to have a universal OS across desktops, tablets, and mobile devices has encouraged them to cater to machines with lower specs.
But I’m not sure if Apple has that same goal. The new MacBook Pros are slower than many machines that are a third of the price. Many users have complained that El Capitan and Sierra drain more resources after they have upgraded their Mac’s operating systems.
That’s not inherently a bad thing. I love the care taken to enhance the usability of my Mac. And I love how fast my Windows 10 machine operates, and I’ve used Windows since I was seven years old. I consider myself a Windows power user.
Beware of fanboyhood. Always stay open-minded. It’s foolish to stick to either of these operating systems. There’s more to life than the computer you use.
But the planned obsolescence means that people needlessly throw away old Macs and Windows machines. They are too slow to use and new software cannot be installed on them.
I booted up my 2008 MacBook a few weeks ago, and it refused to install Chrome. Wouldn’t even touch it with a barge pole. Not cool!
However, I’m now writing with a 2009 Acer Aspire 5735. It has a Core 2 Duo processor, with two cores at 2.0GHz. It has 4GB of DDR2 RAM, and a 500GB HDD. I’ve installed a brand new battery, but so far that’s the only hardware upgrade.
I’m using the latest version of Google Chrome. Currently, I have six tabs open, and I have yet to experience any major slowdown to date. It also has the latest versions of PhpStorm and DataGrip.
At the time when my dad bought me this laptop, it was very popular. I loved it. It was a high-spec machine, and it ran very well. I had just started university, and this machine helped me with my studying habits. And in my my free time, it served well for browsing and consuming media. It was a fantastic portable work machine for five years.
It doesn’t make any sense to me that it just died. I didn’t do any demanding gaming on it, I just wanted to be productive on it.
I want email, I want browsing, I want PhpStorm and DataGrip on my laptop. With Linux, I can do all of those things with ease.
Even better, my activity isn’t being monitored by a corporation. My operating system isn’t listening through the microphone 24/7 and storing data in a data warehouse outside of the country.
With Linux, I have as much freedom and privacy as I want.
Installing Linux on your laptop is insanely easy, too. I’ll show you how to do that in just a second.
Remember that Linux powers the biggest servers, the most popular applications, and the most important services in the world.
But it also powers all Android smartphones. While mobiles are getting more powerful every year, they’re not as powerful as modern computers. And Android runs very smoothly on most modern phones.
That’s because Linux is simple. It uses less resources and has a rich community of developers who are keen to help each other out.
If Linux is good enough to power the most important services in the world, it’s good enough to use to browse your Facebook news feed.
Arch Linux
For my installation, I chose Arch Linux. This isn’t a distribution for the faint of heart.
The barebones installer for Arch isn’t GUI-based or even text-based. It purely uses the command line.
I like that, though. Installing an OS in this way helps me to understand its inner workings.
I have Ubuntu 16.10 “Yakkety” on my desktop, and it was a breeze to install. I downloaded the ISO, burned it to a USB, plugged it into my PC, booted from the USB, and followed the easy instructions.
Ubuntu is by far the softest introduction to Linux. I recommend it to people with no experience outside of Windows or even macOS, because it’ll be the most familiar to people.
When you dive deeper into Linux, try different things, and get used to the terminal. You’ll understand why I like the Arch installer.
I didn’t use the text-based Arch “Anywhere” installer. I just used the command line.
And although Arch has been frequently called a “text-based horror game” by some, the reality is that it’s incredibly simple to install. You will learn more about how the internals actually work later in this article.
You don’t get a desktop environment by default. It’s purely command line. This is by design. Arch is intended to be a simple barebones Linux system.
Arch is addictive. You start with nothing and install software as needed.
Arch Linux Download
By contrast, Ubuntu is subtractive. You start with everything you could possibly need, and trim down until you have a lighter system.
Neither of them is “right.” Each just fits different people and use cases. The only “right” OS is the OS that best helps you to work and play.
Once again, though, it is incredibly easy to install a desktop environment to Arch. It literally takes two commands and a reboot to install an operating desktop.
And because we want a system that we can use, we’ll definitely want a desktop environment. In my installation, I chose Gnome 3. I like the look of it. Although it’s known to be resource heavy, I relish the challenge. I think my laptop is up to it.
Let’s get started.
How I installed Arch Linux on my laptop
I will now explain how I installed Arch Linux on my laptop.
You can follow along if you like. Just beware that this will erase all the data on your computer’s hard drive. Only do this if you’re absolutely sure you want to do this, so back up your important data onto another machine. Definitely don’t erase the data on a machine that isn’t yours!
1. Create the USB installer
First, I downloaded the official Arch Linux ISO from their website. I decided on the 64-bit version.
On my Windows 8 tablet, I used a program called Rufus. It allowed me to burn the ISO to a USB stick.
If you want to try this, you’ll need a USB stick with enough memory to hold the OS at least. You can buy an 8GB USB stick, which is more than enough space, at a very cheap price nowadays.
And if you’re on a Mac, you won’t be able to use Rufus, but you can use UNetbootin, which is highly rated.
Then once inside Rufus, I chose the USB stick from the list of drives. I chose the ISO image from my downloads folder, and selected Start to begin the burning process.
Warning:If you do this, it will delete everything on the USB stick.
When the process finished, I had a bootable USB stick.
2. Boot from the USB stick
I rebooted the laptop, plugged in the USB stick, and entered the BIOS. I changed the boot priority so that the USB drive controller is at the top. Then I exited the BIOS and the computer rebooted.
I was greeted by the GRUB boot loader, which took me to the Arch Linux terminal. It’s a weird, limbo-like place where you’re using the USB stick as the OS and the main filesystem. Many people actually plug the USB stick into their computer to have a portable operating system.
3. Check the network
Plugging in an Ethernet cable to my router allowed me to have internet access. I checked that the internet was up, with the code
This resulted in successful pings that returned a response.
The internet was a-OK!
The Ethernet is the simplest and most secure way to connect to your internet source provider. Most old laptops have an Ethernet port. I chose not to configure Wi-Fi until I had installed the Gnome desktop environment because it would be easier.
4. Partition the hard drive
At that time, I still had Windows Vista installed on the laptop’s main hard drive. To install Linux, I had to format the hard drive.
But first, I needed to set up the partition table. This, among other things, tells the boot loader which part of the hard drive is bootable.
To view the partition table, type
I wanted two partitions on the main hard drive:
/dev/sda1
, the primary bootable with 457GB of space/dev/sda2
, the primary swap space with 8GB, or double the RAM
Allocating double the RAM to swap space is a good idea for older machines with less RAM. Linux will put unused memory into the swap space to free up RAM for more immediate tasks.
I typed this into the terminal to action the partition:
This program provides a user interface for creating and managing partitions.
It should look something like this:
I highlighted the existing partitions and selected DELETE
. Then I selected NEW
and entered 457G
as the space, marking it as primary.
Next, I selected BOOTABLE
on that partition.
Then I selected the FREE SPACE
in the line below, clicked NEW
again, and created the swap partition with 8G
of space. This was double the laptop’s RAM, marking it as primary. Linux should automatically recognize this as swap space.
I then selected WRITE
and typed yes to confirm. This installed the new partitions.
Warning: Beware if you do this yourself. This might erase data and will definitely mess up your existing installation. So only follow this if you’re committed to trying out Arch Linux.
To verify the partitions, type
5. Format the partitions
I created the primary partitions, but they weren’t formatted yet. I used this command to format the main partition as EXT4:
Then to format and activate the swap partition:
The hard drive has been completely formatted, and the swap partition activated.
6. Installing the base Arch Linux system
To install the Arch Linux base system, I mounted the laptop’s new primary /dev/sda1
partition onto my USB’s filesystem.
Remember that the USB is acting as “the computer” in this situation. Unix system have one tree for the filesystem. It doesn’t matter if it’s running off a USB stick or an RPi or a powerful server, all Unix systems are like this.
Mounting a drive into the filesystem is sort of like docking a filesystem onto the main one. We’re temporarily “plugging” the hard drive’s primary partition’s filesystem into the USB’s filesystem.
This didn’t take too long, but I did have time to make myself a cup of tea and check my emails on my tablet.
When it was done I patted myself on the back, and ran the next command to create the fstab. This is a file which contains information about the system’s partitions.
The file can be read to verify:
7. Configure Arch Linux
I needed to log into the new Arch Linux install to configure a few things. I needed to set the root password and time zone, and create my user account.
Then I edited the locale file:
I found my locale en_GB.UTF-8
and uncommented it. Then I pressed ESCAPE and typed :x
to write and exit the file.
To activate the locale, I entered:
Next, I created another locale file:
I added the following line and saved the file as above.
Then I set the correct time zone.
In the UK we have a variable time zone. In the summer we use British Summer Time (BST), which is one hour ahead of UTC. The rest of the time we’re on Greenwich Mean Time (GMT), which is the same as UTC. It will probably be simpler for you if you’re elsewhere in the world.
To find the right time zone, I entered:
I saw GB and knew that was the right one. The system will automatically adjust to BST/GMT when necessary. So to set this as the system’s time zone, I entered:
8. Configure passwords and user account
The system logged me in as root. To enter the root password for later logins, I typed:
It then prompted me to type my password and to confirm it.
Then it prompted me to create my user account:
Then I typed:
I typed my password for my account as I did with root.
My account was created, but I couldn’t do very much. I had no permissions. I had to create the “sudo” group and add my user to it.
To ensure the sudo-ers group had the right permissions:
Then I uncommented this line and saved the file:
Now I was able to use the sudo
(pronouned “soo-doo,” short for “super user do”) command as my user, so I could install new packages and access restricted parts of the filesystem.
9. Configure the network
Now I needed to set the laptop’s hostname in two files: /etc/hostname
and /etc/hosts
. So I ran the next command and typed laptop:
Then I entered the host’s file:
At the bottom I typed the following line:
This told my system to route all requests for the hostname laptop to itself.
The network still didn’t work as planned, so I needed to activate it. I did this by typing:
10. Install GRUB bootloader onto the hard drive
We’re almost done! Now I needed to install GRUB loader onto the new Arch Linux system, so that it could boot from the hard drive.
To do that, I ran these commands:
If the first pacman command doesn’t work, try this command to synchronize the system’s core database:
I then exited from the hard drive’s system and back into the USB:
And then I unmounted the hard drive’s filesystem from the USB:
And that’s it!
The hard drive had a fresh Arch Linux install ready to use. So I rebooted the laptop and unplugged the USB stick.
This then booted successfully into the terminal, but this time it was on the hard drive’s new Arch system, not on the USB stick.
11. Install the Gnome desktop environment
We have the new operating system, but it was still 100% terminal. I want a desktop environment to interact with my laptop, so I can browse web pages, read documents, and use modern apps.
There are many desktop environments for Linux. I chose Gnome because I like it, but if I wanted to, Linux allows the installation of more than one desktop environment.
Luckily, it only takes one command to install the Gnome desktop ennvironment:
It prompted me a few times to check which versions of extra packages I want. I just clicked ENTER
to select the defaults.
Arch Linux Install Dmg File On Ipad
So the Gnome desktop environment is installed, but the system doesn’t know to load it at the boot. So I typed this to ensure it did:
This sets up the symlink, and we’re ready to reboot the laptop into Gnome!
Then when the laptop booted, it loaded Gnome, and I was able to log in with my new user account.
The system was now ready for me to use. It was far from complete though, because I wanted to install some of my favourite programs:
- Fish shell, it makes the terminal much faster and easier to use
- htop, for system activity monitoring
- Git, for installing packages via the AUR and for work
- Google Chrome, it’s my favourite browser
- Spotify, so I can listen to my favourite tunes!
- PhpStorm, so I can work
- DataGrip, so I can access my databases
With Linux, and especially Arch, we can’t just download an installer or a .dmg file like we can on Windows or macOS. We need to use both of Arch’s installer programs to install them. So let’s learn how to do that!
How to install programs on Arch Linux using pacman and the AUR
Installing programs on Arch Linux might seem tricky at first. It was tricky for me the first time too, even though I had experience with Ubuntu Linux.
Arch uses pacman, short for package manager, and the Arch User Repository (AUR) to install programs.
Installing packages via pacman is super easy. To install the fish shell, htop, and Git, I just used:
Installing via the AUR is trickier, especially if you’re newer to Unix-like systems.
We’ll install the Google Chrome browser and Spotify to show you how to do this.
First, make sure that build essentials are installed:
Go into your user’s downloads folder:
Go here and copy the Git Clone URL.
Then run the following command:
Then entercd
into the google-chrome
directory that it just created, and run the following command:
This may take a while, depending on your system.
Time for another cup of tea!
Once that’s done, install the package. The makepkg
command should create a file with the file type pkg.tar.xz
. Install this package by using the -U
option with pacman.
Replace x.pkg.tar.xz
with the name of the actual file. It will be a long, scary filename. Just copy and paste it into the command above.
That’s it!
Now in Gnome, if you hit the super
key (Windows key on a Windows machine), type Chrome and the Chrome app icon should appear on the screen. Super easy!
We can use the same commands for every other AUR package we want to install. We can certainly do the same for Spotify by using the URL here.
Remember, these are the steps to install programs from the AUR:
- Find the package’s Git clone URL here.
git clone [the URL]
cd [package name]
makepkg -Acs
sudo pacman -U x.pkg.tar.xz
Yaourt
An easier way to install AUR packages is using Yaourt. It allows you to automatically install from the AUR with one line, much like pacman.
Open up /etc/pacman.conf
and add the following lines of code to the bottom:
Then, in the terminal run this:
Now you can install any package using Yaourt. The usage is similar to pacman:
I hope I have shown that it’s easier than it looks to use the AUR. It’s super easy to install with pacman too.
I thought it was important to share Arch’s core skills, because with Arch, very few programs are pre-installed. So you’ll need to use these core skills a lot if you want to install the programs you need.
That is what I like about Arch Linux. You can create the computer you want, instead of just being given a bloated system that has more than you could possibly want or use.
That is also why Arch Linux is perfect for older laptops and PCs. It is so lightweight that it runs below 5% CPU with multiple programs on at the same time. Here’s a screenshot of my laptop’s desktop with htop:
Yes, I love 90s music. Sue me! It was one of the best decades for music!
I chose the Gnome desktop environment as well, which many experienced readers will notice is quite heavy as far as desktop environments go.
That’s true. I took a gamble by using it over a lighter DE like XFCE4.
But I’m used to the Ubuntu Unity desktop environment, which is similar to Gnome. I like that it is so user-friendly. It does come with a lot of packages that XFCE leaves out.
And as you can see from the screenshot above, it didn’t take a toll on my 2009 laptop.
Arch Linux Install Dmg File In Vmware Workstation
I’d call this project a success.
Those are all the steps I used to install Arch Linux on my laptop. I hope it helps if you’re thinking of installing a new OS on your old laptop or old PC.
Now I have one question for you.
Arch Linux Install Dmg File In Windows
What do you think of this post? I’d like to hear your thoughts.
Did you try to do this install? Awesome. I’d love to hear about your experience.
Hit the comment button below, and write your thoughts so I can read them.
I have another quick question for you, since you’re probably a developer if you’re reading this.
Are you making the most common mistakes that most developers make in SQL queries? Want my 2-step algorithm on the perfect index?
Download my free report, MySQL Worst Practices.