成为 KDE 开发者

昨天获得了 KDE 的代码提交权限,成为正式开发者。今天用 Subversion 提交了第一个 Commit 。纪念一下。

正确设置 GNU/Linux 主机名 Hostname 和域名 Domain

为什么要设置主机名

一些软件需要知道主机名才能工作,不然会有警告和错误,比如 Apache。

可以使用 "hostname" 命令查看现在的主机名,用 "hostname -f" 命令查看完整域名(Fully Qualified Domain Name, FQDN)。如果查找 FQDN 失败,你需要按照以下步骤设置。

个人电脑 PC

PC 通常没有域名和固定不变的 IP 地址。通常情况下,PC 的软件是不需要主机名和域名来运行的。但是如果你开启了某些网络服务,就可能需要它了。

如果你没有注册过任何互联网域名,可以用一个假的,比如 yourname.local ,yourname.lan ,yourname.geek 之类的。因为 .local .lan .geek 目前不是 ICANN 顶级域名,因此不可能和任何互联网站点冲突。例子:

  • linux-desktop.guoyunhe.local
  • samba-storage.guoyunhe.local
  • laptop-1.guoyunhe.local

如果你已经注册了一个域名,像是 yourname.com ,你可以用它来命名你的计算机设备的域名。因为你自己就可以确保相同域名不会被用在别处。例子:

  • desktop.guoyunhe.me
  • laptop.guoyunhe.me
  • old-thinkpad.guoyunhe.me

第 1 步:修改 /etc/hostname 文件。主机名只能包含数字,字母和连字符。

linux-desktop

第 2 步:修改 /etc/hosts 文件。把完整域名 FQDN  "linux-desktop.guoyunhe.local" 放到主机名 "linux-desktop" 之前。

127.0.0.1    localhost
127.0.1.1    linux-desktop.guoyunhe.local linux-desktop

第 3 步:重启系统。

检查主机名和域名: "hostname" 命令输出 linux-desktop , "hostname -f" 输出 linux-desktop.guoyunhe.local 。

服务器

如果你有一个服务器,绑定了多个域名:

  • guoyunhe.me
  • www.guoyunhe.me
  • wiki.guoyunhe.me
  • shop.guoyunhe.me

你可以选择 "www", "wiki" 和 "shop" 中的任何一个作为主机名。也可以另取一个,比如 "server" , "vps-1"。

第 1 步:修改 /etc/hostname 文件。主机名只能包含数字,字母和连字符。

server

第 2 步:修改 /etc/hosts 文件。把完整域名 FQDN  "server.guoyunhe.me" 放到主机名 "server" 之前。

127.0.0.1    localhost
127.0.1.1    server.guoyunhe.me server guoyunhe.me www.guoyunhe.me wiki.guoyunhe.me shop.guoyunhe.me

第 3 步:重启系统。

检查主机名和域名: "hostname" 命令输出 server , "hostname -f" 输出 server.guoyunhe.me 。

ownCloud 服务器升级 openSUSE

su

zypper ref

zypper up

sudo -u wwwrun php occ maintenance:mode --off

sudo -u wwwrun php occ upgrade

openSUSE 服务器安全设置

一些假设

  1. 绝大部分坏人并不针对你,而是无差别地寻找攻击对象。如果你成为了黑客组织或某国政府的目标,那这篇文章可能就帮不上太大忙了,你需要顶尖安全专家。
  2. 大部分坏人在地理上离你很远。坏人无法进入 VPS 提供商的机房,这些机房都被严格保护和监视,物理接触的可能性极低。坏人也不能潜入你身边盗窃你的计算机或存储设备。除非你是重要人物,否则坏人在地理上成功接近你的成本太高。当你意外丢失了电脑,手机或存储设备,一定要尽快修改可能泄露的密码。
  3. 大部分坏人不能窃取你在网络上存储的文件。确保你的网络存储账号被良好保护起来,比如 iCloud,Dropbox,Google Drive,ownCloud,LastPass。手机验证码,两步验证可以增强安全性。不使用那些不可靠的服务,国内的云存储都信不过。对坏人而言,破解一个使用了手机验证码的 Dropbox 账号是一个非常不划算的方式,花一年时间也不一定能有所收获。如果发现网络存储账号被盗,务必迅速修改所有密码。
  4. 大部分坏人不能在你的计算机上植入病毒。如果你的计算机被植入了病毒,任何文件和通过键盘输入的密码都可能被窃取。请不要安装来源不明的软件。然而大部分坏人不具备这样的能力。具备这些能力的高级罪犯,往往对你的银行账户更感兴趣,而不是 VPS。

总之,大部分坏人都在猜测 SSH 密码(一天尝试登录几千次),检测端口,利用软件漏洞等方式直接攻击你的 VPS。因为这样做低成本,对技术要求低。而且,你的身份越普通,网站越小,越不容易成为高级罪犯的目标。 继续阅读 →

GNU/Linux中的Helvetica与字体别名

Helvetica 是一种商业版权字体,因此在大多数 GNU/Linux 计算机中并不存在。而很多网页,文档使用 Helvetica 字体,为了取得最佳显示效果,需要使用最接近 Helvetica 的字体替代它显示。而这是由 fontconfig 控制的,它在配置文件 /usr/share/fontconfig/conf.avail/30-metric-aliases.conf 规定了使用 Nimbus Sans L 字体来替代 Helvetica。Nimbus Sans L 是一种几乎在所有 GNU/Linux 中都有的字体,14-18像素显示效果极佳。

然而如果安装了 Tex Live,就不可避免地安装了很多 LaTex 字体。其中一种字体 Tex Gyre Heros 会被设定为 Helvetica 的替代,并且优先级更高。因此所有 Helvetica 字体都被以此字体显示了。但是这种字体虽然打印效果不错,在屏幕显示上却十分不清晰。小字体 i 的点会和竖线连在一起,字体看起来模糊。

为了让 Helvetica 重新显示为 Nimbus Sans L,我们要修改用户配置文件 ~/.config/fontconfig/fonts.conf,它拥有更高优先级,可以覆盖掉系统设置。 继续阅读 →

System76 Kudu Pro (2015) 使用报告

在买这台笔记本之前,找了很多专业网站和用户的测评。结果褒贬不一,大相径庭。于是我只好自己试一把了。这一篇只陈述我的使用体验,不做推荐或批评。

十七寸全高清屏幕,全尺寸背光键盘 (带数字键盘)。重量接近四千克,厚度接近四厘米。由于太重太大,几乎没法放在膝盖上用。 继续阅读 →

openSUSE 添加 PATH

PATH 是 GNU/Linux 的一个命令行环境变量。软件的可执行文件通常都位于 /usr/bin/ 目录下面,比如火狐浏览器 firefox。要执行一个命令行程序需要打 /usr/bin/firefox 命令,但是因为 /usr/bin/ 包含在系统的 PATH 里,所以此目录里的所有可执行程序都可以直接用文件名运行: firefox 。除了系统目录外,用户在其它地方安装的软件也可以加入 PATH 。有了 PATH 环境变量命令行输入更便捷。 PATH 是为 Shell 或 Bash 等程序设置的。

PATH 设置有两种,

  1. 全局,对于所有用户有效。
  2. 用户,只对特定用户有效。

继续阅读 →

openSUSE 中 phpMyAdmin 无法启用高级功能 (已解决)

系统信息

操作系统: openSUSE 13.2

浏览器:Mozilla Firefox 35.0

phpMyAdmin 版本: 4.2.13.1通过 openSUSE 软件源安装的 RPM 包

问题

phpMyAdmin 无法启用高级功能,不能保存选项,不能添加标签和记录历史。只能列出数据库的表,而无法查看表的内容或结构。

phpMyAdmin issue 1 继续阅读 →

Dolphin 删除文件很慢的问题 (已解决)

问题

操作系统 openSUSE 13.2

桌面环境 KDE 4.14

文件系统 home 目录 XFS ,系统目录 Btrfs

最近一周才出现的问题,系统安装已经半年了,之前从没有遇到过。在 Dolphin ( KDE 文件管理器)中删除文件很慢,甚至只删除一个 100KB 的小文件都要等几秒甚至几十秒。

解决方法

清空回收站/垃圾桶之后,问题便消失了。

据说 XFS 文件系统擅长处理大文件,却不善长处理大量小文件。可能是回收站里文件太多,而每次删除的时候都要检查一下回收站,这样就拖慢了删除文件的速度。仅是猜测,未去证实。

次像素渲染:如何检测屏幕是RGB,GBR或其它类型?

为了在低分辨率显示器(比如笔记本14寸的1366×768分辨率显示器)上更平滑地显示字体,GNU/Linux采用了次像素渲染技术。次像素渲染的意思是,将一个像素看作RGB三个像素对待,进行更细微的显示控制。而由于人眼只能识别RGB混合的颜色,因此次像素渲染不会改变视觉颜色。 继续阅读 →