Category Archives: backups

Backup your Mac Time machine with Ubuntu (networked) 2024

Hardware used in this setup:

  • M1 Mac
  • Ubuntu Server 22.04

Server Setup: This install is VERY EASY!

  1. Install ‘netatalk’ on the ubuntu machine.
    • sudo apt-get -y install netatalk
  2. Edit afp.conf
    • sudo nano /etc/netatalk/afp.conf
      • Add your location that you would like to store the backup on the Ubuntu server. (Ensuring it exists)
  3. Restart the netatalk service (Ubuntu Server):
    • sudo service netatalk restart

That was the server side, now onto the mac setup.

  1. In a terminal on the mac, run the following command:
    • defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
    • Then Reboot
  2. Mount share by selecting “Connect to server” from the Finder app’s “Go” menu (or press +K) and enter the machine name or IP address of your Ubuntu machine
    • afp://192.168.1.100
      • This will use the ubuntu users credentials to authenticate
  3. Go to Time Machine preferences and select “Change location”, select to encrypt backup, and begin the backup process.
  4. The first backup takes a little longer, but after a few seconds you should be good to go!

Don’t forget! Linux Learning Resources

This is kept under the Linux Learning Project and Learning Resources section of the site, and is updated occasionally with new links.  Feel free to suggest one by contacting me directly.


LEARNING RESOURCES

Help/Chat:

Resources:

Pre-Built Jasper Kits, Ready to go out of the box!

These kits will arrive and be ready to use the moment you power them up. They will be customized to the user, and an image will be provided so they can restore any time they like.

They will include the following:

  • RPI3 B+
  • 32GB Class 10 SD Card
  • US Robotics 9610 [USB Speaker/Mic]
  • Customized/Installed/Setup of Jasper by me personally
    • Install of Jasper and all dependencies
    • STT Setup
    • TTS Setup
  • Testing
    • Running overnight
    • With your settings if you wish
  • Copy of your personalized image for backup
    • In case you wish to restore to a “Known Good” state
  • Updates
    • Such as customized integrations and modules provided by me.
    • Updated Installer / Setup script COMING SOON.


If you are interested in one of these kits, feel free to contact me or start the process by purchasing one below:




Time Machine Backup with Ubuntu 15.x and OSX 10.7+

In the Older versions of this how-to, you will see people use the method shown just below.  Obviously that no longer works.  I will walk you through setting up TimeMachine via AFP over your LAN.  This is using an Ubuntu 15.04 machine; but since all the packages are common and in the base repos; I don’t see there being a problem getting it to work on any distro.

 OLD METHOD:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
NOTE: Any OSX after 10.6 Lion, will have to use the method demonstrated here.

 

Step 1: Install Netatalk

Install the following packages:

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

Step 2: Configure /etc/nsswitch.conf

Once those packages are installed, we have to adjust 4 configuration files:

sudo nano /etc/nsswitch.conf

Locate the following:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Add mdns  as below:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

Step 3: /etc/avahi/services/afpd.service

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

Paste the following:

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

Step 4: /etc/netatalk/AppleVolumes.default

Now we setup the share:

sudo nano /etc/netatalk/AppleVolumes.default

At the bottom the section that reads:

# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: options:upriv,usedots

# By default all users have access to their home directories.
~/                      "Home Directory"

# End of File

Change the path “~/”  to your share directory.

IMPORTANT:  Don’t forget to add ‘tm’ to options:upriv,usedots
As seen below:

# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: cnidscheme:dbd options:upriv,usedots,tm

# By default all users have access to their home directories.
/path/to/share                       "Time Capsule"

# End of File

Step 5: /etc/default/netatalk

Now, we need to adjust netatalk settings.

sudo nano /etc/default/netatalk

Locate the following section:

#### Set which legacy daemons to run.
#### If you need AppleTalk, run atalkd.
#### papd, timelord and a2boot are dependent upon atalkd.
ATALKD_RUN=no
PAPD_RUN=no
TIMELORD_RUN=no
A2BOOT_RUN=no

Update it to reflect the following:

#### Set which legacy daemons to run.
#### If you need AppleTalk, run atalkd.
#### papd, timelord and a2boot are dependent upon atalkd.
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

Once all is completed, and all the services have been restarted on the Ubuntu server.  The drive should show up under “Select Disk” under “Time Machine Preferences”.  If you have an old one, you may have to remove it.  Once selected you can use it as if it were physically plugged in.

 

*TIP – Use a wired connection only, and a gigE network will help immensely.  I do not recommend WiFi .