Haven't tried it myself, but would this work?...
Open Finder, cmd+shift+g to:
- Move the 'Books' folder onto your external drive
- Make an Alias of the Books folder on your external drive
- Paste the Alias into the location mentioned above
I use to do this with my iTunes library when I had my music on an external drive. So when you open iBooks, it'll follow the Alias onto your external drive. Does that make sense??
Still useles however. Apple have renamed all the books. I have abdsolutely no idea which book is represented by 0A57BD18205834A8DE4C9F926239E537.epub , for instance. I guess you can trust Apple to make something very simple extremely complex - just for the sake of it, it seems.
It wasn't broken and it didn't need fixing. Now it does. Ahh well I guess it keeps the developers in a job.
Hi ajweller88, I tried two things regarding the alias idea:
- Inside ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks there is the "Books" folder (I think this is the one you mean?), which I moved to my NAS. I created an alias to it and MOVED (again, I think this is what you meant?) the alias to ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks. iBooks showed the books being there but could not find the book when trying to open it.
- I then copied the entire "iBooks" folder and contents from ~/Library/Containers/com.apple.BKAgentService/Data/Documents to my NAS, created an alias to "iBooks" and moved that alias to ~/Library/Containers/com.apple.BKAgentService/Data/Documents/. This time, when I started iBooks, it presented this dialog:
putting the "iBooks" folder back where it was originally and saying "Try Again" was fine.
So, if I've done it right, we can't use that way; I wonder if there is any other way (or if I mucked up hehe).
Creating an OS X-style "alias" is not enough. I haven't tried the following solution (and I won't do it myself as my HDD is big enough, sorry), but the correct way to do this kind of jobs on OS X is to create a "symlink", or "symbolic link", which is a UNIX-style alias (read more about it on Wikipedia if you'd like to). To put it short, you type/paste the following commands into Terminal.app, one at a time (you will be making changes to your system files and you will be prompted for your admin password, which is pretty dangerous if you don't understand the mechanisms—remember to quit iBooks.app first, make backups, and be prepared for any damages):
sudo mv "~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks" "/Volumes/EXTERNAL DRIVE/PATH TO IBOOKS FOLDER";
sudo ln -s "/Volumes/EXTERNAL DRIVE/PATH TO IBOOKS" "~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks";
You should change "EXTERNAL DRIVE" to the name of your drive, and replace "PATH TO IBOOKS" with the path you want to store iBooks documents on your external drive. For instance, replacing "PATH TO IBOOKS" with "iBooks" simply creates a directory named "iBooks" under the root directory of your external drive with the iBooks data. Note that after doing this you won't be able to properly use iBooks without connecting the external drive.
This might or might not work, but I hope this helps.
(If this doesn't work, recover to the original state by quitting iBooks.app first, and type/paste the following into Terminal (you might again be prompted for your admin password):
sudo rm -rf "~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks";
sudo mv "/Volumes/EXTERNAL DRIVE/PATH TO IBOOKS FOLDER" "~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks";
This will most likely recover your original working state of iBooks.)
Hi Zhimming, thanks, but I have now tried that and no go. Looking at the app's behaviour, it either wants books added to the "library" or moved from iTunes. When you do either of those two things, iBooks makes a copy of the file in the folder we've talked about and then updates the "Books.plist" file. From what I can see, changing the location of the entire "iBooks" folder is not recognised by iBooks; it wants it's Books.plist file where it is originally. I did make it work using this method though:
1. Add PDF to Library using iBooks itself
2. replace the real copy with a symbolic link back to the PDF on the external drive.
I have checked, and the Books.plist is only updated after step 1. As I only use iBooks for PDFs, not epubs, I'm fine with this until Apple allow iBooks to have it's Library off the internal disk (or at least to use the iTunes Library where I have books). Doing the above with epubs would be extremely annoying because of the numbered folder and all the sub-folders and files.
All in all, I think I won't use iBooks until it's better.
Hey, it was worth a try I guess.
Seems as though a few other people are having similar issues:
Searching Google also brings up multiple people with the same problem and no answers.
Sorry I couldn't help any further!
I just spent the last 2 hours revealing where books are stored, compressing the folders, and converting them into epubs using calibre.
You don't need to do this! Seriously, all you need to do is make a folder and drag the books directly out of ibooks into the folder.
I seriously feel like the world's biggest idiot right now, but hopefully everyone can learn from it.
It's a hidden folder (this article nicely shows how to reveal and hide those: http://osxdaily.com/2009/02/25/show-hidden-files-in-os-x/ ). However, as I stated above, you do not need to do that. All you need to do is create a folder, open iBooks, then drag books out of iBooks into the folder (which is pretty basic, so you should know how to do this.). Hope this helps!
You can still move it to an external HD easily.
go to ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books
Create a symbolic link of the Books folder (http://apple.stackexchange.com/questions/115646/how-can-i-create-a-symbolic-link -in-terminal)
move the original folder to your external HD
leave the symlink on your mac