Linux Mint - Installatie zomer 2020

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Eind juni 2020 heb ik de op dat moment nieuwe Linux Mint 20 geïnstalleerd op een SSD die ik een paar maanden daarvoor om zeep had geholpen. Dit betreft m'n laptop Dell2016. Betreffende distributie: Linux Mint 20 "Ulyana", gebaseerd op Ubuntu 20.04 LTS "Focal Fossa".

Snel effe Linux op een computer zetten, kan ik tien minuten gepiept zijn. Maar om een installatie compleet te configureren, kosten dagen. Zelfs een maand later kom ik nog tekortkomingen tegen. Hopelijk gaat dat volgende keer sneller dankzij dit artikel.

Nvidia Videokaart

Dit is niet de eerste keer dat ik deze laptop herinstalleer. Elke keer heb ik moeite om daarbij video goed aan de praat te krijgen. Deze laptop heeft twee "video-devices": De gebruikelijke onboard video, plus een aparte 'losse kaart'. Erger nog: Afhankelijk van de batterijtoestand (of zoiets), kan-ie wisselen van kaart. Die functie heb ik uitgezet in het BIOS (Disable optimus, BIOS, F12) , omdat ik las dat Linux daar niet goed mee overweg kan. [1]. Ik gebruik dus altijd de losse kaart:

Verkorte ID:

nVidia GF108GLM [NVS 5200M]

Output lspci -v:

VGA compatible controller: NVIDIA Corporation GF108GLM [NVS 5200M] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Dell GF108GLM [NVS 5200M]
Flags: bus master, fast devsel, latency 0, IRQ 34
Memory at f5000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
[virtual] Expansion ROM at f6000000 [disabled] [size=512K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_367, nvidia_367_drm

Oude situatie

Administration » Driver manager: Driver grafische kaart. Bij een eerder poging om deze laptop opnieuw te installeren, kreeg ik ellende toen ik deze driver probeerde te installeren. Blijkbaar ging het in het verleden wel goed
Administration » NVIDIA X SERVER SETTINGS: Blijkbaar kreeg ik dit schreeuwige gedrocht erbij. Staat me niet bij dat ik er iets mee gedaan heb. Belangrijker: De grafische kaart en/of driver is prut: Ik kan zelfs geen video's op volle schermgrootte bekijken vanwege de lage refresh-rate

Bronnen

SSD formatteren

  • Bij een eerdere installatiepoging kreeg ik elke keer bij opstarten van de computer een foutmelding tav. een foutieve partitie, waarna de laptop alsnog correct opstartte
  • Daarom eerst met SystemRescueCD de SSD onder handen genomen: Met GParted de partities verwijderd, en een nieuwe GPT geschreven. Daarmee was het probleem verdwenen
  • Volgende keer: Zie Harde schijf in gebruik nemen (Linux) - Ik weet nu iets beter wat de beste aanpak is om een schijf naar je hand te zetten.

Installatie Linux Mint

De eigenlijke installatie stelt bar weinig voor:

  • Taal: Engels
  • Toetsenbord: met euro op '5'
  • Inclusief proprietaire codecs.

Configuratie systeemonderdelen

Het eigenlijke werk zit 'm in de configuratie. Dit hoofdstuk betreft de configuratie van systeemonderdelen. Dus onderdelen van Linux. Configuratie van gedownloade programma's, vind je in het script hieronder

System Reports & video-driver

System Reports is een icoon in de tray. Deze zeget dat er oa. een betere driver zou zijn voor m'n NVidia GF108GLM [NVS 5200M]-grafische kaart. Dat blijkt niet het geval te zijn: De standaard Nouveau-driver lijkt voor mij beter te werken dan de propriëtaire driver. Sterker nog: Ik heb de propriëtaire driver gebruikt, en het eindresultaat was, dat ik Linux Mint opnieuw heb geïnstalleerd.

Toetsenbord: Diacritische tekens

Preferences » Keyboard » Layouts » Options » Position of Compose key: Rechter-Alt-toets

Toetsenbord: Toetscombinaties

Zie Toetscombinaties (Linux Mint).

Nemo

Nemo is het Linux Mint-broertje van Nautilus:

  • Default view: Compact view
  • Compact view defaults: Default zoom level: 66%

Tijdsaanduiding system tray aanpassen

Inclusief weeknummers & secondes. Zie Linux Calendar.

Tijdsaanduiding screensaver aanpassen

Settings » Screensaver + Linux Calendar.

.ssh-map overnemen

Zodat ik op m'n servers kan.

/etc/hosts aanpassen

Daar heb ik de namen van m'n servers nodig. Anders werken dingen zoals scp -r srv1:/var/www/example.com/* . niet! Dat heeft namelijk niets met de aliassen in .bashrc te maken.

Georgia en andere lettertypes installeren

Aantal workspaces aanpassen naar 2

Zie Workspaces (Linux Mint).

Toevoegingen .bashrc overnemen

Artistieke impressie (juli 2020):

####################################################################################
# Path
####################################################################################
#
# Include own scripts
#
PATH=$PATH:/home/jeroen/Dropbox/Scripts:/opt


####################################################################################
# Aliasses
####################################################################################
#
#
# Apache
####################################
#
alias a2dis="sudo a2dissite"
alias a2en="sudo a2ensite"
alias a2re="sudo service apache2 reload"
alias a2s="apachectl -S"


# Servers
####################################
#
alias dvb1="ssh 12.34.167.62"
alias dvb2="ssh 12.34.167.63"
alias dvb3="ssh 12.34.167.64"
alias dvb4="ssh 12.34.167.65"


# Python - Juli 2020
####################################
#
alias p3="python3"
alias p3i="python3 -i"


# Bash
####################################
#
alias pss="ps -aux"
alias scripts="cd /home/jeroen/Dropbox/Scripts"
alias www="cd /var/www"
alias wwwls="ls /var/www"


# Virtual hosts
####################################
#
alias example="cd /var/www/example.com"

Eigen scripts overnemen

M'n eigen scripts bewaar ik in Dropbox/Scripts, dus die komen haast vanzelf wel over. Zie hieronder voor aanpassingen $PATH-variabelen.

$PATH aanpassen

Er zijn drie plekken om $PATH aan te passen

  • Voor mezelf in .bashrc
  • Voor sudo in sudo visudo
  • Voor su in /etc/environment - Heb ik deze keer niet gedaan. Ik betwijfel of ik het nodig heb.

Dit zijn de dingen om te incorporeren in $PATH:

  • Locatie eigen scripts (Dropbox/Scripts)
  • Locatie 'handmatig geïnstalleerde software' (/opt).

Zie ook

Prompt aanpassen

Die prompt wordt mij al snel te lang. Dat kun je aanpassen (in .bashrc) middels PS1='\u:\W\$ '. Of zie Prompt voor meer.

Installatie software

Zie script onderaan dit artikel.

Deïnstallatie software

Dat heb ik nog niet eerder gehad, geloof ik: Rhythmbox zit VLC in de weg. Zie script onderaan dit artikel.

Configuratie software

Albert

Zie Albert (Quickstarter, Linux).

Chrome

De laatste jaren heb ik drie profielen in Chrome. Vergeet niet om de bookmarks uit die twee additionele profielen mee te nemen.

Dropbox

Na installatie, start Dropbox vanaf Bash en verifiëer of je de oplossing uit dit artikel nodig hebt.

Firefox

De laatste jaren gebruik ik bijna geen Firefox meer, omdat Chrome een paar grote voordelen heeft. Desalniettemin;

General

  • Check your spelling as you type - Uitzetten
  • Downloads: Always ask you where to save files

Home

  • Homepage and new windows - Blanc page
  • New tabs - Blanc page

Search

  • DuckDuckGo als standaard instellen - Google toevoegen vind ik te veel werk

LibreOffice

  • Installeer eigen sjablonen in Dropbox/Overhead
  • Options » Paths: Pas My Documents aan naar m'n Dropbox-map.

Thunderbird

Preferences:

  • General:
    • Show an alert: Uitzetten
    • Play a sound: Uitzetten
  • Display:
    • Default font: Georgia 16
    • Composition: Confirm when using keyboard shortcut to send messag: Uitzetten
    • Composition: Font: Georgia Large - Eindelijk!
  • Start in offline-modus

En uiteraard email-accounts & handtekeningen configureren.

Configuratie LAMP-server

MySQL

De installatie stelt weinig voor. De configuratie is interessanter:

  • Gebruikersaccount aanmaken. Ivm. een vermoedelijke bug, gebruik ik hier niet meer het root-account voor, maar een persoonlijk account met vergelijkbare rechten
  • Configuratiebestand .my.cnf aanmaken met persoonlijke instellingen
  • Configuratiebestand /etc/mysql/my.cnf aanmaken met systeembrede instellingen.

Voor details, zie:

Apache

Configuratie van Apache stelt niet zo veel voor.

/etc/apache2/apache2.conf

Ik denk dat er maar één relevante toevoeging voor /etc/apache2/apache2.conf is:

###########################################################################################
# Strompf
###########################################################################################
#
#
# ServerName
################################
#
ServerName localhost

Modules

Dit zijn de modules die standaard geladen worden:

Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php7_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)

Hier ontbreekt in ieder geval de module rewrite. Verder suggereert Installatie webserver daarnaast om de module mpm_prefork aan te zetten, en om de module mpm_event uit te zetten. Die laatste twee dingen heb ik niet gedaan. Dus alleen sudo a2enmod rewrite (ook opgenomen in script onderaan dit artikel).

Test

Ik heb een virtuele host aangemaakt (met m'n gebruikelijke script) met daarin een bestand dat phpinfo() aanroept. Dan merk je snel genoeg of-ie 't doet - Gelukt!

PHP

Rondom PHP lijkt de situatie andersom te zijn van wat-ie doorgaans is: Geen configuratie, maar wel flink wat installatie-handelingen. Wat ik heb geïnstalleerd (ook opgenomen in script onderaan dit pagina):

sudo apt install php
sudo apt install libapache2-mod-php
sudo apt install php-mysql
sudo apt install php-curl
sudo apt install php-xml
sudo apt install php-gd
sudo apt install php-mbstring

Wat ik terugvond op een redelijk recent geïnstalleerde webserver (was een beetje een Frankenstein-installatie ivm. verschillende PHP-versies):

dpkg --get-selections | grep php

libapache2-mod-php
libapache2-mod-php7.2
php		
php-common	
php-curl	
php-gd		
php-mbstring	
php-mysql	
php-xml		
php7.2		
php7.2-cli	
php7.2-common	
php7.2-curl	
php7.2-gd	
php7.2-json	
php7.2-mbstring	
php7.2-mysql	
php7.2-opcache	
php7.2-readline	
php7.2-xml

Op een oude PHP 5-webserver werd dit het lijstje:

libapache2-mod-php5.6
php-common
php5.6
php5.6-cli
php5.6-common
php5.6-curl
php5.6-gd
php5.6-json
php5.6-mbstring
php5.6-mysql
php5.6-opcache
php5.6-readline
php5.6-xml

Rechten & groepen

In met 2020 dacht ik eindelijk de Ultieme oplossing te hebben gevonden tav. inrichten rechten bestanden en mappen. Al snel bleek dit niet de perfecte oplossing te zijn, maar ik handhaaf 'm wel voor dit moment:

sudo groupadd www-admin
sudo usermod -a -G www-admin strompf

WP-CLI

Script

Zie Linux Mint - Installatie (2012-2018) voor een oudere versie van dit script. Het script hieronder bevat alleen onderdelen waarvan ik zeker weet dat ik ze nodig heb, in de voor mij handigste volgorde.

#!/bin/sh
#
##################################################################################
# Installatie bijwerken
##################################################################################
#
sudo apt -y update
sudo apt -y upgrade


##################################################################################
# Rhythmbox verwijderen
##################################################################################
#
sudo apt remove rhythmbox
sudo apt remove rhythmbox-data


##################################################################################
# Albert (quick launcher)
##################################################################################
#
# * This is the official way to install Alberton Linux Mint 20:
#   https://albertlauncher.github.io/docs/installing. It assures that Albert gets
#   updated through the usual apt-get routine
# * After installation, some configuration is required, starting with setting a
#   keyboard shortcut (I use Ctrl-Space)
#
# curl https://build.opensuse.org/projects/home:manuelschneid3r/public_key | sudo apt-key add -
# echo 'deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:manuelschneid3r.list
# sudo wget -nv https://download.opensuse.org/repositories/home:manuelschneid3r/xUbuntu_20.04/Release.key -O "/etc/apt/trusted.gpg.d/home:manuelschneid3r.asc"
# sudo apt update
# sudo apt install albert


##################################################################################
# Chrome
##################################################################################
#
# Download & install the .deb-package manually


##################################################################################
# Dropbox
##################################################################################
#
# * Install Dropbox as early as possible, as synchronisation easily takes several
#   days
# * Install through the command below
# * Subsequently, execute from start menu (or however you want to do this)
#
sudo apt install -y dropbox


##################################################################################
# Other - Alphabetically
##################################################################################
#
# Audacity
##########################################
#
# sudo apt install audacity


# Gimp
##########################################
#
# sudo apt install gimp


# mmv
##########################################
#
# sudo apt install mmv


# Mogrify - Part of Imagemagick
##########################################
#
# sudo apt install imagemagick


# OpenSSH
##########################################
#
# sudo apt install -y ssh


# Skype
##########################################
#
# Download & install .deb package manually


# Sublime Text
##########################################
#
# sudo apt install sublime-text


# ttf-mscorefonts
##########################################
#
# * Still needed. E.g., for Georgia
# * See http://wiki.devliegendebrigade.nl/Lettertypes_(Linux)#Installeer_Microsoft-lettertypes.3F
#   for details
#
# Alternative code:
#
# sudo add-apt-repository multiverse
# sudo apt update
# sudo apt install --reinstall ttf-mscorefonts-installer
#
#
# Default code:
#
# sudo apt install ttf-mscorefonts-installer


# vim
##########################################
#
# sudo apt install -y vim


# Zoom
##########################################
#
# Download & executeer .deb-bestand van https://zoom.us/download?os=linux


##################################################################################
# LAMP
##################################################################################
#
# My laptop is a full-fledged LAMP development stack.
#
#
# Software installation
########################################
#
# MySQL Workbench: Install manually from https://dev.mysql.com/downloads/file/?id=494867
#
# sudo apt install apache2
# sudo apt install mysql-server
# sudo apt install php
# sudo apt install libapache2-mod-php
# sudo apt install php-mysql
# sudo apt install php-curl
# sudo apt install php-xml
# sudo apt install php-gd
# sudo apt install php-mbstring
# sudo apt install lynx
#
#
# Apache modules
########################################
#
# Source: http://wiki.devliegendebrigade.nl/Installatie_webserver
#
# sudo a2dismod mpm_event    # Nodig?
# sudo a2enmod mpm_prefork   # Nodig?
# sudo a2enmod rewrite       # Nodig!
#
#

Zie ook