Calibre
Calibre is considered the ultimate tool for managing your own digital library. It works well with readers from Sony, Kobo, Pocketbook, Tolino etc. and converts various file formats. The free and open-source program is also available for Windows and OS-X. Calibre is mainly written in Python and offers a plugin interface. It uses the qt toolkit for the user interface.
In order for Calibre to manage e-books, they must first be imported. Calibre then displays all books clearly with a cover image. Tags can be edited and incorrectly set metadata can be corrected. If an e-book reader is connected to the PC, Calibre offers synchronization of the book collection with the connected device.
Calibre even pays attention to the format when transferring files: if a Kindle is connected, Calibre automatically converts EPUB files to the MOBI format, as Amazon’s Kindle readers ignore the widely used EPUB standard.
Calibre cannot do much with files protected by Digital Rights Management (DRM) by default. However, third-party plugins that remove Adobe’s copy protection (“DeDRM”) have been circulating for years. However, this is illegal and does not work under Linux, or only with difficulty.
Installation
The unfortunately outdated version provided from the Ubuntu package sources is simply installed with a one-liner:
sudo apt install calibre
Since Calibre is frequently updated with program improvements and adaptations for reading devices – for example with firmware updates for older devices or new releases – a constantly updated PPA like the one from Nate Muench would be nice. Unfortunately, this service is no longer available since Calibre requires a newer version of the Qt5 graphics toolkit than the one provided by Ubuntu. So if you want to be up to date, you have to keep yourself informed about updates via RSS-Feed and download and install the binary packages manually with the following one-liner recommended by developer Kovid Goyal.
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
To remove a manually installed Calibre release, use the command
sudo /usr/bin/calibre-uninstall
The Calibre website has more information including troubleshooting tips.