<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fislam</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fislam"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Fislam"/>
	<updated>2026-05-11T05:12:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Fislam&amp;diff=128794</id>
		<title>User talk:Fislam</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Fislam&amp;diff=128794"/>
		<updated>2017-12-22T12:37:58Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Created page with &amp;quot;== Installation ==  ===Preparing=== Some necessary packages that must be installed prior to beginning with the actual gogs installation. First of all do a  &amp;lt;code&amp;gt;sudo apt-get...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation ==&lt;br /&gt;
&lt;br /&gt;
===Preparing===&lt;br /&gt;
Some necessary packages that must be installed prior to beginning with the actual gogs installation.&lt;br /&gt;
First of all do a &lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
Install the following packages (some are for later)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install -y gcc g++ build-essential dpkg mysql-server wget&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the installation, you will be asked to enter the password of the database root user. Make sure you use a secure one, and remember it, because you&#039;ll need it later in this tutorial.Now create and open a file named gogs.sql. Here, we&#039;re using nano, but you can use your favorite text editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano gogs.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste this in the newly created sql dump&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DROP DATABASE IF EXISTS gogs;&lt;br /&gt;
CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, execute gogs.sql with MySQL to create the Gogs database. Replace your_password with the root password you chose earlier in this step.&lt;br /&gt;
&amp;lt;code&amp;gt; mysql -u root -pyour_password &amp;lt; gogs.sql &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install Gogs from source, version control tools like Git and Mercurial are needed, so install them next.&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get -y install mercurial git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installing Go===&lt;br /&gt;
&lt;br /&gt;
It is recoomended to add a new user git before installing go. Root permissions are not required for this user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;adduser git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because Gogs is written in Go, we need to install it before compiling Gogs.&lt;br /&gt;
&lt;br /&gt;
First, there are some environment variables we need to set for Go. To do that, open the file ~/.bashrc for editing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano ~/.bashrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines to the end of the file, then close and save it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export GOPATH=/home/git/go&lt;br /&gt;
&lt;br /&gt;
export GOROOT=/usr/local/src/go&lt;br /&gt;
&lt;br /&gt;
export PATH=${PATH}:$GOROOT/bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, apply your changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source ~/.bashrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now get the most recent compiled version of go from their website &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Decompress&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf go1.4.2.linux-amd64.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change directories to the $GOROOT we defined in ~/.bashrc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mv go $GOROOT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now test if Go is working.&lt;br /&gt;
&lt;br /&gt;
===Installing Gogs===&lt;br /&gt;
&lt;br /&gt;
Go has a built in command, get, for easily downloading the source code of a Go project along with all of its dependencies, which we&#039;ll use to download Gogs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;go get -d github.com/gogits/gogs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The source code of Gogs will now be in $GOPATH/src/github.com/gogits/gogs, so move there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd $GOPATH/src/github.com/gogits/gogs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, build and generate the binary. This command may take a moment to run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now test go by moving into go directory and typing &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./go&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should run Go. However, to run it on the the background.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./go &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using Supervisor to manage Go===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get -y install supervisor&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s make a Gogs daemon by creating a Supervisor configuration section. First, create a directory for the log files to live in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mkdir -p /var/log/gogs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano /etc/supervisor/supervisord.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Append the following contents to the file to create the Gogs section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[program:gogs]&lt;br /&gt;
&lt;br /&gt;
directory=/home/git/go/src/github.com/gogits/gogs/&lt;br /&gt;
&lt;br /&gt;
command=/home/git/go/src/github.com/gogits/gogs/gogs web&lt;br /&gt;
&lt;br /&gt;
autostart=true&lt;br /&gt;
&lt;br /&gt;
autorestart=true&lt;br /&gt;
&lt;br /&gt;
startsecs=10&lt;br /&gt;
&lt;br /&gt;
stdout_logfile=/var/log/gogs/stdout.log&lt;br /&gt;
&lt;br /&gt;
stdout_logfile_maxbytes=1MB&lt;br /&gt;
&lt;br /&gt;
stdout_logfile_backups=10&lt;br /&gt;
&lt;br /&gt;
stdout_capture_maxbytes=1MB&lt;br /&gt;
&lt;br /&gt;
stderr_logfile=/var/log/gogs/stderr.log&lt;br /&gt;
&lt;br /&gt;
stderr_logfile_maxbytes=1MB&lt;br /&gt;
&lt;br /&gt;
stderr_logfile_backups=10&lt;br /&gt;
&lt;br /&gt;
stderr_capture_maxbytes=1MB&lt;br /&gt;
&lt;br /&gt;
environment = HOME=&amp;quot;/home/git&amp;quot;, USER=&amp;quot;git&amp;quot;&lt;br /&gt;
&lt;br /&gt;
user = git&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This section defines the command we want to execute to start Gogs, automatically starts it with Supervisor, and specifies the locations of log files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo service supervisor restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can check that Gogs is running with the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ps -ef | grep gogs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify that the server is running by taking a look at the stdout.log file, too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tail /var/log/gogs/stdout.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output should look like &amp;lt;code&amp;gt;2017/12/31 14:24:42 [I] Gogs: Go Git Service 0.5.16.0301 Beta&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Deploying==&lt;br /&gt;
&lt;br /&gt;
===Set up nginx as reverse proxy===&lt;br /&gt;
You should also be able visit the web page with URL http://your_server_ip:3000/. This will redirect to the installation page, but don&#039;t fill that out just yet. But we want it running on port 80 for now.&lt;br /&gt;
&lt;br /&gt;
Install nginx&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get -y install nginx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a config file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano /etc/nginx/sites-available/servername&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust to the following template&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;server {&amp;lt;/code&amp;gt;&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name your_server_ip;&lt;br /&gt;
&lt;br /&gt;
    proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        proxy_pass http://localhost:3000;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And symlink it so that Nginx can use it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/gogs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more about Nginx virtual host configuration files, see this tutorial.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Nginx to activate the virtual host configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo service nginx restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now be able visit the web page with the URL http://your_server_ip/, without specifying the port.&lt;br /&gt;
&lt;br /&gt;
===Initialize Gogs===&lt;br /&gt;
There is one more simple step left to initialize Gogs for its first run.&lt;br /&gt;
&lt;br /&gt;
Visit http://your_server_ip/install and fill in the following options. Many of them will be filled out for you already, but make sure to replace the variables in red with the values for your server.&lt;br /&gt;
&lt;br /&gt;
In the first section, Gogs requires MySQL, PostgreSQL or SQLite3, fill out:&lt;br /&gt;
&lt;br /&gt;
Database Type: MySQL&lt;br /&gt;
Host: 127.0.0.1:3306&lt;br /&gt;
User: root&lt;br /&gt;
Password: your_database_password&lt;br /&gt;
Database Name: gogs&lt;br /&gt;
In the second section, General Settings of Gogs, fill out:&lt;br /&gt;
&lt;br /&gt;
Repository Root Path: /home/git/gogs-repositories&lt;br /&gt;
Run User: git&lt;br /&gt;
Domain: your_server_ip&lt;br /&gt;
HTTP Port: 3000&lt;br /&gt;
Application URL: http://your_server_ip/&lt;br /&gt;
Skip the optional e-mail and notification settings, then under Admin Account Settings, choose an admin username and password, and include your email address. We&#039;ll refer to the admin username as your_admin_username in the next step.&lt;br /&gt;
&lt;br /&gt;
Finally, click Install Gogs, and then log in.&lt;br /&gt;
&lt;br /&gt;
===Test Gogs===&lt;br /&gt;
&lt;br /&gt;
First, go to http://your_server_ip/repo/create and create a repository with the name my-test-repo, and you click on the option Initialize this repository with a README.md.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to clone it. First, move to your home directory.&lt;br /&gt;
&lt;br /&gt;
cd&lt;br /&gt;
Next, clone the repository.&lt;br /&gt;
&lt;br /&gt;
git clone http://your_server_ip/your_admin_username/my-test-repo.git&lt;br /&gt;
Change to the repository directory.&lt;br /&gt;
&lt;br /&gt;
cd my-test-repo&lt;br /&gt;
Update the README.md.&lt;br /&gt;
&lt;br /&gt;
echo &#039;Blaaa blaaa World&#039; &amp;gt;&amp;gt; README.md&lt;br /&gt;
Commit your changes and push them. This command will ask you for your Gogs username and password.&lt;br /&gt;
&lt;br /&gt;
git add --all &amp;amp;&amp;amp; git commit -m &amp;quot;init commit&amp;quot; &amp;amp;&amp;amp; git push origin master&lt;br /&gt;
&lt;br /&gt;
==Securing gogs==&lt;br /&gt;
We need to install Let&#039;s Encrypt, generate CA certificate and use nginx to redirect HTTP traffic to HTTPS.&lt;br /&gt;
&lt;br /&gt;
First, add the repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo add-apt-repository ppa:certbot/certbot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to press ENTER to accept. Then, update the package list to pick up the new repository&#039;s package information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-certbot-nginx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configure Iptables===&lt;br /&gt;
Before starting with the certificate, Iptables should be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install iptables iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can use the following iptables rules&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-P INPUT DROP&lt;br /&gt;
&lt;br /&gt;
-P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
-P OUTPUT ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -s 127.0.0.0/8 -i lo -m comment --comment &amp;quot;Allow loopback&amp;quot; -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -i eth1 -m comment --comment &amp;quot;Allow traffic from LAN&amp;quot; -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
-A INPUT -p icmp -m icmp --icmp-type 8 -m comment --comment &amp;quot;Allow ping&amp;quot; -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the rules persistent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo invoke-rc.d iptables-persistent save &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View Iptables status &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -L&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Obtain SSL Certiciate===&lt;br /&gt;
Install CertBot &amp;amp; Let&#039;s Encrypt&lt;br /&gt;
Add the repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo add-apt-repository ppa:certbot/certbot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-certbot-apache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo certbot --nginx -d example.com -d www.example.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This runs certbot with the --nginx plugin, using -d to specify the names we&#039;d like the certificate to be valid for.&lt;br /&gt;
&lt;br /&gt;
If this is your first time running certbot, you will be prompted to enter an email address and agree to the terms of service. After doing so, certbot will communicate with the Let&#039;s Encrypt server, then run a challenge to verify that you control the domain you&#039;re requesting a certificate for.&lt;br /&gt;
&lt;br /&gt;
If that&#039;s successful, certbot will ask how you&#039;d like to configure your HTTPS settings. For the moment do not select any redirection. Keep using http.&lt;br /&gt;
&lt;br /&gt;
===Self-signed cert (If you do not use Let&#039;s Encrypt===&lt;br /&gt;
In case of a self signed certificate&lt;br /&gt;
&amp;lt;code&amp;gt;sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Generate DHParam and strengthen nginx===&lt;br /&gt;
&lt;br /&gt;
While we are using OpenSSL, we should also create a strong Diffie-Hellman group, which is used in negotiating Perfect Forward Secrecy with clients.&lt;br /&gt;
&lt;br /&gt;
We can do this by typing:&lt;br /&gt;
&lt;br /&gt;
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048&lt;br /&gt;
&lt;br /&gt;
Create a Configuration Snippet with Strong Encryption Settings&lt;br /&gt;
&lt;br /&gt;
Next, we will create another snippet that will define some SSL settings. This will set Nginx up with a strong SSL cipher suite and enable some advanced features that will help keep our server secure.&lt;br /&gt;
&lt;br /&gt;
The parameters we will set can be reused in future Nginx configurations, so we will give the file a generic name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano /etc/nginx/snippets/ssl-params.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paste the following &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# from https://cipherli.st/&lt;br /&gt;
# and https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html&lt;br /&gt;
&lt;br /&gt;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
&lt;br /&gt;
ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
ssl_ciphers &amp;quot;EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
ssl_ecdh_curve secp384r1;&lt;br /&gt;
&lt;br /&gt;
ssl_session_cache shared:SSL:10m;&lt;br /&gt;
&lt;br /&gt;
ssl_session_tickets off;&lt;br /&gt;
&lt;br /&gt;
ssl_stapling on;&lt;br /&gt;
&lt;br /&gt;
ssl_stapling_verify on;&lt;br /&gt;
&lt;br /&gt;
resolver 8.8.8.8 8.8.4.4 valid=300s;&lt;br /&gt;
&lt;br /&gt;
resolver_timeout 5s;&lt;br /&gt;
&lt;br /&gt;
# Disable preloading HSTS for now.  You can use the commented out header line that includes&lt;br /&gt;
&lt;br /&gt;
# the &amp;quot;preload&amp;quot; directive if you understand the implications.&lt;br /&gt;
&lt;br /&gt;
#add_header Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains; preload&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
add_header Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
add_header X-Frame-Options DENY;&lt;br /&gt;
&lt;br /&gt;
add_header X-Content-Type-Options nosniff;&lt;br /&gt;
&lt;br /&gt;
ssl_dhparam /etc/ssl/certs/dhparam.pem;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reconfigure nginx for https redirection===&lt;br /&gt;
Fairly straightforward process assuming your servername is servername.eu. Open up the &amp;lt;code&amp;gt;nano /etc/nginx/sites-available/servername&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;server {&lt;br /&gt;
        server_name servername.eu;&lt;br /&gt;
        listen 443 ssl; # managed by Certbot&lt;br /&gt;
        ssl_certificate /etc/letsencrypt/live/servername.eu/full.pem# managed by Certbot&lt;br /&gt;
        ssl_certificate_key /etc/letsencrypt/live/servername.eu/privkey.pem; # managed by Certbot&lt;br /&gt;
        include snippets/ssl-params.conf;&lt;br /&gt;
        proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP&amp;lt;/code&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        location / {&lt;br /&gt;
        proxy_pass http://localhost:3000;}}&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
server{&amp;lt;/code&amp;gt;&lt;br /&gt;
        server_name servername.eu&lt;br /&gt;
        listen 80;&lt;br /&gt;
        return 301 https://servername.eu;}&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec_(2017)&amp;diff=124463</id>
		<title>Category:I802 Firewalls and VPN IPSec (2017)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec_(2017)&amp;diff=124463"/>
		<updated>2017-09-28T13:03:31Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Firewalls and VPN/IPSec=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
ECTS: 4&lt;br /&gt;
&lt;br /&gt;
Lecturer: Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
To register to this course send your SSH public key to Lauri and state which service you want to configure.&lt;br /&gt;
&lt;br /&gt;
==Scenario==&lt;br /&gt;
&lt;br /&gt;
In this course we will attempt to set up a network similar to a corporate network with multiple offices, eg http://docplayer.it/docs-images/20/596222/images/25-0.png&lt;br /&gt;
&lt;br /&gt;
Our virtual company&#039;s story is based on [http://futurama.wikia.com/wiki/MomCorp Mom&#039;s Friendly Robot Company].&lt;br /&gt;
&lt;br /&gt;
We will use VPN software to connect subnets to each other and we will use VPN software to connect our personal computers to the intranet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
School&#039;s infra provides with public subnet for 62 hosts:&lt;br /&gt;
&lt;br /&gt;
* IPv4 address: 193.40.244.129-188&lt;br /&gt;
* Subnet: /26&lt;br /&gt;
* Gateway: 193.40.244.188&lt;br /&gt;
* DNS: 8.8.8.8&lt;br /&gt;
&lt;br /&gt;
That network is physically routed to 413-6-16 port in room 413.&lt;br /&gt;
&lt;br /&gt;
We have total of about 264GB of RAM and couple of terabytes of SSD storage:&lt;br /&gt;
&lt;br /&gt;
* Marek&#039;s box HP Proliant G5 2x quadcore Xeon, 64G RAM, 2 NIC-s (hosts 130-139)&lt;br /&gt;
* Madis&#039; box HP Proliant G5, 4x quadcore Opteron, 64GB RAM, 2 NIC-s (hosts 140-149)&lt;br /&gt;
* Erik&#039;s box Sun 32GB, 2x 256GB SSD (hosts 155-159)&lt;br /&gt;
* Lauri&#039;s box HP Proliant G5 2x quadcore Xeon, 64G RAM, 2 NIC-s, 4x 250G SSD (hosts 160-179)&lt;br /&gt;
* Frank&#039;s box DELL 16GB, 2x 256GB SSD, 6 NIC (hosts 180-185)&lt;br /&gt;
* Another Sun box with 24G of RAM, dying harddisks&lt;br /&gt;
* Reserved addresses 186-188&lt;br /&gt;
&lt;br /&gt;
NB! Replace BIOS batteries; replace thermal paste&lt;br /&gt;
&lt;br /&gt;
==Grading==&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t know what to do pick a topic from the services list below.&lt;br /&gt;
Send your SSH public key to Lauri and state which service you want to take care of.&lt;br /&gt;
&lt;br /&gt;
Collect 100p in total to pass the course, note that there are opportunities to collect much more points in total:&lt;br /&gt;
&lt;br /&gt;
* Get the service up and running (15p)&lt;br /&gt;
* Configure Let&#039;s Encrypt certificates for your service if applicable (15p)&lt;br /&gt;
* Add your service to monitoring at mon.momcorp.eu (15p)&lt;br /&gt;
* Enable log forwarding to log.momcorp.eu, if applicable configure auditing for your service (15p)&lt;br /&gt;
* Configure your service to send e-mails (mail.momcorp.eu) if applicable (15p)&lt;br /&gt;
* Keep the service up and running through the semester (up to -20p)&lt;br /&gt;
* Keep the bad guys out from your servers (up to -30p)&lt;br /&gt;
* Have a disaster recovery plan (up to -20p)&lt;br /&gt;
* Configure layer3 firewall (15p)&lt;br /&gt;
* Configure application firewall(s) if applicable&lt;br /&gt;
* Configure your laptop to connect to intranet using OpenVPN and IPSec (15p)&lt;br /&gt;
* Configure your mobile device to connect to intranet using OpenVPN or IPSec (15p)&lt;br /&gt;
* Configure your service to use authentication from AD (20p)&lt;br /&gt;
&lt;br /&gt;
We will start with services facing the public internet, see what&#039;s the worst that can happen in that case and later migrate some services to intranet only. Some services will retain connectivity to public internet due to their nature (eg OwnCloud, mailserver) and some services will be available only in the intranet (eg fileserver)&lt;br /&gt;
&lt;br /&gt;
==Services==&lt;br /&gt;
&lt;br /&gt;
To support our virtual company in everyday business we need to provide them with a variety of services:&lt;br /&gt;
&lt;br /&gt;
* www.momcorp.eu - Install webserver/load balancer and create a homepage for the company and link to remaining sites. Olusiji&lt;br /&gt;
* shop.momcorp.eu - Install Magento and add some fictive products like dark matter and neutron star. Sander&lt;br /&gt;
* wiki.momcorp.eu - Install MediaWiki, later integrate with AD. Peep&lt;br /&gt;
* blog.momcorp.eu - Install WordPress, later integrate with AD. Steven&lt;br /&gt;
* chat.momcorp.eu - Install IRC server, provide  multiple channels for developers. Install some web based software for customer helldesk. Ardi&lt;br /&gt;
* ns1.momcorp.eu - Primary Bind9 installation, later also add DNSSEC. Erik J&lt;br /&gt;
* ns2.momcorp.eu - Secondary Bind9 installation in another physical host. ???&lt;br /&gt;
* git.momcorp.eu - Gogs installation. Farhan&lt;br /&gt;
* mon.momcorp.eu - Nagios monitoring. Nika&lt;br /&gt;
* mail.momcorp.eu - Mailserver with Postfix (postfw, greylisting, dkim, spf, setup secondary mx), later with AD integration if exchange won&#039;t be used. Andris&lt;br /&gt;
* ca.momcorp.eu - Java servlet container, EJBCA installation for certificate management. Masaki&lt;br /&gt;
* nas.momcorp.eu - Samba fileserver. Hindrek&lt;br /&gt;
* log.momcorp.eu - Graylog or similar for central logging. Kaspar, Sten-Erik&lt;br /&gt;
* vpn.momcorp.eu - OpenVPN gateway. Moira&lt;br /&gt;
* cs.momcorp.eu - Teamspeak and/or gaming server for entertainment. Christopher&lt;br /&gt;
&lt;br /&gt;
Additionally for each physical box listed under Hardware we could set up:&lt;br /&gt;
&lt;br /&gt;
* Person responsible for the hypervisor on that box&lt;br /&gt;
* Virtual machine with router OS - Mikrotik RouterOS, Vyatta, pfsense or just vanilla Debian with shell scripts&lt;br /&gt;
&lt;br /&gt;
Other topics:&lt;br /&gt;
&lt;br /&gt;
* Mikus - Remote management: Puppet master, DSC, postfix with kerberos (and AD?)&lt;br /&gt;
* Strongswan gateway&lt;br /&gt;
* OpenVPN gateway, later AD integration&lt;br /&gt;
* Exchange&lt;br /&gt;
* failover/high availability (heartbeat)&lt;br /&gt;
* db clusters/shards/replication (mysql/mariadb)&lt;br /&gt;
* clustered filesystems/servers (clvm, corosync, fenced, gfs)&lt;br /&gt;
* web caches (varnish, squid, nginx)&lt;br /&gt;
* load balancing (haproxy, nginx, simple roundrobin)&lt;br /&gt;
&lt;br /&gt;
==Lectures==&lt;br /&gt;
&lt;br /&gt;
Following lectures are planned:&lt;br /&gt;
&lt;br /&gt;
* 7. sept - Intro, virtualization, containers etc. Relevant story [https://lauri.xn--vsandi-pxa.com/lan/virtualization.html here]&lt;br /&gt;
* 14. sept - Network topology, bridges, tagging, trunking, subnetting, LAN, WAN&lt;br /&gt;
* 21. sept - iptables, ebtables, packet forwarding, DNAT, SNAT, routing tables, empheral ports, listening ports, slides [https://docs.google.com/presentation/d/1XMISOg88BJ0Dy8o3r8ZL9cxFT0oZZKDqPZ2EaWJRqFQ/edit?usp=sharing here]&lt;br /&gt;
* 28. sept - X.509 certificates, certificate authority, TLS, symmetric, asymmetric, keyexchange, Let&#039;s Encrypt, relevant slides [https://docs.google.com/presentation/d/1kqTyhhUu5CfwODmOTIC7odhlYfeEeJALTd4RX7XhPLE/edit?usp=sharing here]&lt;br /&gt;
&lt;br /&gt;
Order to be determined:&lt;br /&gt;
&lt;br /&gt;
* OpenVPN&lt;br /&gt;
* IPSec&lt;br /&gt;
* TBD, there are a lot of topics to discuss&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123439</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123439"/>
		<updated>2017-06-12T00:00:38Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
==Safe Practices==&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===What about Antivirus?===&lt;br /&gt;
Windows users swear by Antivirus softwares, but this is not the case on linux. Truth be told, most antivirus software shall not help detect ransomwares or malwares on linux, since most of the Antivirus companies focus on malwares that infect Windows. Dr.Web is available with a free 3 month trial, and is known have detected a ransomware in the past. Certain systems are more in need of an antivirus than others:&lt;br /&gt;
1.If you have the program Wine installed in your system, and you use it to run &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; Windows executables.Scanning these files are crucial.&lt;br /&gt;
2.If you have a window based system on your network or a windows partition on your system, you may want to consider an antivirus.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also a project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
====SubGraph OS==== &lt;br /&gt;
Subgraph OS is based on Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
====Qubes OS====&lt;br /&gt;
Qubes OS is yet another Linux distribution with higher level of security. Qubes OS is actually a really nice mix of Fedora,Debian and Whonix. It uses the Xen for virtualization and RPM package manager. Some notable security hardened features on Qubes OS:&lt;br /&gt;
&lt;br /&gt;
1.Isolated from the rest: Qubes confines each part of the OS by compartmentalizing them.Each component of the OS is relegated to a domain structure that is isolated from all other domains. The applications in Qubes OS run inside a completely seperate VM and even simple copy paste tasks requires Authorization.&lt;br /&gt;
&lt;br /&gt;
2.Self-destruction:If you open a disposable domain, whatever you run and whatever data you generate from apps within it cease to exist when you close that domain. If you open a Web browser in a disposable domain and stumble on an infected website, the foreign substance would be deleted automatically when the domain closed.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123438</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123438"/>
		<updated>2017-06-11T23:59:44Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Safest Linux Distros */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
==Safe Practices==&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===What about Antivirus?===&lt;br /&gt;
Windows users swear by Antivirus softwares, but this is not the case on linux. Truth be told, most antivirus software shall not help detect ransomwares or malwares on linux, since most of the Antivirus companies focus on malwares that infect Windows. Dr.Web is available with a free 3 month trial, and is known have detected a ransomware in the past. Certain systems are more in need of an antivirus than others:&lt;br /&gt;
1.If you have the program Wine installed in your system, and you use it to run &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; Windows executables.Scanning these files are crucial.&lt;br /&gt;
2.If you have a window based system on your network or a windows partition on your system, you may want to consider an antivirus.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also a project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
====SubGraph OS==== &lt;br /&gt;
Subgraph OS is based on Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Qubes OS===&lt;br /&gt;
Qubes OS is yet another Linux distribution with higher level of security. Qubes OS is actually a really nice mix of Fedora,Debian and Whonix. It uses the Xen for virtualization and RPM package manager. Some notable security hardened features on Qubes OS:&lt;br /&gt;
&lt;br /&gt;
1.Isolated from the rest: Qubes confines each part of the OS by compartmentalizing them.Each component of the OS is relegated to a domain structure that is isolated from all other domains. The applications in Qubes OS run inside a completely seperate VM and even simple copy paste tasks requires Authorization.&lt;br /&gt;
&lt;br /&gt;
2.Self-destruction:If you open a disposable domain, whatever you run and whatever data you generate from apps within it cease to exist when you close that domain. If you open a Web browser in a disposable domain and stumble on an infected website, the foreign substance would be deleted automatically when the domain closed.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123404</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123404"/>
		<updated>2017-06-10T17:55:21Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Safe Practices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
==Safe Practices==&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===What about Antivirus?===&lt;br /&gt;
Windows users swear by Antivirus softwares, but this is not the case on linux. Truth be told, most antivirus software shall not help detect ransomwares or malwares on linux, since most of the Antivirus companies focus on malwares that infect Windows. Dr.Web is available with a free 3 month trial, and is known have detected a ransomware in the past. Certain systems are more in need of an antivirus than others:&lt;br /&gt;
1.If you have the program Wine installed in your system, and you use it to run &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; Windows executables.Scanning these files are crucial.&lt;br /&gt;
2.If you have a window based system on your network or a windows partition on your system, you may want to consider an antivirus.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also a project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
====SubGraph OS==== &lt;br /&gt;
Subgraph OS is based on Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123403</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123403"/>
		<updated>2017-06-10T17:38:52Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware Removal &amp;amp; Recovery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
==Safe Practices==&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also a project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
====SubGraph OS==== &lt;br /&gt;
Subgraph OS is based on Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123402</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123402"/>
		<updated>2017-06-10T17:37:30Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* SubGraph OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
==Safe Practices==&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
====SubGraph OS==== &lt;br /&gt;
Subgraph OS is based on Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123401</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123401"/>
		<updated>2017-06-10T17:36:54Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
==Safe Practices==&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
====SubGraph OS==== &lt;br /&gt;
Subgraph OS is based on Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123400</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123400"/>
		<updated>2017-06-10T17:32:44Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Popular Ransomwares==&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123399</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123399"/>
		<updated>2017-06-10T17:32:04Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Linux.Encoder.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt; /, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123398</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123398"/>
		<updated>2017-06-10T17:31:03Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Common is Ransomware in Linux?===&lt;br /&gt;
Ransomware is very common on Windows, and there are several ways in which a machine can be affected, the most common is through phising. However, in Linux it works a bit differently. On Linux based systems ransomwares target the web server, as the vast majority of Linux users are server users. The functionalities of a Linux ransomware is very similar to Windows ransomware, but one major difference is Linux requires executable permission before executing, but Windows does not. This makes it harder to exploit Linux based systems.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123397</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123397"/>
		<updated>2017-06-10T17:21:57Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use nmap to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123363</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123363"/>
		<updated>2017-06-09T20:27:33Z</updated>

		<summary type="html">&lt;p&gt;Fislam: References&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is a Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensive tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partition using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer than os OSX or Windows. Furthermore, by using security hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu. At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1.https://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/&lt;br /&gt;
2.https://vms.drweb.com/virus/?i=7704004&amp;amp;lng=en&lt;br /&gt;
3.https://nakedsecurity.sophos.com/2016/03/24/8-tips-for-preventing-ransomware/&lt;br /&gt;
4.https://www.securityspyware.com/killdisk-ransomware-linux-virus-removal/&lt;br /&gt;
5.http://www.zdnet.com/article/how-to-fix-linux-encoder-ransomware/&lt;br /&gt;
6.http://thehackernews.com/2016/03/subgraph-secure-operating-system.html&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123362</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123362"/>
		<updated>2017-06-09T20:16:13Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensie tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partion using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;br /&gt;
Although most ransomwares are meant for Windows, that doesn&#039;t mean you are hundred percent safe of Linux. As discussed earlier, a user&#039;s best weapon to fight against a ransomware is Backup. If a user follows all the preventive steps they will be far more safer rthan os OSX or Windows. Furthermore, by using secutiy hardened distro like Subgraph OS, the user will be far more safe than something like Ubuntu.At the end of the day, no system is invulnerable, now matter how secure it is. It is important to not give up, and almost never pay the ransom. Alternative movements like The No More RansomWare Project is great initiative, and has the potential greatly minimize the risk of ransomwares. Last but not least, the usage of a firewall is paramount to preventing ransomwares.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123361</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123361"/>
		<updated>2017-06-09T20:06:22Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensie tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partion using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123360</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123360"/>
		<updated>2017-06-09T20:05:40Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensie tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal &amp;amp; Recovery===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partion using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
There is also project https://www.nomoreransom.org with over 40 decryption tools. This project was originally started by DNP,Intel,Kasperky and Europol. Although chances of recovering your files aren&#039;t that high, it is still a great initiative to not pay the hackers.&lt;br /&gt;
&lt;br /&gt;
===Safest Linux Distros===&lt;br /&gt;
SubGraph OS: Subgraph is based Debian. It is very heavily protected and is ideal for the truly paranoid. It comes with the following features:&lt;br /&gt;
1.Mandatory Full Disk Encryption: Users have no choice but encrypt the entire disk. Subgraph uses shadow encryption, as a result data is protected even if you lose your hard drive or if it fall&#039;s into the wrong hands. In other words, your data will not be lost.&lt;br /&gt;
&lt;br /&gt;
2.Online Anonymity: Subgraph routes all your traffic through TOR anonymity network by default, making it difficult for attackers to figure out the actual physical location of their targets. This would ensure the endpoint security.&lt;br /&gt;
&lt;br /&gt;
3.Advanced Proxy Settings:&lt;br /&gt;
Communications to outside world is carried out by Metaproxy, and it identifies legitimate connections.&lt;br /&gt;
&lt;br /&gt;
4.Kernel Security:&lt;br /&gt;
Subgraph OS is also hardened by Grsecurity – a set of patches that are designed to make Linux kernel&#039;s security vulnerabilities like memory corruption flaws far more difficult to exploit.&lt;br /&gt;
&lt;br /&gt;
5.Oz:&lt;br /&gt;
Oz is a system for isolating programs so that if an attacker exploits an application security vulnerability, the rest of your machine and your network will remain largely unaffected. Oz makes this possible by delimiting the permission applications have to other parts of the computer, so that when an attacker compromises the security hole in any application it does not allow any malicious activities to take place.&lt;br /&gt;
&lt;br /&gt;
===Conclusion===&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123359</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123359"/>
		<updated>2017-06-09T19:12:51Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensie tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter . Although the tutorials are on github, there is one vital information that is missing there in case your bootloader was encrypted.&lt;br /&gt;
&lt;br /&gt;
1.Boot into the infected server. If bootloader is locked try booting with live usb stick. Mount the infected partion using &amp;lt;code&amp;gt;mount /dev/xxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
2.Please follow the github tutorial&lt;br /&gt;
&lt;br /&gt;
====Alternative solution====&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123358</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123358"/>
		<updated>2017-06-09T19:02:36Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1.Backup: Backup everything you need, from your databases to important documents. Keep in mind that you have proper backups in multiple location, a ransomware cannot harm you that much. So make a habit of backing up data regularly. This could be done on a USB drive, cloud based storage, etc.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensie tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4. Filter executable files in emails : It is not usual to receive an email with an executable file. It would be wise to block at least the following extension types when received as an email attachment &amp;lt;code&amp;gt;.exe, .dll, .bat &amp;lt;/code&amp;gt;. Also it is wise to scan a compressed file type before opening it.&lt;br /&gt;
&lt;br /&gt;
5. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
6. Disable Remote Desktop: Ransomwares regularly target remote desktop environment. If you do not require RDP, block it with a firewall.&lt;br /&gt;
&lt;br /&gt;
===Ransomware Removal===&lt;br /&gt;
Certain ransomwares like killdisk on linux still cannot be decrypted. Fortunately Linux.Encoder.1 can be removed. BitDefender has a script to take on the Linux.Encoder.1. This script is available at https://github.com/eugenekolo/linux-ransomware-decrypter&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123357</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123357"/>
		<updated>2017-06-09T18:39:57Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP port 80, HTTPS port 443 and maybe SSH port 22 if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like to ensure that your system is monitored against threats. There is no surefire way to know your system is vulnerable without using a vulnerability scanner. nMap is a basic tool to do this and is available on all linux distros. There is an extensie tutorial on how to use namp to scan for vulnerability over at [https://blog.michaelfmcnamara.com/2017/05/how-to-scan-for-machines-vulnerable-to-wannacrypt-wannacry-ransomware/].&lt;br /&gt;
&lt;br /&gt;
4.Use strong passwords that can never be found in a hacker&#039;s word list.&lt;br /&gt;
&lt;br /&gt;
5.Consider the usage of a more secure linux distro &lt;br /&gt;
&lt;br /&gt;
6.Make multiple backups of your softwares, databases, important files,etc&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123356</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123356"/>
		<updated>2017-06-09T18:29:34Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
2. Use a Firewall: The uncomplicated firewall on linux is a very basic option,but if configured properly it should do the trick. Usually it&#039;s a good idea to block the countries that are infamous for ransomware, namely the domains &amp;lt;code&amp;gt;.cn, .ru, .ro, .in &amp;lt;/code&amp;gt; Limiting traffic to ports that are used by you, not more than that. A regular user should allow HTTP, HTTPS and maybe SSH if they need it.&lt;br /&gt;
&lt;br /&gt;
3.Use a vulnerability scanner like MTvScan to ensure that your server is monitored for threats.&lt;br /&gt;
&lt;br /&gt;
4.Use strong passwords that can never be found in a hacker&#039;s word list.&lt;br /&gt;
&lt;br /&gt;
5.Consider the usage of a more secure linux distro &lt;br /&gt;
&lt;br /&gt;
6.Make multiple backups of your softwares, databases, important files,etc &lt;br /&gt;
&lt;br /&gt;
3.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123355</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123355"/>
		<updated>2017-06-09T18:11:38Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Ransomware in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the encryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prevention===&lt;br /&gt;
Ransomware is usually found in emails and suspicious websites, but it definitely to limited to it. Every user should exercise caution and certain preventive steps should be taken. The following steps shall greatly reduces the chances of being infected with a ransomware.&lt;br /&gt;
&lt;br /&gt;
1. Software Update: This should go without saying. It is vital to update the system with security updates at all times. In case of linux &amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;. Also make sure to update the antivirus definition files as soon as they are available.&lt;br /&gt;
&lt;br /&gt;
2.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123354</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123354"/>
		<updated>2017-06-09T17:49:07Z</updated>

		<summary type="html">&lt;p&gt;Fislam: killdisk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===Linux.Encoder.1===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Killdisk===&lt;br /&gt;
Killdisk is another ransomware on linux, which does not decrypt. According to ESET security experts, the linux version of Killdisk does not save the enryption keys or communicate with command and control. Bottom line, even if someone pays the ransom, there is no actual chance of restoring their files. Killdisk uses a 3D AES with 64 bit crypto keys applied in 4kb blocks. The key is also unique for every file. Killdisk also makes the system unbootable, and modifies the bootloader completely.  Killdisk is also known to have demanded exorbitant prices for decryption, even though it does not decrypt.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123353</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123353"/>
		<updated>2017-06-09T17:34:31Z</updated>

		<summary type="html">&lt;p&gt;Fislam: encryption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Linux Ransomware Works===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is usually wherever the document root of the  web server is located, but it is not limited to it.The ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.The  Linux.Encoder.1 starts by encrypting all the directories in the web server root. The hackers usually specify a string name for file extensions, or a pattern. The ransomware only encrypts the files that meet that criteria. Some common file extensions that are encrypted include &amp;lt;code&amp;gt;.tar.gz , .jpg, .apk, .pub, .mp4, .html&amp;lt;/code&amp;gt; . The following directories are commonly encrypted &amp;lt;code&amp;gt;/home, /root, /var/lib/mysql, /etc/nginx, /var/www&amp;lt;/code&amp;gt;. The following are not encrypted &amp;lt;code&amp;gt;./, ssh, /usr/bin, /bin, /etc/ssh&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123352</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123352"/>
		<updated>2017-06-09T17:16:50Z</updated>

		<summary type="html">&lt;p&gt;Fislam: usage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;br /&gt;
&lt;br /&gt;
===How Linux Ransomware Works===&lt;br /&gt;
The existence of linux ransomwares weren&#039;t discovered until a couple of years ago. Dr.Web Antivirus detected a certain ransomware that attacked linux  based systems. This ransomware was known as Linux.Encoder.1.  This ransomware didn&#039;t just target any file/folder, it targeted the files &amp;amp; folders associated with the web server, this is wherever the document root of the  web server is located.&lt;br /&gt;
This ransomware gets root access to system, and it downloads the files with the hackers demands along with a file that has a path to a public RSA (encryption algortighm) key. After that the malicious program starts as a daemon and deletes the original files. Afterwards, the RSA key is used to store AES (Advanced Encryption Standard) keys, which is used by the malicious program to encrypt files on the infected computer.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123350</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123350"/>
		<updated>2017-06-09T16:55:02Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Intro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
&lt;br /&gt;
===What is Ransomware?===&lt;br /&gt;
Ransomware is a very dangerous malware. It restricts users from accessing their system by either locking the system&#039;s screen or locking the user&#039;s files till the random is paid. Modern day ransomwares are categorized as Crypto Ransomware, which works by encrypting certain files and forces the user to pay online usually using a crypto currency. After the ransom is paid, the user gets a decryption key, and is able to use that to unlock the system.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123349</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123349"/>
		<updated>2017-06-09T16:46:29Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Author Info==&lt;br /&gt;
Name: Farhan Islam&lt;br /&gt;
Major: Cyber Security&lt;br /&gt;
&lt;br /&gt;
==Ransomware in Linux==&lt;br /&gt;
Ransomwares in Linux Operating Systems are not as common as they are on Windows, but they do exist.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123348</id>
		<title>Linux ransomware</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linux_ransomware&amp;diff=123348"/>
		<updated>2017-06-09T16:40:40Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Created page with &amp;quot;Author: Farhan Islam&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Farhan Islam&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121578</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121578"/>
		<updated>2017-05-08T16:55:59Z</updated>

		<summary type="html">&lt;p&gt;Fislam: UFW&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Firewall==&lt;br /&gt;
&lt;br /&gt;
UFW is the uncomplicated firewall. It is terminal based and very user friendly.&lt;br /&gt;
Install ufw &amp;lt;code&amp;gt;pacman -S ufw&amp;lt;/code&amp;gt;&lt;br /&gt;
View ip configuration &amp;lt;code&amp;gt; ip addr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a simple rule where you allow traffic from 192.168.0.1 to 192.168.0.255 and incoming SSH and telnet connections&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ufw default deny&lt;br /&gt;
&lt;br /&gt;
ufw allow from 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
ufw allow SSH&lt;br /&gt;
&lt;br /&gt;
ufw allow telnet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now enable ufw &amp;lt;code&amp;gt; ufw enable &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check if ufw is running &amp;lt;code&amp;gt; ufw status &amp;lt;/code&amp;gt; , it should be running&lt;br /&gt;
&lt;br /&gt;
You can add other apps the same way, just view the &amp;lt;code&amp;gt; ufw app list &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To delete a rule, let&#039;s say SSH in this case &amp;lt;code&amp;gt;ufw delete allow SSH &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blacklisting IP address &lt;br /&gt;
To blacklist an IP you need to edit the following file &amp;lt;code&amp;gt;vim /etc/ufw/before.rules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To blacklist 139.59.152.107 just before the COMMIT add the following &amp;lt;code&amp;gt;-A ufw-before-input -s 139.59.152.107 -j DROP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[https://ibb.co/cyxM85 UFW status]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121554</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121554"/>
		<updated>2017-05-08T16:16:56Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Rolling Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121553</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121553"/>
		<updated>2017-05-08T16:16:42Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Power User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121552</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121552"/>
		<updated>2017-05-08T16:16:30Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Different Desktop Environments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121551</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121551"/>
		<updated>2017-05-08T16:16:20Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* User Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121550</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121550"/>
		<updated>2017-05-08T16:16:11Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* Community Based */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121549</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121549"/>
		<updated>2017-05-08T16:15:35Z</updated>

		<summary type="html">&lt;p&gt;Fislam: FAQ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
Why not use GRUB for bootloader?&lt;br /&gt;
I understand the Installation manual on Arch Linux wiki suggest to install grub as the bootloader, and most linux distros use grub by default. However, if you want something plain and simple, you do not really need GRUB, you can stick to bootctl, and it will do just fine.&lt;br /&gt;
&lt;br /&gt;
How do I set up wifi in case of a non virtualbox based installation?&lt;br /&gt;
&lt;br /&gt;
You need to check to see if iw and wpa supplicants are installed &amp;lt;code&amp;gt;pacman -S iw wpa_supplicant linux-firmware&amp;lt;/code&amp;gt; &lt;br /&gt;
If they are not there, please install them.&lt;br /&gt;
Afterwards do &amp;lt;code&amp;gt;pacman -Syy &amp;lt;/code&amp;gt;&lt;br /&gt;
Then view the wpa supplication &amp;lt;code&amp;gt;cat /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
If this doesn&#039;t exist, then you are missing some packages.&lt;br /&gt;
Finally run this command with the correct info from your router  &amp;lt;code&amp;gt;wpa_supplicant -B -i wlp2s0 -c &amp;lt;(wpa_passphrase &amp;quot;the network SSID&amp;quot; &amp;quot;wpa passkey&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
Wifi Should work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121228</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121228"/>
		<updated>2017-05-07T11:25:04Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* =Checking Xserver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121227</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121227"/>
		<updated>2017-05-07T11:22:48Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Table of contents done&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Post Installation===&lt;br /&gt;
&lt;br /&gt;
The installation process is complete, but please make sure you safely shutdown the system instead of force quitting. &lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
====Login the Newly Installed System====&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
====Enable Internet====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
====Pre GUI Installation====&lt;br /&gt;
&lt;br /&gt;
For a traditional user who is coming from Windows or MAC, GUI is everything. Certain steps need to followed for this.&lt;br /&gt;
&lt;br /&gt;
=====Xserver installation=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
=====Install Linux Headers=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
=====VBox Guest Additions Installations=====&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
=====Checking Xserver====&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
====Installing GUI/Desktop Environment====&lt;br /&gt;
&lt;br /&gt;
=====LXDE=====&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start LXDE by &amp;lt;code&amp;gt;systemctl enable lxdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gnome=====&lt;br /&gt;
&lt;br /&gt;
Gnome looks really nice, but it s also more power hungry. Note that installing the extra packages are optional,but they include essentials. &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
Start gnome by &amp;lt;code&amp;gt;systemctl enable gdm.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a Reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
==Post GUI Login==&lt;br /&gt;
&lt;br /&gt;
===Installing Packages=== &lt;br /&gt;
&lt;br /&gt;
This is only an example of how to use pacman, pkgbuild and yaourt, later I shall talk about AUR helpers, and other alteratives. Pacman is the official Arch Linux package manager, Yaourt is a AUR helper.&lt;br /&gt;
&lt;br /&gt;
====Pacman====&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
====PKGBUILD====&lt;br /&gt;
PKGBUILD is a schell script built using makepkg utility. Geekbench 4 is a terminal based CPU benchmark app. This is a basic demonstration&lt;br /&gt;
of how to install using makepkg.&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; -S flag to get all the dependencies,-c flag clean everything up afterwards, i flag to install after it&#039;s being built. &lt;br /&gt;
&lt;br /&gt;
Please note, you can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
====yaourt====&lt;br /&gt;
Yaourt doesn&#039;t need you to go look online for a snapshot instead if you already know what you&#039;re looking for it can be fetched just like pacman.It is similar to PKGBUILD but not secure, since you do not know what source code you&#039;re compiling, more on that in AUR Helpers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
==AUR Helper==&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My ArchBox Screenshots==&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121220</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121220"/>
		<updated>2017-05-07T10:19:33Z</updated>

		<summary type="html">&lt;p&gt;Fislam: /* =Install Ucode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
=====Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121219</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121219"/>
		<updated>2017-05-07T10:19:02Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
======Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121218</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121218"/>
		<updated>2017-05-07T10:18:42Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
======Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121217</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121217"/>
		<updated>2017-05-07T10:17:43Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
====Bootloader Installation and Configuration====&lt;br /&gt;
&lt;br /&gt;
=====Verify EFI=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
=====Install Bootctl=====&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Export PARTUUID====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
=====Edit Arch.conf=====&lt;br /&gt;
&lt;br /&gt;
This needs to be done correctly, you should double check to make sure you have all the necessary files in the right directory.&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
======Install Ucode=====&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
======Re-Edit Arch.conf======&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121216</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121216"/>
		<updated>2017-05-07T10:09:02Z</updated>

		<summary type="html">&lt;p&gt;Fislam: working on TOC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Arch Linux Usage==&lt;br /&gt;
&lt;br /&gt;
===What is Arch Linux?===&lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like Linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalist approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
===Top Reasons To Use Arch===&lt;br /&gt;
&lt;br /&gt;
====Community Based====&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
====User Repository====&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
====Different Desktop Environments====&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
====Power User====&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
====Rolling Releases====&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
==Arch Linux Installation==&lt;br /&gt;
&lt;br /&gt;
===Preparing VM===&lt;br /&gt;
&lt;br /&gt;
====Download ISO====&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
====VM Specs====&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
===Pre-Installation===&lt;br /&gt;
&lt;br /&gt;
====Checking internet connection====&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Partitioning====&lt;br /&gt;
&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
====Formatting====&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
====Mounting====&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation===&lt;br /&gt;
&lt;br /&gt;
====Listing Mirrors====&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you want.Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
====Install base packages, Generate fstab====&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
===Post installation of base packages===&lt;br /&gt;
&lt;br /&gt;
====Mount Root Partition====&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
====Change language====&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set the Time Zone====&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
====32 bit support and Custom Repository====&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
=====Custom Repository Configuration=====&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
====Installing yaourt====&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
====Setup root password====&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
====Add a Regular User====&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sudo Permissions====&lt;br /&gt;
&lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121145</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121145"/>
		<updated>2017-05-06T21:58:23Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Add category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039;Arch Linux&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on Virtual Box for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121086</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121086"/>
		<updated>2017-05-06T16:48:47Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039;Arch Linux&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on Virtual Box for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121085</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121085"/>
		<updated>2017-05-06T16:46:15Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Yaourt security issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039;Arch Linux&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on Virtual Box for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM (EDIT: For Gnome I used 2.4gb ram, and later went back down to 1.5GB) and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is recommended by Arch Linux wiki for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AUR Helper&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically AUR helpers are the likes of yaourt, apacman, cower, PKGBUILD, pacaur, etc. I have only used yaourt and PKGBUILD so far. I have heard that yaourt is not the best AUR helper, because it is said to to be insecure. The only problem that I see with yaourt is that it automatically downloads the PKGBUILD without inspecting it first, compared to if you had done it manually you could have read the Author&#039;s note and inspect it manually. This could be potentially dangerous, as you yaourt might be compiling malicious source code. As I am a very new to Arch Linux, I was not totally aware of this and used yaourt on a couple of occasions. With so many secure alternatives, it is better not to use yaourt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121083</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121083"/>
		<updated>2017-05-06T16:28:46Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Author name added,typo fixes and some edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039;Arch Linux&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Written by: Farhan Islam-C11 Group&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Arch is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on Virtual Box for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM and 85% Processor power. Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. First of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is enough for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
EDIT: It is is a nice practice to separate the home and root partitions. I did not do it because I do not really intend on using this VM a lot. If you however, want Arch as your primary VM then do create a home partition separate from root and mount in the mount point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partition &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Initialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journalling file system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and un-comment the mirrors you want to rank. I suggest un-commenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un-comment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
Setup the hostname by simply echoing the hostname and then outputting in etc &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check /etc folder to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd root &amp;lt;/code&amp;gt;&lt;br /&gt;
Simply type in the password and confirm it.&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
It is recommend to add a regular user for security reasons. You should never the use the computer as root user unless you have to, because the root user has &lt;br /&gt;
absolute control over the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults rootpw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootable. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For Intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatibility issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121061</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121061"/>
		<updated>2017-05-06T06:50:52Z</updated>

		<summary type="html">&lt;p&gt;Fislam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Arch Linux&#039;&#039;&#039; is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on VirtualBox for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM and 85% Processor power.&lt;br /&gt;
Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. FIrst of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is enough for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partion &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Intialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journaling system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and uncomment the mirrors you want to rank. I sugguest uncommenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
setup the hostname &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply type in “passwd” and confirm password&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults root pw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootale. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatability issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conclusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121057</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121057"/>
		<updated>2017-05-06T00:05:09Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Links to some pictures of Arch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Arch Linux&#039;&#039;&#039; is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on VirtualBox for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM and 85% Processor power.&lt;br /&gt;
Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. FIrst of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is enough for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partion &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Intialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journaling system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and uncomment the mirrors you want to rank. I sugguest uncommenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
setup the hostname &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply type in “passwd” and confirm password&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults root pw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootale. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatability issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arch Linux Screenshots:&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/9.png Gnome Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/8.png LXDE Installed]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/7.png Xserver is working]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/5.png Arch Linux Login Prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/4.png Arch Linux chroot mount prompt]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~fislam/2.png list of files in /etc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121056</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121056"/>
		<updated>2017-05-05T23:42:49Z</updated>

		<summary type="html">&lt;p&gt;Fislam: References&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Arch Linux&#039;&#039;&#039; is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on VirtualBox for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM and 85% Processor power.&lt;br /&gt;
Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. FIrst of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is enough for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partion &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Intialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journaling system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and uncomment the mirrors you want to rank. I sugguest uncommenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
setup the hostname &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply type in “passwd” and confirm password&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults root pw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootale. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatability issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;br /&gt;
&lt;br /&gt;
If you have managed to come this far and you have some prior Linux experience, you are going to be all right using Arch Linux. However, if you want a OS that is basically a replacement for Windows, then you should stick to Ubuntu or Mint. Arch Linux is very powerful, capable and customizable. All in all a very nice Operating System, and by using it you can learn a lot.&#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux WIki[https://wiki.archlinux.org/]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Five reasons to Use Arch&#039;&#039;&#039;[http://www.cio.com/article/2898189/five-reasons-i-roll-with-arch-linux-and-why-you-should-too.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch User Repository&#039;&#039;&#039;[https://aur.archlinux.org/]&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121055</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121055"/>
		<updated>2017-05-05T23:31:51Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Uninstall app with pacman&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Arch Linux&#039;&#039;&#039; is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on VirtualBox for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM and 85% Processor power.&lt;br /&gt;
Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. FIrst of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is enough for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partion &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Intialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journaling system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and uncomment the mirrors you want to rank. I sugguest uncommenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
setup the hostname &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply type in “passwd” and confirm password&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults root pw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootale. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatability issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Removing packages&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove a single package without dependency &amp;lt;code&amp;gt; pacman -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a package with dependencies that which are not required by other applications &amp;lt;code&amp;gt; pacman -Rs package &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To recursively remove a package and dependencies, meaning the other applications using it will be potentially worthless &amp;lt;code&amp;gt; pacman -Rsc package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing yaourt packages, basically the same except you replace pacman with yaourt &amp;lt;code&amp;gt; yaourt -R package &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed with makepkg pacman should take care of the uninstalling.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121054</id>
		<title>Arch linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Arch_linux&amp;diff=121054"/>
		<updated>2017-05-05T23:20:06Z</updated>

		<summary type="html">&lt;p&gt;Fislam: Yaourt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Arch Linux&#039;&#039;&#039; is a Unix like linux distribution. Arch started it’s journey in 2002, and is usually used by advanced users. Arch Linux is not super user friendly to begin, and therefore not recommended for rookies. However, the deal with Arch Linux is that it’s free of bloat-wares and uses a very minimalistic approach, moreover it pushes to user to put great effort into understanding how the system works.&lt;br /&gt;
&lt;br /&gt;
The main reasons to install Arch Linux are as follows:&lt;br /&gt;
1. Arch Linux is community based, and not market based. It doesn’t need to bother about the markets and customers, in fact it’s all about the development process. Furthermore, Arch doesn’t need to be patched, it is kind of like a stock Android, where the user uses what the upstream developed. Arch Linux probably has the best community support of all the linux distros, and the Arch WIKI contains pretty much everything a user might require.&lt;br /&gt;
&lt;br /&gt;
2. Arch has massive software repositories. Arch has pretty much every application that is available through the packaging system on other distros, if not more. Arch calls it the Arch User Repository. It is a repository maintained by users, whereby users can compile and install packages from the source. Of course, users can also use Yaort command, if they prefer.&lt;br /&gt;
&lt;br /&gt;
3. Support for majority of desktop environments. Mainstream linux distro like Ubuntu uses Unity uptill 16.10, and Unity by far the slowest desktop environment I’ve used. Although, users have the option to install Plasma, XFCE, MATE. Other environments like Gnome doesn’t work well on ubuntu. However, as of Ubuntu 17.04, Ubuntu has switched back to Gnome. Arch Linux supports LXDE,XFCE,Gnome,Mate and Cinnamon, and nothing seems to make it laggy, or break it.&lt;br /&gt;
&lt;br /&gt;
4. Total User Control. 	Arch puts you in the pilot’s chair. The user has the ability to build everything from scratch, hence they can choose whatever they want instead of having to deal with unnecessary packages.&lt;br /&gt;
&lt;br /&gt;
5. Rolling Releases. Unlike other distros, you do not come across a major update every 6 months. Arch uses rolling updates. That means, you are always running the latest packages, both desktop and kernel, as you don’t have to wait for a new distro, and you automatically get the latest packages.&lt;br /&gt;
&lt;br /&gt;
                                                                                                                                                 &lt;br /&gt;
&#039;&#039;&#039;How to install Arch Linux on VirtualBox for a EFI System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a long process, but first of all you need to get the official Arch Linux ISO from [https://www.archlinux.org/download/]&lt;br /&gt;
On Virtual Box you will need to create a EFI enabled virtual machine. In my case, I used 20GB dynamically allocated hard drive, 1.5GB RAM and 85% Processor power.&lt;br /&gt;
Once that&#039;s all done,mount the ISO and fire up the virtual machine.&lt;br /&gt;
&lt;br /&gt;
Once inside the virtual machine, you will see a promt like &amp;lt;code&amp;gt;root@archoiso ~ #&amp;lt;/code&amp;gt; first thing you want to do is check whether the internet is working by simply doing &amp;lt;code&amp;gt;ping -c 3 www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating file systems, formatting and mounting&#039;&#039;&#039;&lt;br /&gt;
I recommend cgdisk or gdisk for EFI systems, it is very user friendly and straightforward. FIrst of all you need to check your block devices and partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to view block devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cgdisk /dev/sda&amp;lt;/code&amp;gt; In my case it was /dev/sda&lt;br /&gt;
&lt;br /&gt;
Now you need to start creating the partitions. You basically need just 3 partitions, boot, swap and root. For all of the partitions leave the first sector empty. Now create a partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Remember first sector empty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; KGMTP 512MB &amp;lt;/code&amp;gt; 512MB is enough for a EFI boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: L to view all. Go with ef00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : boot&lt;br /&gt;
&lt;br /&gt;
Create another partition /dev/sda2&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): 2GB The rule is to allocate around 1.5 times the RAM for your Swap partition, so in my case it was 2GB approx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partition name : swap&lt;br /&gt;
&lt;br /&gt;
Create the final partition /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Size in sectors(KMGTP): leave blank By leaving blank it will allocate the remaining space to this partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Hexcode: 8300&amp;lt;/code&amp;gt; This is the main linux file system and is suitable for our root partition.&lt;br /&gt;
&lt;br /&gt;
Partition name : root &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt; To verify the partitions exist&lt;br /&gt;
&lt;br /&gt;
Formatting:&lt;br /&gt;
&lt;br /&gt;
Format boot partition &amp;lt;code&amp;gt; mkfs.fat -F32 /dev/sda1 &amp;lt;/code&amp;gt; FAT32 is used for EFI boot.&lt;br /&gt;
&lt;br /&gt;
Format swap partion &amp;lt;code&amp;gt; mkswap /dev/sda2 &amp;lt;/code&amp;gt; Intialize swap &amp;lt;code&amp;gt;swapon /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format root partition &amp;lt;code&amp;gt; mkfs.ext4 /dev/sda3 &amp;lt;/code&amp;gt; Ext4 journaling system is used for root.&lt;br /&gt;
&lt;br /&gt;
Mounting:&lt;br /&gt;
&lt;br /&gt;
Mount root &amp;lt;code&amp;gt; mount /dev/sda3 /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now make directory &amp;lt;code&amp;gt; mkdir /mnt/boot &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Mount boot &amp;lt;code&amp;gt; mount /dev/sda1 /mnt/boot &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mirrorlist (Optional)&#039;&#039;&#039;&lt;br /&gt;
Now you have the option to rank the mirrorlist, even though you do not really have to do this. To do so you need to edit &amp;lt;code&amp;gt;/etc/pacman.d/mirrorlist&amp;lt;/code&amp;gt; and uncomment the mirrors you want to rank. I sugguest uncommenting at least 20 countries.  Use &amp;lt;code&amp;gt; rankmirrors -n 5 /etc/pacman.d/mirrorlist &amp;lt;/code&amp;gt; to rank the top five mirrors , could take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install base packages, Generate fstab&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To install base packages &amp;lt;code&amp;gt; pacstrap -i /mnt base base-devel &amp;lt;/code&amp;gt; These are the core packages of an Arch Linux Installation.&lt;br /&gt;
FSTAB basically lists all the partitions and data sources and show how they are being used. &lt;br /&gt;
&lt;br /&gt;
To generate fstab &amp;lt;code&amp;gt; genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &amp;lt;/code&amp;gt; Check if fstab generated in /mnt/etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First of all you need to get inside the newly installed system &amp;lt;code&amp;gt; arch-chroot /mnt &amp;lt;/code&amp;gt; You should see a slightly different prompt now.&lt;br /&gt;
&lt;br /&gt;
Change language to EN_US:&lt;br /&gt;
&lt;br /&gt;
Use the command &amp;lt;code&amp;gt; nano /etc/locale.gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment &amp;lt;code&amp;gt; en_US.UTF-8 &amp;lt;/code&amp;gt; There should be two of these&lt;br /&gt;
&lt;br /&gt;
Generate the locale &amp;lt;code&amp;gt; locale-gen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the output needs to be saved &amp;lt;code&amp;gt; echo LANG=en_US.UTF-8 &amp;gt; /etc/locale.conf &amp;lt;/code&amp;gt; and exported &amp;lt;code&amp;gt; export LANG=en_US.UTF-8 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the time :&lt;br /&gt;
&lt;br /&gt;
Now change to Tallinn by creating a soft link &amp;lt;code&amp;gt; ln -s /usr/share/zoneinfo/Europe/Tallinn &amp;gt; /etc/localtime &amp;lt;/code&amp;gt; This might already exists&lt;br /&gt;
Now set hardware clock to utc &amp;lt;code&amp;gt; hwclock –systohc –utc &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set up the hostname:&lt;br /&gt;
&lt;br /&gt;
setup the hostname &amp;lt;code&amp;gt; echo bossman-arch &amp;gt; /etc/hostname &amp;lt;/code&amp;gt;&lt;br /&gt;
Double check to see if hostname exists&lt;br /&gt;
&lt;br /&gt;
Enable multilib and create custom repository: (Optional Step)&lt;br /&gt;
&lt;br /&gt;
Type in &amp;lt;code&amp;gt; nano /etc/pacman.conf &amp;lt;/code&amp;gt; Find and uncomment multlib, not the testing, just the multilib and line beneath of course. Multilib makes sure you have access to 32bit programs&lt;br /&gt;
&lt;br /&gt;
In the same file, all the way in the bottom add a custom repository :&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
[archlinuxfr]&lt;br /&gt;
&lt;br /&gt;
SigLevel= Never &lt;br /&gt;
&lt;br /&gt;
Server= http://repo.archlinux.fr/$arch &amp;lt;/code&amp;gt; Save changes and exit,and of course if you are editing a file you are expected to save it, so I might not always write save changes.&lt;br /&gt;
&lt;br /&gt;
Run pacman to get yaourt &amp;lt;code&amp;gt;pacman -Sy yaourt &amp;lt;/code&amp;gt;  Yaourt is basically the Arch Linux Users version of pacman. It is slighltly different, more on that later.&lt;br /&gt;
&lt;br /&gt;
Setup root password &amp;lt;code&amp;gt; passwd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply type in “passwd” and confirm password&lt;br /&gt;
&lt;br /&gt;
Add a regular user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd -m -g users -G wheel,storage -s /bin/bash axon &amp;lt;/code&amp;gt; -m flag is to create -g is the group flag -G on the other hand is the secondary group. Wheel is the Arch equivalent of nano, storage gives access to removable devices, and bash is the shell environment. Now set up a password for the user, &amp;lt;code&amp;gt;passwd axon &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sudo Permissions: &lt;br /&gt;
We need to make sure to edit one file so that the sudo password is asked everytime when doing a sudoers task.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; EDITOR=nano.visudo &amp;lt;/code&amp;gt; find %wheel and add on the line below  &amp;lt;code&amp;gt; Defaults root pw &amp;lt;/code&amp;gt; Now the sudo password will be prompted when doing sudeoers task.&lt;br /&gt;
At this point you might have to restart the system, you may encounter some error messages in the next step just reboot, remount and get chroot back in if it happens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bootloader installation and configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t efivarfs efivarfs /sys/firmware/efi/efivars &amp;lt;/code&amp;gt; This should return that it&#039;s busy or already in use,it&#039;s a good thing if that happens, otherwise you need to recheck all the steps.&lt;br /&gt;
&lt;br /&gt;
Now install the bootloader &amp;lt;code&amp;gt; bootctl install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid &amp;lt;/code&amp;gt; Make a note of the UUID of /dev/sda3. The following steps must be done exactly this way except you will have a very different UUID. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; blkid -s PARTUUID -o value /dev/sda3 &amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You just outputted the PARTUUID in arch.conf. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; You need to edit this configuration file. You will see the PARTUUID generated and nothing else on it. It should look like the following.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
title Arch Linux &lt;br /&gt;
&lt;br /&gt;
linux /vmlinuz-linux &lt;br /&gt;
&lt;br /&gt;
initrd /initramfs-linux.img&lt;br /&gt;
&lt;br /&gt;
options root=PARTUUID=*YOURUUID* rw&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;Save and exit. Vmlinuz is the name of a linux kernel executable. You should know that kernel is like the heart of an OS. Vmlinuz is compressed and bootale. Initrd is a scheme for temporary root file system into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this.&lt;br /&gt;
&lt;br /&gt;
For intel processors only &amp;lt;code&amp;gt;pacman -S intel-ucode &amp;lt;/code&amp;gt; Is basically a microcode update file for Intel CPUs. I recommend doing this for compatability issues.&lt;br /&gt;
&lt;br /&gt;
Now  you have add ucode to config file &amp;lt;code&amp;gt; /boot/loader/entries/arch.conf &amp;lt;/code&amp;gt; and add another initrd above the former initrd like &amp;lt;code&amp;gt; initrd /intel-ucode.img &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit chroot &amp;lt;code&amp;gt; exit &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unmount everything &amp;lt;code&amp;gt; umount -R /mnt &amp;lt;/code&amp;gt; Mnt was a placeholder for root, now that we have the actual system waiting we do not need it.&lt;br /&gt;
&lt;br /&gt;
Shutdown the system &amp;lt;code&amp;gt;Shutdown now &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Power off virtual machine&lt;br /&gt;
&lt;br /&gt;
Eject ISO&lt;br /&gt;
&lt;br /&gt;
Arch Linux Installation should be complete,however it is time to power up the VM without ISO, double check to see if the ISO is ejected and and the boot is set to hard drive.&lt;br /&gt;
&lt;br /&gt;
If you have done everything correctly a login prompt should appear. You can login using the your credentials.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Internet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt; For the sake of convenience become sudo as soon as you can.&lt;br /&gt;
&lt;br /&gt;
Now that you are logged in if you try to ping something or get a package with pacman, it will fail, you must re-enable the internet connection.&lt;br /&gt;
First check &amp;lt;code&amp;gt;ip link &amp;lt;/code&amp;gt; The correct interface is not the first one or the loopback, it is the one with broadcast and in my case it was enp0s3, and the interface was down.&lt;br /&gt;
&lt;br /&gt;
To re-enable &amp;lt;code&amp;gt; systemctl enable dhcpcd@enp0s3.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; Reboot and ping google or some other site it should work fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GUI : XSever, VBox Guest Additions and LXDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the final step of the installation process. I chose LXDE because it&#039;s pretty light and fast. You can install Gnome, it looks outstanding but it might lag.&lt;br /&gt;
&lt;br /&gt;
Xserver installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S xorg-server xorg-server-utils xorg-xinit xterm mesa xorg-clock xorg-twm alsa-utils tmux &amp;lt;/code&amp;gt; The following ar the reccomended packages,and they should all be installed.&lt;br /&gt;
&lt;br /&gt;
Install Linux headers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pacman -S linux-headers &amp;lt;/code&amp;gt; header files used to compile the kernel -and other applications which depend on the structures defined in theseheader files, like kernel modules. An example can be graphic card drivers.&lt;br /&gt;
&lt;br /&gt;
VBox Guest Additions Installations:&lt;br /&gt;
&lt;br /&gt;
Virtual Box guest additions allows the changing of resolution and using USB devices within the VM. Hence it must be done for GUI. To do so, simply insert the Virtual Box Guest Addition CD from the upper menu. It should be inserted. If you get an error it&#039;s probably because you have to IDE cdrom, just go back to virtualbox and create a blank IDE drive without mounting anything, then boot back into Arch VM and insert the guest additions cd, this will work.&lt;br /&gt;
&lt;br /&gt;
Now you have to mount the cdrom &amp;lt;code&amp;gt; mount /dev/cdrom /mnt &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to /mnt examine and run the script &amp;lt;code&amp;gt; ./VBoxLinuxAdditions.run &amp;lt;/code&amp;gt; This should install virtual box guest additions. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pacman -Syu &amp;lt;/code&amp;gt; Check for updates.&lt;br /&gt;
&lt;br /&gt;
At this point you need to reboot again.Once back in the system &amp;lt;code&amp;gt; startx &amp;lt;/code&amp;gt; you should see some colored windows, this means xserver is ready for GUI.&lt;br /&gt;
&lt;br /&gt;
Installing LXDE:&lt;br /&gt;
&lt;br /&gt;
Unlinke gnome lxde doesn&#039;t need so much space and this should be a straightforward installation. &amp;lt;code&amp;gt; pacman -S lxde &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is done, all you need to do is a reboot and you should see a Graphical login prompt. If you login and everything works, congratulations, the worst is over.&lt;br /&gt;
&lt;br /&gt;
Installing Gnome:&lt;br /&gt;
&lt;br /&gt;
If you prefer Gnome instead of LXDE then &amp;lt;code&amp;gt; pacman -S gnome gnome-extra gdm&amp;lt;/code&amp;gt; Do not select nvidia even if you have an nvidia GPU. Also I found Gnome not working with VBox 3d Acceleration, and hence it lags when streaming videos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing with Pacman and Yaourt&#039;&#039;&#039; this is only an example of how to use pacman and yaourt, you can set up whatever you want.&lt;br /&gt;
&lt;br /&gt;
Open up the terminal and &amp;lt;code&amp;gt; sudo pacman -S firefox &amp;lt;/code&amp;gt; Firefox will be installed just like that&lt;br /&gt;
&lt;br /&gt;
Install Geekbench. Firstly get snapshot from this link [https://aur.archlinux.org/cgit/aur.git/snapshot/geekbench.tar.gz] Navigate to downloaded location on terminal and do &amp;lt;code&amp;gt;tar xf geekbench.tar.gz &amp;lt;/code&amp;gt; and then navigate to this new folder &amp;lt;code&amp;gt; makepkg -sci&amp;lt;/code&amp;gt; This will get all the dependendencies and clean everything up afterwards and even install after it&#039;s being built. You can&#039;t be sudo and run this command, you will need to exit out of sudo. It will take some time to build packages and then a prompt will ask you if you want to install, of course press y. Installation will be done, and geekbench should be ready. Make sure you have the &amp;lt;code&amp;gt; base devel &amp;lt;/code&amp;gt; package also, without it you will not be able to make package.&lt;br /&gt;
&lt;br /&gt;
Finally an example of yaourt:&lt;br /&gt;
Yaourt basically works the same way, and you need to be non sudo user to use it.  &amp;lt;code&amp;gt; yaourt -Sb google-chrome &amp;lt;/code&amp;gt; This is to get google chrome with Yaourt, S flag to sync with AUR and B to backup. You will get a few warning just press y and continue, you will even get to edit the config file, but you dont really have to do anything you can have a look and exit anc continue and then there will be a password prompt for installation. Sit back and relax, the installation will be done in a few minutes.&lt;/div&gt;</summary>
		<author><name>Fislam</name></author>
	</entry>
</feed>