5

I know p7zip package is not installed by default on Ubuntu 18.04. Still Nautilus is able to create 7z archives. How is this possible?

Arun
  • 2,001
  • 11
  • 24

1 Answers1

6

Nautilus has changed the mechanism of archive compression.

The list of dynamic libraries of ldd $(which nautilus) executable confirms this.
Here the most important line is below:

$ ldd /usr/bin/nautilus
...
    libarchive.so.13 => /usr/lib/x86_64-linux-gnu/libarchive.so.13
...

What is the name of its package?

$ dpkg -S /usr/lib/x86_64-linux-gnu/libarchive.so.13
libarchive13:amd64: /usr/lib/x86_64-linux-gnu/libarchive.so.13

What functionality this package (libarchive13) provides?

$ apt-cache show libarchive13
Package: libarchive13
...
Description-en: Multi-format archive and compression library (shared library)
Archive formats supported are:
 .
    * tar (read and write, including GNU extensions)
...
    * zip (read only, with some limitations, uses zlib)
...
    * 7zip (read and write, with some limitations)

Moreover as further proof - if we try to remove this package, it will remove many core applications from GNOME (Nautilus, File Roller, Evince, GNOME Control Center and others):

$ sudo apt-get purge libarchive13 --simulate
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  evince* file-roller* fwupd* gir1.2-rb-3.0* gir1.2-totem-1.0* 
  gir1.2-totemplparser-1.0* gnome-control-center* gnome-software*
  gnome-software-plugin-snap* grilo-plugins-0.3-base* gvfs-backends* 
  libappstream-glib8* libarchive13* libevdocument3-4* libevview3-3*
  libgnome-autoar-0-0* libgrilo-0.3-0* libgxps2* librhythmbox-core10* 
  libtotem-plparser18* libtotem0* nautilus* rhythmbox*
  rhythmbox-plugin-alternative-toolbar* rhythmbox-plugins* totem* 
  totem-plugins* ubuntu-desktop* ubuntu-software*
0 upgraded, 0 newly installed, 29 to remove and 53 not upgraded.

So the answer is: Nautilus 3.26 in Ubuntu 18.04 LTS does not use p7zip, it uses functions from libarchive13 package.

N0rbert
  • 99,918