随着时间的推移,用户在使用 Ubuntu 时会遇到许多问题,就像世界上任何其他操作系统一样。Ubuntu 中有哪些工具和终端命令可以帮助诊断问题发生的原因,并在可能的情况下帮助解决问题。
问题如下:
- Ubuntu 在 X 时间后或使用 Y 应用程序时冻结
- Ubuntu 自行重启/休眠/挂起
- Ubuntu 不显示视频或视频有问题
- Ubuntu 没有发出任何声音或声音有问题
- Ubuntu 无法读取 X 驱动器(U盘、内置驱动器、外置驱动器......)
- Ubuntu 速度慢
- Ubuntu 连接后无法与 X 硬件配合使用
- Ubuntu 网络问题
通常,Ubuntu 专家通常会首先提到一些 GUI 工具或终端命令,以便对此进行初步诊断。用户可以使用哪些 GUI 工具(如果问题与视频无关或限制用户使用 GUI)和终端命令(如果 GUI 不起作用)进行诊断并帮助自己找到/解决问题。
答案1
终端中存在许多工具可以进行初步诊断:
在提到某些工具之前,请记住,添加--help
到任何命令中通常都会为您提供一些有关该命令的帮助。例如dmesg --help
。为什么我提到这个,因为大多数时候这会为您提供有关如何使用该命令、使其更详细或更简单或如何输出某些信息的非常好的信息。参数--help
是可以向您显示有关命令的信息的 3 个参数之一。另外两个是info
和man
。例如man dmesg
或info dmesg
。这两个显示有关命令的更多信息。按向--help
您显示较少帮助和man
向您显示最多帮助的顺序。
以下列表是我用来检查问题的一小部分命令:
消息- 显示启动信息和其他内核相关信息,如设备连接(当您插入新设备时,例如:外部硬盘驱动器、网络摄像头、蓝牙设备……)。输入dmesg
控制台,它会显示系统如何启动。如果您有硬盘驱动器问题或任何其他启动问题,它们可能会显示在这里。
瘦身- 它显示所有已连接设备和 PC 中的硬件列表。
系统盘- 它显示所有已连接的 USB 设备。
处理器- 显示基本 CPU 信息。
串行通信- 显示所有 PCI 设备(视频卡、声卡、采集卡……)
lsb_release -a- 向您显示 Ubuntu 版本、代号、发布版本..
利普卡- 显示连接到 PC 的所有 pcmcia 设备。
伊沙尔- 显示所有使用 HAL 注册的设备。如果设备使用 HAL,它将显示出来。
修改- 显示内核加载的所有模块
修改探针- 在内核中添加或删除模块。
lsblk- 显示所有块设备。用普通语言来说,这意味着它会向您显示一个简短的列表,其中列出了您如何对硬盘进行分区、每个分区的大小、安装位置等...
文件系统检查- 用于修复多个文件系统错误。请勿在已安装的分区上使用它!这类似于 Windows 上的 chkdsk,但功能更强。
X(大写字母 X)- X 系统。如果您遇到 xorg.conf 问题,您可以X --configure
创建一个新的 xorg.conf 并X -config XORGFILE
测试 xorg.conf(XORGFILE 是 xorg.conf 文件的路径和名称)。X 还可以做很多事情。
兰德- 要更改、检查并对分辨率进行自定义更改。
解码- 显示内存特定信息。需要 sudo 才能运行。
添加 apt 存储库/apt-add-repository- 用于添加 PPA。例如add-apt-repository ppa:ubuntu-wine/ppa
。无需手动添加,然后为其添加密钥。
apt-get- Ubuntu 中软件包的默认安装程序。示例:apt-get install wine1.3
资质- Ubuntu 中软件包的优秀安装程序。示例:aptitude install wine1.3
。在一个命令中包含搜索选项、清理和其他选项。这也包含在 apt 软件包中,但分为几个命令。
alsamixer- 控制台中的混音器。这解决了一些与麦克风不工作、声音不够大有关的声音问题...
软件包- 基于 Debian 的软件包的官方软件包管理器。
自由度- 显示每个分区/已安装设备的可用空间和已用空间。
glxinfo- 用于显示有关显卡的 OpenGL 信息。需要安装软件包mesa-util
才能使用。
glxheads- 用于显示基本的 OpenGL 显卡信息。显卡名称、OpenGL 版本和供应商。
hdparm- 用于检查并执行与硬盘有关的多项操作/测试/检查。
网络状态- 显示网络连接、路由……
纳米/微微- 我最好的朋友。在终端中编辑文件。我知道……我知道。vi 或 vim。但它的学习曲线非常奇怪,我想要一些“用户友好”而不是“黑客愤怒”的东西。确实,你可以用 vi 做很多事情,但学习 nano 或 pico 比学习 vi 更容易。我实际上会在年底前学习 vi……它在我的愿望/工作清单上。
ntfs修复- 修复一些 ntfs 分区问题。
葡萄酒服务器- 管理 Wine 应用程序。如果您添加参数 -k,wineserver -k
它将关闭/终止任何打开的 Wine 应用程序。这将解决 Wine 应用程序一直打开而无法关闭或出现挂起问题的问题。
测试磁盘- 恢复已删除的分区。
照相记录- 恢复多次删除的多个文件。恢复率很高。
最重要的- 恢复多次删除的多个文件。在多种格式中,其恢复能力都比 photorec 更好,但由于自 2007 年以来 photorec 一直没有更新,因此其所做的工作已经远远超过了 photorec。6.13 Beta 版要好很多倍。不过,为了以防万一,我仍然会同时使用这两种版本。
分开- 分区操作软件。很不错。
磁盘管理- 类似于 parted。也很好。
远程控制- 远程控制协议。如果没有这个,我大概 90% 的远程协助都会消失。
杀- 使用其 ID 杀死特定进程。为其添加参数 -9,使用装满迅猛龙的机关枪杀死它,迅猛龙手持带有子弹的剪刀。示例:kill -9 12345
全杀- 类似于 kill,但使用进程名称。示例:killall lightdm
。您也可以使用-9
参数,但将其与 ID 一起使用,如 kill 命令中所示。
顶部- 显示所有活动进程、僵尸进程等。实时检查。
附言- 显示正在运行的进程列表。不像 top 那样实时显示。添加参数-ex
以查看进程的更详细的列表,包括名称、位置、父 ID...。示例:ps -ex
答案2
由于错误日志是诊断问题的最常用工具之一,因此tail -f logfile
如果行为可以重复,则错误日志可能是一个非常有用的命令。许多错误在运行 X 时都会记录到日志/var/log/Xorg.0.log
中~/.xsession-errors
;X 本身的错误记录在日志中,在 X 内部运行的程序的错误记录在日志中。虽然可以在文本编辑器中打开日志文件,但使用此命令在打开的终端中查看日志文件允许用户查看记录的最后十行,然后查看实时添加到日志中的任何错误,从而允许用户更轻松地将错误消息与需要故障排除的问题联系起来。用户可以简单地“跟踪”日志文件,然后尝试重现错误,观察新行的出现。由于此命令将永远运行,因此Ctrl-C
可用于返回提示符。其他日志可能很有帮助,例如/var/log/dmesg
来自内核的消息,例如与插入的 USB 设备、硬盘故障和其他硬件问题有关的消息。很多时候,只需在互联网上搜索特定的记录错误就可以让用户找到记录了相同问题的其他人,或者帮助为那些试图提供帮助的人提供具体信息。
答案3
有一个硬件探测工具收集流行的 Linux 诊断工具(如 smartctl、memtester 等)、硬件“列表器”(hwinfo、inxi、dmidecode、biosdecode 等)和系统日志(Xorg.log、dmesg 等)的输出。
这个 Docker 镜像可用于探测 Ubuntu 上的硬件,无需在主机上安装 Docker 以外的任何东西。