OS X 10.7 Lion, Time Machine & Netatalk 2.2
- July 23rd, 2011
- Posted in Technology
- By Steffen L. Norgren
- Write comment
With the release of Apple’s Mac OS X 10.7 Lion, many people will notice that Time Machine fails to play nicely with their current Netatalk servers. There is a relatively simple solution for those of us who run Netatalk servers on Linux servers and NAS devices. However, if you’re relying on a NAS-vendor such as FreeNSD, you may need to wait for them to offer an update to ensure compatibility with Mac OS X 10.7. Apparently the major reason for this break in compatibility is a lack of a “replay cache”, which was introduced in AFP 3.3.
Anyhow, below I’ve created a simple guide on how to setup Netatalk 2.2 from source on most any Linux system. I am using Gentoo in this guide, but the basics should be the same on any other system. Currently Gentoo has not merged Netatalk 2.2 into portage, so we’ll have to download the source from Netatalk itself.
Download Netatalk 2.2 (Unstable): http://netatalk.sourceforge.net
Extract the contents of the file and cd to the directory:
# tar xvf ./netatalk-2.2-beta4.tar.bz2 # cd netatalk-2.2-beta4/
To build the binaries, first run the program ./configure in the source directory. This should automatically configure Netatalk for your operating system. If you have unusual needs, then you may wish to run:
# ./configure --help
to see what special options you can enable. The most used configure options are:
The most used configure options are:
- –enable-[redhat/suse/cobalt/netbsd/fhs]
This option helps netatalk to determine where to install the start scripts. - –with-bdb=/path/to/bdb/installation/
In case you installed Berkeley DB in a non-standard location, you will have to give the install location to netatalk, using this switch.
Now run configure with any options you need. For Gentoo we’ll use the following configure options:
# ./configure --enable-gentoo --enable-zeroconf
The configure summary should look something like this:
Configure summary:
Install style:
gentoo
AFP:
AFP 3.x calls activated:
Extended Attributes: ad | sys
CNID:
backends: dbd last tdb
UAMS:
DHX (PAM SHADOW)
DHX2 (PAM SHADOW)
RANDNUM (PAM SHADOW)
passwd (PAM SHADOW)
guest
Options:
DDP (AppleTalk) support: no
CUPS support: no
SLP support: no
Zeroconf support: yes
tcp wrapper support: yes
quota support: yes
admin group support: yes
valid shell check: yes
cracklib support: no
dropbox kludge: no
force volume uid/gid: no
Apple 2 boot support: no
ACL support: yes
Now we couple and install Netatalk 2.2:
# make # sudo make install
Edit the file to look something like my setup, but make sure to change YOUR_USERNAME to the name of the user on your system. The ~/.TimeMachine directory can be whatever you chose for your backup directory. It is important to add “tm” to the options section on your Time Machine share, otherwise it will not work.
# vi /usr/local/etc/netatalk/AppleVolumes.default # The line below sets some DEFAULT, starting with Netatalk 2.1. :DEFAULT: options:upriv,usedots # The "~" below indicates that Home directories are visible by default. # If you do not wish to have people accessing their Home directories, # please put a pound sign in front of the tilde or delete it. ~/ "$u" allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv ~/.TimeMachine "$u Backup" allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv,tm # End of File
Now edit the general AFP service config file to look like this:
# vi /usr/local/etc/netatalk/afpd.conf # default: - -udp -noddp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword
Finally, edit the general Netatalk config file to look like this:
# vi /usr/local/etc/netatalk/netatalk.conf
# Netatalk configuration
#########################################################################
# Global configuration
#########################################################################
#### machine's AFPserver/AppleTalk name.
ATALK_NAME=`echo ${HOSTNAME}|cut -d. -f1`
#### server (unix) and legacy client (<= Mac OS 9) charsets
ATALK_UNIX_CHARSET='LOCALE'
ATALK_MAC_CHARSET='MAC_ROMAN'
#### Don't Edit. export the charsets, read form ENV by apps
export ATALK_UNIX_CHARSET
export ATALK_MAC_CHARSET
#########################################################################
# AFP specific configuration
#########################################################################
#### Set which daemons to run.
#### If you use AFP file server, run both cnid_metad and afpd.
CNID_METAD_RUN=yes
AFPD_RUN=yes
#### maximum number of clients that can connect:
AFPD_MAX_CLIENTS=20
#### UAMs (User Authentication Modules)
#### available options: uams_dhx.so, uams_dhx2.so, uams_guest.so,
#### uams_clrtxt.so(legacy), uams_randnum.so(legacy)
AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so"
#### Set the id of the guest user when using uams_guest.so
AFPD_GUEST=nobody
#### config for cnid_metad. Default log config:
CNID_CONFIG="-l log_note"
#########################################################################
# AppleTalk specific configuration (legacy)
#########################################################################
#### 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
#### Control whether the daemons are started in the background.
#### If it is dissatisfied that legacy atalkd starts slowly, set "yes".
ATALK_BGROUND=no
#### Set the AppleTalk Zone name.
#### NOTE: if your zone has spaces in it, you're better off specifying
#### it in afpd.conf
ATALK_ZONE=@AFP
Now you should be able to get Netatalk up and running and start your backup (note: init.d may be rc.d on some systems).
# /etc/init.d/netatalk start
Also, on Gentoo systems, we will want to have this service start automatically at startup.
# rc-update add netatalk default
Now your formerly incompatible Netatalk installation should work with OS X 10.7 Lion’s Time Machine backup. However, if you’ve never setup your system for using Netatalk as a Time Machine backup server, you may want to follow these additional instructions.
OPTIONAL: If you have not setup a sparse disk image for time machine backups, follow these instructions.
On your OS X 10.7 machine, mount the Time Machine Share. It should show up in the “Shared” section of the sidebar in Finder. However, if it does not show up, you can manually mount the share by pressing COMMAND+K in the finder and entering your server details as follows:
Now open up Terminal.app and cd to the newly mounted volume.
# cd /Volumes/myBackup/
Now we’ll create a new sparse disk image for the Time Machine backup and enable support for network volumes in Time Machine. All of complicated stuff after “Time Machine” is just a script to automatically extract your machine’s local host name and ethernet MAC address.
# hdiutil create -size 512g -fs HFS+J -volname "Time Machine" `grep -A1 LocalHostName /Library/Preferences/SystemConfiguration/preferences.plist | tail -n1 | awk 'BEGIN { FS = "|" } ; { print $2 }'`_`ifconfig en0 | grep ether | awk 'BEGIN { FS = ":" } ; {print $1$2$3$4$5$6}' | awk {'print $2'}`.sparsebundle
# defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Now configure Time Machine to use the mounted volume for backup and everything should work beautifully!



Hi Steffen ,
you got it
All guys out there think, that a Time Machine backup is only possible with the stable version of Netatalk 2.2.
Thank’s a lot for sharing!
Ishan
Hi,
Thanks!
I’ve been struggling with the beta 4 for hours
I had missed to un-comment “AFPD_UAMLIST=”-U uams_dhx.so,uams_dhx2.so”"
That did the trick, thank you!
I am not particularly computer savvy and am using a Seagate GoFlex Home to wirelessly back up my two Macs. I upgraded both to Lion, blissfully unaware of this problem. My main computer crashed and the hard drive had to be erased. Now I’m unable to backup from Time Machine until Seagate becomes as smart as you and releases a fix. Who knows when that might be? All I can say is that the GoFlex Home is the worst hardware I’ve ever purchased.
I don’t understand why large vendors don’t subscribe to the Apple Developer program. They would have been able to create solutions and test them back in February/March as opposed to having angry customers now.
It isn’t like it is a particularly difficult thing to fix, but I wouldn’t doubt the corporate morass doesn’t help.
So is there a simple solution or not ???
Afraid I don’t own a NAS myself, so I am unable to offer up any potential solutions. Sorry. =(
Doesnt work for me
Successfully compiled on my NAS and still get Time Machine error…
Afraid I don’t have any experience with NAS devices. As mentioned in my guide, there are a few config files that are important to change.
For instance, adding “tm” to the Time Machine share in AppleVolumes.default. Otherwise, you may need to wait for your vendor to offer an official update.
EDIT: Additionally, did you make sure to uninstall the existing Netatalk installation on the device? If you have two versions of Netatalk installed, one in /usr and the other in /usr/local, I believe the system will prefer the one in /usr.
I built this on Ubuntu 10.10 (old headless)
the configure is:
./configure –enable-debian –enable-zeroconf
make sure that the summary output matches what was given above, in particular:
DHX2 ( SHADOW)
RANDNUM ( SHADOW)
I had to install things like:
libdb4.8-dev
avahi-client-dev
install libssl-dev
libacl1.dev
libwrap0-dev
libgrcypt11-dev
otherwise it will complete but os x will say server is too old
On release-Lion, I had to do connect to server afp://, select the Backup unit for it to appear in Time Machine
Lion wants 20% more storage than what you are backing up, I did 100 gb hdiutil for 45 gb of data. 3 hours over poor wifi, lots of fan noise.
You might want to look into having avahi advertise the Netatalk share. That might have it show up in the side bar.
http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/
This suggestion fixed it for me!! I built this on a clean Fedora 15 install… I had to go looking for the Fedora versions of the sw listed above, but once I installed those, that did the trick. Thanks!
Thanks, Steffen. Best manual which found in Internet. Working fine on my Gentoo.
Comments:
1. # hdiutil create – don’t working with error (hdiutil: create failed – error -4960) and TM working without it
2. DON’T FORGET about tm in the options in the /usr/local/etc/netatalk/AppleVolumes.default (~/.TimeMachine “$u Backup” allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv,tm)
Thank you so much for the reminder of “tm” in the AppleVolumes.default file. It wasn’t working and I missed that one element…now working great!!!
Hi
It seems that time machine is backing up fine, but I have some problems when “enter time machine”. It seems to look for the backup disk and it also do mounts the disk – but the interface never show up? Anyone tested that they can restore single files?
Just tested the restore interface now. I had no issues with getting that to work. I wish I could help you more with that issue.
I have this exact same problem. Were you ever able to find a solution?
It may be entirely possible this is no longer required. Also, your error may or may not have been related to my added bash script.
Tried downloading on my suse 11.4 with “configure –enable-suse” but summary shows up as
UAMS:
DHX (PAM SHADOW)
RANDNUM (PAM SHADOW)
passwd (PAM SHADOW)
guest
or without the DHX2. Also after this config and trying to compile get this
/bin/sh ../../libtool –tag=CC –mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -D_U_=”__attribute__((unused))” -g -O2 -I../../sys -MT ldap.lo -MD -MP -MF .deps/ldap.Tpo -c -o ldap.lo ldap.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include “-D_U_=__attribute__((unused))” -g -O2 -I../../sys -MT ldap.lo -MD -MP -MF .deps/ldap.Tpo -c ldap.c -fPIC -DPIC -o .libs/ldap.o
ldap.c:56:18: error: array type has incomplete element type
ldap.c:72:19: error: array type has incomplete element type
make[3]: *** [ldap.lo] Error 1
make[3]: Leaving directory `/home/lpweber/netatalk-2.2-beta4/libatalk/acl’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/lpweber/netatalk-2.2-beta4/libatalk’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/lpweber/netatalk-2.2-beta4′
make: *** [all] Error 2
Do I have to install something else first? Any ideas about what I’m doing wrong? Thanks in advance.
Afraid I have no experience with SuSE that is current to this century. =p
In any case, even if you got it to compile, it would not work without DHX2. One of the previous commenters mentioned what he did to get it to compile on Ubuntu – he had to install several support libraries.
Try and see if you have the SuSE equivalent to the following libraries installed:
libdb4.8-dev
avahi-client-dev
install libssl-dev
libacl1.dev
libwrap0-dev
libgrcypt11-dev
thank you! pointing out these dev packages worked for me.
For other suse-users: try searching yast software with the “provides” filter if you can\t find any of these packages
does anyone know what DIR i’m supposed to provide in –enable-slp=DIR ?
Just a follow up. It now works perfectly for me. “Reset time machine” disable time machine and then dlete /Library/Preferences/com.apple.TimeMachine.plist
Then selecting the disk in timemachine again and let i do a backup. Now I can use the interface just fine again
Thanks, worked perfectly on Fedora with the tips to find all the libraries mentioned.
I have a Seagate DockStar with gentoo. I have followed your manual and it works great!
Thanks for sharing!
Wow,
I struggled with it for hours, but got it working after all. One small problem in getting my existing time machine working was a server error: “Something wrong with the volume’s CNID DB, using temporary CNID DB instead. Check server messages for details!”. Solved it by removing the .AppleDouble / .AppleDB directories.
Thanks a lot for sharing! I hope netatalk-2.2 will be included in fedora 15 packages soon, because it would save a lot of time…
Hmmm, a bit too early I guess. My first time machine backup failed with a segfault. I’m not sure if I should file a bug though….
afpd[15889]: select: Invalid argument
afpd[15889]: dsi_stream_read: len:-1, Invalid argument
afpd[15889]: ===============================================================
afpd[15889]: INTERNAL ERROR: Signal 11 in pid 15889 (2.2-beta4)
afpd[15889]: ===============================================================
afpd[15889]: BACKTRACE: 10 stack frames:
afpd[15889]: #0 /usr/local/sbin/afpd(netatalk_panic+0x1c) [0x446e7c]
afpd[15889]: #1 /usr/local/sbin/afpd() [0x446f7c]
afpd[15889]: #2 /lib64/libc.so.6() [0x326b435350]
afpd[15889]: #3 /lib64/libc.so.6() [0x326b52d120]
afpd[15889]: #4 /usr/local/sbin/afpd(dsi_writeinit+0×54) [0x445524]
afpd[15889]: #5 /usr/local/sbin/afpd(afp_over_dsi+0x4f8) [0x40fee8]
afpd[15889]: #6 /usr/local/sbin/afpd() [0x40edf7]
afpd[15889]: #7 /usr/local/sbin/afpd(main+0x45b) [0x40da5b]
afpd[15889]: #8 /lib64/libc.so.6(__libc_start_main+0xed) [0x326b42139d]
afpd[15889]: #9 /usr/local/sbin/afpd() [0x40de0d]
afpd[18077]: AFP3.3 Login by ivor
afpd[18077]: afp_disconnect: trying primary reconnect
afpd[15882]: Reconnect: no child[15889]
afpd[18077]: afp_disconnect: primary reconnect failed
afpd[18077]: dsi_stream_read: len:0, unexpected EOF
I’m sorry but I cannot resist quoting the IT Crowd.
Have you tried turning it off and on again? =p
Your article has been a great help, and I’m _this close_ (holds index and thumb very closely together). I’m running FC 14 and netatalk 2.2.0, trying to get my TimeMachine shares up and running since the Lion upgrade.
I followed your directions explicitly, even copying and pasting your config files and changing the relevant bits. I can connect to the FC server over afp with the specified user, but I can only see the user’s home directory, not the TimeMachine share or the other 2 TB share I was using previously. I’m not using the ‘~’ in the AppleVolumes.default config, so I’m puzzled why the home directory is working at all, but the real problem is that I can’t see my TimeMachine backup.
Any ideas? Could it have anything to do with the .AppleDB or other dot files on the shared volume being screwy?
Here is my AppleVolumes.default file:
# more AppleVolumes.default
#/mnt/TimeMachine AppleTalkShare allow:imac cnidscheme:dbd options:usedots
#/mnt/NetworkShare1-2TB NetworkShare1-2TB allow:imac cnidscheme:dbd options:usedots,upriv,tm
/mnt/TimeMachine “$u Backup” allow:imac cnidscheme:dbd options:usedots,upriv,tm
/mnt/NetworkShare1-2TB “$u Backup” allow:imac cnidscheme:dbd options:usedots,upriv,tm
First of all, did you uninstall your existing Netatalk installation prior to installing this version?
Secondly, when you compile and install an application from scratch, it’ll almost always install into /usr/local by default and your corresponding config files will be stored in /usr/local/etc/netatalk. Make sure you’re editing the config files in /usr/local.
Otherwise, there could be a chance that Netatalk is trying to use /etc/netatalk config files instead of the ones in local. To be doubly sure, make a copy of your modified config files in both possible directories.
Thanks, Steffen. I wasn’t thinking about /usr/local. I was editing the files in /etc/netatalk and wondering why none of my changes were taking effect. I’m up and running, thanks for the excellent guide, and I really appreciate the help in the comments here.
Nice article. A much better approach on Gentoo would be to create a local overlay and utilize the existing Netatalk ebuilds for installation. That will keep it within portage and cut down on work needed when you upgrade in the future. This is especially true since portage does not use the –enable-gentoo configure flag.
A local overlay ebuild should be as simple as copying an existing Netatalk ebuild and changing the version number (now that Netatalk 2.2 is stable). Unfortunately, there is a bug that prevents Netatalk from being built with –enable-fhs. Version 2.2.1 is supposed to fix it (confirmed the problem on my own Gentoo box).
http://sourceforge.net/tracker/index.php?func=detail&aid=3381253&group_id=8642&atid=108642
In case someone else finds it handy, I modified the provided ebuild for 2.1.5 and came up with this (that works for me):
— BEG —
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-fs/netatalk/netatalk-2.1.5.ebuild,v 1.1 2011/01/04 20:26:10 vapier Exp $
EAPI=”2″
inherit pam
DESCRIPTION=”Kernel level implementation of the AppleTalk Protocol Suite”
HOMEPAGE=”http://netatalk.sourceforge.net/”
SRC_URI=”mirror://sourceforge/${PN}/${P}.tar.bz2″
LICENSE=”BSD”
SLOT=”0″
KEYWORDS=”~amd64 ~arm ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd”
IUSE=”cracklib cups debug kerberos pam slp ssl tcpd xfs”
RDEPEND=”>=sys-libs/db-4.2.52
cracklib? ( sys-libs/cracklib )
pam? ( virtual/pam )
ssl? ( dev-libs/openssl )
tcpd? ( sys-apps/tcp-wrappers )
slp? ( net-libs/openslp )
cups? ( net-print/cups )
kerberos? ( virtual/krb5 )
>=sys-apps/coreutils-7.1
!app-text/yudit”
DEPEND=”${RDEPEND}
xfs? ( sys-fs/xfsprogs )”
src_prepare() {
# until someone that understands their config script build
# system gets a patch pushed upstream to make
# –enable-srvloc passed to configure also add slpd to the
# use line on the initscript, we’ll need to do it this way
if use slp ; then
sed -i -e ‘/^[[:space:]]*use\>/s:$: slpd:’ \
distrib/initscripts/rc.atalk.gentoo.tmpl || die
fi
}
src_configure() {
use xfs || eval $(printf ‘export ac_cv_header_%s=no\n’ {linux,xfs}_{dqblk_xfs,libxfs,xqm,xfs_fs}_h)
# Ignore –enable-gentoo, we install the init.d by hand and we avoid having
# to sed the Makefiles to not do rc-update.
# –enable-shadow: let build system detect shadow.h in toolchain
econf \
$(use_with pam) \
$(use_enable cups) \
$(use_enable debug) \
$(use_enable tcpd tcp-wrappers) \
$(use_enable kerberos krbV-uam) \
–disable-krb4-uam \
$(use_enable slp srvloc) \
$(use_with ssl ssl-dir) \
$(use_with cracklib) \
$(use_with slp srvloc) \
–disable-afs \
–enable-gentoo \
–with-cnid-cdb-backend \
–with-bdb=/usr
}
src_compile() {
emake || die
# Create the init script manually (it’s more messy to –enable-gentoo)
emake -C distrib/initscripts rc.atalk.gentoo || die
}
src_install() {
emake DESTDIR=”${D}” install || die
dodoc CONTRIBUTORS NEWS README TODO VERSION
newinitd distrib/initscripts/rc.atalk.gentoo atalk || die
# The pamd file isn’t what we need, use pamd_mimic_system
rm -rf “${D}/etc/pam.d”
pamd_mimic_system netatalk auth account password session
# Move /usr/include/netatalk to /usr/include/netatalk2 to avoid collisions
# with /usr/include/netatalk/at.h provided by glibc (strange, uh?)
# Packages that wants to link to netatalk should then probably change the
# includepath then, but right now, nothing uses netatalk.
# On a side note, it also solves collisions with freebsd-lib and other libcs
mv “${D}”/usr/include/netatalk{,2} || die
sed -i \
-e ‘s/include <netatalk/include <netatalk2/g' \
"${D}"usr/include/{netatalk2,atalk}/* || die
}
— END —
For anyone who copies this, careful. This silly blog likes to reformat two – - as a single –.
Just a quick note, tried to do this on a Fedora 15 minimal install, took me a while to figure out all the required packages to get my configure summary the same as Steffen’s
Eventually after installing the following packages I was able to get the correct summary and Lion working with my afp shares:
db4-devel
avahi
avahi-devel
nss-mdns
tcp_wrappers
tcp_wrappers-devel
quota
quota-devel
libacl
libacl-devel
openssl
openssl-devel
libgcrypt
libgcrypt-devel
pam
pam-devel
g-wrap
g-wrap-devel
I had originally used the following guide to setup the shares with on fedora to work with Snow Leopard: http://guides.macrumors.com/Fedora12_Based_Time_Capsule_Server
also had another issue where I got the message:
“The network backup disk does not support the required AFP features.”
To fix this I added “options:tm” to the Time Machine share line in AppleVolumes.default and deleted /etc/avahi/services/afpd.service as described in the user comments here:
http://www.tristanwaddington.com/2011/07/debian-time-machine-server-os-x-lion/
Thanks!
Works perferctly with Ubuntu 11.04 (mythbuntu).
One note: I didn’t need to create sparsebundle. Time Machine creates $HOSTNAME.sparsebundle folder automaticaly.
-q
Yes, I noticed that when I tried to do it without that step. I leave it in there just in case though.
I’m not sure what this is doing.
~/ “$u” allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv
~/.TimeMachine “$u Backup” allow:YOUR_USERNAME cnidscheme:dbd options:usedots,upriv,tm
Could you explain it to me? Particularly the ~/.TimeMachine and “$u” parts. I’m lay when it comes to Gentoo. It took me 4 tries to get one configured, and I’m still trying. I’m setting up mdadm with a raid1 of 2 drives and that’s where I want to backup to in TimeMachine. I’m totally confused. How do I point to my md0? Do I mount a folder for it and if so how do I point to it with your comments above?
I should have said that I understand that the $u is the username variable so that more clients than just I can connect to the share. I just wanted to be clear, so that I hope you can answer my questions.
Thank you,
Derek
Yes, $u is a variable for the connecting user’s user name. However, this only has a bearing on the displayed name of the share once it is connected on your Mac. For instance, “$u home folder” might show up as “derek home folder” on your Mac once it is connected. It has no bearing on the directory that it attempts to mount, that’s where the ~/ comes in (forgive me if you know this). For example, if your home directory is /home/frank the ~ is simply a holder for the “/home/frank” portion. By using ~, we can have a single line of configuration that will apply to any number of users, as the ~ is dependent on the connecting user.
For example, ~/.TimeMachine “$u Backup” tells netatalk to mount the .TimeMachine folder in the connecting user’s home folder. For frank it would be /home/frank/.TimeMachine and will show up in the user’s finder on their Mac as “frank Backup”.
I hope I answered your question.
Well, I’m going to try again. I never tried compiling a kernel before or any of the stuff gentoo requires. It’s just that I’d like to have my Mac backed up to my, AMD SB800 controlled, RAID. It’s quite fun going through the installation guide on gentoo.org. So about this guide, I want to thank you for everything first of all. About my questions, you explained the .TimeMachine and the $u parts beautifully, but I’m still wondering something. I’m mounting a md0. How should I point to it? Does it go in the code from your guide? Where in the guide you wrote is the backup folder identified? Prior to my asking the questions on here, I saw a folder for the time machine to use and got it accepted by time machine to use as a backup, however the capacity of the folder it listed wasn’t what I had setup my md0 folder to be.
Oh, I re-read your comment, and now I understand what you said. Ok, you answered my questions. Thank you very much.
Hi. I followed this tutorial and I cannot log in any more. I press cmd+K and add my ip address and it wrote the server is unavailable. Any help?
Instead of creating the sparse disk image manually, it’s easier just to use “volsizelimit:1024000″ (1TB) on the share, and then let Time Machine do everything else.
Wow! THANK YOU THANK YOU THANK YOU!
I had a hard time getting Netatalk to work with my Mac. (which is Lion) Stumbled upon your post and that pretty much got me working. I ran into issue with some supporting software and libs though. Had to do some extra “apt-get” installs. I have Ubuntu 10.04 x64 and with your config setup, I got things working finally! I love having Time Machine backup to my Linux box! Thanks again!
PS I posted my own guide on my site after all was working with additional info on the Ubuntu packages. There’s a big Thanks and link to you there!
Excellent!!!!
Following your instructions I got this working on Debian Squeeze with Netatalk 2.2.1. Time machine works a treat with a new macbookair with OS X Lion.
For Debian Squeeze I had to install the following via apt-get install:
gcc
make
libc6
libc6-dev
libdb-dev
libdb4.8-dev
libcrack2-dev
libssl-dev
libgcrypt-dev
libavahi-client-dev
./configure –enable-debian –enable-zeroconf
make
make install
And then your config file updates before starting netatalk.
Followed by the sparse disk image creation.
Thanks you!!!!
http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/#comment-86551
Anybody have this solution working with Ubuntu 11.10, Lion 10.7.2, and Netatalk 2.2.1?
I can mount the AFP share as a volume, write files to it, and Time Machine allows me to select it as a backup volume. When a backup is attempted, I always get these errors:
com.apple.backupd: NAConnectToServerSync failed with error: 80 for url: afp://xxxxx@hostname/afp
com.apple.backupd: Backup failed with error: 19
I’ve tried numerous combinations of configurations for the afpd.conf and AppleVolumes.default and it’s always the same result. I compiled Netatalk 2.2.1 manually and here is the output of my configure command:
Using libraries:
LIBS = -lpthread -L$(top_srcdir)/libatalk
CFLAGS = -I$(top_srcdir)/include -D_U_="__attribute__((unused))" -g -O2 -I$(top_srcdir)/sys
SSL:
LIBS = -L/usr/lib64 -lcrypto
CFLAGS = -I/usr/include/openssl
LIBGCRYPT:
LIBS = -L/lib/x86_64-linux-gnu -lgcrypt
CFLAGS =
BDB:
LIBS = -L/usr/lib64 -ldb-5.1
CFLAGS =
Configure summary:
Install style:
debian
AFP:
Large file support (>2GB) for AFP3: yes
Extended Attributes: ad | sys
CNID:
backends: dbd last tdb
UAMS:
DHX ( SHADOW)
DHX2 ( SHADOW)
RANDNUM ( SHADOW)
passwd ( SHADOW)
guest
Options:
DDP (AppleTalk) support: no
SLP support: no
Zeroconf support: yes
tcp wrapper support: yes
quota support: yes
admin group support: yes
valid shell check: yes
cracklib support: no
dropbox kludge: no
force volume uid/gid: no
ACL support: yes
LDAP support: yes
here is my config for:
afpd.conf:
- -transall -noddp -uamlist uams_randnum.so,uams_dhx2_passwd.so -nosavepassword
AppleVolumes.default:
/mnt/time_machine "time_machine" allow:xxxxxx cnidscheme:dbd options:usedots,tm
Thanks!
@CelticFrostPwns
Just a suggestion (by no means am I an expter) please try the following…
AppleVolumes.default:
ADD “upriv” to “options:usedots,tm”
apt-get install avahi-client-dev
apt-get install install libssl-dev
apt-get install libavahi-client-dev
apt-get install libssl-dev
apt-get install libacl1-dev
apt-get install libwrap0-dev
apt-get install libgcrypt11-dev
and following your guide it worked at first time!
Best Guide for Debian Squeeze!
I’ve managed to get the summary the same using the fedora packages outlined above, but when I try to create the sparsebunble I get ‘Operation not permitted’
Any ideas on how to over come this?
Many thanks