- Installation guide
- Contents
- Pre-installation
- Acquire an installation image
- Verify signature
- Prepare an installation medium
- Boot the live environment
- Set the console keyboard layout
- Verify the boot mode
- Connect to the internet
- Update the system clock
- Partition the disks
- Example layouts
- Format the partitions
- Mount the file systems
- Installation
- Select the mirrors
- Install essential packages
- Configure the system
- Fstab
- Chroot
- Time zone
- Localization
- Network configuration
- Initramfs
- Root password
- Boot loader
- Reboot
- Post-installation
- Install
- Quickstart
- Script installation
- Linux installation from precompiled binary
- macOS installation with brew
- macOS installation from precompiled binary, using curl
- macOS installation from precompiled binary, using a web browser
- Install with docker
- Install from source
- Installation with Ansible
- Autostart
- Autostart on Windows
- Running in background
- User account
- Start from Startup folder
- Start from Task Scheduler
- Run as service
- Mount command built-in service integration
- Third party service integration
- Autostart on Linux
- Start as a service
- Run periodically from cron
Installation guide
This document is a guide for installing Arch Linux using the live system booted from an installation medium made from an official installation image. The installation medium provides accessibility features which are described on the page Install Arch Linux with accessibility options. For alternative means of installation, see Category:Installation process.
Before installing, it would be advised to view the FAQ. For conventions used in this document, see Help:Reading. In particular, code examples may contain placeholders (formatted in italics ) that must be replaced manually.
For more detailed instructions, see the respective ArchWiki articles or the various programs’ man pages, both linked from this guide. For interactive help, the IRC channel and the forums are also available.
Arch Linux should run on any x86_64-compatible machine with a minimum of 512 MiB RAM, though more memory is needed to boot the live system for installation.[1] A basic installation should take less than 2 GiB of disk space. As the installation process needs to retrieve packages from a remote repository, this guide assumes a working internet connection is available.
Contents
Pre-installation
Acquire an installation image
Visit the Download page and, depending on how you want to boot, acquire the ISO file or a netboot image, and the respective GnuPG signature.
Verify signature
It is recommended to verify the image signature before use, especially when downloading from an HTTP mirror, where downloads are generally prone to be intercepted to serve malicious images.
On a system with GnuPG installed, do this by downloading the PGP signature (under Checksums in the Download page) to the ISO directory, and verifying it with:
Alternatively, from an existing Arch Linux installation run:
Prepare an installation medium
The installation image can be supplied to the target machine via a USB flash drive, an optical disc or a network with PXE: follow the appropriate article to prepare yourself an installation medium from the chosen image.
Boot the live environment
- Point the current boot device to the one which has the Arch Linux installation medium. Typically it is achieved by pressing a key during the POST phase, as indicated on the splash screen. Refer to your motherboard’s manual for details.
- When the installation medium’s boot loader menu appears, select Arch Linux install medium and press Enter to enter the installation environment.
To switch to a different console—for example, to view this guide with Lynx alongside the installation—use the Alt+arrow shortcut. To edit configuration files, mcedit(1) , nano and vim are available. See packages.x86_64 for a list of the packages included in the installation medium.
Set the console keyboard layout
The default console keymap is US. Available layouts can be listed with:
To modify the layout, append a corresponding file name to loadkeys(1) , omitting path and file extension. For example, to set a German keyboard layout:
Console fonts are located in /usr/share/kbd/consolefonts/ and can likewise be set with setfont(8) .
Verify the boot mode
To verify the boot mode, list the efivars directory:
If the command shows the directory without error, then the system is booted in UEFI mode. If the directory does not exist, the system may be booted in BIOS (or CSM) mode. If the system did not boot in the mode you desired, refer to your motherboard’s manual.
Connect to the internet
To set up a network connection in the live environment, go through the following steps:
- Ensure your network interface is listed and enabled, for example with ip-link(8) :
- For wireless and WWAN, make sure the card is not blocked with rfkill.
- Connect to the network:
- Ethernet—plug in the cable.
- Wi-Fi—authenticate to the wireless network using iwctl.
- Mobile broadband modem—connect to the mobile network with the mmcli utility.
- Configure your network connection:
- DHCP: dynamic IP address and DNS server assignment (provided by systemd-networkd and systemd-resolved) should work out of the box for Ethernet, WLAN and WWAN network interfaces.
- Static IP address: follow Network configuration#Static IP address.
- The connection may be verified with ping:
Update the system clock
Use timedatectl(1) to ensure the system clock is accurate:
To check the service status, use timedatectl status .
Partition the disks
When recognized by the live system, disks are assigned to a block device such as /dev/sda , /dev/nvme0n1 or /dev/mmcblk0 . To identify these devices, use lsblk or fdisk.
Results ending in rom , loop or airoot may be ignored.
The following partitions are required for a chosen device:
If you want to create any stacked block devices for LVM, system encryption or RAID, do it now.
Use fdisk or parted to modify partition tables. For example:
Example layouts
Mount point | Partition | Partition type | Suggested size |
---|---|---|---|
[SWAP] | /dev/swap_partition | Linux swap | More than 512 MiB |
/mnt | /dev/root_partition | Linux | Remainder of the device |
Mount point | Partition | Partition type | Suggested size |
---|---|---|---|
/mnt/boot or /mnt/efi 1 | /dev/efi_system_partition | EFI system partition | At least 260 MiB |
[SWAP] | /dev/swap_partition | Linux swap | More than 512 MiB |
/mnt | /dev/root_partition | Linux x86-64 root (/) | Remainder of the device |
- /mnt/efi should only be considered if the used boot loader is capable of loading the kernel and initramfs images from the root volume. See the warning in Arch boot process#Boot loader.
Format the partitions
Once the partitions have been created, each newly created partition must be formatted with an appropriate file system. For example, to create an Ext4 file system on /dev/root_partition , run:
If you created a partition for swap, initialize it with mkswap(8) :
Mount the file systems
Mount the root volume to /mnt . For example, if the root volume is /dev/root_partition :
Create any remaining mount points (such as /mnt/efi ) using mkdir(1) and mount their corresponding volumes.
If you created a swap volume, enable it with swapon(8) :
genfstab(8) will later detect mounted file systems and swap space.
Installation
Select the mirrors
Packages to be installed must be downloaded from mirror servers, which are defined in /etc/pacman.d/mirrorlist . On the live system, after connecting to the internet, reflector updates the mirror list by choosing 20 most recently synchronized HTTPS mirrors and sorting them by download rate.[2]
The higher a mirror is placed in the list, the more priority it is given when downloading a package. You may want to inspect the file to see if it is satisfactory. If it is not, edit the file accordingly, and move the geographically closest mirrors to the top of the list, although other criteria should be taken into account.
This file will later be copied to the new system by pacstrap, so it is worth getting right.
Install essential packages
Use the pacstrap(8) script to install the base package, Linux kernel and firmware for common hardware:
The base package does not include all tools from the live installation, so installing other packages may be necessary for a fully functional base system. In particular, consider installing:
- userspace utilities for the management of file systems that will be used on the system,
- utilities for accessing RAID or LVM partitions,
- specific firmware for other devices not included in linux-firmware (e.g. sof-firmware for sound cards),
- software necessary for networking,
- a text editor,
- packages for accessing documentation in man and info pages: man-db , man-pages and texinfo .
To install other packages or package groups, append the names to the pacstrap command above (space separated) or use pacman while chrooted into the new system. For comparison, packages available in the live system can be found in packages.x86_64.
Configure the system
Fstab
Generate an fstab file (use -U or -L to define by UUID or labels, respectively):
Check the resulting /mnt/etc/fstab file, and edit it in case of errors.
Chroot
Change root into the new system:
Time zone
Run hwclock(8) to generate /etc/adjtime :
This command assumes the hardware clock is set to UTC. See System time#Time standard for details.
Localization
Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8 and other needed locales. Generate the locales by running:
Network configuration
Add matching entries to hosts(5) :
If the system has a permanent IP address or a fully qualified domain name, see the example in Network configuration#Local hostname resolution.
Complete the network configuration for the newly installed environment, that may include installing suitable network management software.
Initramfs
Creating a new initramfs is usually not required, because mkinitcpio was run on installation of the kernel package with pacstrap.
For LVM, system encryption or RAID, modify mkinitcpio.conf(5) and recreate the initramfs image:
Root password
Boot loader
Choose and install a Linux-capable boot loader. If you have an Intel or AMD CPU, enable microcode updates in addition.
Reboot
Exit the chroot environment by typing exit or pressing Ctrl+d .
Optionally manually unmount all the partitions with umount -R /mnt : this allows noticing any «busy» partitions, and finding the cause with fuser(1) .
Finally, restart the machine by typing reboot : any partitions still mounted will be automatically unmounted by systemd. Remember to remove the installation medium and then login into the new system with the root account.
Post-installation
See General recommendations for system management directions and post-installation tutorials (like creating unprivileged user accounts, setting up a graphical user interface, sound or a touchpad).
For a list of applications that may be of interest, see List of applications.
Источник
Install
Rclone is a Go program and comes as a single binary file.
Quickstart
- Download the relevant binary.
- Extract the rclone or rclone.exe binary from the archive
- Run rclone config to setup. See rclone config docs for more details.
- Optionally configure automatic execution.
See below for some expanded Linux / macOS instructions.
See the Usage section of the docs for how to use rclone, or run rclone -h .
Already installed rclone can be easily updated to the latest version using the rclone selfupdate command.
Script installation
To install rclone on Linux/macOS/BSD systems, run:
For beta installation, run:
Note that this script checks the version of rclone installed first and won’t re-download if not needed.
Linux installation from precompiled binary
Fetch and unpack
Copy binary file
Run rclone config to setup. See rclone config docs for more details.
macOS installation with brew
macOS installation from precompiled binary, using curl
To avoid problems with macOS gatekeeper enforcing the binary to be signed and notarized it is enough to download with curl .
Download the latest version of rclone.
Unzip the download and cd to the extracted folder.
Move rclone to your $PATH. You will be prompted for your password.
(the mkdir command is safe to run, even if the directory already exists).
Remove the leftover files.
Run rclone config to setup. See rclone config docs for more details.
macOS installation from precompiled binary, using a web browser
When downloading a binary with a web browser, the browser will set the macOS gatekeeper quarantine attribute. Starting from Catalina, when attempting to run rclone , a pop-up will appear saying:
The simplest fix is to run
Install with docker
The rclone maintains a docker image for rclone. These images are autobuilt by docker hub from the rclone source based on a minimal Alpine linux image.
The :latest tag will always point to the latest stable release. You can use the :beta tag to get the latest build from master. You can also use version tags, e.g. :1.49.1 , :1.49 or :1 .
There are a few command line options to consider when starting an rclone Docker container from the rclone image.
You need to mount the host rclone config dir at /config/rclone into the Docker container. Due to the fact that rclone updates tokens inside its config file, and that the update process involves a file rename, you need to mount the whole host rclone config dir, not just the single host rclone config file.
You need to mount a host data dir at /data into the Docker container.
By default, the rclone binary inside a Docker container runs with UID=0 (root). As a result, all files created in a run will have UID=0. If your config and data files reside on the host with a non-root UID:GID, you need to pass these on the container start command line.
If you want to access the RC interface (either via the API or the Web UI), it is required to set the —rc-addr to :5572 in order to connect to it from outside the container. An explanation about why this is necessary is present here.
- NOTE: Users running this container with the docker network set to host should probably set it to listen to localhost only, with 127.0.0.1:5572 as the value for —rc-addr
It is possible to use rclone mount inside a userspace Docker container, and expose the resulting fuse mount to the host. The exact docker run options to do that might vary slightly between hosts. See, e.g. the discussion in this thread.
You also need to mount the host /etc/passwd and /etc/group for fuse to work inside the container.
Here are some commands tested on an Ubuntu 18.04.3 host:
Install from source
Make sure you have at least Go go1.13 installed. Download go if necessary. The latest release is recommended. Then
This will leave you a checked out version of rclone you can modify and send pull requests with. If you use make instead of go build then the rclone build will have the correct version information in it.
You can also build the latest stable rclone with:
or the latest version (equivalent to the beta) with
These will build the binary in $(go env GOPATH)/bin (
/go/bin/rclone by default) after downloading the source to the go module cache. Note — do not use the -u flag here. This causes go to try to update the dependencies that rclone uses and sometimes these don’t work with the current version of rclone.
Installation with Ansible
- git clone https://github.com/stefangweichinger/ansible-rclone.git into your local roles-directory
- add the role to the hosts you want rclone installed to:
Autostart
After installing and configuring rclone, as described above, you are ready to use rclone as an interactive command line utility. If your goal is to perform periodic operations, such as a regular sync, you will probably want to configure your rclone command in your operating system’s scheduler. If you need to expose service-like features, such as remote control, GUI, serve or mount, you will often want an rclone command always running in the background, and configuring it to run in a service infrastructure may be a better option. Below are some alternatives on how to achieve this on different operating systems.
NOTE: Before setting up autorun it is highly recommended that you have tested your command manually from a Command Prompt first.
Autostart on Windows
The most relevant alternatives for autostart on Windows are:
- Run at user log on using the Startup folder
- Run at user log on, at system startup or at schedule using Task Scheduler
- Run at system startup using Windows service
Running in background
Rclone is a console application, so if not starting from an existing Command Prompt, e.g. when starting rclone.exe from a shortcut, it will open a Command Prompt window. When configuring rclone to run from task scheduler and windows service you are able to set it to run hidden in background. From rclone version 1.54 you can also make it run hidden from anywhere by adding option —no-console (it may still flash briefly when the program starts). Since rclone normally writes information and any error messages to the console, you must redirect this to a file to be able to see it. Rclone has a built-in option —log-file for that.
Example command to run a sync in background:
User account
As mentioned in the mount documentation, mounted drives created as Administrator are not visible to other accounts, not even the account that was elevated as Administrator. By running the mount command as the built-in SYSTEM user account, it will create drives accessible for everyone on the system. Both scheduled task and Windows service can be used to achieve this.
NOTE: Remember that when rclone runs as the SYSTEM user, the user profile that it sees will not be yours. This means that if you normally run rclone with configuration file in the default location, to be able to use the same configuration when running as the system user you must explicitely tell rclone where to find it with the —config option, or else it will look in the system users profile path ( C:\Windows\System32\config\systemprofile ). To test your command manually from a Command Prompt, you can run it with the PsExec utility from Microsoft’s Sysinternals suite, which takes option -s to execute commands as the SYSTEM user.
Start from Startup folder
To quickly execute an rclone command you can simply create a standard Windows Explorer shortcut for the complete rclone command you want to run. If you store this shortcut in the special «Startup» start-menu folder, Windows will automatically run it at login. To open this folder in Windows Explorer, enter path %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup , or C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp if you want the command to start for every user that logs in.
This is the easiest approach to autostarting of rclone, but it offers no functionality to set it to run as different user, or to set conditions or actions on certain events. Setting up a scheduled task as described below will often give you better results.
Start from Task Scheduler
Task Scheduler is an administrative tool built into Windows, and it can be used to configure rclone to be started automatically in a highly configurable way, e.g. periodically on a schedule, on user log on, or at system startup. It can run be configured to run as the current user, or for a mount command that needs to be available to all users it can run as the SYSTEM user. For technical information, see https://docs.microsoft.com/windows/win32/taskschd/task-scheduler-start-page.
Run as service
For running rclone at system startup, you can create a Windows service that executes your rclone command, as an alternative to scheduled task configured to run at startup.
Mount command built-in service integration
For mount commands, Rclone has a built-in Windows service integration via the third party WinFsp library it uses. Registering as a regular Windows service easy, as you just have to execute the built-in PowerShell command New-Service (requires administrative privileges).
Example of a PowerShell command that creates a Windows service for mounting some remote:/files as drive letter X: , for all users (service will be running as the local system account):
The WinFsp service infrastructure supports incorporating services for file system implementations, such as rclone, into its own launcher service, as kind of «child services». This has the additional advantage that it also implements a network provider that integrates into Windows standard methods for managing network drives. This is currently not officially supported by Rclone, but with WinFsp version 2019.3 B2 / v1.5B2 or later it should be possible through path rewriting as described here.
Third party service integration
To Windows service running any rclone command, the excellent third party utility NSSM, the «Non-Sucking Service Manager», can be used. It includes some advanced features such as adjusting process periority, defining process environment variables, redirect to file anything written to stdout, and customized response to different exit codes, with a GUI to configure everything from (although it can also be used from command line ).
There are also several other alternatives. To mention one more, WinSW, «Windows Service Wrapper», is worth checking out. It requires .NET Framework, but it is preinstalled on newer versions of Windows, and it also provides alternative standalone distributions which includes necessary runtime (.NET 5). WinSW is a command-line only utility, where you have to manually create an XML file with service configuration. This may be a drawback for some, but it can also be an advantage as it is easy to back up and re-use the configuration settings, without having go through manual steps in a GUI. One thing to note is that by default it does not restart the service on error, one have to explicit enable this in the configuration file (via the «onfailure» parameter).
Autostart on Linux
Start as a service
To always run rclone in background, relevant for mount commands etc, you can use systemd to set up rclone as a system or user service. Running as a system service ensures that it is run at startup even if the user it is running as has no active session. Running rclone as a user service ensures that it only starts after the configured user has logged into the system.
Run periodically from cron
To run a periodic command, such as a copy/sync, you can set up a cron job.
Источник