Hur man använder en Raspberry Pi som en nätverksmaskinsdrift för din Mac
Varför spendera $ 300 på en AirPort Time Capsule när du kan göra en själv med en Raspberry Pi och en extern hårddisk? Det tar lite tweaking, men när det är klart, kommer din Mac att säkerhetskopiera automatiskt utan någon ansträngning från din sida. Du behöver inte heller ansluta en enhet till din dator.
Ännu bättre: När det är dags att återställa filer kan du koppla från hårddisken från Pi och ansluta den direkt till din Mac, så att du kan återställa från ett totalt systemfel med Systemåterställning. Liknande hack fungerar inte så här.
Vad du behöver
Vi har visat dig hur du återställer din Mac med Time Machine, och även hur du utför Time Machine-säkerhetskopior över nätverket. Men i dessa handledningar krävde en säkerhetskopiering via nätverket en annan Mac som fungerar som en server. Så om du bor i ett enda Mac-hushåll kanske du tror att du bara kan ansluta en USB-hårddisk eller köpa en Apple Time Capsule på 300 kronor.
Det är inte sant. Raspberry Pi ansluten till en extern hårddisk gör ett bra improviserat alternativ till en Time Capsule eller en annan Mac, och det är mycket billigare. (Ja, Time Capsule innehåller routerfunktionalitet, så det är faktiskt ett anständigt pris för vad det erbjuder - men den här metoden låter dig använda vilken router du vill, och erbjuder mer utrymme för uppgraderingar när din enhet går tom för rymden.)
Denna handledning förutsätter att du redan vet grunderna om hur man ställer upp en Raspberry Pi. Det kräver också lite utrustning:
- En hallon Pi. Vilken modell som helst kommer att göra, men den nuvarande modellen är Raspberry Pi 3 Model B.
- Ett SD-kort, för Raspberry Pi operativsystem. Äldre Raspberry Pis kommer att använda ett vanligt SD-kort, medan nyare kommer att kräva ett microSD-kort, så se till att få rätt sort. Här är en bra lista över kort som testats för att fungera bra Pi.
- En strömförsörjning för Pi. Pis-strömporten är bara microUSB, men vi rekommenderar att du får en strömförsörjning avsedd för Pi för pålitlig prestanda. Den här från CanaKit fungerar bra.
- En kabelansluten nätverksanslutning för din Pi (du kan använda Wi-Fi, men det tar mer setup och trådbundet kommer att bli mycket bättre för de stora säkerhetskopieringarna på nätet)
- En extern hårddisk, som du kommer att ansluta till Pi över USB. Vi rekommenderar att du får en stationär extern hårddisk med egen dedikerad strömförsörjning, om du inte har en USB-driven enhet som har testats med Pi.
Du kan få de flesta av dessa saker (och mer) i ett fall med ett bra Raspberry Pi-startpaket som det här, eller du kan köpa dem separat. Ditt samtal.
Jag fick reda på denna metod från ett blogginlägg av Caleb Woods och fyllde i några saker som inte fungerade för mig genom att läsa det här inlägget på Badbox.de. Mitt uppriktiga tack till er båda.
En sista anmärkning: Denna hack fungerar ganska bra i min erfarenhet, men i slutet av dagen är det fortfarande bara det: ett hack. Av denna anledning rekommenderar jag att du har någon form av backup förutom detta, helst något offsite. (Du ska alltid ha en säkerhetskopiering utan säkerhet i händelse av brand eller annan naturkatastrof.)
Steg ett: Förbered den externa enheten för Time Machine
Det första du behöver göra är att förbereda den externa enheten för att arbeta med Time Machine. Sätt i enheten i din Mac och starta sedan Diskverktyget. Välj din externa enhet och klicka sedan på "Radera" -knappen. Du kommer att vilja formatera enheten som "Mac OS Extended", även känd som HFS+.
Därefter kommer vi att vilja se till att din Raspberry Pi, och varje enhet, har behörighet att styra enheten. Gå till Finder och högerklicka på enheten i sidofältet. Klicka på "Hämta information".
I botten av fönstret som öppnas hittar du behörighetsinställningarna.
Klicka på låset längst ner till höger och ange ditt lösenord. Markera sedan "Ignorera ägandet på den här volymen." Och med det är du redo att ansluta din externa enhet till Pi.
Steg två: Installera Raspbian på din Pi och anslut till den över SSH
Därefter måste du konfigurera din Raspberry Pi med Raspbian, som beskrivs i den här artikeln. Vi kommer inte att detaljera processen här, eftersom det är ett projekt i sig, så gå och kolla in den guiden för att få Raspbian på din Pi. Jag använde Raspbian Core för min installation, eftersom jag inte har anslutit Pi till en bildskärm, men det finns ingen anledning att den fulla GUI-versionen av Raspbian inte skulle fungera också.
Tala om vilka: du har två val när det gäller resten av denna handledning. Du kan koppla din Raspberry Pi upp till ett tangentbord och övervaka och ställa saker på så sätt, eller du kan ansluta till din Pi över SSH och köra varje steg från din Macs komfort. Vi tycker att SSH-metoden är mycket enklare än att hitta en slumpmässig bildskärm, så här är hur du gör det.
Starta terminalen på din Mac, skriv sedan följande kommando:
Byter ut 192.168.1.11
med din Pi-adress. Du kan hitta IP-adressen till vilken enhet som är ansluten till ditt nätverk, inklusive din Raspberry Pi, genom att gå till routerns webbgränssnitt.
Du kommer då att bli ombedd för ett lösenord för standardanvändaren, pi
. Lösenordet för pi
är som standard, hallon
.
Om du ansluter till ett nytt system för första gången föreslår jag att du konfigurerar några saker innan du fortsätter. Första omgången sudo raspi-config
och ändra ditt standardlösenord. Du kan även expandera ditt standardfilsystem här, om du har ett stort SD-kort (även om det inte är nödvändigt för denna handledning.) Din Raspberry Pi kommer att starta om, på vilken tid du är redo att komma till jobbet.
Steg tre: Montera din externa enhet
Innan du kan konfigurera din Time Machine måste du montera enheten så att din Raspberry Pi kan läsa och skriva till den. Det här kräver att du installerar vissa program. Först, se till att all programvara på Pi är aktuell. Kör dessa två kommandon, en efter varandra:
sudo apt-get uppdatering
sudo apt-get uppgradering
Installera sedan två paket: hfsprogs och hfsplus. Dessa låter din Raspberry Pi läsa din Mac-formaterad enhet.
sudo apt-get install hfsprogs hfsplus
Du har nu programvara som kan montera din enhet, men det måste veta vilken enhet som ska monteras, så du behöver göra lite forskning. Börja med att starta Parted.
sudo / sbin / parted
Skriv sedan skriva ut
för att se en lista över anslutna enheter. Du bör se din externa enhet här.
Från denna skärmdump kan vi se att min enhet är en 164 GB Maxtor-enhet (jag kommer att bli större senare, lovar jag.) Den viktiga informationen här är / Dev / sda
. Din enhet kommer att ha ett liknande namn som du borde skriva ner.
Titta sedan på tabellen under det här textblocket. I mitt fall är det uppenbart att den andra, större partitionen är det jag söker. Därför noterar jag att den partition jag vill montera är sda2
. Du kanske behöver en något annorlunda bild om du har mer än en enhet eller mer än en partition på din enhet.
Nu när du har den information du behöver skriver du in sluta med
och tryck på Enter. Därefter kommer vi att skapa en mapp som ska fungera som vår monteringspunkt ...
sudo mkdir -p / media / tm
... och lägg sedan till information i fstab-filen. Använd det här kommandot för att öppna en textredigerare:
sudo nano / etc / fstab
Klistra in följande rad i dokumentet, byt ut / Dev / sda2
med din enhetens partition, om den skiljer sig från / dev / sda2.
/ dev / sda2 / media / tm hfsplus kraft, rw, användare, auto 0 0
När du har klistrat in texten trycker du på Control + X för att lämna redigeraren, se till att spara när du gör det.
Montera sedan enheten med:
sudo mount -a
Om du inte ser ett felmeddelande, grattis! Du har lyckats montera din enhet.
Steg tre: Kompilera och installera Netatalk
Netatalk är ett program som simulerar AFP, nätverksprotokollet Apple, som för närvarande använder Time Machine-säkerhetskopior. Du kan installera en gammal version av Netatalk med sudo apt-get install netatalk
, men Jag rekommenderar starkt att du inte gör det. För (i stort sett politiska) komplexa orsaker, Debian-vilket Raspbian är byggt på erbjuder en mycket föråldrad version av Netatalk i sina repositories. Du kan snälla få Time Machine att arbeta med den här föråldrade versionen av Netatalk, men enligt min erfarenhet är det frustrerande.
Så jag rekommenderar att du sammanställer den senaste versionen istället. Det är mer krångel att installera, men det är värt det.
Först måste du installera beroenden. Här är allt du behöver installera, i ett kommando:
sudo aptitude install-essential libevent-dev libssl-dev libgcrypt11-dev libkrcd-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmbh-dev libdl-dev libdl-dev libdl-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl-tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev
Det kan ta ett tag att installera. Hämta sedan den senaste versionen av Netatalk. Med detta skrivande är det 3,10, även om du kanske vill kontrollera netatalk hemsida för att få det senaste versionsnumret. Kör sedan det här kommandot för att ladda ner det:
wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.10.tar.gz
Byt ut versionsnumret om du hittar en senare version på deras webbplats.
Nu packar du upp filen du hämtade med:
tjära -xf netatalk-3.1.10.tar.gz
Byt sedan till den nya mappen du just skapat.
cd netatalk-3.1.10
Därefter kan du konfigurera alla nätverksinställningar innan du sammanställer programmet, genom att använda det här kommandot:
./ configure \ --with-init-style = debian-systemd \ --without-libevent \ --without-tdb \ --with-cracklib \ --enable-krbV-uam \ --with-pam-confdir = / etc / pam.d \ - med-dbus-daemon = / usr / bin / dbus-daemon \ - med-dbus-sysconf-dir = / etc / dbus-1 / system.d \ pkgconfig-version = 1,0
Om du inte ser några felmeddelanden kan du gå vidare till nästa steg och köra:
göra
Det kommer att ta ett tag. Du kan också göra dig själv en kaffe, några scones och en trerätters måltid. En Raspberry Pi är inte snabb vid kompilering av programvara.
När allt är klart kan du äntligen installera Netatalk:
sudo gör installationen
Var det inte kul? Kontrollera snabbt att Netatalk faktiskt körs:
netatalk -V
Du får se en massa information om din Netatalk-inställning. Om allt ser bra ut, låt oss konfigurera saker!
Steg fyra: Konfigurera Netatalk
Nu när Netatalk är installerat måste du berätta för att dela din enhet. Först måste du redigera nsswitch.conf
.
sudo nano /etc/nsswitch.conf
Här måste du lägga till mdns4
och mdns
till linjen som börjar med "värdar:", så att den ser ut så här:
värdar: filer mdns4_minimal [NOTFOUND = return] dns mdns4 mdns
Denna tweak innebär att din Time Machine-enhet visas i Finder sidobalk så snart du kopplar din Raspberry Pi till nätverket.
Därefter måste du redigera afpd.service
:
sudo nano /etc/avahi/services/afpd.service
Kopiera det här textblocket och klistra in det i den filen:
% h _afpovertcp._tcp 548 _device-info._tcp 0 model = TimeCapsule
Bland annat gör denna information din Raspberry Pi efterlikna en verklig Apple Time Capsule, komplett med lämplig ikon.
Slutligen är det dags att konfigurera din externa enhet som en nätverksdelning.
sudo nano /usr/local/etc/afp.conf
Klistra in följande text längst ner i det här dokumentet:
[Global] mimic model = TimeCapsule6.106 [Time Machine] sökväg = / media / tm time machine = yes
Du kan ange ett annat namn än "Time Machine" mellan andra parentes, om du vill. Detta kommer att ändra namnet på den enhet du säkerhetskopierar, som visas i Finder och Time Machine själv.
Slutligen, fortsätt och starta nätverkstjänsterna. För att köra dessa två kommandon:
sudo service avahi-daemon start
sudo service netatalk start
Din enhet erbjuds nu på nätverket. För att se till att detta händer varje gång du startar din Raspberry Pi, skriv dessa kommandon igen, en efter en:
sudo systemctl enable avahi-daemon
sudo systemctl aktivera netatalk
Vi är väldigt nära nu!
Steg fem: Anslut till din tidsmaskin
Gå till Finder på din Mac och du bör se din Raspberry Pi här.
Du kan faktiskt ansluta härifrån genom att klicka på "Anslut som" och ange samma användarnamn och lösenord som du använder för att ansluta via SSH.
Enligt min erfarenhet fungerar Time Machine dock bättre om du ansluter till enheten via dess IP-adress, speciellt om du har ställt in statiska IP-adresser med din router (vilket du förmodligen borde). För att ansluta, öppna Finder och klicka sedan på Command + K på tangentbordet.
När du har installerat enheten, gå till Systeminställningar> Tidsmaskin och välj sedan enheten som backup av Time Machine.
Den ursprungliga säkerhetskopian körs, och efter det kommer säkerhetskopiorna att ske varje timme. Du har nu en nätverksbaserad Time Machine-enhet. Njut av!