347 lines
7.5 KiB
Markdown
347 lines
7.5 KiB
Markdown
Linux
|
|
|
|
## comands
|
|
|
|
```bash
|
|
|
|
# OS information
|
|
hostnamectl
|
|
|
|
#get hostname
|
|
hostname
|
|
|
|
#system update
|
|
|
|
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
|
|
```
|
|
|
|
## Users
|
|
|
|
```bash
|
|
#create
|
|
useradd USERNAME
|
|
#remove
|
|
userdel USERNAME
|
|
#useradd -r USERNAME
|
|
passwd
|
|
passwd USERNAME
|
|
groups
|
|
groupadd GROUPNAME
|
|
groups USERNAME
|
|
usermod -a -G GROUPNAME USERNAME
|
|
|
|
chown [-c|--changes] [-v|--verbose] [-f|--silent|--quiet] [--dereference]
|
|
[-h|--no-dereference] [--preserve-root]
|
|
[--from=currentowner:currentgroup] [--no-preserve-root]
|
|
[-R|--recursive] [--preserve-root] [-H] [-L] [-P]
|
|
{new-owner|--reference=ref-file} file ...
|
|
```
|
|
## hostame
|
|
```
|
|
sudo nano /etc/hostname
|
|
#alterar o nome
|
|
sudo nano /etc/hosts
|
|
#alterar o nome
|
|
Static IP
|
|
A configuração para um ip estático poderá ser um pouco diferente de destribuição para distribuição mas a lógica é similar
|
|
```
|
|
|
|
## static ip
|
|
|
|
Debian
|
|
sudo nano /etc/network/interfaces
|
|
Exemplo de configuração
|
|
```
|
|
# neste exemplo de configuração a place de rede tem o nome enxd0374555c1f8
|
|
|
|
# This file describes the network interfaces available on your system
|
|
# and how to activate them. For more information, see interfaces(5).
|
|
|
|
source /etc/network/interfaces.d/*
|
|
|
|
# The loopback network interface
|
|
auto lo
|
|
iface lo inet loopback
|
|
|
|
# The primary network interface
|
|
|
|
allow-hotplug enxd0374555c1f8
|
|
iface enxd0374555c1f8 inet static
|
|
address 192.168.0.2
|
|
netmask 255.255.255.0
|
|
gateway 192.168.0.1
|
|
dns-nameservers 89.207.128.252 89.207.130.252
|
|
Reiniciar configuração sem reboot de computador
|
|
```
|
|
```
|
|
Reiniciar configuração sem reboot de computador
|
|
#sudo /etc/init.d/networking restart
|
|
```
|
|
|
|
## Disks
|
|
|
|
File System & Space Usage
|
|
|
|
```
|
|
df -h
|
|
```
|
|
|
|
```
|
|
|
|
#Listar discos e partições
|
|
lsblk
|
|
#Gestão de partições
|
|
sudo fdisk /dev/NOMEDISCO(resultado do lsblk)
|
|
|
|
#Exemplo:
|
|
|
|
sudo fdisk /dev/sdc
|
|
#e seguir o wizard
|
|
|
|
#Partições como mais de 2 TB
|
|
sudo parted /dev/sdc
|
|
#(parted) mklabel gpt
|
|
#alterar para a unidade de medida que desejar
|
|
#(parted) unit TB
|
|
#ver espaço livre
|
|
(parted) print free
|
|
#criar partição com espaço livre (exemplo:4 Teras)
|
|
mkpart primary ext4 0 4
|
|
#Formatar uma partição
|
|
#Ext4
|
|
mkfs.ext4 /dev/sdb1
|
|
#Ext3
|
|
mkfs.ext3 /dev/sdb1
|
|
#exFat
|
|
sudo mkfs.exfat /dev/sdc1
|
|
#NTFS
|
|
sudo apt-get install ntfs-3g
|
|
sudo mkntfs --fast --label Backups /dev/sdc1
|
|
#Visualizar ids de partição
|
|
blkid /dev/sdc1
|
|
#Mount de discos no arranque
|
|
sudo nano /etc/fstab
|
|
#adicionar/editar linha como pretendido
|
|
PARTUUID=PARTUUIDQueBlkidDevolveu DirectorioOndeMontar ext4 defaults,nofail 0 02
|
|
#mount de tudo o que está no fstab mas não esteja ainda montado (util para testar o fstab sem reboot)
|
|
|
|
mount -a
|
|
```
|
|
|
|
|
|
## Manutenção de discos
|
|
|
|
Bad Sectors
|
|
sudo e2fsck -cfpv /dev/sda1
|
|
O Exemplo foi com o disco sda1 mas deverá ser subsituido pelo disco desejado
|
|
|
|
Os parâmetros têm os seguintes significados:
|
|
|
|
“c” procura por blocos defeituosos e os adiciona à lista
|
|
|
|
“f” força uma verificação no sistema de arquivos
|
|
|
|
“p” repara qualquer coisa que possa ser reparada com segurança
|
|
|
|
“v” está no modo detalhado. você pode ver o progresso do comando
|
|
|
|
Esse comando pode levar muito tempo para ser executado, até várias horas em uma unidade particularmente grande.
|
|
|
|
## tar
|
|
|
|
A utilização o comando tar é uma das formas de comprimir no linux
|
|
```
|
|
tar -cvf --exclude='.cache' --exclude='Cache' --exclude='.cache' --exclude='.tmp' --exclude='tmp' /tmp/nomedoficheiro.tar.gz /PATHPARAFICEHIROOUDIRECTORIO
|
|
|
|
#Caso seja necessário paralelismo
|
|
tar -I pigz -cvf - /fileserver/media/music/*
|
|
|
|
#Se for necessário limitar o tamanho do ficheiro compresso (dividindo em multiplos ficheiros)
|
|
tar -I pigz -cvf - /sourcefolder/* | split --bytes=8GB - /tmp/file.tar.gz
|
|
```
|
|
|
|
## SSH
|
|
para executar comandos por ssh que usem o display do servidor, começar por executar:
|
|
|
|
export DISPLAY=:0
|
|
screen
|
|
Para mais informações como manter o comando a executar mesmo que termine a sessão de ssh consultar:Screen
|
|
|
|
sem password
|
|
criar chaves (publica e privada) no cliente
|
|
```
|
|
ssh-keygen -t ecdsa -b 521
|
|
Se for necessário controlar o nome do ficheiro
|
|
|
|
#substituir ~/.ssh/id_ecdsa/mf-key-ecdsa com o path de destino e o nome pretendido
|
|
# o directório tem que existir, por isso se não existir:
|
|
# mkdir ~/ssh/id_ecdsa
|
|
ssh-keygen -t ecdsa -b 521 -f ~/.ssh/mf-key-ecdsa
|
|
copiar a chave para o servidor
|
|
|
|
ssh-copy-id -i ~/.ssh//mf-key-ecdsa.pub example_user@192.0.2.4
|
|
testar o ssh para ver se funcionou (ou seja não pede a password)
|
|
|
|
ssh example_user@192.0.2.4
|
|
se pedir a password e indicar algo semelhante a It is required that your private key files are NOT accessible by others. será necessario rever as permissões do ficheiro indicado na informação Exemplo:
|
|
|
|
chmod g-rwx,o-rwx ~/.ssh/mf-key-ecdsa
|
|
Para adicionar o chave existente no ssh-agent (só necessario se a chave privada for copiada de outro sitio)
|
|
```
|
|
|
|
eval `ssh-agent`
|
|
ssh-add pathenomedoficheiro
|
|
|
|
Caso o servidor de SSH seja em windows e necessario alterara segraunça do authorized_keys
|
|
|
|
get-acl c:\ProgramData\ssh\ssh_host_dsa_key | set-acl C:\Users\[username]\.ssh\authorized_keys
|
|
|
|
|
|
|
|
|
|
## Benchmarking
|
|
Discos
|
|
sudo apt install hdparm
|
|
sudo hdparm -Tt /dev/sdc
|
|
|
|
|
|
## themes
|
|
- https://github.com/EliverLara/Nordic
|
|
|
|
### shell
|
|
|
|
- zsh
|
|
|
|
``` bash
|
|
sudo apt install zsh
|
|
chsh -s /bin/zsh $whoami
|
|
sudo apt-get install fonts-powerline
|
|
|
|
#source https://ohmyz.sh/#install
|
|
ssh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
|
|
|
#~/home/.zshrc
|
|
#ZSH_THEME="agnoster"
|
|
|
|
```
|
|
### terminal
|
|
|
|
|
|
- guake
|
|
|
|
``` bash
|
|
apt install guake
|
|
```
|
|
|
|
``` bash
|
|
# ~/.config/autostart/guake.desktop
|
|
[Desktop Entry]
|
|
Name=guake
|
|
GenericName=guake auto start
|
|
Comment=
|
|
Exec=guake --hide
|
|
Terminal=false
|
|
Type=Application
|
|
X-GNOME-Autostart-enabled=true
|
|
```
|
|
|
|
- terminator
|
|
|
|
``` bash
|
|
apt install terminator
|
|
```
|
|
|
|
|
|
## Backups
|
|
|
|
``` bash
|
|
tar -cvpzf "/vault/.backups/devices/homeserver/tar/backup_$(date +"%Y%m%d%H%M%S").tar.gz \
|
|
--exclude=/proc \
|
|
--exclude=/tmp \
|
|
--exclude=/mnt \
|
|
--exclude=/dev \
|
|
--exclude=/sys \
|
|
--exclude=/run \
|
|
--exclude=/media \
|
|
--one-file-system \
|
|
/
|
|
```
|
|
|
|
``` bash
|
|
|
|
#!/bin/bash
|
|
gio mount ftp://ftp.backups@backupsrv01.dev.lan < ~/.credentials/ftp.backups@backupsrv01.dev.lan
|
|
|
|
DATE=$(date +%d-%m-%Y)
|
|
BACKUP_DIR="/run/user/1000/gvfs/ftp:host=backupsrv01.dev.lan,user=ftp.backups/mf.brutus.dev.lan"
|
|
|
|
#To backup 2daygeek's home directory
|
|
tar -zcvpf $BACKUP_DIR/home-mf_$DATE.tar.gz --exclude="**/.tmp/*" --exclude="**/Downloads/*" --exclude="**/.cache/*" --exclude="**/Trash/*" --exclude="**/cache/*" /home/mf
|
|
|
|
#To delete files older than 10 days
|
|
find $BACKUP_DIR/* -mtime +10 -exec rm {} \;
|
|
|
|
gio mount -u ftp://ftp.backups@backupsrv01.dev.lan
|
|
```
|
|
|
|
## disable touh screen
|
|
```
|
|
sudo apt-get -y install xinput
|
|
xinput
|
|
```
|
|
|
|
Run xinput to list out the input devices. Your touchscreen should show as one of the "pointers".
|
|
|
|
xinput disable "NTRG0001:01 1B96:1B05" (your device ID may differ than mine)
|
|
|
|
Add this to your ~/.profile or such to do automatically upon login
|
|
xinput disable "NTRG0001:01 1B96:1B05"
|
|
|
|
Source: https://askubuntu.com/questions/759335/how-to-disable-a-touchscreen-on-surface-pro-3
|
|
|
|
## disable suspend blackscreen
|
|
|
|
```bash
|
|
# /etc/lightdm/lightdm.conf
|
|
[Seat:*]
|
|
xserver-command=X -s 0 dpms
|
|
```
|
|
|
|
## lightdm auto login
|
|
|
|
```bash
|
|
# /etc/lightdm/lightdm.conf
|
|
[SeatDefaults]
|
|
autologin-user=public
|
|
autologin-user-timeout=5
|
|
# Uncomment the following, if running Unity
|
|
#greeter-session=unity-greeter
|
|
```
|
|
|
|
## gio
|
|
|
|
### mount samba share
|
|
```bash
|
|
#/home/username/.credentials
|
|
#username
|
|
#SAMBA
|
|
#password
|
|
gio mount smb://server/share < /home/username/.credentials
|
|
```
|
|
|
|
### unmount
|
|
|
|
```bash
|
|
gio mount -u smb://server/share
|
|
```
|
|
|
|
## btop
|
|
|
|
|
|
### Setup
|
|
|
|
#### Debian & Ubuntu
|
|
```bash
|
|
apt update && apt install btop -y
|
|
```
|