食用指南
本文汇总在工作过程中遇到的Ubuntu24.04操作系统运维问题,以便不时之需,每个Q对于一个问题。
Q1. 重置密码
环境:Virtual Box
开机获取鼠标焦点后立即长按 Shift 键:
然后按 e 进入编辑模式,将 “ro quiet splash $vt_handoff” 部分删除,替换为:
rwinit=/bin/bash安然按 Ctrl-X 或者 F10 执行:
这时候我们可以重置 root 账号密码,或者重置其他用户的密码:
最后重启系统即可:
rebootQ2. 安装 N 卡驱动
驱动官网:https://www.nvidia.cn/geforce/drivers/
进入官网,选择显卡型号与操作系统,然后搜索显卡驱动:
在搜索结果中,选择一个稳定版本的驱动,然后下载:
下载后的驱动文件NVIDIA-Linux-x86-64-570.207.run,执行指令安装:
sudobashNVIDIA-Linux-x86_64-570.207.run安装完成后,验证驱动:
nvidia-smiQ3. 安装 CUDA
查看当前 N 卡驱动版本:
nvidia-smi根据驱动版本,到官网https://developer.nvidia.com/cuda-toolkit-archive下载对应的CUDA Toolkit:
根据官网指令,直接下载runfile:
wgethttps://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run然后执行安装:
sudoshcuda_12.8.0_570.86.10_linux.run如果驱动已经安装过,则不用勾选“Driver”,不然安装报错。选择“Install”执行安装。
============Summary============Driver: Not Selected Toolkit: Installedin/usr/local/cuda-12.8/ Pleasemakesure that -PATHincludes /usr/local/cuda-12.8/bin - LD_LIBRARY_PATH includes /usr/local/cuda-12.8/lib64, or,add/usr/local/cuda-12.8/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run cuda-uninstallerin/usr/local/cuda-12.8/bin ***WARNING: Incomplete installation!This installation did notinstallthe CUDA Driver. A driver of version at least570.00is requiredforCUDA12.8functionality to work. Toinstallthe driver using this installer, run the following command, replacing<CudaInstaller>with the name of this run file:sudo<CudaInstaller>.run --silent --driver Logfile is /var/log/cuda-installer.log配置环境变量:
sudovim~/.bashrcexportPATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}exportLD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}exportCUDA_HOME=/usr/local/cuda-12.8source~/.bashrcsudoldconfig验证安装:
nvcc -VQ4. 禁用 Chrome 自动更新
问题描述:
每次打开Chrome浏览器的时候都会自动检查更新,并且会频繁提示:
解决方案:
修改google-chrome-stable文件:
ls/usr/bin/google-chrome-stablesudovim/usr/bin/google-chrome-stable找到这一行:
# Note: exec -a below is a bashism.exec-a"$0""$HERE/chrome""$@"后面追加:
--disable-background-networking修改后的效果:
# Note: exec -a below is a bashism.exec-a"$0""$HERE/chrome""$@"--disable-background-networking重启 Chrome,再也没有更新提示,非常清爽:
Q5. 解决Docker GPU问题
报错描述:
Error response from daemon: could not select device driver "" with capabilities: [[gpu]]查看显卡驱动:
nvidia-smi如果之前一直都可以正常运行,只是突然报错,可以先尝试重启Docker解决:
sudosystemctl restart docker如果重启Docker无法解决,可以尝试以下方法。
添加软件仓库:
$distribution=$(./etc/os-release;echo$ID$VERSION_ID)\&&curl-fsSL https://nvidia.github.io/libnvidia-container/gpgkey|sudogpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg\&&curl-s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list|\sed's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g'|\sudotee/etc/apt/sources.list.d/nvidia-container-toolkit.list安装nvidia-docker2:
sudoapt-getupdatesudoapt-getinstall-y nvidia-docker2重启 Docker:
sudosystemctl restart docker测试:
sudodocker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi参考文档 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
Q6. 切换内核版本
- Step1、查看当前内核版本
ls/lib/modules6.11.0-25-generic 6.11.0-28-generic 6.14.0-24-generic 6.14.0-28-generic 6.11.0-26-generic 6.11.0-29-generic 6.14.0-27-generic- Step2、修改启动内核
sudogrepmenuentry /boot/grub/grub.cfgif [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" export menuentry_id_option menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4473259f-d548-4303-9388-92fe3811c8f3' { submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry 'Ubuntu, with Linux 6.14.0-28-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-28-generic-advanced-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry 'Ubuntu, with Linux 6.14.0-28-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-28-generic-recovery-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry 'Ubuntu, with Linux 6.14.0-27-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-27-generic-advanced-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry 'Ubuntu, with Linux 6.14.0-27-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-27-generic-recovery-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry 'Ubuntu, with Linux 6.11.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.11.0-29-generic-advanced-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry 'Ubuntu, with Linux 6.11.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.11.0-29-generic-recovery-4473259f-d548-4303-9388-92fe3811c8f3' { menuentry "Memory test (memtest86+x64.efi)" --class memtest $menuentry_id_option 'memtest86+' { menuentry 'Memory test (memtest86+x64.efi, serial console)' --class memtest $menuentry_id_option 'memtest86+-serial' { menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {sudovim/etc/default/grub顺序从0开始,则第五个内核菜单的下标为4
GRUB_DEFAULT="1>4"- Step3、刷新grub配置
sudoupdate-grubStep4、重启电脑
rebootQ7. 配置 Fcitx5 输入法
安装 fcitx5 :
sudoapt-getinstallfcitx5 fcitx5-configtool fcitx5-chinese-addonsfcitx5 配置 :
输入效果:
快捷键:
添加搜狗词库:
https://pinyin.sogou.com/dict/
打开 Fcitx5 配置面板:
导入完毕,点击确定关闭窗口即可。
注意事项:APP 应用商店中的VS Code不兼容Fcitx5,无法输入和切换输入法,需要到VS Code官方下载安装。
Q8. N 卡掉驱动
问题描述:屏幕花了,并且查看显卡驱动时报错
nvidia-smiNVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.检查 CUDA :
nvcc -Vnvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2025 NVIDIA Corporation Built on Wed_Jan_15_19:20:09_PST_2025 Cuda compilation tools, release 12.8, V12.8.61 Build cuda_12.8.r12.8/compiler.35404655_0查看版本:
ls/usr/src|grepnvidianvidia-575.64.03修复驱动:
sudoapt-getinstalldkmssudodkmsinstall-m nvidia -v575.64.03Error! Could not locate dkms.conf file.这里报错是因为驱动文件不全,需要重新安装。可以按照Q2. 安装N卡驱动重新下载驱动进行安装,也可以按照以下步骤进行 apt 安装:
更新软件:
sudoaptupdate&&sudoaptupgradesudoaptinstallbuild-essential dkms卸载驱动:
sudoapt-getremove --purge'^nvidia-.*'查看:
sudolshw -c displaysudoubuntu-drivers devices关键!安装推荐的驱动:
sudoubuntu-drivers autoinstallprime-select query重启:
rebootQ9. 扩展虚拟内存
查看当前内存状态:
free-h检查当前交换空间:
swapon--showcat/proc/swaps禁用现有交换:
sudoswapoff -a删除旧交换文件(假设是 /swap.img):
sudorm/swap.img创建新的更大交换文件(例如扩展到 8GB):
# 创建 8GB 的交换文件sudofallocate -l 8G /swap.img# 如果 fallocate 不可用,使用 dd# sudo dd if=/dev/zero of=/swapfile bs=1M count=8192# 设置正确权限sudochmod600/swap.img# 格式化为交换空间sudomkswap/swap.img# 启用交换sudoswapon/swap.img验证结果:
# 检查交换空间free-h# 查看交换详细信息swapon--show# 查看内存使用情况cat/proc/meminfo|grep-i swap注意事项:
- 性能考虑:交换空间在 SSD 上性能较好,在 HDD 上会显著降低系统响应速度
- 合理大小:对于 16GB 内存的系统,8-12GB 交换空间通常足够
- 根本解决:OOM 问题的根本解决应该是优化应用程序内存使用,而不是仅仅增加交换空间
- 监控:使用
htop、vmstat等工具监控内存使用情况
Q10. CUDA 显存碎片优化
sudovim~/.bashrc添加以下环境变量:
# 配置环境变量即可,注意max_split_size_mb需要大于20exportPYTORCH_CUDA_ALLOC_CONF=expandable_segments:True,max_split_size_mb:32注意事项:有些框架需要关闭该环境变量运行。
Q11. 修改 Docker 存储位置
Docker 默认将镜像、容器等数据存储在/var/lib/docker目录下,当这个位置空间不足时,可以修改 Docker 的存储位置。
这里使用符号链接实现:
停止 Docker 服务:
sudosystemctl stop docker移动现有 Docker 数据:
sudomv/var/lib/docker /new/path/docker创建符号链接:
sudoln-s /new/path/docker /var/lib/docker启动 Docker 服务:
sudosystemctl start docker
注意:修改存储位置后,原有的镜像和容器将不可用,除非将原有数据迁移到新位置。
Q12. 清除 Docker 缓存文件
查看 Docker 磁盘使用情况:
sudodocker systemdfTYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 13 7 102.7GB 60.44GB (58%) Containers 9 0 281.3MB 281.3MB (100%) Local Volumes 48 1 1.082GB 1.014GB (93%) Build Cache 7 0 0B 0B一键清理 Build Cache:
sudodocker builder pruneWARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y一键清理容器:未运行的容器被删除,包括相关卷
sudodocker system prune一键清理容器和镜像:未运行的容器和镜像会被删除,非常彻底
sudodocker system prune -aQ13. 安装下载器
安装某雷:
sudoaptinstallflatpak flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo flatpakinstallflathub com.xunlei.Thunder注意,目录是映射到下载目录的,不要修改,参考:
- https://dev59.com/askubuntu/akbXs4cB2Jgan1zn9J9Y
- https://blog.csdn.net/tianrei_y/article/details/146182394
安装Motrix:
https://motrix.app/download
下载deb文件,然后安装:
sudodpkg -i Motrix_1.8.19_amd64.debQ14. 挂载新硬盘分区
例如,我这里有一个新的机械硬盘4TB,需要挂载到/data路径。
查看分区:
lsblksudofdisk-l创建挂载目录:
sudomkdir-p /datasudoblkid /dev/sda/dev/sda: UUID="08898795-08e8-4b22-941b-9434d3fd496a" BLOCK_SIZE="4096" TYPE="ext4"这里的 UUID 非常重要,记下来,在配置fstab时需要用到:
sudovim/etc/fstabUUID=08898795-08e8-4b22-941b-9434d3fd496a /data ext4 defaults 0 2sudomount-asudosystemctl daemon-reloaddf-h若/data路径无权限,则赋权:
sudochown-R$USER:$USER/datals-ld /dataOK!