Linux Mint - Installatie zomer 2020
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.
Zie Linux Mint - Installatie herfst 2020 voor een nieuwere installatie.
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
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
- Nog altijd nodig
- Zie Lettertypes (Linux) en script onderaan dit artikel.
Aantal workspaces aanpassen naar 2
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 update -y sudo apt upgrade -y ################################################################################## # 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! # #