快照是否共享庫?

快照是否共享庫?

我有一個關於快照的大問題。是共享庫嗎?我之所以問這個問題,是因為這是我開始使用 ubuntu 時印象深刻的事情之一,它共享庫,因此節省了磁碟空間。快照仍然這樣做嗎?還是我對 apt 的看法完全錯誤?

答案1

無論是 snaps 還是 apt/dpkg,都不能保證您正在使用的應用程式依賴系統範圍的共用程式庫,以及它們所具有的每個依賴項。

根據快照的建構方式,它可能會使用與其他快照共享的一些庫(例如,核心快照包括 libc 和 libstdc++),但是當涉及到穩定性、安全性時,這兩個方向都不像看起來那麼簡單,並確保用戶獲得應用程式的最新功能。

答案2

對於我的系統的當前狀態:

walt@bat:~(0)$ lsb_release -a;snap list
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial
Name                 Version    Rev   Tracking  Publisher           Notes
bw                   1.8.0      13    stable    bitwarden✓          -
core                 16-2.42.1  8039  stable    canonical✓          core
large-pcap-analyzer  3.6.0      97    stable    francesco-montorsi  -
mpv                  0.26.0     1     beta      casept              -
mpv-casept           0.24.0     2     stable    casept              disabled
walt@bat:~(0)$ 

這個命令將回答你對我的系統的問題,此時:

find /snap -type f -executable | \
  xargs file |\
  grep ELF |\
  cut -d: -f1 |\
  xargs -n 1 ldd |\
  grep /snap
  1. 用於find尋找 .txt 下的所有「可執行」檔案/snap

  2. file- 檔案是腳本還是可執行檔還是什麼?

  3. 我們只關心“ELF”文件,因為它們是使用共享庫的文件。

  4. file輸出檔名、冒號、一些空格和描述。我想要的只是檔案名稱。

  5. 然後,我使用xargs一次一個 ( -n 1) 提供檔名來ldd列出每個 ELF 可執行檔所使用的動態函式庫。

  6. 有圖書館嗎/snap

    我沒有看到任何東西(除了“如果未安裝另一個包含庫的快照怎麼辦?”)阻止它,

相關內容