Referencia de los ejecutables de linux, para el sistema

Puedo hacer algo mejor. Voy a instalar el “célebre” navegador Vivaldi. En mi sistema, Discover instala por defecto “como administrador”(1). Entonces es de esperar que esté en /var:

tux@mipc:~> find /var/lib/flatpak/ -iname *vivaldi*
/var/lib/flatpak/app/com.vivaldi.Vivaldi
(...)
tux@mipc:~> cd /var/lib/flatpak/app/com.vivaldi.Vivaldi
tux@mipc:/var/lib/flatpak/app/com.vivaldi.Vivaldi> ls
current  x86_64
tux@mipc:/var/lib/flatpak/app/com.vivaldi.Vivaldi> tree x86_64/
x86_64/
└── stable
    ├── 865431766e981ee229d189def3589e0f8735c04881343b63770593992c783eb9
    │   ├── deploy
    │   ├── export
    │   │   ├── bin
    │   │   │   └── com.vivaldi.Vivaldi
    │   │   └── share
    │   │       ├── applications
    │   │       │   └── com.vivaldi.Vivaldi.desktop
    │   │       ├── dbus-1
    │   │       ├── icons
    │   │       │   └── hicolor
    │   │       │       ├── 128x128
    │   │       │       │   └── apps
    │   │       │       │       └── com.vivaldi.Vivaldi.png
    │   │       │       ├── 16x16
    │   │       │       │   └── apps
    │   │       │       │       └── com.vivaldi.Vivaldi.png
    │   │       │       ├── 24x24
    │   │       │       │   └── apps
    │   │       │       │       └── com.vivaldi.Vivaldi.png
    │   │       │       ├── 256x256
    │   │       │       │   └── apps
    │   │       │       │       └── com.vivaldi.Vivaldi.png
    │   │       │       ├── 32x32
    │   │       │       │   └── apps
    │   │       │       │       └── com.vivaldi.Vivaldi.png
    │   │       │       ├── 48x48
    │   │       │       │   └── apps
    │   │       │       │       └── com.vivaldi.Vivaldi.png
    │   │       │       └── 64x64
    │   │       │           └── apps
    │   │       │               └── com.vivaldi.Vivaldi.png
    │   │       └── metainfo
    │   │           └── com.vivaldi.Vivaldi.metainfo.xml
    │   ├── files
    │   │   ├── bin
    │   │   │   ├── cobalt
    │   │   │   ├── dconf
    │   │   │   ├── flextop-init
    │   │   │   ├── vivaldi
    │   │   │   ├── xdg-desktop-menu
    │   │   │   └── xdg-icon-resource
    │   │   ├── etc
    │   │   │   ├── cobalt.ini
    │   │   │   └── krb5.conf
    │   │   ├── include
    │   │   │   ├── com_err.h
    │   │   │   ├── gssapi
    │   │   │   │   ├── gssapi_alloc.h
    │   │   │   │   ├── gssapi_ext.h
    │   │   │   │   ├── gssapi_generic.h
    │   │   │   │   ├── gssapi.h
    │   │   │   │   ├── gssapi_krb5.h
    │   │   │   │   └── mechglue.h
    │   │   │   ├── gssapi.h
    │   │   │   ├── gssrpc
    │   │   │   │   ├── auth_gssapi.h
    │   │   │   │   ├── auth_gss.h
    │   │   │   │   ├── auth.h
    │   │   │   │   ├── auth_unix.h
    │   │   │   │   ├── clnt.h
    │   │   │   │   ├── netdb.h
    │   │   │   │   ├── pmap_clnt.h
    │   │   │   │   ├── pmap_prot.h
    │   │   │   │   ├── pmap_rmt.h
    │   │   │   │   ├── rename.h
    │   │   │   │   ├── rpc.h
    │   │   │   │   ├── rpc_msg.h
    │   │   │   │   ├── svc_auth.h
    │   │   │   │   ├── svc.h
    │   │   │   │   ├── types.h
    │   │   │   │   └── xdr.h
    │   │   │   ├── kadm5
    │   │   │   │   ├── admin.h
    │   │   │   │   ├── chpass_util_strings.h
    │   │   │   │   └── kadm_err.h
    │   │   │   ├── kdb.h
    │   │   │   ├── krad.h
    │   │   │   ├── krb5
    │   │   │   │   ├── ccselect_plugin.h
    │   │   │   │   ├── certauth_plugin.h
    │   │   │   │   ├── clpreauth_plugin.h
    │   │   │   │   ├── hostrealm_plugin.h
    │   │   │   │   ├── kadm5_auth_plugin.h
    │   │   │   │   ├── kadm5_hook_plugin.h
    │   │   │   │   ├── kdcpolicy_plugin.h
    │   │   │   │   ├── kdcpreauth_plugin.h
    │   │   │   │   ├── krb5.h
    │   │   │   │   ├── localauth_plugin.h
    │   │   │   │   ├── locate_plugin.h
    │   │   │   │   ├── plugin.h
    │   │   │   │   ├── preauth_plugin.h
    │   │   │   │   └── pwqual_plugin.h
    │   │   │   ├── krb5.h
    │   │   │   ├── profile.h
    │   │   │   ├── verto.h
    │   │   │   └── verto-module.h
    │   │   ├── lib
    │   │   │   ├── debug
    │   │   │   ├── gio
    │   │   │   │   └── modules
    │   │   │   │       ├── giomodule.cache
    │   │   │   │       └── libdconfsettings.so
    │   │   │   ├── krb5
    │   │   │   │   └── plugins
    │   │   │   │       ├── authdata
    │   │   │   │       ├── kdb
    │   │   │   │       │   └── db2.so
    │   │   │   │       ├── libkrb5
    │   │   │   │       ├── preauth
    │   │   │   │       │   ├── otp.so
    │   │   │   │       │   ├── pkinit.so
    │   │   │   │       │   ├── spake.so
    │   │   │   │       │   └── test.so
    │   │   │   │       └── tls
    │   │   │   │           └── k5tls.so
    │   │   │   ├── libcom_err.so -> libcom_err.so.3.0
    │   │   │   ├── libcom_err.so.3 -> libcom_err.so.3.0
    │   │   │   ├── libcom_err.so.3.0
    │   │   │   ├── libdconf.so -> libdconf.so.1
    │   │   │   ├── libdconf.so.1 -> libdconf.so.1.0.0
    │   │   │   ├── libdconf.so.1.0.0
    │   │   │   ├── libgssapi_krb5.so -> libgssapi_krb5.so.2.2
    │   │   │   ├── libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2
    │   │   │   ├── libgssapi_krb5.so.2.2
    │   │   │   ├── libgssrpc.so -> libgssrpc.so.4.2
    │   │   │   ├── libgssrpc.so.4 -> libgssrpc.so.4.2
    │   │   │   ├── libgssrpc.so.4.2
    │   │   │   ├── libk5crypto.so -> libk5crypto.so.3.1
    │   │   │   ├── libk5crypto.so.3 -> libk5crypto.so.3.1
    │   │   │   ├── libk5crypto.so.3.1
    │   │   │   ├── libkadm5clnt_mit.so -> libkadm5clnt_mit.so.12.0
    │   │   │   ├── libkadm5clnt_mit.so.12 -> libkadm5clnt_mit.so.12.0
    │   │   │   ├── libkadm5clnt_mit.so.12.0
    │   │   │   ├── libkadm5clnt.so -> libkadm5clnt_mit.so
    │   │   │   ├── libkadm5srv_mit.so -> libkadm5srv_mit.so.12.0
    │   │   │   ├── libkadm5srv_mit.so.12 -> libkadm5srv_mit.so.12.0
    │   │   │   ├── libkadm5srv_mit.so.12.0
    │   │   │   ├── libkadm5srv.so -> libkadm5srv_mit.so
    │   │   │   ├── libkdb5.so -> libkdb5.so.10.0
    │   │   │   ├── libkdb5.so.10 -> libkdb5.so.10.0
    │   │   │   ├── libkdb5.so.10.0
    │   │   │   ├── libkrad.so -> libkrad.so.0.0
    │   │   │   ├── libkrad.so.0 -> libkrad.so.0.0
    │   │   │   ├── libkrad.so.0.0
    │   │   │   ├── libkrb5.so -> libkrb5.so.3.3
    │   │   │   ├── libkrb5.so.3 -> libkrb5.so.3.3
    │   │   │   ├── libkrb5.so.3.3
    │   │   │   ├── libkrb5support.so -> libkrb5support.so.0.1
    │   │   │   ├── libkrb5support.so.0 -> libkrb5support.so.0.1
    │   │   │   ├── libkrb5support.so.0.1
    │   │   │   ├── libsecret-1.so -> libsecret-1.so.0
    │   │   │   ├── libsecret-1.so.0 -> libsecret-1.so.0.0.0
    │   │   │   ├── libsecret-1.so.0.0.0
    │   │   │   ├── libverto.so -> libverto.so.0.0
    │   │   │   ├── libverto.so.0 -> libverto.so.0.0
    │   │   │   ├── libverto.so.0.0
    │   │   │   ├── pkgconfig
    │   │   │   └── systemd
    │   │   │       └── user
    │   │   ├── libexec
    │   │   ├── manifest-base-1.json
    │   │   ├── manifest.json
    │   │   ├── share
    │   │   │   ├── app-info
    │   │   │   │   ├── icons
    │   │   │   │   │   └── flatpak
    │   │   │   │   │       ├── 128x128
    │   │   │   │   │       │   └── com.vivaldi.Vivaldi.png
    │   │   │   │   │       ├── 48x48
    │   │   │   │   │       │   └── com.vivaldi.Vivaldi.png
    │   │   │   │   │       └── 64x64
    │   │   │   │   │           └── com.vivaldi.Vivaldi.png
    │   │   │   │   ├── media
    │   │   │   │   │   └── com
    │   │   │   │   │       └── vivaldi
    │   │   │   │   │           └── Vivaldi
    │   │   │   │   │               └── 6511034a985230c1c01e61f6bd025575
    │   │   │   │   │                   ├── icons
    │   │   │   │   │                   │   └── 128x128
    │   │   │   │   │                   │       └── com.vivaldi.Vivaldi.png
    │   │   │   │   │                   └── screenshots
    │   │   │   │   │                       ├── image-10_1248x810@1.png
(...)
    │   │   │   │   │                       ├── image-9_752x488@1.png
    │   │   │   │   │                       └── image-9_orig.png
    │   │   │   │   └── xmls
    │   │   │   │       └── com.vivaldi.Vivaldi.xml.gz
    │   │   │   ├── applications
    │   │   │   │   └── com.vivaldi.Vivaldi.desktop
    │   │   │   ├── dbus-1
    │   │   │   │   └── services
    │   │   │   ├── icons
    │   │   │   │   └── hicolor
    │   │   │   │       ├── 128x128
    │   │   │   │       │   └── apps
    │   │   │   │       │       └── com.vivaldi.Vivaldi.png
    │   │   │   │       ├── 16x16
    │   │   │   │       │   └── apps
    │   │   │   │       │       └── com.vivaldi.Vivaldi.png
    │   │   │   │       ├── 24x24
    │   │   │   │       │   └── apps
    │   │   │   │       │       └── com.vivaldi.Vivaldi.png
    │   │   │   │       ├── 256x256
    │   │   │   │       │   └── apps
    │   │   │   │       │       └── com.vivaldi.Vivaldi.png
    │   │   │   │       ├── 32x32
    │   │   │   │       │   └── apps
    │   │   │   │       │       └── com.vivaldi.Vivaldi.png
    │   │   │   │       ├── 48x48
    │   │   │   │       │   └── apps
    │   │   │   │       │       └── com.vivaldi.Vivaldi.png
    │   │   │   │       └── 64x64
    │   │   │   │           └── apps
    │   │   │   │               └── com.vivaldi.Vivaldi.png
    │   │   │   ├── locale
    │   │   │   │   ├── an
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ar
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── as
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── be
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── bg
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── bs
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ca
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ca@valencia
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── cs
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── da
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── de
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       ├── libsecret.mo
    │   │   │   │   │       └── mit-krb5.mo
    │   │   │   │   ├── el
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── en_GB
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── en_US
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── mit-krb5.mo
    │   │   │   │   ├── eo
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── es
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── eu
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── fa
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── fr
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── fur
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── gl
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── he
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── hr
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── hu
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── id
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── it
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ja
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ka
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── mit-krb5.mo
    │   │   │   │   ├── kk
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ko
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── lt
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── lv
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ml
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── nb
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ne
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── nl
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── oc
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── pa
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── pl
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── pt
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── pt_BR
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ro
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── ru
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── sk
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── sl
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── sr
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── sr@latin
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── sv
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── tg
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── tr
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── uk
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── zh_CN
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   ├── zh_HK
    │   │   │   │   │   └── LC_MESSAGES
    │   │   │   │   │       └── libsecret.mo
    │   │   │   │   └── zh_TW
    │   │   │   │       └── LC_MESSAGES
    │   │   │   │           └── libsecret.mo
    │   │   │   └── metainfo
    │   │   │       └── com.vivaldi.Vivaldi.metainfo.xml
    │   │   └── vivaldi
    │   │       ├── applications
    │   │       │   └── vivaldi-stable.desktop
    │   │       ├── chrome_crashpad_handler
    │   │       ├── cron
    │   │       │   └── vivaldi
    │   │       ├── icudtl.dat
    │   │       ├── lib
    │   │       │   └── libffmpeg.so
    │   │       ├── libEGL.so
    │   │       ├── libGLESv2.so
    │   │       ├── libqt5_shim.so
    │   │       ├── libqt6_shim.so
    │   │       ├── libvk_swiftshader.so
    │   │       ├── libvulkan.so.1
    │   │       ├── LICENSE.html
    │   │       ├── locales
(...)
    │   │       │   ├── es-419.pak
    │   │       │   ├── es.pak
    │   │       │   ├── es-PE.pak
    │   │       │   ├── et.pak
(...)
    │   │       ├── MEIPreload
    │   │       │   ├── manifest.json
    │   │       │   └── preloaded_data.pb
    │   │       ├── PrivacySandboxAttestationsPreloaded
    │   │       │   ├── manifest.json
    │   │       │   └── privacy-sandbox-attestations.dat
    │   │       ├── product_logo_128.png
    │   │       ├── product_logo_16.png
    │   │       ├── product_logo_22.png
    │   │       ├── product_logo_24.png
    │   │       ├── product_logo_256.png
    │   │       ├── product_logo_32.png
    │   │       ├── product_logo_32.xpm
    │   │       ├── product_logo_48.png
    │   │       ├── product_logo_64.png
    │   │       ├── resources
    │   │       │   └── vivaldi
    │   │       │       ├── adblocker_resources
    │   │       │       │   ├── injectable_resources.json
    │   │       │       │   ├── LICENSE.txt
    │   │       │       │   └── redirectable_resources.json
    │   │       │       ├── background-bundle.js
    │   │       │       ├── background-common-bundle.js
    │   │       │       ├── background-service-worker-009cea19e4b2cf25e498e529064e7bf4.js
    │   │       │       ├── bundle.js
    │   │       │       ├── bundle-mailreader-worker.js
    │   │       │       ├── components
    │   │       │       │   ├── mail
    │   │       │       │   │   └── mail.html
    │   │       │       │   ├── notes
(...)
    │   │       │       │   ├── wallpapers
    │   │       │       │   │   ├── wallpaper_10.jpg
    │   │       │       │   │   ├── wallpaper_11.jpg
    │   │       │       │   │   ├── wallpaper_12.jpg
    │   │       │       │   │   ├── wallpaper_1.jpg
    │   │       │       │   │   ├── wallpaper_2.jpg
    │   │       │       │   │   ├── wallpaper_3.jpg
    │   │       │       │   │   ├── wallpaper_4.jpg
    │   │       │       │   │   ├── wallpaper_5.jpg
    │   │       │       │   │   ├── wallpaper_6.jpg
    │   │       │       │   │   ├── wallpaper_7.jpg
    │   │       │       │   │   ├── wallpaper_8.jpg
    │   │       │       │   │   └── wallpaper_9.jpg
    │   │       │       │   ├── welcomepage-arc.svg
    │   │       │       │   ├── welcomepage-brave.svg
    │   │       │       │   ├── welcomepage-chrome.svg
    │   │       │       │   ├── welcomepage-chromium.svg
    │   │       │       │   ├── welcomepage-edge-chromium.svg
    │   │       │       │   ├── welcomepage-edge.svg
    │   │       │       │   ├── welcomepage-explorer.svg
    │   │       │       │   ├── welcomepage-firefox.svg
    │   │       │       │   ├── welcomepage-html-document.svg
    │   │       │       │   ├── welcomepage-opera-12.svg
    │   │       │       │   ├── welcomepage-operagx.svg
    │   │       │       │   ├── welcomepage-opera.svg
    │   │       │       │   ├── welcomepage-safari.svg
    │   │       │       │   ├── welcomepage-vivaldi.svg
    │   │       │       │   └── welcomepage-yandex.svg
    │   │       │       ├── richtexteditor-bundle.js
    │   │       │       ├── rss
    │   │       │       │   ├── hidepage.css
    │   │       │       │   ├── preview.css
    │   │       │       │   └── showfeed.html
    │   │       │       ├── style
    │   │       │       │   ├── common.css
    │   │       │       │   └── common.js
    │   │       │       ├── translate-bundle.js
    │   │       │       ├── user_files
    │   │       │       │   ├── CSS_Debugger.js
    │   │       │       │   ├── Filter_Black_and_White.css
    │   │       │       │   ├── Filter_Grayscale.css
    │   │       │       │   ├── Filter_Intensify.css
    │   │       │       │   ├── Filter_Invert.css
    │   │       │       │   ├── Filter_Obscure.css
    │   │       │       │   ├── Filter_Sepia.css
    │   │       │       │   ├── Fonts_Monospace.css
    │   │       │       │   ├── Highlight_Focus.css
    │   │       │       │   ├── Highlight_Hover.css
    │   │       │       │   ├── Inline_Access_Keys.css
    │   │       │       │   ├── Page_Minimap.js
    │   │       │       │   ├── Skewed_Images.js
    │   │       │       │   ├── Transform_3D.css
    │   │       │       │   ├── Transitions_Forced.css
    │   │       │       │   └── Transitions_Removed.css
    │   │       │       ├── vendor-bundle.js
    │   │       │       └── window.html
    │   │       ├── resources.pak
    │   │       ├── update-ffmpeg
    │   │       ├── v8_context_snapshot.bin
    │   │       ├── vivaldi
    │   │       ├── vivaldi_100_percent.pak
    │   │       ├── vivaldi_200_percent.pak
    │   │       ├── vivaldi-sandbox
    │   │       ├── vk_swiftshader_icd.json
    │   │       └── WidevineCdm -> /opt/google/chrome/WidevineCdm
    │   └── metadata
    └── active -> 865431766e981ee229d189def3589e0f8735c04881343b63770593992c783eb9

315 directories, 1045 files
tux@mipc:/var/lib/flatpak/app/com.vivaldi.Vivaldi> 

En realidad no. Simplemente hay algunos paquetes que se instalan como administrador (para todas las personas usuarias del sistema) y otras que se instalan en la cuenta usuaria por la persona que las instala. Con las del sistema pasa justo igual, solo que como normalmente las instalas como administrador no te preocupas por ellas. Pero fíjate que la configuración sí va en la cuenta usuaria.

Es más: desde un punto de vista teórico /var es un sistema de ficheros de lectura y escritura y /usr es de solo lectura. Te recomendaría buscar un hueco para probar cosas como Aeon/Kalpa.

Eso es una decisión personal.

Va: permitidme describir nuestro sistema favorito como “bibliocéntrico”. Eso es porque tenemos muchas librerías que proporcionan los servicios que usan las aplicaciones que queremos instalar y es una de las razones por la que las aplicaciones en sí mismas necesitan poco espacio.

Esto es complejo y para que funcione nuestra distribución usa

  • rpm como paquetes para distribuir el software. Esos paquetes no son diferentes a hacer un paquete con tar + gz, por ejemplo, y pueden ser librerías compartidas, programas, ficheros de configuración…
  • Zypp como sistema para administrar las dependencias entre paquetes.

Como recordáis, zypper se encarga de comprobar que si un paquete llamado PaqueteA necesita una librería llamada LibreríaA se asegure de que se instala también para satisfacer esa dependencia. Típicamente la instalación de PaqueteA hará que el sistema instale también el paquete LibreríaA o algún paquete que contenga dicha librería.

Esto requiere asumir muchas cosas. Que el nombre del paquete es el mismo, que la ruta donde se instalan las cosas es la misma (/etc/Vivaldi o /etc/vivaldi?), que los paquetes se llamen igual… Si yo desarrollo una versión de LibreríaA para TW pero le llamo PaqueteB al paquete rpm, la persona que empaquete (y que compile) PaqueteA tiene que saber que el paquete que necesita en este sistema se llamará PaqueteB en lugar de LibreríaA como puede ser en otros sistemas. Es por eso que no todos los paquetes de Fedora, ni mucho menos, pueden ser reutilizados en un sistema como Tumbleweed: deberían usar los mismos nombres, la misma estructura de ficheros, las mismas versiones…

Flatpak usa la misma estructura en cualquier sistema operativo, así que todo funciona con facilidad. Podemos ver la estructura tracicional con las carpetas etc (configuración), bin (binarios), etc, en el ejemplo con Vivaldi:

tux@mipc:/var/lib/flatpak/app/com.vivaldi.Vivaldi> ls x86_64/stable/865431766e981ee229d189def3589e0f8735c04881343b63770593992c783eb9/files/
bin  etc  include  lib  libexec  manifest-base-1.json  manifest.json  share  vivaldi

Como veis es bastante similar a lo que estamos acostumbrados. Siemplemente en lugar de instalar los ficheros de configuración en el lugar “general” los instala en su propia carpeta. Los programas con instaladores en /opt suelen hacer algo similar, y podrías tener (no lo he comprobado) algo como:

tux@mipc:/opt/Vivaldi> tree
bin
└── vivaldi.sh 
│ 
etc
└── vivaldi.conf
(...)

Si antes he dicho que Leap o Tumbleweed son “bibliocéntricos”, Flatpak es “aplicacioncéntrico”. La idea es que incluya sus propias librerías, de forma que jamás tendrás un conflicto de versiones aquí. Al mismo tiempo Flatpak también se encarga de la administración en todos los sentidos.

Por ejemplo, las aplicaciones de Flatpak tienen su propio sistema de permisos. Si yo instalo Vivaldi y voy a Configuración del sistema → Permisos de aplicaciones → Vivaldi y le retiro el permiso para navegar no navegará. Puede que no me sea muy útil en ese caso :grinning:


De hecho Aeon/Kalpa no activan el cortafuegos por defecto, ya que se espera que añadas las cosas como Flatpak o usando contenedores de Podman (Docker).

En mi opinión no hay nada como rpm+Zypp. Si zypper te parece lento, puedes usar dnf. Pero ese sistema de paquetería es sencillo, eficiente… la pregunta es si hay gente para mantener todo lo que hay y sobre todo para portar todo lo que no hay.

Sobre Descubrir específicamente. Los más veteranos puede que recordéis kpackage, que era una aplicación sencilla para KDE (antes de ser Plasma!) para manejar paquetes rpm. Pues los escritorios siempre han intentado añadir software de su escritorio para hacer que usarlo en una distribución u otra fuera lo más parecido y fácil posible. Desde hace tiempo se metieron en Descubrir y la dotaron de soporte para Flatpak. En las distribuciones basadas en rpm es capaz de manejar los paquetes .rpm, con lo cual puedes buscar tu aplicación e instalarla desde la fuente que prefieras.

(1) En Kalpa por lo menos viene para que puedas instalar el software como persona usuaria no administradora. Aquí hablan de eso.

2 Likes