news 2026/4/19 6:17:26

Ubuntu24.04 日常运维合集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu24.04 日常运维合集

食用指南

本文汇总在工作过程中遇到的Ubuntu24.04操作系统运维问题,以便不时之需,每个Q对于一个问题。

Q1. 重置密码

环境:Virtual Box

开机获取鼠标焦点后立即长按 Shift 键:

然后按 e 进入编辑模式,将 “ro quiet splash $vt_handoff” 部分删除,替换为:

rwinit=/bin/bash

安然按 Ctrl-X 或者 F10 执行:

这时候我们可以重置 root 账号密码,或者重置其他用户的密码:

最后重启系统即可:

reboot

Q2. 安装 N 卡驱动

驱动官网:https://www.nvidia.cn/geforce/drivers/

进入官网,选择显卡型号与操作系统,然后搜索显卡驱动:

在搜索结果中,选择一个稳定版本的驱动,然后下载:

下载后的驱动文件NVIDIA-Linux-x86-64-570.207.run,执行指令安装:

sudobashNVIDIA-Linux-x86_64-570.207.run

安装完成后,验证驱动:

nvidia-smi


Q3. 安装 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 -V


Q4. 禁用 Chrome 自动更新

问题描述:

每次打开Chrome浏览器的时候都会自动检查更新,并且会频繁提示:

解决方案:

修改google-chrome-stable文件:

ls/usr/bin/google-chrome-stable
sudovim/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/modules
6.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.cfg
if [ 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-grub

Step4、重启电脑

reboot

Q7. 配置 Fcitx5 输入法

安装 fcitx5 :

sudoapt-getinstallfcitx5 fcitx5-configtool fcitx5-chinese-addons

fcitx5 配置 :

输入效果:

快捷键:

添加搜狗词库:

https://pinyin.sogou.com/dict/

打开 Fcitx5 配置面板:

导入完毕,点击确定关闭窗口即可。

注意事项:APP 应用商店中的VS Code不兼容Fcitx5,无法输入和切换输入法,需要到VS Code官方下载安装。


Q8. N 卡掉驱动

问题描述:屏幕花了,并且查看显卡驱动时报错

nvidia-smi
NVIDIA-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 -V
nvcc: 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|grepnvidia
nvidia-575.64.03

修复驱动:

sudoapt-getinstalldkmssudodkmsinstall-m nvidia -v575.64.03
Error! Could not locate dkms.conf file.

这里报错是因为驱动文件不全,需要重新安装。可以按照Q2. 安装N卡驱动重新下载驱动进行安装,也可以按照以下步骤进行 apt 安装:

更新软件:

sudoaptupdate&&sudoaptupgrade
sudoaptinstallbuild-essential dkms

卸载驱动:

sudoapt-getremove --purge'^nvidia-.*'

查看:

sudolshw -c display
sudoubuntu-drivers devices

关键!安装推荐的驱动:

sudoubuntu-drivers autoinstall
prime-select query

重启:

reboot


Q9. 扩展虚拟内存

查看当前内存状态:

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

注意事项:

  1. 性能考虑:交换空间在 SSD 上性能较好,在 HDD 上会显著降低系统响应速度
  2. 合理大小:对于 16GB 内存的系统,8-12GB 交换空间通常足够
  3. 根本解决:OOM 问题的根本解决应该是优化应用程序内存使用,而不是仅仅增加交换空间
  4. 监控:使用htopvmstat等工具监控内存使用情况

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 的存储位置。

这里使用符号链接实现:

  1. 停止 Docker 服务:

    sudosystemctl stop docker
  2. 移动现有 Docker 数据:

    sudomv/var/lib/docker /new/path/docker
  3. 创建符号链接:

    sudoln-s /new/path/docker /var/lib/docker
  4. 启动 Docker 服务:

    sudosystemctl start docker

注意:修改存储位置后,原有的镜像和容器将不可用,除非将原有数据迁移到新位置。


Q12. 清除 Docker 缓存文件

查看 Docker 磁盘使用情况:

sudodocker systemdf

TYPE 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 prune
WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y

一键清理容器:未运行的容器被删除,包括相关卷

sudodocker system prune

一键清理容器和镜像:未运行的容器和镜像会被删除,非常彻底

sudodocker system prune -a

Q13. 安装下载器

安装某雷:

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.deb


Q14. 挂载新硬盘分区

例如,我这里有一个新的机械硬盘4TB,需要挂载到/data路径。

查看分区:

lsblk

sudofdisk-l

创建挂载目录:

sudomkdir-p /data
sudoblkid /dev/sda
/dev/sda: UUID="08898795-08e8-4b22-941b-9434d3fd496a" BLOCK_SIZE="4096" TYPE="ext4"

这里的 UUID 非常重要,记下来,在配置fstab时需要用到:

sudovim/etc/fstab
UUID=08898795-08e8-4b22-941b-9434d3fd496a /data ext4 defaults 0 2
sudomount-a
sudosystemctl daemon-reload
df-h

/data路径无权限,则赋权:

sudochown-R$USER:$USER/data
ls-ld /data

OK!


持续补充中…

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:39:31

OpenJudge NOI 2.5 131:Channel Allocation

【题目链接】 OpenJudge NOI 2.5 131:Channel Allocation 【题目翻译】 信道分配 描述 当一个无线电站在为一个很大的区域广播时&#xff0c;为了让接受者接收到强信号&#xff0c;会使用中继器来重新发送信号。然而&#xff0c;为了距离近的中继器之间互不影响&#xff0…

作者头像 李华
网站建设 2026/4/18 8:38:29

Node.js资源合集

192010_Node.js面试指南 2025年最热门的200个问题(PDF) 文件大小: 2.7GB内容特色: 2025 Node.js 高频 200 问深度解析 PDF适用人群: 前端/全栈求职者及面试冲刺者核心价值: 覆盖源码级考点&#xff0c;助拿大厂 Offer下载链接: https://pan.quark.cn/s/72905ecc3bab Node.js开…

作者头像 李华
网站建设 2026/4/18 5:43:01

Java 中将 List 中对象的某一列转换为 Set

在 Java 中将 List 中对象的某一列转换为 Set&#xff0c;有几种常用方法&#xff1a;1. 使用 Stream API&#xff08;最常用&#xff09;import java.util.*; import java.util.stream.Collectors;// 示例类 class Person {private String name;private int age;public Person…

作者头像 李华
网站建设 2026/4/18 8:33:17

基于单片机的多功能报警系统设计与实现

一、系统设计目标与需求分析 在安防、家居、工业监测等场景中&#xff0c;单一功能报警系统已无法满足多维度安全需求。基于单片机的多功能报警系统&#xff0c;核心目标是整合多类型风险监测与灵活报警响应&#xff0c;解决传统报警设备功能单一、误报率高、联动性差的问题。从…

作者头像 李华
网站建设 2026/4/18 0:54:24

方法的多态

一、多态前言&#xff1a;多态:同一个方法不同形态体现&#xff0c;多态分静态多态和动态的多态静态多态:函数重载和符号重载动态多态&#xff1a;抽象和虚方法静态多态1.多态之函数重载函数重载&#xff1a;在同一个范围内&#xff0c;函数名一样&#xff0c;参数的类型不一样…

作者头像 李华
网站建设 2026/4/17 11:39:48

MindSpore进阶:在 Ascend 上实现高性能自定义训练步

在昇腾&#xff08;Ascend&#xff09;算力平台上进行深度学习模型开发时&#xff0c;MindSpore 提供了非常便捷的高阶 API&#xff08;如 Model.train&#xff09;。但在实际的算法落地和科研探索中&#xff0c;我们往往需要更细粒度的控制权&#xff0c;比如&#xff1a;需要…

作者头像 李华