<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://joak.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://joak.org/feed.php">
        <title>Oakfire Wiki - public:it:linux</title>
        <description>Keep Thriving</description>
        <link>https://joak.org/</link>
        <image rdf:resource="https://joak.org/_media/favicon.ico" />
       <dc:date>2026-04-15T02:53:11+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:ansible?rev=1519796929&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:cmatrix?rev=1519796929&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:gsettings?rev=1637917434&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:kylin?rev=1616390829&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:linux_input_subsystem?rev=1554888731&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:linux-program?rev=1713850003&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:maintain?rev=1747728345&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:network?rev=1708413853&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:puppet?rev=1519796929&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:shell?rev=1669254908&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:start?rev=1726641152&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:supervisor?rev=1519796929&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:systemd?rev=1768527481&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:tmux?rev=1519796929&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:ubuntu?rev=1689824464&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:udev?rev=1703489888&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:upstart?rev=1634611015&amp;do=diff"/>
                <rdf:li rdf:resource="https://joak.org/public:it:linux:x11?rev=1703838994&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://joak.org/_media/favicon.ico">
        <title>Oakfire Wiki</title>
        <link>https://joak.org/</link>
        <url>https://joak.org/_media/favicon.ico</url>
    </image>
    <item rdf:about="https://joak.org/public:it:linux:ansible?rev=1519796929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-28T05:48:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ansible</title>
        <link>https://joak.org/public:it:linux:ansible?rev=1519796929&amp;do=diff</link>
        <description>Ansible

	*  Official site: ansile.com
	*  github repo</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:cmatrix?rev=1519796929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-28T05:48:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CMatrix</title>
        <link>https://joak.org/public:it:linux:cmatrix?rev=1519796929&amp;do=diff</link>
        <description>CMatrix

	*  CMatrix 主页
	*  源码所在
	*  这是个模拟《骇客帝国》里屏幕绿色字符飘泊而下的程序, 很是酷炫,在 ubuntu 下可安装
sudo apt-get install cmatrix

然后直接命令行执行cmatrix.

	*  看源码, 是使用了 Linux/Unix 下的一个图形库</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:gsettings?rev=1637917434&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-26T09:03:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gsettings</title>
        <link>https://joak.org/public:it:linux:gsettings?rev=1637917434&amp;do=diff</link>
        <description>gsettings

	*  &lt;https://eightplus.github.io/2019/11/07/2019-11-07-qgsettings/&gt; 
	*  ubuntu man
	*  gtk doc
 命令                                    说明                                                                gsettings list-schemas                显示系统已安装的不可重定位的schema(已安装并有固定path的 schema)。</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:kylin?rev=1616390829&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-22T05:27:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>银河麒麟</title>
        <link>https://joak.org/public:it:linux:kylin?rev=1616390829&amp;do=diff</link>
        <description>银河麒麟

	*  银河麒麟V10：&lt;http://www.kylinos.cn/&gt;

Desktop

	*  UKUI：ukui.orgrepo
	*  桌面环境基本是MATE 1.12.2, 少量 ukui 修改
	*  MATE 继承自 GNOME2 

ScreenSaver

	*  银河麒麟参考：&lt;https://github.com/ukui/ukui-screensaver&gt;
		*  从 d-bus 获取org.gnome.SessionManager 的session idle消息</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:linux_input_subsystem?rev=1554888731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-10T09:32:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux 输入子系统</title>
        <link>https://joak.org/public:it:linux:linux_input_subsystem?rev=1554888731&amp;do=diff</link>
        <description>Linux 输入子系统

	*  Linux Input Subsystem userspace API
	*  linux内核input子系统解析
	*  linux/input.h
	*  linux/input-event-codes.h</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:linux-program?rev=1713850003&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-23T05:26:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux 编程</title>
        <link>https://joak.org/public:it:linux:linux-program?rev=1713850003&amp;do=diff</link>
        <description>Linux 编程

	*  &lt;https://linux-kernel-labs-zh.xyz/lectures/intro.html&gt;： 布加勒斯特理工大学的 Linux 内核教学课程，动手实践设备驱动的编写。涉及的概念讲解得不错。
	*  Linux 源代码布局：

+-------+
| linux |
+-+-----+
  |
  +------+--------+---------+---------+--------------+--------------+
  |      |        |         |         |              |              |
  |      v        v         v         v              v              v
  |  +------+ +-------+ +-------+ +--------+ +---------------+ +---------+
  |  | arch | | block | | certs | | crypto | …</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:maintain?rev=1747728345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-20T08:05:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Maintain</title>
        <link>https://joak.org/public:it:linux:maintain?rev=1747728345&amp;do=diff</link>
        <description>Maintain

	*  tldr.sh命令查询工具，简化版 man 
	*  dashdash.io, 格式化后的man文档，方便阅读
	*  UDEV 规则配置
	*  linux虚拟主机安全指南

Consul

	*  Consul

Puppet

	*  Puppet

Ansible

	*  Ansible

Performance tools

	*  Linux Performance(得翻墙访问）
	*  
	*  
	*  十分钟检测性能(也得翻墙）

uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:network?rev=1708413853&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-20T07:24:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Network</title>
        <link>https://joak.org/public:it:linux:network?rev=1708413853&amp;do=diff</link>
        <description>Network

	*  introduction-to-linux-interfaces-for-virtual-networking
		*  FIXME

	*  &lt;https://github.com/yanfeizhang/coder-kung-fu?tab=readme-ov-file&gt;
		*  此人的linux网络系列文章很不错


Articles

网络包收发流程及缓冲区问题

	*  Linux 网络包收发流程及缓冲区问题

接收流程

	*  当一个网络帧到达网卡(NIC, Network Interface Card)后，网卡会通过 DMA 方式，把这个网络包放到收包队列中；然后通过硬中断，告诉中断处理程序已经收到了网络包。…</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:puppet?rev=1519796929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-28T05:48:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Puppet</title>
        <link>https://joak.org/public:it:linux:puppet?rev=1519796929&amp;do=diff</link>
        <description>Puppet

	*   Xiaopei Li&#039;s wiki page
	*   Merlin Dou&#039;s wiki page
	*   Official site
	*   Official references
	*   Learning Puppet — Resources and the RAL
	*   Official FAQ

facter

	*   自定义fact实现的四种方式介绍

Learning Puppet 笔记

Resources and the RAL

	*   Resources: Imagine a system’s configuration as a collection of many independent atomic units; call them “resources.”
				*  资源可分类</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:shell?rev=1669254908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-24T01:55:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Shell</title>
        <link>https://joak.org/public:it:linux:shell?rev=1669254908&amp;do=diff</link>
        <description>Shell

	*  Effective shell 免费shell教程电子书

Shell Script

	*  &lt;https://www.runoob.com/linux/linux-shell.html&gt;
	*  变量处理：
 ${var}  变量var的值, 与$var相同  ${var-DEFAULT}	 如果 var 没有被声明, 那么就以 $DEFAULT 作为其值   ${var:-DEFAULT}	 如果 var 没有被声明, 或者其值为空, 那么就以 $DEFAULT 作为其值</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:start?rev=1726641152&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-18T06:32:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux</title>
        <link>https://joak.org/public:it:linux:start?rev=1726641152&amp;do=diff</link>
        <description>Linux

	*  鸟哥的linux私房菜
	*  &lt;http://www.debian.org/doc/manuals/debian-reference/&gt;
	*  Maintain
	*  Ubuntu
	*  银河麒麟
	*  Linux 输入子系统
	*  Linux 编程
	*  Shell
	*  gsettings
	*  Network
	*  驱动开发入门这个技术博客其他文章也很不错=)
	*  DRM 子系统: Direct Rendering Manager(DRM)是linux内核子系统，负责与显卡交互
		*  libdrm

	*   关于显示 framebuffer

Fun

	*  CMatrix
	*  Terminal colors and formating,适用于 ANSI/VT100 命令行窗口…</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:supervisor?rev=1519796929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-28T05:48:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Supervisor</title>
        <link>https://joak.org/public:it:linux:supervisor?rev=1519796929&amp;do=diff</link>
        <description>Supervisor

	*  因为Docker一个容器只支持运行一个后台进程, 所以在Docker内使用supervisor来启动多个程序/服务更方便,更易管理  
	*  详见:Using supervisor with docker to manage processes
	*  nodaemon=true

	*  supervisord.org
	*  supervisord
	*  supervisorctl
	*  /etc/supervisor/supervisord.conf</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:systemd?rev=1768527481&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-16T01:38:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Systemd</title>
        <link>https://joak.org/public:it:linux:systemd?rev=1768527481&amp;do=diff</link>
        <description>Systemd

	*  Systemd 的特点和使用
	*  &lt;http://www.jinbuguo.com/systemd/systemd.service.html&gt;
	*  &lt;http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html&gt;
	*  &lt;https://www.freedesktop.org/software/systemd/man/systemd.exec.html&gt;
	*  Systemd 示例教程，可在线尝试

Tips

	*  查看服务依赖： systemctl list-dependencies foo.service
	*  查看服务开机启动顺序：systemd-analyze plot &gt; ~/boot.svg
		*  查看开机服务启动总时间：systemd-analyze
		*  查看开机服务启动耗时排序:…</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:tmux?rev=1519796929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-28T05:48:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tmux</title>
        <link>https://joak.org/public:it:linux:tmux?rev=1519796929&amp;do=diff</link>
        <description>Tmux

Copy from &lt;https://wiki.freebsdchina.org/software/t/tmux&gt;

使用

	*  tmux使用C/S模型构建，主要包括以下单元模块：

server服务器。输入tmux命令时就开启了一个服务器。session会话。一个服务器可以包含多个会话。window窗口。一个会话可以包含多个窗口。</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:ubuntu?rev=1689824464&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-20T03:41:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ubuntu</title>
        <link>https://joak.org/public:it:linux:ubuntu?rev=1689824464&amp;do=diff</link>
        <description>Ubuntu

	*  Official site

Snap

	*  What is snap application

Audio

	*  pulse_audio_sounds_ubuntu

Tips

	*  搜索软件包：&lt;http://packages.ubuntu.com/&gt;
	*  Ubuntu18.04 后网络管理：netplan /etc/netplan/ -&gt; NetworkManager nmcli
	*  Ubuntu20.04 更新 openssl : upgrade-openssl-on-ubuntu-20

# check version
openssl version -a
# backup
sudo cp -R /usr/lib/ssl /usr/lib/ssl-1.1.1h
# download latest version https://www.openssl.org/source/
wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz
# check 
wget https://…</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:udev?rev=1703489888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-25T07:38:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UDEV 规则配置</title>
        <link>https://joak.org/public:it:linux:udev?rev=1703489888&amp;do=diff</link>
        <description>UDEV 规则配置

* 官方文档：&lt;https://www.reactivated.net/writing_udev_rules.html&gt;
* KERNEL / SUBSYSTEM / DRIVER / ATTR 只匹配本设备不匹配父设备.  加个S， 就可以在本设备以及父设备整条链上搜索匹配。 KERNELS / SUBSYSTEMS / DRIVERS / ATTRS
* 字符匹配：
* - match any character, zero or more times
? - match any character exactly once
[] - match any single character specified in the brackets, ranges are also permitted</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:upstart?rev=1634611015&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-19T02:36:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Upstart</title>
        <link>https://joak.org/public:it:linux:upstart?rev=1634611015&amp;do=diff</link>
        <description>Upstart

Upstart是个事件异步的初始化管理程序，用于ubuntu等，配置文件所在/etc/init/*.conf

	*  About 
	*  Official site
	*  Upstart Intro, Cookbook and Best Practises
	*  目前流行的linux发行版基本已使用 Systemd 取代 Upstart

现在

Tips

	*  服务进程的输出日志,在 upstart 1.4 版本之后保存在</description>
    </item>
    <item rdf:about="https://joak.org/public:it:linux:x11?rev=1703838994&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-29T08:36:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>X11</title>
        <link>https://joak.org/public:it:linux:x11?rev=1703838994&amp;do=diff</link>
        <description>X11

	*  x.org
	*  教程：&lt;https://tronche.com/gui/x/&gt;
	*  了解X系统

Tips

	*  X11没有topmost, 参考XWindowChanges
	*  列举窗口示例, 编译指令 g++ -lX11 list_win.cpp -o list_win

#include &lt;X11/Xlib.h&gt;
#include &lt;iostream&gt;

int main()
{
    auto display = XOpenDisplay(nullptr);
    auto root_window = DefaultRootWindow(display);

    Window root_return, parent_return;
    Window * child_list = nullptr;
    unsigned int child_num = 0;
    XQueryTree(display, root_window, &amp;root_return, &amp;parent_return, &amp;child_list, &amp;child_n…</description>
    </item>
</rdf:RDF>
