尝鲜: 新的网络连接管理工具 systemd-networkd

在吃掉 udev 和谋划收编 dbus 后, systemd 又将它的魔爪伸向了网络管理方面. 虽然这已经是 systemd 209 时候的旧闻, 不过因为整个功能太过不完善 (被吐槽有超多 bug, 以及各种基本功能缺失) 以及没有文档, 上游一直没有大力推广.

本文仅就最为简单普通的有线网络连接介绍 systemd-networkd 的打开方式. (wifi 呀, ppp 呀, vpn 呀之类的复杂配置现在都不支持哦) (大部分信息翻译自 ArchWiki)

先介绍一些基本的信息:

配置文件存放在 /usr/lib/systemd/network (上游提供的配置), /run/systemd/network (运行时配置), 以及 /etc/systemd/network (本地配置). 其中 /etc/systemd/network 有着最高的优先级.

有三类配置文件:

  1. .network 文件: 给匹配到的设备应用一个网络配置
  2. .netdev 文件: 给匹配到的环境创建一个虚拟的网络设备
  3. .link 文件: 当一个网络设备出现时, udev 会寻找第一个匹配到的 .link 文件.

他们都遵循一些相同的规则:

  • 如果 [Match] 部分满足了条件, 在接下来的段落中的配置会被应用
  • [Match] 部分可以接受不止一项条目. 在这种情况下, 只有当每一个条目都被满足时, 这个配置才会被启用
  • 空白的 [Match] 部分表示这个配置在任何情况下都会被应用
  • 每一项条目都是 KEY=VALUE 格式的键值对
  • 所有的配置文件会被收集并按字典序排序后再处理, 无论它们在哪个目录
  • 相同名字的配置文件会相互替代

Continue reading 尝鲜: 新的网络连接管理工具 systemd-networkd

给 Systemd 的操作加上 Bash 简写及其自动完成

大家都知道 systemd 启个服务打 systemctl start nginx.service 实在是长的难受(尽管有Tab…), 于是 ArchWiki 上有介绍一个简单用 start nginx 来代替的方法, 但是这个方法没有 Bash 自动补全, 于是我自己折腾了一下..

补全函数都取自他们各自原来的 bash-completion 文件, 我只修改了一点点(可惜不能复用啊..).

嗯, 照例上代码…
/etc/bash.bashrc, 或者 ~/.bashrc 里添加:

Continue reading 给 Systemd 的操作加上 Bash 简写及其自动完成

ArchLinux 小白好奇看 (3)

1, 应用ubuntu的LCD补丁, 让字体不发虚!
从AUR里那高高的投票数就知道这几乎是个must-have feature了`~
使用这货让整个2D渲染都犀利起来, 尤其是中文字, 完全不发虚~~
安装方法:

一路上会继续自动安装 fontconfig-ubuntu, freetype2-ubuntu, libxft-ubuntu 这么几个带补丁的包(从aur里).
这个包提供了3种可选的优化方案, 可以用下面的方法选用其中一种:

来实现可选渲染方案的切换.
默认的方案名是 slight, 可选的方案名总共包括: slight medium full

2, 试一试systemd!
首先是安装:

然后…替换syslog-ng为rsyslog:

并编辑rc.conf, 把DAEMONS里的syslog-ngd改为rsyslogd.
然后在/boot/grub/menu.lst里对应启动项的kernel行后面加上

就行了!
最后…需要配置systemd使用service. 比如我使用kdm, 那么就需要:

在我的测试中, 经过多次反复比较, systemd比upstart启动略快(约1s), 但是启动后有些东东运行不正常(比如USB即插即用).
此外即使我启用了rc-local.service, /etc/rc.local在开机仍然不被执行, 这个也是有些奇怪的 = =
Continue reading ArchLinux 小白好奇看 (3)