Ubuntu arm 20.04

De Banane Atomic
Aller à la navigationAller à la recherche

Links

Useful commande lignes

Bash.svg
# updates
adg  # sudo apt update && sudo apt upgrade
sudo snap refresh

sudo reboot
sudo poweroff

APT (Advanced Package Tool)

zsh - oh my zsh

Bash.svg
# install zsh
apt install zsh zsh-syntax-highlighting
# zsh install zsh-common

# install oh-my-zsh and set zsh as default shell for the current user
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
~/.zshrc
plugins=(
    alias-finder
    colored-man-pages
    common-aliases
    copybuffer
    debian
    extract
    fd
    git
    ripgrep
    sudo
    systemd
    wd)

# don't store in history commands prefixed with a space (test with: history | tail)
setopt HIST_IGNORE_SPACE

# add hostname to PROMPT only for ssh connection
if [[ -n $SSH_CONNECTION ]]; then
    PROMPT="%m ${PROMPT}"
fi

# must be loaded last
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

netplan

/etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      # addresses: [192.168.0.x/24]
      # gateway4: 192.168.0.y
      nameservers:
        addresses: [192.168.0.x, 192.168.0.y]  # set multiple DNS servers
Bash.svg
# test the configuration, the configuration is applied for 120 seconds then reverted
sudo netplan try

# apply changes
sudo netplan apply
# creates the file /run/systemd/network/10-netplan-eth0.network

# check the DNS servers
systemd-resolve --status | grep 'DNS Servers' -A2

# display current DHCP lease
netplan ip leases [interface]

# debugging the generation of the file /run/systemd/network/10-netplan-eth0.network
sudo netplan --debug generate

UFW configuration

Bash.svg
sudo ufw allow OpenSSH       # port 22
sudo ufw allow 'Nginx Full'  # port 80 443
sudo ufw allow DNS           # port 53 (dnsmasq)

PHP 8+

Bash.svg
sudo add-apt-repository ppa:ondrej/php

sudo add-apt-repository ppa:ondrej/nginx-mainline  # new features, updates, bugfixes
sudo add-apt-repository ppa:ondrej/nginx           # no new features, major bugfixes only, annual release
sudo add-apt-repository ppa:ondrej/apache2

uWSGI

Doesn't seem to work with PHP 8.2 and Ubuntu 20.04
With Ubuntu 20.04, ondrej ppa and PHP 8.2 installed, the following dependencies are wrongly installed:
php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-phpdbg php7.4-readline
 !!! UNABLE to load uWSGI plugin: libphp7.so: cannot open shared object file: No such file or directory !!!
Bash.svg
# better use --plugin option instead of the following workaround
sudo ln -s /usr/lib/libphp8.so /usr/lib/libphp7.so

MariaDB

Bash.svg
ai mariadb-server

# connection with unix_socket
sudo mariadb

PostgreSQL 15+

Bash.svg
# add the postgre official package repository
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# import the GPG signing key for the repository
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null

# install specifically the version 15 instead of the meta-package postgresql to avoid unwanted upgrade
ai postgresql-15

Applications

Name Version Comment
btop 1.2.13 resource monitor (snap)
MariaDB 10.3.38
NGINX 1.24 use ondrej ppa (native 1.22)
PHP 8.2.8 use ondrej ppa (native 7.4.3)

Shell tools

Name Description
bat A cat clone with syntax highlighting and Git integration. batcat
du-dust more intuitive du unable to install
exa modern replacement for ls unable to install
fd-find file name search tool
ripgrep file content search tool
tldr simplified and community-driven man pages
trash-cli command line trash