chabowski 发布的文章

本文摘自为 Linux 小白(或者非资深桌面用户)传授技巧的系列文章。该系列文章旨在为 LinuxMagazine 发布的第 30 期特别版 “Linux 入门” (基于 openSUSE Leap )提供补充说明。

本文作者是 Romeo S.,她是一名基于 PDX 的企业 Linux 专家,专注于为创新企业提供富有伸缩性的解决方案。

Linux 系统日志非常重要。后台运行的程序(通常被称为守护进程或者服务进程)处理了你 Linux 系统中的大部分任务。当这些守护进程工作时,它们将任务的详细信息记录进日志文件中,作为它们做过什么的“历史”信息。这些守护进程的工作内容涵盖从使用原子钟同步时钟到管理网络连接。所有这些都被记录进日志文件,这样当有错误发生时,你可以通过查阅特定的日志文件来看出发生了什么。

Photo by Markus Spiske on Unsplash

在你的 Linux 计算机上有很多不同的日志。历史上,它们一般以纯文本的格式存储到 /var/log 目录中。现在依然有很多日志这样做,你可以很方便的使用 less 来查看它们。

在新装的 openSUSE Leap 42.3 以及大多数现代操作系统上,重要的日志由 systemd 初始化系统存储。 systemd这套系统负责启动守护进程,并在系统启动时让计算机做好被使用的准备。由 systemd 记录的日志以二进制格式存储,这使得它们消耗的空间更小,更容易被浏览,也更容易被导出成其他各种格式,不过坏处就是你必须使用特定的工具才能查看。好在这个工具已经预安装在你的系统上了:它的名字叫 journalctl,而且默认情况下,它会将每个守护进程的所有日志都记录到一个地方。

只需要运行 journalctl 命令就能查看你的 systemd 日志了。它会用 less 分页器显示各种日志。为了让你有个直观的感受, 下面是 journalctl 中摘录的一条日志记录:

Jul 06 11:53:47 aaathats3as pulseaudio[2216]: [pulseaudio] alsa-util.c: Disabling timer-based scheduling because running inside a VM.

这条独立的日志记录以此包含了记录的日期和时间、计算机名、记录日志的进程名、记录日志的进程 PID,以及日志内容本身。

若系统中某个程序运行出问题了,则可以查看日志文件并搜索(使用 / 加上要搜索的关键字)程序名称。有可能导致该程序出问题的错误会记录到系统日志中。 有时,错误信息会足够详细到让你能够修复该问题。其他时候,你需要在 Web 上搜索解决方案。 Google 就很适合来搜索奇怪的 Linux 问题。不过搜索时请注意你只输入了日志的实际内容,行首的那些信息(日期、主机名、进程 ID) 对搜索来说是无意义的,会干扰搜索结果。

解决方法一般在搜索结果的前几个连接中就会有了。当然,你不能只是无脑得运行从互联网上找到的那些命令:请一定先搞清楚你要做的事情是什么,它的效果会是什么。据说,搜索系统日志中的特定条目要比直接描述该故障通用关键字要有用的多。因为程序出错有很多原因,而且同样的故障表现也可能由多种问题引发的。

比如,系统无法发声的原因有很多,可能是播放器没有插好,也可能是声音系统出故障了,还可能是缺少合适的驱动程序。如果你只是泛泛的描述故障表现,你会找到很多无关的解决方法,而你也会浪费大量的时间。而专门搜索日志文件中的实际内容,你也许会查询出其它人也有相同日志内容的结果。

你可以对比一下图 1 和图 2。

图 1 搜索系统的故障表现只会显示泛泛的,不精确的结果。这种搜索通常没什么用。

图 2 搜索特定的日志行会显示出精确的,有用的结果。这种搜索通常很有用。

也有一些系统不用 journalctl 来记录日志。在桌面系统中最常见的这类日志包括用于记录 openSUSE 包管理器的行为的 /var/log/zypper.log; 记录系统启动时消息的 /var/log/boot.log ,开机时这类消息往往滚动的特别快,根本看不过来;/var/log/ntp 用来记录 Network Time Protocol (NTP)守护进程同步时间时发生的错误。 另一个存放硬件故障信息的地方是 “Kernel Ring Buffer”(内核环状缓冲区),你可以输入 demesg -H 命令来查看(这条命令也会调用 less 分页器来查看)。“Kernel Ring Buffer” 存储在内存中,因此会在重启电脑后丢失。不过它包含了 Linux 内核中的重要事件,比如新增了硬件、加载了模块,以及奇怪的网络错误.

希望你已经准备好深入了解你的 Linux 系统了! 祝你玩的开心!


via: https://www.suse.com/communities/blog/system-logs-understand-linux-system/

作者:[chabowski] 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文由 SUSE 文档团队的技术作者 Dmitri Popov 撰写。

树莓派 3上部署 openSUSE 系统不是很复杂,不过这儿有一些小技巧教你更好地完成这个过程。

首先,你将会有一些版本可供选择。如果你打算使用树莓派 3 作为一个普通主机,那么带有图形界面的 openSUSE 将是你最好的选择。有几种不同的图形环境可供选择:X11EnlightenmentXfce 或是 LXQT。openSUSE 还有一个 JeOS 版本能够提供最基础的系统,可以把树莓派 3 作为一个无显示器的服务器使用。更好的选择还有 openSUSE 的 LeapTumbleweed 版本。

首先你需要从 https://en.opensuse.org/HCL:Raspberry_Pi3 下载所需的 openSUSE 镜像,然后制作一张可启动的 microSD 卡。虽然可以使用命令行工具将下载好的镜像写入 microSD 卡,但 Etcher 可以使这个过程更轻松安全。从该项目网站上获取该程序,解压下载的 .zip 文件,并使用以下命令把得到的 .AppImage 文件设置为可执行:

chmod +x Etcher-x.x.x-linux-x64.AppImage 

将 microSD 卡插入电脑,双击运行 Etcher 软件,选择下载好的 .raw.xz 镜像文件,点击 Flash! 按钮。然后将显示器和键盘连接到树莓派 3,插入 microSD 卡,启动树莓派。第一次启动时,openSUSE 会自动扩展文件系统以充分利用 microSD 卡上的剩余空间。这时你将看到以下信息:

GPT data structures destroyed! You may now partition the disk using fdisk or other utilities
GPT 数据结构被破坏!您需要使用 fdisk 或其它工具对磁盘分区。

不用担心,稍等两分钟,openSUSE 将继续正常启动。当看到提示时,输入默认用户名 root 和默认密码 linux 登录系统。

如果你选择在树莓派 3 上部署 JeOS 版本,第一次启动时你不会看到屏幕上有任何输出。也就是说,屏幕会一直保持空白,直到系统完成对文件系统的扩展。你可以通过配置内核参数来显示输出,不过没有必要做这麻烦事。只需稍等片刻,你就能看到命令行提示。

由于 openSUSE 已经启用并且配置了 SSH 服务,所以启动树莓派时你可以不用显示器。这样的话,你就需要使用网卡接口将树莓派连接到网络中。给树莓派足够的时间来启动和扩展系统后,你就能够从同一网络中的其他主机,使用 ssh [email protected] 命令,通过 SSH 服务连接树莓派。

默认情况下你将以 root 用户登录系统,所以创建一个普通用户是个不错的主意。你可以使用 YaST 配置工具轻松完成这件事。运行 yast2 命令,选择 安全与用户 Security and Users -> 用户与用户组管理 User and Group Management 选项,就可以创建新用户了。你还可以选择 系统 System -> 在线升级 Online Update 选项来更新系统。完成之后,退出 YaST ,重启树莓派,然后使用新创建的用户登录系统。

一切搞定,不过还有一个重要的系统组件不能正常工作,那就是无线接口。当然,这个问题也可以轻松解决。首先使用以下命令安装 nano 文本编辑器:

sudo zypper in nano

然后运行以下命令修改 raspberrypi_modules.conf 文件:

sudo nano/etc/dracut.conf.d/raspberrypi_modules.conf

删除文件第一行的 sdhci_iproc ,再取消最后一行的注释。运行以下命令保存修改:

mkinitrd -f

最后,重启树莓派。

再次运行 YaST ,在 系统 System -> 网络设置 Network Settings 区域,你应该能在网络接口列表中看到 BCM43430 WLAN Card 项。选择这一项,点击 编辑 Edit 按钮。开启 动态地址分配 Dynamic Address DHCP 选项,点击下一步,选择你想要连接的无线网络,配置所需的连接设置。点击下一步确定保存设置。重启树莓派,它应该就能连接上特定的 Wi-Fi 网络了。

至此,你就完成了树莓派上的系统部署。


via: https://www.suse.com/communities/blog/opensuse-raspberry-pi-3-zero-functional-system-easy-steps/

作者:chabowski 译者:Cathon 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出