缘起

最早接触Arch Linux是在@layerssss推荐下使用的。相比于其他的Linux系统(之前曾经用Ubuntu、Backtrack/Kali Linux)而言,有以下的特点:

  • 软件版本较新:所有的软件都进行滚动更新,基本是最新版软件,而且有很多都直接是Git包。

  • 软件自定义安装:默认的系统是最精简的配置,不会有额外的东西。

  • 软件非常丰富:加上aur库,基本能够包含各种的软件了。

这些优点也对应了一些缺点

  • 经常会出现最新软件依赖问题导致无法更新

  • 各种配置特别容易出错。

安装过程

之前安装过Kali Linux,但是因为添加了SSD硬盘,因此电脑的分区有所变化,需要将Windows安装到SSD上。之前的Kali Linux安装在机械硬盘上,分区分的也比较小,也就想趁此机会把分区调大一点,结果在调整/分区的时候直接出错,不得不重装。

安装基本环境

刻录一个Arch Linux启动U盘,然后引导进入后,主要参考Wiki来进行安装,安装步骤基本一致,需要注意的地方如下

  1. 通用恢复方案

貌似Arch Linux的Grub2引导菜单中没有恢复模式(抱歉不知道另外一个是什么功能),一般情况下如果有问题可以通过Live CD/USB来启动,我一开始比较笨的方法就是启动Live CD后,然后arch-chroot到对应的路径,进行系统修改操作。也可以直接进恢复模式。

  1. Wifi连接

安装过程中全程使用Wifi进行连接,直接使用wifi-menu进行每次的连接,但是安装完新系统后,还需要额外安装dialogwpa_supplicant

显卡驱动问题

这是第一个大坑,因为我的笔记本显卡是9300M GS,目前已经不再被官方支持,需要安装nvidia-340xx包。这个修改是在10月份的才发生的,因此在对应的中文Wiki并没有修改过来,直接导致多次安装仍然出问题。

安装的时候最好一开始就选择安装Nvidia的私有显卡驱动,而不安装Nouveau,虽然Wiki上有如何切换Nouveau和Nvidia,但是实际切换的时候没有成功。

安装完毕后Xorg可以安装XTerm以测试Xorg和显卡驱动是否正常。

分区挂载

Live CD能够正常进行挂载NTFS分区,但是如果直接在Live CD中挂载后生成为fstab,则无法直接启动挂载

需要安装ntfs-3g,并利用其进行挂载,并手工修改对应的fstab文件

字体渲染

Arch Linux的默认字体渲染极差,据说Linux上的字体渲染效果会好于Windows(显然不会好于MacType),但是需要相对复杂的调整,目前我也没有达到非常好的字体渲染效果。

为了提升字体配置效果,首先要安装一些软件包,包括fontconfig-infinality。也有利用Ubuntu配置文件的一些包例如fontconfig-ubuntu-zh-cn(安装的时候密钥更新失败)。

我的配置如下,Arch Linux默认没有生成字体配置文件,首先参考官方的字体配置Wiki,生成一个默认的配置文件。然后进入在线字体配置选择一个合适的配置,我选择了DejaVu作为英文字体,文泉驿微米黑作为中文字体,

总结

以上是安装Archlinux的安装过程,记录了遇到的主要问题,希望再次安装Arch Linux时可以依靠这个来减少搜索的花费。当然,同时也仍然有很多问题没有解决。

其他问题

  1. Arch Linux Wiki最近访问不稳定,时不时的无法访问。

  2. Arch Linux在时间较长后进入睡眠(或者休眠?)后会出现无法进入系统的情况。

  3. 字体渲染仍然要进一步优化。

发现有一个网页一条命令搞定Linux字体渲染——Ubuntu系发行版微软雅黑+宋体终极解决方案【原创推荐】 可以参考一下。

更新

[2015-01-03]

更新系统时,遇到错误

错误:无法准备事务处理 (无法满足依赖关系)
:: package-query: 要求 pacman<4.2

后来参照文章Archlinux 升级 pacman 时遇到的问题及其解决解决

这是我第二次使用github来发表博客。第一次的用户名暴露了太多,因此就使用了新的用户名:S0urceC0der,比较装逼吧,呵呵。

为什么使用Github发表博客

原因其实很简单,目前还没有心思打理一个主机,一般的博客网站编辑起来也比较麻烦,而Github提供了相当不错的静态网站访问功能。

之前自己曾短暂的使用jekyll在Github上搭建博客,但是因为jekyll是Ruby写的,自己心里多多少少有所抵触,最终也没有坚持下来。而现在使用的Hexo,因为是Node写得,之前曾经使用过一阵,因此也比较亲切,看着各种主题也比较多,够酷够帅,也不用太折腾,就使用上了。

写博客主要使用Markdown,一直以来都写的比较顺手,语法足够简单,真的是能够让人专注于内容写作,不用操心排版(虽然有时候要选择一个比较好的渲染邀请)。加上各种完美的字体与排版,比Word好多了,让人舒心。恐怕未来很长一段时间内,都是我写作的主要工具吧。

我也会把以前的几篇文章,逐步转移到现在的这个博客上的,算是增加点内容吧。

搭建Hexo

Github设置

Github Page支持两种格式的静态页面:

  1. User Site: 仓库名称为username.github.io,其中username是你自己的用户名,主要用于个人的博客页面,页面数据存放在主干上。对应的访问页面就是http://username.github.io

  2. Project Site: 在指定的仓库下新建gh-pages分支存储页面,主要用于对某个项目的网页描述,对应的访问页面是http://username.github.io/repository

当然,我的目标是个人博客,因此就新建了与用户名相同的个人仓库,并在主干上存放对应的静态页面文件。

因为使用了Hexo生成静态页面,所以额外新建Source分支用于存储源代码(Hexo的工程),这样便可以在不同电脑随时随地检出进行修改,也实现了远程的文件备份。

注意需要在本地的gitignore添加如下内容,以便不上传无用的文件内容:

public/ #Hexo生成的静态页面目录
node_modules/ #node模块安装目录

Git命令

以下是创建仓库时的一些命令:

git config --global user.name 用户名:设置用户名

git config --global user.email 邮箱:设置邮箱

git branche source:创建source分支

git checkout source: 检出source分支

git checkout [file]:回滚某个文件

git fetch origin:升级仓库

git push origin source或者git push origin source:source:将本地source分支推送到origin仓库的source分支中

写作

用Markdown语法写作,非常轻松

添加照片

将照片放到source/img文件夹内,然后使用 ![图片标题](/img/图片名称)来显示

额外功能

除了标准的Markdown语法以外,还有新增了不少新的语法特性,这些语法特性,可以增强显示内容。

博客发表

hexo n <title>:发布博客

hexo g:生成博客

hexo p: 推送到github上

2015-03-16更新

昨天更新了一些软件,结果发现hexo生成的index.html是没有完全渲染过的,即仅包含ejs模板代码,几经搜索不知其解,便想着重装hexo,结果跑到官网一看,已经把包由hexo变成了hexo-cli,估计应该是版本升级有所变动。

在重新安装完毕后,却又发现没有了之前的clean deploy等指令,重新新建了一个空的工程,对比了下package.json,才发现hexo的各种generatorrender都已经剥离了,必须重新安装到当前目录下才行。最终,覆盖了原来的package.json,运行cnpm install之后,再次敲入hexo帮助,发现已经有了各种额外的指令。

当一切都搞定后,才回过神来要去看下官网的3.0 Changelog,的确在3.0版本中,更换了命令行,并进行了很多优化。文档中也提供了对应的迁移指南,自己还是过于懒惰不喜欢看文档,走了不该走的弯路。

最后思考了下,认为这种做法的优点是:

  1. 框架与实现分离:剥离全局共用的指令(-cli库),-cli只提供最基本的功能,安装额外功能后,才具备额外功能。

  2. 实现在不同版本间的共存:只需要在package.json文件中指定具体版本即可。

  3. 减少了全局需要安装的内容

Todo

最好利用Github的教育优惠注册一个me域名

修改主题风格,添加一些插件等等

0%