Rough guide to installing & configuring Arch Linux – my way.

A super rough guide on how I install Arch Linux (by no means the ‘official way’)
Boot the live media it will boot to a root prompt, the following commands (and notations) are meant to help with installing Arch, but not do it for you – its important to know you PC its limitations and the hardware there in – so bear this in mind as you may still need to read The Arch Wiki

I will place comments in brackets, if you have started sshd on the live media you can use a terminal for the install and copy/paste from a web browser actually you cant as WordPress messes up formatting (edit 28/10/17)…

[load your keyboard region, I’m in the uk (good’ol Blighty) you may want ‘us’ or another region use ‘ls /usr/share/kbd/keymaps/**/*.map.gz’ to list them]

loadkeys uk

[now assuming you have wifi do the following to get an internet connection, if you use ethernet, at boot its probably online already]

wifi-menu

[then get ntp to set the time – pacman can fail if the time is not right]

timedatectl set-ntp true

[now partition your HDD or SSD – I use fdisk but you may prefer cfdisk or parted – I wil assume 3 partitions ‘/’= /dev/sda1, ‘/home’= /dev/sda2, ‘/swap’ = sda3. I’ll be using etx4 file system – if you are using a SSD I would not bother with swap – lets format]

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

[then mount the partitions]

mount /dev/sda1 /mnt
mkdir /mnt/home
mount /dev/sda2 /mnt/home

[now install some apps usually its just base & base-install, but I tend to install a DE and DM to make it usable on reboot (edit 28/10/17 – added pulseudio-alsa for sound out of the box)]

pacstrap -i /mnt base base-devel nano rsync sox mc w3m tmux irssi openssh grub mtools wpa_actiond wpa_supplicant dialog rfkill os-prober reflector autocutsel calcurse calc neomutt fbdump fbgrab gpm gst-libav gst-plugins-bad gst-plugins-base gst-plugins-base-libs gst-plugins-good gst-plugins-ugly gstreamer imagemagick inxi lame lm_sensors opus-tools noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra p7zip print-manager cups cups-pdf opus opusfile sudo ttf-dejavu ttf-hack ttf-liberation unzip unrar vbetool wget cpupower xorg-drivers xorg xorg-apps xorg-fonts lxqt qupzilla sddm gvfs xarchiver intel-ucode pulseaudio-alsa breeze-icons breeze-gtk

[once done generate your /etc/fstab – if you are usinag a SSD don’t for get to check if you need to add the “discard” argument to the ext4 filesystems]

genfstab -U /mnt >> /mnt/etc/fstab

[now enter your install]

arch-chroot /mnt /bin/bash

[set up your timezone – Im in the uk , you may want to check out the contents of /usr/share/zoneinfo/]

ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime

[set system clock to utc]

hwclock ––systohc

[need to set locale , to do this edit /etc/locale.gen and uncomment your locale – mine is en_GB.UTF-8]

nano /etc/locale.gen

[then generate your locale]

locale-gen

[make sure the system uses the locale]

echo LANG=en_GB.UTF-8 >> /etc/locale.conf

[set the keymap for your install]

echo KEYMAP=uk >> /etc/vconsole.conf

[set your hostname]

echo fqdn >> /etc/hostname

[append to hosts file – be carefull make sure it appends and does not overwrite use >> and not > if not sure edit /etc/hosts with nano]

echo “127.0.1.1 fqdn.localdomain fqdn” >> /etc/hosts

[set the install’s root password]

passwd <?>

[add a user]

useradd -m -G wheel -s /bin/bash <name>

[set a password for the user]

passwd <name>

[install your bootloader]

grub-install –target=i386-pc /dev/sda

[then install the boot config , if you have any special reqirements make sure you edit /etc/default/grub bfeore running..]

grub-mkconfig -o /boot/grub/grub.cfg

[enable the display manager]

systemctl enable sddm

[set up sudo for user(s)]

EDITOR=nano visudo

[then locate and uncomment the line that looks like]

# %wheel ALL=(ALL) ALL

[so it looks like]

%wheel ALL=(ALL) ALL

[then save]
[extra’s – these are not necessary but what the hell, while you are here..]
[setup cups]

systemctl enable org.cups.cupsd.service

[set up reflector service]

nano /etc/systemd/system/reflector.service

[add the following to that file]

[Unit]
Description=Pacman mirrorlist update
[Service]
Type=oneshot
ExecStart=/usr/bin/reflector ––age 24 ––protocol https ––latest 10 ––sort rate ––save /etc/pacman.d/mirrorlist

[ and save – for later use]

[if you want to keep your primary and selection clipboards in sync for all users do the following or place it in ~/.xinitrc later]

nano /etc/X11/xinit/xinitrc.d/40-autocutsel

[and add the following]

autocutsel -fork &
autocutsel -selection PRIMARY -fork &

[then save]
[exit the chroot]

exit

[unmout all drives]

umount -a

[then reboot]

reboot

[just wait of you get a “stop job” running]
[this should then reboot into SDDM]

[CONGRATS you have installed Arch Linux – although initially LXQt needs a bit of attention, log in to your user account]

click menu button navigate to  Preferences > LXQt settings > LXQt Configuration center

As there are no icons showing click “appearance” then “icon theme” then select “breeze”
in the same window after selecting breeze

configurationcenter
Then click LXQt theme and select one (I choose ‘light’)

lxqttheme

once selected , click font and select a font and size to your liking

fonts

go back to the LXQt Configuration center then click “keyboard&mouse” layout

keyboard

 

add the correct layout for your keyboard and set it to the top of the list

then go to “session settings” and set your default browser and terminal (qupzilla and qterminal)

defaultapps

[you will now need to set up your wireless conncetion in qterminal. click menu > system tools > qterminal. For wired conncetions refer to the arch wiki]
[once qterminal is launched]

sudo wifi-menu

[select your wireless AP and enter the password when required, if you have issues with this you may need to use rfkill]

sudo rfkill list all

[if any blocked if HARD blocked – chcek your wifi switch if SOFT blocked use]

sudo rfkill unblock all

[if your wireless has frequent SOFT blockages try using the following 2 lines]

sudo systemctl enable rfkill-unblock@all
sudo systemctl start rfkill-unblock@all

[to start wireless at boot automatically do]

ip a

and make note of your wireless id  usually starts with ‘wlp’

sudo systemctl enable netctl-auto@<wireless-id>

[while qterminal is still open as its time to set up some effort saving alias’s]

nano ~/.bashrc

[add the following lines to the bottom]

# Pacman Alias’s
alias ud=’sudo pacman –Syu’
alias uda=’yaourt –Syua’
alias i–=’sudo pacman –S’
alias s–=’pacman –Ss’
alias y–=’yaourt’
alias r–=”sudo pacman –R”
alias m–=’sudo systemctl start reflector’
alias d–=’sudo pacman –Rns $(pacman –Qtdq)’
alias UD=’m-&&ud&&uda’

[then save and return to your home with]

cd ~/

[and now we set up setup yaourt – in qterminal- thanks to @AndrzejL@mastodon.rocks for supply these two lines]

cd && mkdir -p .aur/package-query && cd .aur/package-query/ && wget -O PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=package-query && makepkg -si ./

cd && mkdir -p .aur/yaourt && cd .aur/yaourt/ && wget -O PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=yaourt && makepkg -si ./

[once installed you can search aur via yaourt by]

y- <search term>

[and for a complete update against the latest/fastest fully sync’d repo in qterminal with]

UD

[my other alias’s allow you to shortcut many reguarly used pacman functions]

i- <package to install>
y- -S <yaourt package to install>
d- <remove all orphans packages>
m- <update to latest/fastest repo server>

[I hope this rough guide of how I install Arch Linux has been of use – enjoy]

fullscreen

 

Advertisements
Rough guide to installing & configuring Arch Linux – my way.

SSD’s , booting too fast and clamd service fails

a brief post to serve as a reminder to myself in future (and hopfully help out others too)

** Edited on 1st July 2017 , the edit is below the original post, which I have kept intact. I may later repost a fully integrated edit.**

I recently got a second user SSD for what was a great price ( from PCBitz) , so I took time out to reinstall ArchLinux  all went smoothly and eventually I was booting up to my chosen DE (desktop environment) Plasma-Desktop by KDE  and I was booting very quickly

systemd-bootime

which is of course one of the reasons for having a SSD

There was one issue however, one of my services clamd which I use to scan downloads in Firefox with fireclam and email in Thunderbird using clamdrib

ERROR: TCP: getaddrinfo failed: Address family for hostname not supported

leading me to start the service manually at which case it woud work perfectly, this led me to the conclusion that although launching after the network services clamd was completing prior to my router issuing an address to my PC.

(and yes I switched back to Tunderbird after many months of using Evolution.)

quick recap The issue was I was booting too quickly and clamd was starting before the PC had received an address from the router.

the solution , my friend Andy over at andrzejl.eu suggested using chronie to delay the start up of the clamd service , which made sense as follows
andys-clamd-solution

However me being me… looked elsewhere for a solution

systemd ( yes obligatory boo hiss from some quarters) has a delay timer function built in all you need to do is set up a timer value and call for a .timer file instead of a .service file , all it takes is a small change to the .service file and save it as a .timer instead

first thing was to disable the systemd service file

sudo systemctl disable clamd.service

then edit the .service file adding

[Timer]
OnBootSec=10

and as it is launching as a time , ther is no need for the instruction to launch after  the network service so comment out that line

#After=network.target

so that the service file looks like

service.timer

then save as

/usr/lib/systemd/system/clamd.timer

all that is then needed is to enable the timer service , using

sudo systemctl enable clamd.timer

and reboot , on all subequent boots the clamd service is sucessfull as it delays its start by a period of 10 seconds , long after the network has started.

I’m hoping this helps someone somewhere , and shoud it not , try Andy’s solution noted above.

Jase

 

EDIT: (Saturday 1st July 2017) troubleshooting addendum

Everything was working great , then I updated . not sure why but my solution presented started to fail to work.

inorder to get this solution working again I did the following

sudo systemctl disable clamd.timer

sudo mv /usr/lib/systemd/system/clamd.timer /etc/systemd/system/

cd /etc/systemd/system

sudo nano clamd.timer

change OnBootSec=10 to OnActiveSec=10 and uncomment the #After line

so that the .timer file looks like

clamd.timer2

Then enable the timer with

sudo systemctl enable clamd.timer

I wil leave this rather disjointed post as it is , as it may help troubleshoot an issue later on.

Jase

 

 

 

 

 

 

 

 

 

SSD’s , booting too fast and clamd service fails

Gargoyle Router and PIA OpenVPN config

OK, its been quite sometime since by last post, lots has happened in the world , stupid is on the rise , evil continues to try to get in the way of our day today,and everyone seems to want to know what YOU are doing (google, crackers , governments, and others)

One way to mitigate this is to use a VPN service , like PIA (Private Internet Access) and the most useful way to do this is by using a router configured to use the service exclusively.

There are many 3rd party router firmwares , however not all routers are compatible, so do check compatibility if you choose to use DD-Wrt , Advanced Tomato, Tomato – by Shibby, OpenWrt, LEDE or as I have for my TP-Link router Gargoyle.

OK for the most part it is REAL easy to set up Gargoyle-Router as a VPN client. the following assume you have Gargoyle-Router  set up and in use ( my network uses the Gargole-Router as a Subnet to another router that handles the ISP connection) . It also assumes that you have ssh access to the router.

before doing anything with the GUI , first ssh into the router and get to the OpenVPN folder

ssh root@192.168.x.x

root@Gargoyle:~# cd /etc/openvpn

root@Gargoyle:/etc/openvpn#

then use the echo command to create the auth.txt file ( contains username and password) and confirm it using the cat command.

root@Gargoyle:/etc/openvpn#echo “<username>” >> auth.txt

root@Gargoyle:/etc/openvpn#echo “<password>” >> auth.txt

root@Gargoyle:/etc/openvpn#cat auth.txt

<username>

<password>

It then get s little tedious as you also have to have a “cat crl.rsa.XXXX.pem” file, if you know how to use vim, good on you , cuz do not except how to delete lines and then save ( see later)

to set up the .pem file , I used the echo command with the >> switch to add each of the 15 lines individually like

root@Gargoyle:/etc/openvpn#echo “—–BEGIN X509 CRL—–” >> crl.rsa.2048.pem
root@Gargoyle:/etc/openvpn#echo “MIICWDCCAUAwDQYJKoZIhvcNAQENBQAwgegxCzAJBgNVBAYTAlVTMQswCQYDVQQI” >> crl.rsa.2048.pem
root@Gargoyle:/etc/openvpn#echo “HgYDVQQDExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEKRMXUHJpdmF0” >> crl.rsa.2048.pem
root@Gargoyle:/etc/openvpn#echo “each line in turn” >> crl.rsa.2048.pem

ending with:
root@Gargoyle:/etc/openvpn#echo “—–END X509 CRL—–” >> crl.rsa.2048.pem

then confirming it with

root@Gargoyle:/etc/openvpn#cat crl.rsa.2048.pem

now you can ( for a while go to the GUI and log in.

Once logged in, go to Connections >OpenVPN  and select OpenVPN client. then complete all the required boxes.

vpnsetup2

One this is done Save changes, on doing so it will advise that the configuration has been saved but failed to connect (bummer) , at which point go back to your terminal that you ssh’d into the router with.

The reason why it fails is that Gargoyle writes its own OpenVPN configuration , that points to two files that PIA does not use , some will get round this by making phantom config files ( although as the files are keys, and certs) , this does not seem wise to me.

When back at the terminal you can check the gaining config directly by using

root@Gargoyle:/etc/openvpn# openvpn grouter_client_<randonstringybit>.conf

which will confirm the error, to fix it we need to remove two lines from the .conf file, and the only editor onboard is .. vi

The two lines you need to remove are

cert /etc/openvpn/grouter_client_<randonstringybit>.crt
key /etc/openvpn/grouter_client_<randonstringybit>.keyroot

to do this use vi on the config file

root@Gargoyle:/etc/openvpn# vi grouter_client_<randonstringybit>.conf

then move the cursor to the fist line and tap d twice , it wil remove the line , and then repeat again for the second line, after removing both lines press <esc> :wq <enter>.

you can the retry the config manually again

root@Gargoyle:/etc/openvpn# openvpn grouter_client_<randonstringybit>.conf &

which should now get to the initialisation confirmation and start the VPN client.

when you  rebook you shoudl see a confirmation that the VPN is connceted on the login page , and on the Connections > OpenVPN page.

Mine has now been up for about 2 hours without issue, please post back if you have any success with this.

Jase

 

 

 

 

Gargoyle Router and PIA OpenVPN config

Evolution – unified inbox

This is a little bit of a OMG! moment for at least one person that will shit themselves that not only have I written an entry for WordPress , but two in one day ( gotta be the world is ending.. )

As noted before my recent past involved searching for the ideal Email client  and after trying Thunderbird ( great but potentially EOL and was becoming unstable for me ) , I tried (among other solutions) Sylpheed, Claws, Geary, Seamonkey,  the best alternative I found was Mailpile – which was fantastic , however it suffers from “Beta testing syndrome” – it will be ideal once its worked its kinks out , but for now its not for me.

I settled on Evolution as it has a good combination of  functionality and if you have “gnome-control-center” installed , uses Oauth for google accounts, and serves as a client for the google calendars also ( this for me was the selling point).

After setting up my 5 email accounts and messing about with the configuration , I realised it was lacking one vital function for anyone with multiple accounts , a unified inbox , or so I thought..

To configure a unified inbox you have to set up a search folder ( a virtual folder to see various mails within your email accounts that is filtered by rules). a search folder could be set up to see all the emails sent by a particular person over a specific period of time , or all emails that contain a phrase , I think (hope) you get the idea.

To set up a Search folder you need to navigate (within Evolution) to  Edit > Search folders which brings up a box like this ( I already have configured a unified inbox – yours will most likely be blank)

183844_11_10_2016

To set up a new search folder click “Add” which will present you with another box

184256_11_10_2016

It is then a matter to complete a Name for your search folder and use the rules set to narrow down the criteria of what you wish to look at.

I could make you guess what the rules for a unified inbox are , however as I am feeling nice, here you are

181102_11_10_2016

and there you go all sorted .

If you are wondering where your search folder is  in the GUI of Evolution you can arrange its location in Edit > Preferences > Mail Accounts by dragging and dropping it to the top

Hoping this helps someone, somewhere at sometime.

Jase

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Evolution – unified inbox

of Plasma Fails and Gnome madness

First blog post in a LONG time , but I guess that as I am using it now , it must have some use.

This is mainly a reminder to myself so that I can roll back after trying out various applications and desktop environments .

As Thunderbird (email) and Lightning (calendar) were becoming unstable for me ( + the fact that Thunderbirds days are numbered) I decided to look at alternatives .

The native choice on plasma would be  KDE’s Korganizer and Kmail which after trying for a couple of weeks I realised were basically rubbish (oh yes they are!)  as they were unstable and did not theme nicely as the other KDE/Plasma5 applications

after looking at other options I decided to switch to using Evolution as my email and Gnome-Calendar as my… calendar ( yes there are lots of gnome dependencies and you need gnome-control-center too for Oauth2 on gmail accounts) , despite being Gnome apps , Plasma5 themes them nicely and garnishes them with matching window title bars ( and they look more native than Kmail and Korganizer).

This peaked my attention – the fact that Gnome apps were as good as this , so I thought “lets try Gnome”, having been burned in the past ( the fact that EVERY  time I try the Gnome3 DE that I get frustrated as to how user unfriendly it is)

So prior to doing anything else did the following

pacman -Qnq > before.txt

 

Then installed the remaining part of the Gnome3 environment with

sudo pacman -S gnome gnome-tweak-tool

 

which installed the Gnome3 environment, which I really wanted to get configured and even after about  3 hours , was no where near

Once again  Gnome3 proved to be a ghastly experience (for me) , even with the gnome-tweak-tool.

I will say that I like a traditional desktop which Gnome3 most certainly is not.

Having decided to ditch Gnome3 but keep the part of Gnome I was happy with ( Evolution and Gnome-Calendar) I did the following to make a list of the then -installed applications

pacman -Qnq > after.txt

Now all I needed to do extract the differences between before.txt and after.txt to create appstoberemoved.txt

comm -13 <(sort before.txt) <(sort after.txt) > appstoberemoved.txt

and then use pacman to remove them and any other unneeded packages

sudo pacman -Rnu – < appstoberemoved.txt

once completed , I was left as if the installation of  Gnome3 was like a bad dream.

Hope this helps others as it helped me.

Jase

 

 

 

 

 

 

 

 

 

 

of Plasma Fails and Gnome madness

More kmailservice5 misery?

hey all, most recent update for Plasma5 caused kmailservice5 to take over “mailto:” links in konsole (again) I tried my fix as noted here with with no success.

I did not give up, no indeed I was not gonna give up on Plasma5 and run scampering to Gnome3 (ok, so I was tempted for a few seconds , then I remembered my last try of Gnome3)

I eventually located the answer

I edited /usr/share/applications/kmailservice5.desktop

replacing the
Exec=kmailservice5 %u

with

Exec=thunderbird %u

and so that its not over written

chattr +i /usr/share/applications/kmailservice5.desktop

and now mail links work in Konsole.

Hope this helps

More kmailservice5 misery?

Migrating Back to ArchLinux from Parabola

migrate back to archlinux from parabola

OK these are notes (not full instructions) I generated on moving back to Arch from testing out Parabola If you mess your system up using these notes , its your own fault! dont use these and moan, I will laugh at you, you have been warned …

First chain yourself up again

 pacman -R your-freedom 

Disable signature verification manually by modifying the line in /etc/pacman.conf:

 RemoteFileSigLevel = Never 

Grab the arch keyring and mirrorlist packages

pacman -U http://fooo.biz/archlinux/core/os/i686/archlinux-keyring-20151206-1-any.pkg.tar.xz
pacman -U http://fooo.biz/archlinux/core/os/i686/pacman-mirrorlist-20151122-1-any.pkg.tar.xz 

Replace the Parabola mirrorlist

cp /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist

If the installation of the mirrorlist package does not generate a .pacnew you will need to extract the mirrorlist and place it /etc/pacman.d/ dont forget to edit /etc/pacman.d/mirrorlist to activate a mirror.
Remove the Libre repo from /etc/pacman.conf by removing the following two lines

[libre]
Include = /etc/pacman.d/mirrorlist 

re-enable signature verification manually by modifying the line in /etc/pacman.conf:

 RemoteFileSigLevel = Required 

Clear the pacman Cache and force the database update

 
pacman -Scc
pacman -Syy 

remove conflicting firmware (or move them if you prefer)

rm /usr/lib/firmware/htc_7010.fw
rm /usr/lib/firmware/htc_9271.fw

update to arch pacman and update the system to non-libre

pacman -S pacman
pacman -Suu linux linux-firmware firefox thunderbird

before rebooting update your bootloader remove /boot/syslinux/syslinux.cfg

rm /boot/syslinux/syslinux.cfg
pacman -S syslinux
syslinux-install_update -iam 

reboot use pacman to identify non archlinux packages for removal

 pacman -Qem 

remove packages using pacman -R

Migrating Back to ArchLinux from Parabola