- [hostname/hostnamectl](#hostnamehostnamectl) - [Update](#update) - [Debian / Ubuntu](#debian--ubuntu) - [Fedora](#fedora) - [ls](#ls) - [Users](#users) - [hostame](#hostame) - [static ip](#static-ip) - [Disks](#disks) - [mount](#mount) - [gio](#gio) - [mount samba share](#mount-samba-share) - [unmount](#unmount) - [File System](#file-system) - [ext4](#ext4) - [ext3](#ext3) - [exFat](#exfat) - [ntfs](#ntfs) - [space usage](#space-usage) - [Manutenção de discos](#manutenção-de-discos) - [tar](#tar) - [SSH](#ssh) - [Create key](#create-key) - [Copy public key](#copy-public-key) - [Add existing Key](#add-existing-key) - [alias](#alias) - [Benchmarking](#benchmarking) - [themes](#themes) - [shell](#shell) - [terminal](#terminal) - [Backups](#backups) - [bash](#bash) - [disable touh screen](#disable-touh-screen) - [disable suspend blackscreen](#disable-suspend-blackscreen) - [lightdm auto login](#lightdm-auto-login) - [btop](#btop) - [Setup](#setup) - [Debian & Ubuntu](#debian--ubuntu) - [lspci](#lspci) - [gnome files / nautilus](#gnome-files--nautilus) # Linux ## hostname/hostnamectl ```bash #get hostname hostname #set hostname hostnamectl ``` ## Update ### Debian / Ubuntu ```bash apt update -y apt upgrade -y apt autoremove -y ``` References: [https://linuxsimply.com/linux-basics/package-management/update-packages/sudo-apt-update/](https://linuxsimply.com/linux-basics/package-management/update-packages/sudo-apt-update/) ### Fedora ```bash dnf ``` References: [https://docs.fedoraproject.org/en-US/quick-docs/dnf-vs-apt/](https://docs.fedoraproject.org/en-US/quick-docs/dnf-vs-apt/) ## ls List information about the FILEs (the current directory by default). ```bash #order by date ls -t #order by date reverse ls -r ``` source: man ## Users ```bash #create useradd USERNAME # create with home directory useradd -m 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 distribuiçã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 ``` List physical disks and partition size ``` lsblk ``` List partition ids ``` blkid /dev/sdc1 ``` Partition Manager ``` fdisk /dev/ #Example: fdisk /dev/sdc #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 ``` ## mount Mount partion on boot fstab ``` nano /etc/fstabexemplo de alias ``` ext4 example ``` #add line PARTUUID= ext4 defaults,nofail 0 02 ``` Mount fstab partions without reboot ``` mount -a ``` smb share Create credentials file ``` #/home/mf/.credentials/smb:mf@nas.lan username=shareuser password=sharepassword domain=domain_or_workgroupname ``` Secure credentials file permission ``` chmod 0600 /home/mf/.credentials/smb:mf@nas.lan ``` Add line ``` #/etc/fstab //nas.lan/homes /mnt/smb-share:mf@nas.lan,share=homes cifs credentials=/home/mf/.credentials/smb:mf@nas.lan,uid=1000,gid=1000,nofail 0 0 ``` ## 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 ``` ## File System ### ext4 mkfs.ext4 _filesys_ Example ``` mkfs.ext4 /dev/sdb1 ``` ### ext3 mkfs.ext3 _filesys_ Example ``` mkfs.ext3 /dev/sdb1 #exFat mkfs.exfat /dev/sdc1 ``` ### exFat mkfs.exfat _filesys_ ``` mkfs.exfat /dev/sdc1 ``` ### ntfs ``` apt-get install ntfs-3g mkntfs --fast --label Backups /dev/sdc1 ``` ## space usage df df -h du -h --max-depth=1 ## 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 ### Create key ```bash ssh-keygen -t ecdsa -b 521 #or ssh-keygen -t ecdsa -b 521 -f ~/.ssh/key-ecdsa ``` ### Copy public key ```bashssh-add ~/.ssh/id_ed25519 ssh-copy-id -i ~/.ssh//ey-ecdsa.pub example_user@192.0.2.4 ``` ### Add existing Key ```bash ssh-add ~/.ssh/key-ecdsa ``` ### alias ```bash Host srv01 HostName srv01.lan User john RemoteCommand cd ~/; exec bash --login RequestTTY yes ``` ## 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 ```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 ``` bash 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 ``` ## btop ### Setup #### Debian & Ubuntu ```bash apt update && apt install btop -y ``` ## lspci Displays information about each PCI bus on your system. This includes information about the devices connected to the PCI subsystem. lspci [options] | Option | Description | | -------- | ------------- | | -v | Verbose | ``` bash lspci -v ``` ## gnome files / nautilus https://www.maketecheasier.com/useful-nautlius-tweaks-linux/