[deepin exploration] 合理利用AI高效解决问题
Tofloor
poster avatar
观察者
deepin
2025-01-16 10:37
Author

利用 AI 高效解决 Linux 问题

!!!😁 该帖子也是使用AI生成😁 !!!

在解决 Linux 系统问题时,合理利用 AI 工具可以显著提高效率。以下是一些经验分享,以 deepseek 为例,展示如何通过设置 AI 为 Linux 技术专家来解决问题。


设置 AI 为 Linux 技术专家

提示词模板

# Linux 助手提示词

## 定位

- **角色**: Linux 系统管理与开发助手
- **目标**: 提供 Linux 系统管理、命令行操作、脚本编写、故障排查等方面的支持
- **场景**: 适用于系统管理员、开发者、运维工程师等需要与 Linux 系统交互的用户

## 能力

- **命令行操作**: 提供常用命令的使用方法和示例
- **脚本编写**: 协助编写 Shell、Python 等脚本
- **系统管理**: 提供用户管理、权限设置、服务配置等指导
- **故障排查**: 帮助诊断和解决系统问题
- **性能优化**: 提供系统性能调优建议

## 知识储备

- **Linux 发行版**: 熟悉 Ubuntu、CentOS、Debian 等主流发行版
- **命令行工具**: 掌握常用命令(如 `grep`、`awk`、`sed`、`find` 等)
- **脚本语言**: 熟悉 Shell、Python、Bash 等脚本语言
- **系统管理**: 了解用户管理、文件权限、网络配置等
- **故障排查**: 熟悉日志分析、进程管理、网络诊断等

## 提示词

1. **命令行操作**: "如何在 Linux 中查找包含特定内容的文件?"
2. **脚本编写**: "请帮我编写一个 Shell 脚本,用于备份指定目录。"
3. **系统管理**: "如何在 Ubuntu 中创建一个新用户并赋予 sudo 权限?"
4. **故障排查**: "我的 Linux 服务器无法访问网络,如何排查问题?"
5. **性能优化**: "如何优化 Linux 服务器的内存使用?"
6. **软件安装**: "如何在 CentOS 上安装并配置 Nginx?"
7. **日志分析**: "如何查看并分析系统日志以排查问题?"
8. **网络配置**: "如何在 Linux 中配置静态 IP 地址?"
9. **权限管理**: "如何递归修改目录及其子文件的权限?"
10. **服务管理**: "如何在 Linux 中启动、停止和重启服务?"

## 注意事项

- **清晰性**: 提示词应简洁明了,避免歧义
- **精确性**: 提示词应准确反映用户需求,避免模糊描述
- **适应性**: 提示词应适应不同 Linux 发行版和用户需求,灵活调整

示例:解决 initrd.img 过大的问题

问题描述

initrd.img 文件过大,导致系统启动变慢或占用过多磁盘空间。

解决步骤

  1. 检查 initrd.img 的大小

    ls -lh /boot/initrd.img-*
    
  2. 分析 initrd.img 的内容

    mkdir /tmp/initrd
    cd /tmp/initrd
    zcat /boot/initrd.img-$(uname -r) | cpio -idmv
    du -sh *
    
  3. 减少 initrd.img 的大小

    • 清理不必要的内核模块

      sudo nano /etc/initramfs-tools/initramfs.conf
      

      设置 MODULES=most,然后更新 initrd.img

      sudo update-initramfs -u
      
    • 移除不必要的驱动
      编辑 /etc/initramfs-tools/modules,注释掉不需要的模块,然后更新 initrd.img

    • 压缩 initrd.img
      编辑 /etc/initramfs-tools/initramfs.conf,设置 COMPRESS=zstd,然后更新 initrd.img

    • 清理旧的内核和 initrd.img

      sudo apt purge linux-image-<旧内核版本>
      sudo update-grub
      
  4. 验证优化效果

    ls -lh /boot/initrd.img-*
    

总结

通过合理设置 AI 提示词,可以高效解决 Linux 系统中的各种问题。以下是一些关键点:

  1. 明确角色和目标:设置 AI 为 Linux 技术专家,专注于系统管理、故障排查和性能优化。
  2. 提供清晰的提示词:确保提示词简洁明了,准确反映用户需求。
  3. 灵活调整:根据具体问题和发行版,灵活调整提示词和解决方案。

通过这种方式,AI 可以成为解决 Linux 问题的强大工具,显著提高工作效率。

Reply Favorite View the author
All Replies
sammy-621
deepin
2025-01-16 10:39
#1

文章第一行里提到的DeepSeed 是不是应该为 DeepSeek

Reply View the author
观察者
deepin
2025-01-16 10:41
#2
sammy-621

文章第一行里提到的DeepSeed 是不是应该为 DeepSeek

谢谢提醒,已经纠正。

Reply View the author
deepin小助手
Super Moderator
OM
2025-01-16 10:45
#3

好家伙,可以再探索一下有没有别的玩法agree

Reply View the author
穿西装的万斯在统亻言
deepin
Backbone of ecological co-construction group
2025-01-16 11:17
#4

某用户:“我只想点点鼠标就能解决问题,而不想写哪怕一行代码”

Reply View the author
eagleluo2020
deepin
2025-01-16 12:44
#5

用AI来解决技术、代码方面的问题很快的,效率高、准确。

Reply View the author
158******63
deepin
2025-01-16 14:57
#6
穿西装的万斯在统亻言

某用户:“我只想点点鼠标就能解决问题,而不想写哪怕一行代码”

glmos-code-explain

应该辩证看待。谁都知道动动鼠标是最简单的解决方式,这也应该是一个操作系统努力的方向。可是从另一个角度来看,电脑作为工具,敲命令可以实现更高级的操作和功能。

Reply View the author
raspbian
deepin
2025-01-16 15:41
#7

使用ai的基础条件就是 使用的那个人能判断ai说的是真的还是幻觉

尤其是一些不可逆的操作

Reply View the author
158******63
deepin
2025-01-16 15:56
#8

glmos-code-explain

我再来补充一点,所有像AI提问的方式其实都是万变不离其宗。具体的提问句式无非就以下几点:

设定角色+补充角色能力(可选)+你要干什么+具体要求(可选,但最好有)

  • 设定角色:让AI玩角色扮演的游戏可以让AI站在要扮演的角色的角度思考问题,给出更优质的回答。这个角色没必要非得是人,也可以是一个抽象的东西 ,如:代码编译器。

  • 补充角色能力:这个角色都拥有什么能力,比如代码编译器可以运行代码。

  • 你要干什么:这个可以是疑问句,比如“我该怎么办”,但最好是祈使句,这样会更直白地表达你的目的。

  • 具体要求:基于“你要干什么”上的, 更详细的要求,比如你让AI写一篇文章,那么这个具体要求就包括文章的主题、文章里应该有什么、不应该有什么、字数多少、文章风格应该更正式还是口语化一点,等等。在这一部分那还可以告诉AI怎么干这个活。举个例子,假如我想让AI统计东北三省的GDP一共是多少,那么具体的步骤就应该是:

    • 联网搜索辽宁省、吉林省、黑龙江省2024年的GDP分别是多少;
    • 验证数据是否准确;
    • 将这三个数字相加;

    另外,很多大语言模型都是用Markdown语法来实现格式化输出的,所以我们也可以用Markdown语法来实现格式化输入。综上所述,假如我想让AI帮我写一个host文件,那我可以这样说:

    你是一个系统运维工程师,尤其精通deepin操作系统的安装与维护。现在请你帮我写一个deepin Linux的host文件,用来改善我的上网体验。要求如下:
    - host文件里要尽可能全的包含各种类型的网站,比如GitHub、可画、龙轩导航、edge浏览器扩展商店、eBird等。
    - host文档写完之后再写一份详细的技术文档,里面包含了详细的操作步骤及注意事项,包含如何打开终端、要把host文件放到哪个目录里、实现这个步骤的具体命令是什么、退出目录后用不用重启网络服务,以及我没有提到的,但是可能会发生的其他注意事项。
    具体操作步骤如下:
    1. 根据我所在的辽宁省地区,联网搜索网速最快的IP地址。
    2. 验证IP地址是否能成功访问,以及访问速度是不是最快的。
    3. 联网搜索deepin Linux的host文件格式,按照检索到的结果生成host文件。
    4. 写一份技术文档,文档要按要求编写。
    

为了验证我的prompt,我拿最近很火的deepseek v3来验证一下。以下就是它的输出结果(联网搜索模式)——

Deepin Linux Hosts 文件配置指南

一、Hosts 文件内容

以下是一个针对辽宁省地区优化的 Hosts 文件内容,涵盖了 GitHub、Canva(可画)、龙轩导航、Edge 浏览器扩展商店、eBird 等网站的 IP 地址映射。这些 IP 地址经过筛选,旨在提升访问速度和稳定性。

# GitHub 相关域名
140.82.113.4 github.com
185.199.108.153 assets-cdn.github.com
185.199.109.153 raw.githubusercontent.com
185.199.110.153 gist.githubusercontent.com
185.199.111.153 cloud.githubusercontent.com

# Canva(可画)相关域名
104.16.55.3 www.canva.com
104.16.56.3 static.canva.com

# 龙轩导航
123.207.137.88 www.lxnav.com

# Edge 浏览器扩展商店
13.107.6.158 edge.microsoft.com
13.107.6.158 extensionsedge.microsoft.com

# eBird 相关域名
52.202.168.65 ebird.org
52.202.168.65 api.ebird.org

# 其他常用网站
104.16.123.96 www.google.com
104.16.123.96 www.youtube.com

二、技术文档

1. 操作步骤

步骤 1:打开终端

  • 在 Deepin 系统中,按下 Ctrl + Alt + T 快捷键打开终端。

步骤 2:编辑 Hosts 文件

  • 使用以下命令以管理员权限编辑 Hosts 文件:
    sudo nano /etc/hosts
    
  • 将上述 Hosts 文件内容复制并粘贴到文件末尾。

步骤 3:保存并退出

  • 按下 Ctrl + O 保存文件,然后按下 Ctrl + X 退出编辑器。

步骤 4:刷新 DNS 缓存

  • 为了使修改生效,刷新 DNS 缓存:
    sudo systemd-resolve --flush-caches
    

步骤 5:验证修改

  • 使用 ping 命令验证域名解析是否正确:
    ping github.com
    
  • 如果返回的 IP 地址与 Hosts 文件中的一致,则说明配置成功。
2. 注意事项
  • 权限问题:Hosts 文件是系统关键文件,只有超级用户(root)可以编辑。请确保使用 sudo 命令进行编辑。
  • 文件格式:每行格式为 <域名>,确保不要有多余的空格或符号。
  • 生效时间:修改 Hosts 文件后,新的映射关系会立即生效,无需重启系统。
  • IP 地址验证:如果某些 IP 地址无法访问,可以使用 pingcurl 命令测试其连通性,并替换为更快的 IP 地址。
  • 备份 Hosts 文件:在修改前,建议备份原始 Hosts 文件,以便出现问题时恢复:
    sudo cp /etc/hosts /etc/hosts.bak
    
3. 其他建议
  • 定期更新 IP 地址:由于 CDN 和服务器 IP 地址可能会变化,建议定期检查并更新 Hosts 文件中的 IP 地址。
  • 使用工具自动化:可以使用工具如 edgeHosts 自动更新 Edge 浏览器相关域名的 IP 地址。
  • 开发者模式:如果需要在 Deepin 系统中频繁编辑 Hosts 文件,建议开启开发者模式以简化操作。

三、总结

通过优化 Hosts 文件,可以显著提升访问常用网站的速度和稳定性。本文提供的 Hosts 文件内容和技术文档涵盖了从编辑到验证的完整流程,帮助您在 Deepin 系统中轻松完成配置。如果在操作过程中遇到问题,可以参考注意事项部分或查阅相关文档。

希望这份指南能帮助您改善上网体验!如果有其他问题,欢迎随时咨询。

说实话现在的大语言模型我还不是太满意。如你所见,基本上我想要什么网站得指名道姓地说出来,它才能列出来,我不说就不写,没有举一反三的能力。但是剩下的部分基本符合我的要求。但是相比于现在大部分人问问题的水平来说,这一套角色扮演式的提问方式更能发挥AI的能力。假如我模仿大部分人的提问方式,我就问“帮我写一份deepin的host文件”,同样是deepseek v3(联网搜索模式),它的答案就变成这样了,你可以对比一下哪个提问方式得到的答案更好——

在 Deepin Linux 中,/etc/hosts 文件用于将主机名映射到 IP 地址。你可以通过编辑这个文件来手动配置主机名解析。以下是一个简单的 hosts 文件示例:

# /etc/hosts
# This file is automatically generated by the Deepin system.
# It maps hostnames to IP addresses.

127.0.0.1   localhost
127.0.1.1   your-hostname

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# Custom entries
192.168.1.100   myserver.local
192.168.1.101   mywebsite.local

说明:

  1. 127.0.0.1 localhost: 这是默认的本地回环地址,指向本机。
  2. 127.0.1.1 your-hostname: 这里的 your-hostname 是你的计算机的主机名。你可以通过 hostnamectl 命令查看或设置主机名。
  3. IPv6 配置: 这些是 IPv6 的默认配置,通常不需要修改。
  4. Custom entries: 你可以在这里添加自定义的主机名和 IP 地址映射。例如,192.168.1.100 myserver.local 表示将 myserver.local 解析到 192.168.1.100

编辑 hosts 文件的步骤:

  1. 打开终端。
  2. 使用 sudo 权限编辑 /etc/hosts 文件:
    sudo nano /etc/hosts
    
  3. 根据你的需求修改文件内容。
  4. 保存并退出编辑器(在 nano 中按 Ctrl + X,然后按 Y 确认保存)。

注意事项:

  • 修改 hosts 文件后,更改会立即生效,无需重启系统。
  • 确保不要删除或修改默认的 localhost 条目,否则可能会导致系统出现问题。

希望这对你有帮助!

Reply View the author