Manjaro is one of the most popular Linux distro, no confusion here. Its easy installation process, supportive hardware with easy Arching makes it so much popular. Manjaro is the best choice for those beginners who wants to use Arch in any way. But there's some annoyance about Manjaro too. Manjaro is not as bleeding edge as Arch - holds back the update for some time, often breaks by switching DE, and a little bit bloated. So, users may later want to switch over to arch, but still fears the hassle of Arch Installation Process. This is a guide for those who want to install arch with less hassle or wants to switch over to Arch from Manjaro.
Pacman, using libalpm, will attempt to read pacman.conf each time it is invoked. This configuration file is divided into sections or repositories. Each section defines a package repository that Pacman can use when searching for packages in - sync mode. The exception to this is the options section, which defines global options.
First, create a backup of your pacman.conf file by
sudo cp /etc/pacman.conf /etc/pacman.conf.bak
and then change your
/etc/pacman.conf as below.
# # /etc/pacman.conf # # See the pacman.conf(5) manpage for option and repository directives # # GENERAL OPTIONS # [options] # The following paths are commented out with their default values listed. # If you wish to use different paths, uncomment and update the paths. #RootDir = / #DBPath = /var/lib/pacman/ CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ #HookDir = /etc/pacman.d/hooks/ HoldPkg = pacman glibc # If upgrades are available for these packages they will be asked for first # SyncFirst = manjaro-system archlinux-keyring manjaro-keyring #XferCommand = /usr/bin/curl -C - -f %u > %o #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled #UseDelta = 0.7 Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup #IgnorePkg = #IgnoreGroup = #NoUpgrade = #NoExtract = # Misc options #UseSyslog Color #TotalDownload # We cannot check disk space from within a chroot environment CheckSpace #VerbosePkgLists # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. SigLevel = Never LocalFileSigLevel = Optional #RemoteFileSigLevel = Required # NOTE: You must run `pacman-key --init` before first using pacman; the local # keyring can then be populated with the keys of all official Manjaro Linux # packagers with `pacman-key --populate archlinux manjaro`. # # REPOSITORIES # - can be defined here or included from another file # - pacman will search repositories in the order defined here # - local/custom mirrors can be added here or in separate files # - repositories listed first will take precedence when packages # have identical names, regardless of version number # - URLs will have $repo replaced by the name of the current repo # - URLs will have $arch replaced by the name of the architecture # # Repository entries are of the format: # [repo-name] # Server = ServerName # Include = IncludePath # # The header [repo-name] is crucial - it must be present and # uncommented to enable the repo. # # The testing repositories are disabled by default. To enable, uncomment the # repo name header and Include lines. You can add preferred servers immediately # after the header, and they will be used before the default mirrors. [core] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [community] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # If you want to run 32 bit applications on your x86_64 system, # enable the multilib repositories as required here. [multilib] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs
Go to the Pacman Mirrorlist Generator, select your country and hit the Generate button. And then paste generated lines in your /etc/pacman.d/mirrolist file. It will look like this-
# Arch Linux repository mirror list # Generated on 2019–11–26 # Please use 'pacman-mirrors -id' To reset custom mirrorlist # Please use 'pacman-mirrors -c all' To reset custom mirrorlist # To remove custom config run 'pacman-mirrors -c all' # Bangladesh Server = http://mirror.xeonbd.com/archlinux/$repo/os/$arch # India Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch Server = https://ind.mirror.pkgbuild.com/$repo/os/$arch
Etc usually contains the configuration files for all the programs that run on your Linux/Unix system.
sudo cp /etc/manjaro-release /etc/manjaro-release.bak
And then Uninstall Manjaro Release file by
sudo pacman -Rns manjaro-release
sudo mv /etc/pacman-mirrors.conf /etc/pacman-mirrors.conf.bak
The os-release file contains the necessary information for operating system identification. It is set by the operating system vendor. Change
/etc/os-release file like below:
NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="20;2;20;222;202" HOME_URL="https://www.archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://bugs.archlinux.org/" LOGO=archlinux
The file /etc/issue is a text file which contains a message or system identification to be printed before the login prompt. Change the /etc/issue file like below:
Arch Linux \r (\l)
/etc/lsb-release file like below
LSB_VERSION=1.4 DISTRIB_ID=Arch DISTRIB_RELEASE=rolling DISTRIB_DESCRIPTION="Arch Linux"
Do an update by running
sudo pacman -Syyu and if it asks to replace any packages do so. and install some packages like pacman, systemd, your DE again by running
sudo pacman -S <package name>.
Install kernel and other necessary packages by running
sudo pacman -Scc && sudo pacman -S linux-lts linux-lts-headers acpi_call-dkms tlp pacman-mirrors grub
Uninstall all the packages related to Manjaro, such as Manjaro alsa and others. And reinstall some of the removed dependency, like installing
sudo tlp usb to stop mouse freezing.
/etc/default/grub file and change the
update-grub by running
sudo grub-mkconfig -o /boot/grub/grub.cfg
Restart your computer and you will find that your computer is running Arch now. Let people know that you are now a ARCH USER.
If you face any problems, please let me know.