You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04.6下权限、sudo故障及磁盘空间异常问题求助

Ubuntu 20.04.6下权限、sudo故障及磁盘空间异常问题求助

看起来你遇到了一连串连锁麻烦——从R包安装的权限报错,误改系统权限导致sudo彻底失效,再到CUPS日志疯狂膨胀占满小分区,还有4T大分区莫名没挂载的问题。别慌,咱们一步步拆解解决:

1. 先修复sudo权限故障(最紧急,没sudo啥都干不了)

你现在sudo用不了,核心原因是之前的chmod -R把/usr/lib/sudo/sudoers.so的权限改坏了——这个文件要求只能被root读写,其他用户不能有写权限。因为正常模式下用不了sudo,咱们得进recovery模式操作:

  • 重启电脑,在GRUB菜单选择「Advanced options for Ubuntu」,然后选带「recovery mode」的内核条目
  • 进入recovery菜单后,选择「root」选项,按提示回车进入root shell(此时系统是只读挂载,先改成可写:mount -o remount,rw /)
  • 执行命令修复关键权限:
    chmod 0440 /usr/lib/sudo/sudoers.so
    chmod 0755 /usr/lib/sudo
    
  • 输入exit退出root shell,选择「resume」回到正常系统,现在sudo应该能正常使用了

2. 彻底干掉CUPS日志占盘的元凶

那个13G的error_log是磁盘爆满的罪魁祸首,而且它会自动生成,不能只删一次就完事:

  • 先停掉CUPS服务,防止日志继续写入:sudo systemctl stop cups
  • 删除超大日志文件:sudo rm /var/log/cups/error_log
  • 配置日志轮转防止再次膨胀:
    编辑CUPS配置文件:sudo nano /etc/cups/cupsd.conf,找到ErrorLog相关行,改成用系统日志(自动轮转):
    ErrorLog syslog
    
    或者手动触发一次日志轮转:sudo logrotate -f /etc/logrotate.d/cups
  • 重启CUPS服务:sudo systemctl start cups

3. 挂载你的4T大分区

先找到这个分区的设备名,执行lsblk或sudo fdisk -l,它会显示类似/dev/sdaX的格式(X是数字):

  • 创建挂载点:sudo mkdir /mnt/bigstorage
  • 临时挂载测试:sudo mount /dev/sdaX /mnt/bigstorage(把X换成实际的分区号)
  • 设置永久挂载(重启后自动生效):编辑/etc/fstab文件:sudo nano /etc/fstab,添加一行:
    /dev/sdaX /mnt/bigstorage ext4 defaults 0 2
    
    (如果你的分区是NTFS格式,把ext4换成ntfs-3g)
  • 执行sudo mount -a测试配置,没有报错就成功了

4. 正确解决R包安装的权限问题(别再乱改系统目录权限了!)

之前乱改/usr/lib/R/site-library的权限是触发后续问题的源头,正确的做法有两种:

  • 用户本地库方案:打开R后运行.libPaths(c("/home/你的用户名/R/library", .libPaths())),之后安装的包会默认放到你的用户目录下,完全不需要sudo
  • 系统级安装方案:如果确实需要安装到系统目录,直接用sudo R进入R环境,再执行install.packages("包名"),这样不会破坏系统目录的默认权限

备注:内容来源于stack exchange,提问作者Deb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 13:59:33