Come montare automaticamente un server FTP in una cartella

Se volete montare un server FTP e che sia accessibile come un normale drive in una cartella da voi prefissata, installate curlftpfs:

sudo apt-get install curlftpfs

Create la cartella (potete anche metterla in /media volendo), ad esempio (modificando user):

sudo mkdir /home/movies
sudo chmod 775 /home/movies
sudo chown -R user:user /home/movies

Aggiungete al fondo di questo file:

sudo nano /etc/fstab

Modificando user, password e indirizzo IP:

curlftpfs#user:password@192.168.1.1 /home/movies fuse rw,uid=1000,gid=1000,umask=002,user,suid,allow_other,exec,auto,utf8,_netdev  0   0

Se volete tutti i permessi mettete umask=000.

Come far partire i container di Docker automaticamente al reboot

Presupponendo che abbiate già creato il container per Docker e che questo funzioni, andiamo a creare un service di nome appunto container:

sudo nano /etc/systemd/system/container.service

Incollate questo (modificando il nome del container):

[Unit]
Description=Container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a container
ExecStop=/usr/bin/docker stop -t 2 container

[Install]
WantedBy=default.target

E attivate il servizio allo startup del sistema con:

sudo systemctl enable container.service

Semplice no?

Come installare Ghost su Docker

Andiamo subito dunque senza spiegare cos’è Docker o Ghost. Presupponendo che avete Ubuntu installato (ma anche Debian va bene) procediamo con l’installazione di Docker:

sudo apt-get install docker

Ora create la cartella in cui verranno salvati i dati del vostro blog:

sudo mkdir /home/ghost

E scaricate semplicemente Ghost con:

sudo docker pull ghost

Aspettate che venga scaricato e… eseguite Ghost:

sudo docker run -d -p 80:2368 /home/ghost:/var/lib/ghost ghost

Ora andate da browser sulla porta 80 (quindi digitando solo localhost o l’indirizzo IP della vostra macchina) ed ecco il vostro blog pronto!

Caso in cui aveste Apache già sulla porta 80, potete o stopparlo con sudo service apache2 stop oppure cambiare la porta nel comando precedente. O eventualmente gestire il tutto con NGINX che sarebbe il top.

Come creare un server per la Time Machine con Ubuntu

Io vi consiglio Ubuntu Server 17.04 e durante l’installazione mettete la spunta a LAMP server, Samba file server e OpenSSH server.

Fate gli aggiornamenti e installate:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install netatalk libc6-dev avahi-daemon libnss-mdns

Se usate un hard disk esterno create la cartella e montatelo:

sudo mkdir /media/usb
sudo mount -t hfsplus -o force,rw /dev/sdb /media/usb

Cambiate i permessi e l’utente (presupponendo che il vostro username sia xserve):

sudo chmod -R 775 /media/usb
sudo chown -R xserve:xserve /media/usb

Ora andiamo a configurarlo:

sudo nano /etc/netatalk/AppleVolumes.default

E al fondo alla penultima riga cambiatela con:

/media/usb "Xserve" options:tm allow:xserve

Poi inserite questo per vedere l’icona dei famosi Xserve:

sudo nano /etc/avahi/services/afpd.service

E incollate:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

Riavviate tutto con:

sudo service avahi-daemon restart
sudo service netatalk restart

Ora connettetevi da macOS (qualunque esso sia), dalle impostazioni selezionate il disco Xserve e il gioco è fatto, potete utilizzarlo come Time Machine facilmente!

Ovviamente il vostro server Ubuntu non deve per forza essere fisico e sempre acceso. Potete benissimo usare una macchina virtuale o un semplice Raspberry Pi.

Come creare una Time Capsule con Raspberry Pi

Se non volete spendere più di 300 euro per una Time Capsule della Apple e volete realizzare la vostra Time Machine personale, seguite questi semplici passaggi (vi consiglio di partire da una versione di Raspbian nuova e pulita):

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install netatalk libc6-dev avahi-daemon libnss-mdns

Ora aprite questo file:

sudo nano /etc/netatalk/AppleVolumes.default

E al fondo cambiate questa riga (potete anche cambiare percorso nel caso abbiate un hard disk attaccato o una pendrive) con:

/home/pi "Time Capsule" options:tm allow:pi

Ora modificate questo file:

sudo nano /etc/avahi/services/afpd.service

Cancellate tutto e incollate:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">Time Capsule</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule8,119</txt-record>
</service>
</service-group>

Riavviate i servizi e via:

sudo service avahi-daemon restart
sudo service netatalk restart

E… voilà. Davvero! Già finito. Aprite il Finder su macOS e lo vedrete già a lato (Avahi avrà mandato in broadcast dei pacchetti di benvenuto). Ora potete andare sulle impostazioni e configurare il vostro backup!

Come fare uno speedtest alla microSD del Raspberry Pi

Per testare la velocità di scrittura eseguite:

sync; dd if=/dev/zero of=~/test.tmp bs=500K count=1024

Per la lettura:

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
sync; time dd if=~/test.tmp of=/dev/null bs=500K count=1024

Poi ovviamente cancellate il file temporaneo che ha usato per farlo. Quanto raggiungete voi? 22 MB/s dovrebbe essere una buona media visto il bus condiviso.

Come installare Plex su Docker

Prima di tutto installate Docker in base al sistema operativo che state utilizzando (è compatibile ovunque). Poi aprite il terminale ed eseguite:

sudo docker pull linuxserver/plex

E poi incollate questo, modificando i parametri che preferite:

sudo docker create \
--name=plex \
--net=host \
--restart=always \
-e VERSION=latest \
-e PUID=1001 -e PGID=1001 \
-e TZ=Europe/London \
-v /home/plex/config:/config \
-v /home/plex/tvshows:/data/tvshows \
-v /home/plex/movies:/data/movies \
-v /home/plex/transcode:/transcode \
linuxserver/plex

Eseguite sudo docker start plex e… voilà!

Ora aprite il browser sul vostro IP alla porta 32400 e divertitevi.

Come montare un hard disk EXT4

Ovviamente se utilizzate una distro nuova, vi consiglio di optare per l’ultima versione (anche se la 3 è ancora molto usata) per il vostro file system. Iniziamo! Copiate l’UUID del vostro drive che trovate con:

sudo blkid

Incollatelo al fondo di sudo nano /etc/fstab questo file, così:

UUID=0123456789abc /media/pendrive ext4 defaults 0 2

Poi eseguite:

sudo mount -a

E voilà, anche a ogni riavvio verrà automaticamente montato!

Come dare più corrente tramite USB dal Raspberry Pi

Se volete fornire 1.2A invece di 600mA (che è la corrente erogata dal circuito direttamente) modificate questo file:

sudo nano /boot/config.txt

Aggiungendo in fondo questo:

max_usb_current=1

E riavviate! È sicuro (nonostante possiate dubitarne) in termini di sicurezza elettrica vera e propria. Ovvio che lo è, se usate un trasformatore decente e non uno di quelli cinesi. Online ho trovato questo:

All that max_usb_current=1 does is to set GPIO38 high, which in turn turns on a FET, which connects a second 39K resistor in parallel to an existing one, on pin 5 of U13, the AP2553W6 USB power manager, lifting the current limit from 0.6A to double that (1.2A), see no possible scenario there why the PI resets because of that, except in case the gate of the FET Q4 is somehow shorted to GND. Which could be caused by a production fault. Inspect Q4, as look if there is solder shorting pins together. Also R6 (resistor mounted between gate of Q4 and GND) should be 100K not 0 Ohm. U13, Q4 and R6 should be near the USB ports.

Fonte: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=100244

Come far coesistere AFP e SMB su Raspberry Pi

AFP e SMB detti anche protocollo di rete di Apple e Samba rispettivamente, risultano essere incompatibili. Online sembra che sia impossibile farli funzionare sullo stesso IP o con lo stesso hostname.

Ma a quanto pare (dopo varie sperimentazioni) potete installarvi semplicemente Avahi e configurare due servizi. Ovviamente dovrete aver già configurato entrambi i protocolli e averli attivi (quindi esposti a tutta la rete locale).

Prima di tutto spostatevi dentro la cartella di Avahi:

cd /etc/avahi/services

Che dico, l’avete installato vero? Nel caso:

sudo apt-get install avahi-daemon

Ora create due file:

sudo touch afpd.service smb.service

Nel primo:

sudo nano afpd.service

Incollate:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">Time Capsule</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule8,119</txt-record>
</service>
</service-group>

E nel secondo:

sudo nano smb.service

Incollate questo:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

Ora tornate nel Finder di macOS e vi ritroverete questi due bei device distinti al quale potrete connettervi con i rispettivi account:

Ovviamente le icone potete cambiarle, semplicemente trovavo comodo poter usufruire di un file server e di una Time Machine in rete, a costo praticamente nullo. Alla prossima!

Risparmio energetico di un hard disk su Raspberry Pi

Dato che probabilmente al vostro bel Pi non attaccherete un SSD (nel caso, buon per voi) vorrete che risparmi energia e non sia sempre a ruotare (l’hard disk ndr). Procediamo con la configurazione.

Prima di tutto installate:

sudo apt-get install hdparm

Identificate l’ID (non UUID) del vostro hard disk con:

sudo ls -la /dev/disk/by-id

Copiatelo e qua dentro:

sudo nano /etc/hdparm.conf

Andrete ad incollare questo al fondo:

/dev/disk/by-id/id-copiato-precedentemente {
spindown_time = 60
}

Con ad esempio dopo 5 minuti di riposo andrà in stop (vanno a multipli di 5, cercate su Stack nel caso vogliate capirci meglio), nel caso vogliate aumentarlo… aumentatelo.

Come partizionare un hard disk o pendrive su Raspberry Pi

Prima di tutto dovete identificate il percorso del vostro drive:

sudo blkid

Di norma dovrebbe essere /dev/sda, /dev/sda1 oppure /dev/sdb o /dev/sdb1.

Io vi vi consiglio di formattarlo in EXT4 perché è più ben gestibile da Debian/Ubuntu. Se invece volete formattarlo in FAT32 o HFS+ scelta vostra, spesso può dar problemi (HFS+ se gli viene a mancare la corrente ha bisogno di essere riparato e fidatevi, non è una bella procedura).

Procediamo allora (cambiate il percorso, ovviamente e ogni volta che ve lo richiede rispondete con Yes e Ignore):

sudo parted /dev/sda mklabel gpt
sudo parted -a optimal /dev/sda mkpart Primary 0% 100%
sudo mkfs.ext4 /dev/sda

Ed ecco fatto (una parola, dipende dalla grandezza del vostro hard disk o pendrive ma dovrebbe metterci un po’ di tempo quantificabile in minuti).

Come disabilitare IPv6 su Raspberry Pi

Spesso può dare problemi con script o programmi vari, e dato che non è necessario utilizzarlo (se non per scopi futuri) ecco come disattivarlo.

Modificate il file:

sudo nano /etc/sysctl.conf

Aggiungendo alla fine:

net.ipv6.conf.all.disable_ipv6 = 1

Salvate e applicate le modifiche con:

sudo sysctl -p

Nel caso con ifconfig ci sia ancora l’indirizzo IPv6, riavviate completamente con un bel sudo reboot.

Come ripristinare le Repository di default su Raspberry Pi

Se avete combinato dei pasticci e volete cancellare tutte le repository che avete precedentemente inserito (magari le avete aggiunte ventordici mesi fa), ecco come ripristinarle a quelle di default su Raspian.

Dentro il file:

/etc/apt/sources.list

Deve solo esserci:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi

Mentre dentro la cartella:

/etc/apt/sources.list.d

Deve esserci solo questo file:

raspi.list

Con all’interno solo:

deb http://archive.raspberrypi.org/debian/ jessie main ui
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ jessie main ui

Spero di esservi stato utile, alla prossima!

Come eseguire FlexGet ogni ora

Se volete che FlexGet venga controllato ed eseguito ogni ora, dovete ovviamente impostarglielo per far in modo che sia automatizzato senza il vostro controllo. Andremo ad utilizzare il semplice crontab.

Prima di tutto trovate dove l’avete installato con:

which flexget

Copiate il percorso ed eseguite:

sudo crontab -e

E al fondo incollate (nel caso il percorso sia quello):

@hourly /usr/local/bin/flexget --cron execute

Nel caso vogliate cambiare la periodicità, vi basterà sostituire hourly con quella desiderata (ad esempio ogni mezz’ora, ecco come specificare anche il file di configurazione).

30 * * * * /usr/local/bin/flexget -c /home/pi/.flexget/config.yml --cron execute