我尝试手动用指向大硬盘的符号链接替换 /var/lib,但之后系统严重受损,我放弃了,将所有内容移回原处并重新启动。一切似乎都运行良好,只是 Firefox snap 安装出现故障。
我删除了它sudo snap remove firefox
,这似乎按照我在文档中看到的方式进行。但是当我尝试再次使用时sudo snap install firefox
,它说 Firefox 已经安装并拒绝继续。我将重复执行删除步骤,但每次我尝试再次安装时,它总是坚持说它已经安装。
有没有办法强制清除所有记录并重新安装该包?
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
以下是输出snap info firefox
:
name: firefox
summary: Mozilla Firefox web browser
publisher: Mozilla✓
store-url: https://snapcraft.io/firefox
contact: https://support.mozilla.org/kb/file-bug-report-or-feature-request-mozilla
license: unset
description: |
Firefox is a powerful, extensible web browser with support for modern web application
technologies.
commands:
- firefox
- firefox.geckodriver
snap-id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
tracking: latest/stable/ubuntu-22.04
channels:
latest/stable: 122.0.1-1 2024-02-06 (3779) 275MB -
latest/candidate: 122.0.1-1 2024-02-07 (3789) 275MB -
latest/beta: 123.0b9-1 2024-02-09 (3806) 279MB -
latest/edge: 124.0a1 2024-02-11 (3813) 298MB -
esr/stable: 115.7.0esr-1 2024-01-23 (3671) 255MB -
esr/candidate: 115.7.0esr-1 2024-01-16 (3671) 255MB -
esr/beta: ↑
esr/edge: ↑
installed: 122.0.1-1 (3779) 275MB disabled
在 上sudo snap remove firefox
,我收到了几条进度消息,这些消息是用回车符写的,因此我无法捕获,但它以此结尾:
error: cannot perform the following tasks:
- Remove data for snap "firefox" (3779) (unlinkat /var/snap/firefox/common/host-hunspell/en_US.dic: read-only file system)
我之前没有注意到只读部分,但我没有触碰过 /var/snap。/data 是使用默认挂载选项挂载的硬盘。
注意到信息中提到“已禁用”,我尝试启用,并sudo snap enable firefox
报告已启用。进展顺利!
但是当我调用 Firefox 时,我得到了这个:
cannot perform operation: mount --rbind /var/log /tmp/snap.rootfs_5NV2S1//var/log: Permission denied
因此,我猜测 /var/log 存在权限问题,它是 /data/var/log 的链接(我这样做是为了节省 SSD 上的空间)。
/data/var/log 的权限为:
ls -ld log
drwxrwxr-x 15 root syslog 4096 Feb 11 00:00 log
这些看起来是正确的,但我不确定mount --rbind
想要做什么。
附言:“根据霍伊尔的说法”只是一个表达,意思是“遵守规则”。霍伊尔写了一本关于纸牌游戏规则的著名书。
答案1
在听从了@starkus 的提示后,我放弃了将 /var/log 链接到 /data 的想法,以便为更重要的东西保留 SSD 空间。
相反,我经历了将硬盘置于 lvm 控制之下的危险过程,并为 /var、/opt、/home 和 /srv 创建了逻辑卷。
我大致遵循了指南这里,但我没有执行 grub 步骤,只是将我的 /var 重命名为 /var2,将 /home 重命名为 /home2 等,并在 /var、/home 等处创建空目录,并且编辑了 /etc/fstab 以将我的逻辑卷挂载到新目录上,重新启动,实际上只是关闭电源,重新启动后一切正常。
希望这对某人有帮助。