Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

 

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

Il comando SCP in Linux è usato per trasferire files o cartelle in maniera sicura usando ssh, tra server locali e/o remoti.

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

 

Copiare file da locale a remoto:

# scp -v /path/local/file.txt remoteuser@remotehost:/remote/path/

se si utilizza una porta differente:

# scp -v -P 2200 /path/local/file.txt remoteuser@remotehost:/remote/path/

Copiare file da remoto a locale

# scp -v remoteuser@remotehost:/path/file.txt /path/local

Copiare cartella in maniera ricorsiva e compressa da locale a remoto:

# scp -vrC -P 2200 /path/local/folder remoteuser@remotehost:/remote/path/

Copiare cartella in maniera ricorsiva e compressa da remoto a locale:

# scp -vrC -P 2200 remoteuser@remotehost:/remote/folder/ /path/local/

Limitare la banda:

# scp -vrC -l 500 -P 2200 /path/folder remoteuser@remotehost:/remote/path/

Copiare file/cartella tra 2 hosts remoti:

# scp -v remoteuser1@remotehost1:/path/file.txt remoteuser2@remotehost2::/path/directory/

 

enjpy 😉

Backup del Sistema con Rsync

 

Backup del Sistema con Rsync

 

Backup del Sistema con Rsync. Rsync è un leggero e potente strumento per il backup. Permette di eseguire backup incrementali, salvando i soli file modificati o aggiunti rispetto all'ultima operazione di backup, sia in locale che in remoto. Si può utilizzare per un backup dell'intero sistema o di cartelle specifiche.

Installazione:

# apt install rsync -y

Rsync locale:

# rsync -zav /percorso/origine /percorso/backup

per cancellare nella cartella di destinazione i file non più presenti nella cartella di origine basta aggiungere l'opzione –delete:

# rsync --delete -zav /percorso/origine /percorso/backup

Backup del Sistema:

per escludere dal backup files o cartelle si utilizza l'opzione –exclude:

# rsync -zaAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /percorso/backup

Rsync da locale a remoto con ssh:

$ rsync -zavh -e ssh /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

se si utilizza una porta diversa per ssh:

$ rsync -zavh -e 'ssh -p 2200' /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

per visualizzare il progresso del backup:

$ rsync -zavh -e 'ssh -p 2200' --progress /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

Rsync da remoto a locale con ssh:

$ rsync -zvah -e 'ssh -p 2200' remoteuser@remotehost:/percorso/del/file /cartella/destinazione

Rsync senza password ssh:

# ssh-keygen

alle domande successive premere sempre invio e copiare la chiave sul server:

# ssh-copy-id -i $HOME/.ssh/id_rsa.pub remoteuser@remotehost

a questo punto se tutto è andato bene non verrà più richiesta la password e si può accedere direttamente:

# ssh remoteuser@remotehost


Backup automatico:

a questo punto si può decidere che tipo di backup effettuare:

ogni giorno alle 23:00

00 23 * * *

ogni sabato alle 23:00

00 23 * * 6

oppure al 1° di ogni mese alle 23:00:

00 23 1 * *

$ crontab -e

ed inserire l'opzione desiderata:

00 23 * * * rsync -zav /percorso/origine /percorso/backup

Backup del Sistema con Rsync

enjoy 😉

 

Speedtest da teminale in Linux con Testspeed

 

Speedtest da teminale in Linux con Testspeed

Speedtest da teminale in Linux con Testspeed

Qualche tempo fa avevo scritto un post su come effettuare uno speedtest da terminale, utilizzando speedtest-cli. Adesso utilizzo anche un'altro programmino in python, che si chiama Testspeed. Anche questo si appoggia a speedtest.net.

Installazione:

$ sudo apt-get install git python-lxml python-argparse
$ git clone git://github.com/Janhouse/tespeed.git
$ cd tespeed
$ git submodule init
$ git submodule update

Utilizzo:

$ cd tespeed/
$ ./tespeed.py

per una lista di server disponibili utilizzare:

$ ./tespeed.py -ls
edmond@debianbox:~/tespeed$ ./tespeed.py -ls
Getting ready
Printing CSV formated results to STDOUT.
Loading speedtest configuration...
IP: 151.66.XXX.XXX; Lat: 45.626800; Lon: 9.053600; ISP: WIND
Loading server list...
1. http://speedtest.siportal.it/speedtest/ (SIPORTAL SRL, Milano, Italy) [23.02 km]
2. http://speedtest.cheapnet.it/speedtest/ (CWNET, Milan, Italy) [23.54 km]
3. http://speedtestmi1.telecomitalia.it/speedtest/ (Telecom Italia S.p.A., Milan, Italy) [23.54 km]
4. http://speedtest-mi.tre.it/speedtest/ (H3G, Milan, Italy) [23.54 km]
5. http://spd-pub-mi-01-01.fastwebnet.it/ (Fastweb SpA, Milan, Italy) [23.54 km]
6. http://speedtest.vodafone.it/speedtest/speedtest/ (Vodafone IT, Milan, Italy) [23.54 km]
7. http://sp.joinconferencing.com/speedtest/ (Join srl, Milan, Italy) [23.54 km]
8. http://speedtest-roz.italiaonline.it/speedtest/ (ItaliaOnline, Milan, Italy) [23.54 km]
9. http://79.171.160.66/speedtest/speedtest/ (Linkem SPA, Milan, Italy) [23.54 km]
10. http://speedtest.cdlan.it/speedtest/ (CDLAN S.R.L., Milan, Italy) [23.54 km]

per utilizzare il server vodafone:

$ ./tespeed.py http://speedtest.vodafone.it/speedtest/speedtest/

Speedtest da teminale in Linux con Testspeed

enjoy 😉

 

Variare la velocità della scheda di rete in Linux

 

Variare la velocità della scheda di rete in Linux

Variare la velocità della scheda di rete in Linux

Per variare velocità e duplex di una scheda di rete ethernet su Linux, si può usare ethtool:

# apt install ethtool

Ottenere informazioni sulla scheda di rete:

# ethtool eth0
root@debianbox:/home/edmond# ethtool eth0
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Half 1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000033 (51)
                   drv probe ifdown ifup
    Link detected: yes

Disabilitare auto-negoziazione:

# ethtool -s eth0 autoneg off

Disabilitare auto-negoziazione e cambiare velocità a 10/100/1000:

# ethtool -s eth0 speed 10 duplex half autoneg off
# ethtool -s eth0 speed 100 duplex half autoneg off
# ethtool -s eth0 speed 1000 duplex half autoneg off

per abilitare subito le modifiche:

# ifconfig eth0 down && ifconfig eth0 up

le modifiche sono da considerarsi provvisorie, e verranno perse al riavvio. Ad ogni modo volendo esistono diversi modi per renderli definitivi.

Variare la velocità della scheda di rete in Linux

enjoy 😉

 

Dual Boot Debian FreeBSD Grub-Efi

 

Dual Boot Debian FreeBSD Grub-Efi

 

Dual Boot Debian FreeBSD Grub-Efi. Dopo l'installazione di FreeBSD a fianco di altri OS, se si utilizza Grub come bootloader, bisogna configurarlo correttamente per riuscire a fare il boot da FreeBSD. Utlizzando l'installer UEFI di FreeBSD, verrano create tre partizioni:

 

root@debianbox:/home/edmond# fdisk -l

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1473D773-9A10-427F-814C-A04A354C6E1B

Device         Start       End   Sectors  Size Type
/dev/sda1       2048    391167    389120  190M EFI System
/dev/sda2     391168  98047999  97656832 46.6G Linux filesystem
/dev/sda3   98048000 101953535   3905536  1.9G Linux swap
/dev/sda4  101953536 101986303     32768   16M Microsoft reserved
/dev/sda5  101986304 220737535 118751232 56.6G Microsoft basic data
/dev/sda6  220737536 269565951  48828416 23.3G Linux filesystem
/dev/sda7  269565952 269975551    409600  200M EFI System
/dev/sda8  269975552 301432831  31457280   15G FreeBSD UFS
/dev/sda9  301432832 305627135   4194304    2G FreeBSD swap

Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C1A781CD-2BE7-4BC5-8FC1-081B44BB5144

Device        Start      End  Sectors  Size Type
/dev/sdb1      2048   391167   389120  190M EFI System
/dev/sdb2    391168 31641599 31250432 14.9G FreeBSD UFS
/dev/sdb3  31641600 35547135  3905536  1.9G Linux swap

non avendo problemi di spazio non ho bisogno di spostare il contenuto della partizione /dev/sda7 EFI in /dev/sda1 EFI, quindi per poter avviare FreBSD bisogna creare un menuentry corretto per Grub:

# nano /etc/grub.d/40_custom

che deve essere come sotto:

menuentry "FreeBSD" {
insmod part_gpt
insmod fat
set root='hd0,gpt7'
chainloader /EFI/BOOT/BOOTX64.EFI

nel mio caso la partizione EFI FreeBSD è su /dev/sda7, quindi é la che deve puntare il menuentry.

# update-grub && grub-mkconfig
# reboot

enjoy 😉

 

(Solved) /proc/devices: No entry for device-mapper found

 

(Solved) /proc/devices: No entry for device-mapper found 

(Solved) /proc/devices: No entry for device-mapper found. Dopo aver compilato il kernel 4.8 su Debian Stretch/Sid, l'ho installato anche su Debian Jessie, e mi sono ritrovato lanciando il comando update-grub, con l'errore "No entry for device-mapper found". Per risolvere il problema bisogna ricompilare il kernel ed abilitare il modulo device-mapper. Per verificare se è presente:

# lsmod | grep -i dm-mod
# modinfo dm-mod

riepilogando:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.12.tar.xz
$ tar xvf linux-4.8.12.tar.xz
$ cd linux-4.8.12/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig

poi abilitare il modulo in Device Drivers –> Multiple devices driver support (RAID and LVM) –> Device mapper support

(Solved) /proc/devices: No entrfor device-mapper found (Solved) /proc/devices: No entry for device-mapper found(Solved) /proc/devices: No entry for device-mapper found

salvare, e dopo aver ricompilato, riavviare:

# make -j8;make modules -j8;make modules_install -j8;make install
# reboot

enjoy 😉

 

How to compile kernel 4.8.12 on Debian Stretch/Sid

 

How to compile kernel 4.8.12 on Debian Stretch/Sid

How to compile kernel 4.8.12 on Debian Stretch/Sid. Nella categoria Kernel ci sono diverse guide su come ricompilare un kernel, ma dopo qualche anno che non lo facevo più, ho dovuto rimetterci mano perchè mi serve abilitato il modulo UFS, per la scrittura delle partizioni con Debian Gnu/kFreeBSD e FreeBSD. Al momento della compilazione si è verificato un errore, che successivamente ho capito essere un bug, quindi di seguito anche la soluzione:

Installare l'occorrente per la compilazione:

$ sudo apt-get install git fakeroot build-essential ncurses-dev libssl-dev bc
$ sudo apt-get --no-install-recommends install kernel-package

Scaricare l'ultimo kernel, da kernel.org, al momento il 4.8.12:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.12.tar.xz
$ tar xvf linux-4.8.12.tar.xz
$ cd linux-4.8.12/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=1.0.UFS kernel_image kernel_headers -j12
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

Quello sopra è il metodo standard per la compilazione del kernel, ma attualmente per un bug la compilazione fallisce restituendo un errore del tipo:

"make[2]: *** No rule to make target 'debian/certs/benh@debian.org.cert.pem', needed by 'certs/x509_certificate_list'.  Stop"

"No rule to make target 'debian/certs/benh@debian.org.cert.pem')"

A questo punto ho provato a commentare senza successo nel .config le voci:

CONFIG_MODULE_SIG_KEY=""
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""

ma al momento di lanciare il comando make menuconfig, in automatico la stringa CONFIG_SYSTEM_TRUSTED_KEYRING=y, viene attivata. Per risolvere il problema bisogna modificare il file .config abilitando quello di cui si ha bisogno, nel mio caso il modulo UFS, e poi lanciare make localmodconfig

$ make localmodconfig 

invece di:

$ make menuconfig

How to compile kernel 4.8.12 on Debian Stretch/Sid.

enjoy 😉

 

XAMPP con PHP 7 su Debian Jessie

 

XAMPP con PHP 7 su Debian Jessie

 

XAMPP è una suite completamente gratuita e facile da installare che contiene Apache, MariaDB, PHP, e Perl. La pagina di download è la seguente, una volta scaricato l'installer, cambiare i permersi ed iniziare l'installazione:

$ chmod 755 xampp-linux-*-installer.run
$ sudo ./xampp-linux-*-installer.run --mode gtk --installer-language it

alla fine si potrà scegliere di lanciare subito xampp, e quindi andare in Manage-Servers per avviare i servizi:

XAMPP con PHP 7 su Debian Jessie

 

La schermata iniziale è raggiungibile all'indirizzo http://localhost/. Per avviare xampp da interfaccia grafica quindi utilizzare:

$ sudo /opt/lampp/manager-linux-x64.run

altrimenti si possono utilizzare i seguenti singoli comandi:

$ sudo /opt/lampp/xampp start
$ sudo /opt/lampp/xampp stop
$ sudo /opt/lampp/xampp restart
$ sudo /opt/lampp/xampp startapache
$ sudo /opt/lampp/xampp startmysql
$ sudo /opt/lampp/xampp startftp
$ sudo /opt/lampp/xampp stopapache
$ sudo /opt/lampp/xampp stopmysql
$ sudo /opt/lampp/xampp stopftp
$ sudo /opt/lampp/xampp enablessl
$ sudo /opt/lampp/xampp disablessl

Per il server ProFTP: nome utente «nobody», password «lampp». E' necessario mettere in sicurezza xampp, creando le password di accesso per i vari servizi. Il comando è il seguente:

$ sudo /opt/lampp/xampp security

XAMPP con PHP 7 su Debian Jessie

enjoy 😉