Liens
Commandes
|
# mise à jour
adg
sudo apt-get update && sudo apt-get upgrade
# reboot
reboot
# shutdown
poweroff
|
|
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1
# installe les dépendances suivantes
# aspnetcore-runtime-2.1 dotnet-host dotnet-hostfxr-2.1 dotnet-runtime-2.1 dotnet-runtime-deps-2.1 dotnet-sdk-2.1
# liblttng-ust-ctl2 liblttng-ust0 liburcu4
|
|
# installation
sudo apt install nginx
# serveur nginx
systemctl status nginx
# recharger la configuration sans dropper les connexions
sudo systemctl reload nginx
|
|
nginx user: www-data |
|
# activer le fichier de configuration
sudo ln -s /etc/nginx/sites-available/mydotnetcoresite.conf /etc/nginx/sites-enabled/mydotnetcoresite.conf
|
|
apt install php-fpm
# installe php-common php-fpm php7.0-cli php7.0-common php7.0-fpm php7.0-json php7.0-opcache php7.0-readline
# service
systemctl status php7.0-fpm
|
/etc/php/7.0/fpm/php.ini
|
; ne pas autoriser la correction des chemins vers les fichiers php s'ils sont incorrects
cgi.fix_pathinfo=0
|
/etc/nginx/sites-available/my-site.conf
|
server {
listen 80;
server_name my-site;
root /srv/my-site;
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
|
|
L'utilisateur root utilise par défaut l'authentification unix_socket.
Il faut donc utiliser sudo pour se connecter avec root et non pas le mdp. |
|
sudo apt install mariadb-server
# définit le mot de passe root et configure mysql
sudo mysql_secure_installation
# connexion avec root après l'installation
sudo mysql
# créer un autre compte super user
create user 'mon_compte'@'localhost' identified with 'unix_socket';
grant all on *.* to 'mon_compte'@'localhost';
flush privileges;
# créer un compte system
create user 'dotnet'@'localhost' identified by 'my_password';
grant all on *.* to 'dotnet'@'localhost';
flush privileges;
# connexion avec un autre user
mysql -u <my_user> -p
systemctl status mysql
|
|
# modifier l'utilisateur root pour qu'il s'authentifie avec un mdp
alter user 'root'@'localhost' identified with 'mysql_native_password';
#alter user 'root'@'localhost' identified with mysql_native_password BY 'xxx';
flush privileges;
|
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Se connecter à mysql avec sudo
Utilisation
|
# Connexion locale, si le password n'est pas spécifé il est demandé
sqlcmd -S localhost -U sa -P '<YourPassword>'
# pour une connexion distante, remplacer localhost par l'ip. Le port 1433 sera utilisé.
|
|
-- The login is a server-level principle.
create login <login_name> with password = '<enterStrongPasswordHere>';
go
use MyDatabase;
go
-- The user is a database-level principal.
create user <login_name>;
go
|
Installation du serveur
|
# Import the public repository GPG keys
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
# vérifier
apt-key list
# Register the Microsoft SQL Server Ubuntu repository
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
# add-apt-repository: command not found
sudo apt install software-properties-common
# vérifier
grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/*
# installation
sudo apt update
sudo apt install -y mssql-server
# configuration
sudo /opt/mssql/bin/mssql-conf setup
# choix de l'édition de SQL Server (Developer, Express, Web, Standard, Enterprise)
# SQL Server system administrator password
# vérifier que le service est bien démarré
systemctl status mssql-server
|
Installation de SQL Server command-line tools: sqlcmd and bcp
|
# Import the public repository GPG keys
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
# Register the Microsoft Ubuntu repository
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
# installation
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
# Add /opt/mssql-tools/bin/ to your PATH environment variable in a bash shell.
|
GUI
|
# Pour Ubuntu: télécharger le fichier *.deb
sudo dpkg -i azuredatastudio-linux-<version string>.deb
# lancement de l'application
azuredatastudio
|
- Thème dark: File → Preferences → Color Theme → Dark Azure Data Studio (default dark)
- Restaurer un backup: clique-droit sur une connection → Manage → remonter au serveur → Restore
- Extensions: View → Extensions
- Installer un fichier *.vsix: Ctrl + Shift + P → Extensions: Install from VSIX
|
"poorSql.trailingCommas": true,
"poorSql.expandCommaLists": false
|
|
# Backup
sqlcmd -S localhost -U MyUser -Q "BACKUP DATABASE [MyDb] TO DISK = N'/var/opt/mssql/data/MyDb.bak' WITH NOFORMAT, NOINIT, NAME = 'MyDb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
# -P password, sinon le mot de passe est demandé
# le dossier choisit doit être accessible en écriture pour l'utilisateur mssql
# Restore
sqlcmd -S localhost -U MyUser -Q "RESTORE DATABASE [MyDb] FROM DISK = N'/var/opt/mssql/data/MyDb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"
# le fichier de backup doit être accessible en lecture pour l'utilisateur mssql
|
SSH
openssh est déjà installé et démarré.
Pour se logguer avec root:
/etc/ssh/sshd_config
|
PermitRootLogin yes
|
|
# activer le compte root pour le terminal
sudo –i passwd root
# déverrouille le compte et définit un mot de passe
# redémarrer ssh
sudo systemctl restart sshd
|
/etc/netplan/50-cloud-init.yaml
|
network:
version: 2
ethernets:
eno1:
# DHCP
addresses: []
dhcp4: yes
# IP fixe
addresses: [192.168.0.1/24]
gateway4: 192.168.0.254
nameservers:
search: [local, home] # DNS search domain (noms associés à l'ip locale)
addresses: [8.8.8.8, 8.8.7.7]
# WOL
match:
macaddress: xx:xx:xx:xx:xx:xx
wakeonlan: true
optional: true # ne pas attendre que le réseau soit prêt lors du boot
|
|
# tester la syntaxe
netplan try
netplan generate
netplan apply
# créé les fichiers /run/systemd/network/10-netplan-eno1.link et /run/systemd/network/10-netplan-eno1.network
# vérifier la configuration en cour
netplan ip leases [interface]
|
can't get wake-on-lan to work with netplan config file
|
# tester si wol est activé
# installer ethtool: apt install ethtool
# lister les interfaces: ls /sys/class/net
sudo ethtool [interface]
# Supports Wake-on: pumbg
# Wake-on: d (disabled)
|
Utiliser netplan pour activer wol au démarrage.
|
# installation
sudo apt install samba
# vérifier l'installation
whereis samba
# samba: /usr/sbin/samba /usr/lib/x86_64-linux-gnu/samba /etc/samba /usr/share/samba ...
sudo systemctl restart smbd
|
Configurer Samba
Chemin d'accès \\host\myshare
|
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn
# erreur trying to overwrite '/usr/bin/yarn', which is also in package cmdtest 0.32-1
sudo apt remove cmdtest
|
|
apt install zsh zsh-syntax-highlighting
# install oh-my-zsh et change de shell
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
|
~/.zshrc
|
# zsh-syntax-highlighting, doit être sourcé en dernier
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
# installation: télécharger le fichier *.deb
sudo dpkg -i ripgrep_0.8.1_amd64.deb
|
Mediawiki
|
wget https://releases.wikimedia.org/mediawiki/1.32/mediawiki-1.32.0.tar.gz
tar xf mediawiki-1.32.0.tar.gz
sudo mv mediawiki-1.32.0 /srv/www/mediawiki
|
Il est désactivé et vérouillé par défaut: pas de connexion possible avec root.
|
sudo grep root /etc/passwd
# root:x:0:0:root:/root:/bin/bash
# “x” représente un mot de passe vide. Le compte est désactivé.
sudo grep root /etc/shadow
# root:!$6$x...:17654:0:99999:7:::
# “!” représente un mot de passe verrouillé. Le compte est verrouillé.
# root:*:17647:0:99999:7:::
# “*” signifie qu'aucun mot de passe n'a été définit.
# connexion ponctuelle au compte root
sudo -i
# activer le compte root pour le terminal
sudo -i passwd root
# déverrouille le compte et définit un mot de passe
# désactiver le compte root pour le terminal
sudo passwd -dl root
# verrouille le compte et définit un mot de passe vide
|
|
apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
|
iptables
|
# par défaut seul le journal courant est sauvegardé
journalctl -b -1
# Specifying boot ID has no effect, no persistent journal was found
|
/etc/systemd/journald.conf
|
[Journal]
Storage=persistent
SystemMaxUse=100M
RuntimeMaxUse=100M
|
|
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
# ajoute l'utilisateur courant au groupe docker, permet d'utiliser docker sans sudo
sudo gpasswd -a $USER docker
# Anyone added to the docker group is root equivalent
|
|
docker create --name=kodi-headless \
-v $HOME/.config/kodi:/config/.kodi \
-e PGID=1000 -e PUID=1000 \
-e TZ=Europe/Paris \
-p 8080:8080 \
-p 9090:9090 \
-p 9777:9777/udp \
linuxserver/kodi-headless
|
Installation
|
# ajouter un compte
sudo useradd -m -G users,sudo <username>
|
Erreurs
Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
|
sudo umount /dev/sda1
sudo fsck /dev/sda1
|