CentOS 的自举

Easior Lars posted @ 2013年9月21日 10:06 in Linux with tags linux gentoo fedora debian centos , 4607 阅读
A、简单说明
CentOS 是一款基于 Red Hat Enterprise Linux 提供的可自由使用源代码的企业级 Linux 发行版本。作为服务器的工作环境,相对于其他 Linux 发行版,它的稳定性是值得信赖的。CentOS 的安装方式也非常的多样,例如用 CentOS 光盘镜像开启图形或文本界面安装程序;再如以 kickstart 进行网络安装。这里主要介绍以 chroot 方式实现 CentOS 的自举,主要利用的工具是 Red Hat 的包管理工具 rpm 以及 yum。它们分别提供了与 chroot 配合的 --root 与 --installroot 选项。这种安装方式不仅适用于双 Linux 系统的安装,也适用于利用 Linux Live CD 环境安装 Fedora/CentOS。
 
B、准备 Linux 宿主环境
想要通过自举的方式安装 CentOS,就需要提供一个 Linux 宿主环境。一般而言,这个宿主环境可以是 Red Hat 系的操作系统,也可以是非 Red Hat 系的操作系统。宿主环境可以是硬盘中安装的 Linux,也可以是 Live CD 中的 Linux。尽管如此,Linux 宿主环境还是必须提供 Red Hat 的包管理工具。如果宿主环境是 Red Hat 系,那么显然已经满足了这一要求,不过最好保证 yum 是最新的
$ sudo yum update yum
下面将给出 Gentoo、Debian 发行版中是如何安装 Red Hat 包管理器?为方便计,切换到 root 用户:
$ su -
1. 在 Gentoo 中安装 YUM 包管理器
Gentoo Portage 中提供了 rpm、yum 等 Red Hat 工具,请安装最新版本,这里以 amd64 架构为例:
# echo 'sys-apps/yum ~amd64' >> /etc/portage/package.keywords
# echo 'dev-python/sqlitecachec ~amd64' >> /etc/portage/package.keywords
# echo 'app-arch/rpm sqlite' >> /etc/portage/package.use
# emerge -avuDN sys-apps/yum app-arch/rpm dev-python/m2crypto
 
2、在 Debian 中安装 YUM 包管理器
Debian 源中也提供了 Red Hat 的包管理工具,不过要安装最新的 yum 包
# apt-get install -t experimental yum rpm python-m2crypto
 
C、准备 CentOS 的安装空间
有了宿主环境,还需要安装 CentOS 的空间。通常根据宿主环境的不同,可以是同一块硬盘中的空闲空间,也可以从其他机器上暂时拆一下一块硬盘提供的空闲空间,还可以是移动硬盘或者 U 盘,当然也不排除虚拟机空间。为了方便起见,不妨假设我们在虚拟机中操作。下面开始分区相关操作。
 
空间分区
# fdisk /dev/sda
假设分了三个区,分别是交换分区 /dev/sda1、根分区 /dev/sda2、启动分区 /dev/sda3。格式化分区
# mkswap /dev/sda1
# mke2fs -j /dev/sda2
# mke2fs -j /dev/sda3
接着挂载分区
# mkdir /mnt/centos
# mount /dev/sda2 /mnt/centos
# mkdir /mnt/centos/boot
# mount /dev/sda3 /mnt/centos/boot
# swapon /dev/sda1
 
D、将 Red Hat 包管理工具安装到 CentOS 的分区中
先建立 RPM 数据库
# mkdir -p /mnt/centos/var/lib/rpm
# rpm --root /mnt/centos --initdb
接着到 CentOS 的官方镜像网站 http://vault.centos.org 下载需要版本的 centos-release 并安装,也可到 http://rpm.pbone.nethttp://www.rpmfind.net 网找查找 centos-release 包:
# rpm -ivh --nodeps --root /mnt/centos http://vault.centos.org/6.4/os/x86_64/Packages/centos-release-6-3.el6.centos.x86_64.rpm
上述命令会将 centos-release 包提供的 CentOS 的官方源的配置文件安装到 /mnt/centos/etc/yum.repos.d 目录。
 
由于 Red Hat 系并没有提供 locale-gen 之类的命令配置系统 locale 的数量,这里采用 RPM 宏的方式来选择它们
# echo %_install_langs en:zh:zh_CN:zh_CN.UTF-8 >> /mnt/centos/etc/rpm/macros.lang
 
可以将 Red Hat 的包管理工具 YUM 安装到 /mnt/centos 了:
# yum --installroot /mnt/centos install yum --nogpgcheck
注意上述命令中的 --nogpgcheck 选项,以防出现 GPG 公匙验证错误。若直接使用官方的 CentOS 镜像进行安装比较慢,也可以替换 CentOS 的源配置,例如
# mv /mnt/centos/etc/yum.repos.d/CentOS-Base.repo /mnt/centos/etc/yum.repos.d/CentOS-Base.repo.backup 
# wget -O /mnt/centos/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 
# yum makecache
再试试上述的 yum 操作。
 
若不想进入下一步繁琐的 chroot 操作,实际上,最小安装也可以通过下面的方法直接实现
# wget http://vault.centos.org/6.4/os/x86_64/images/install.img
# yum install squashfs-tools
# unsquashfs -d /mnt/centos install.img
该镜像安装完成之后,chroot 的相关操作会相对简单一些。
 
E、进入预装的 CentOS 系统
复制域名解析配置文件
# cp -L /etc/resolv.conf /mnt/centos/etc/resolv.conf
挂载必要的
# mount --bind /dev /mnt/centos/dev
# mount -t proc none /mnt/centos/proc
# mount -t sysfs none /mnt/centos/sys
好了,进入 chroot 环境
# chroot /mnt/centos /bin/bash
 
1、重建 RPM 数据库
可能由于宿主环境中的 RPM 数据库的版本问题,在 chroot 环境中执行 yum 可能会报 DB 数据库错误,用下述方法重建 RPM 数据库
# rpmdb --rebuilddb -vv
 
2、重置 root 用户的密码
为了确保我们能够以 root 用户进入 CentOS 系统,需要重置密码。由于 Red Hat 系的发行版中都默认开启了 SELinux,因此,chroot 环境中是不能通过 passwd 修改 root 密码的。我们可以通过手动修改 /etc/passwd 文件并通过 shadow-utils 工具来加密密码。为了简单起见,我们重置 root 密码为空
# sed -i 's@^root:x:@root::@' /etc/passwd
接着创建 /etc/shadow 文件
# yum install shadow-utils
# pwconv
 
3、设置系统的默认时区
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
4、配置 /etc/fstab
在开始内核安装之前,务必配置好系统根分区的信息,例如
# cat > /etc/fstab  << EOF
/dev/sda1     swap          swap       defaults           0 0
/dev/sda2     /             ext3       defaults           1 1
/dev/sda3     /boot         ext3       defaults           1 2
/dev/cdrom    /mnt/cdrom    iso9660    noauto,ro          1 1
tmpfs         /dev/shm      tmpfs      defaults           0 0
devpts        /dev/pts      devpts     gid=5,mode=620     0 0
sysfs         /sys          sysfs      defaults           0 0
proc          /proc         proc       defaults           0 0
EOF
注意到里面的 /mnt/cdrom,故需新建该目录
# mkdir -p /mnt/cdrom
另外,若喜欢使用 UUID 作为分区标记,可先用
# blkid /dev/sda2
# blkid /dev/sda3
参看各个分区的 UUID,随后修改 /etc/fstab 文件。
 
5、安装 Linux 内核
该轮到内核安装了,由于 CentOS 是自举安装的,因此推荐直接安装二进制内核以解决相关的依赖性问题:
# yum install kernel
 
6、配置 CentOS 的网络
设定主机名并启用网络
# cat > /etc/sysconfig/network << EOF
NETWORKING=yes
HOSTNAME=bootstrap
EOF
本地解析主机名设定
# echo '127.0.0.1 bootstrap' >> /etc/hosts
 
根据网络情况设定 IP 地址。如果机器获得静态 IP 地址,则
# cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE=eth0
HWADDR=00:00:00:00:01
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=10.10.19.234
NETMASK=255.255.254.0
GETEWAY=10.10.18.254
EOF
假如机器以动态方式获得 IP 地址,则需先安装 DHCP 客户端
# yum install dhclient
随后配置网络
# cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE=eth0        
ONBOOT=yes
BOOTPROTO=dhcp
EOF
其他方式的网络获得方法,请自行查阅资料。
 
最后,根据实际情况配置域名解析服务器
# cat /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220
 
7、配置 Linux 键盘布局以及终端字体(可选)
这一部分对于大多数用户来说是不需要配置的,因为通常的键盘布局都是美式的;用户的工作方式也大多集中于图形操作界面。不过,如需相关配置的话,请先查阅 /usr/share/doc/initscripts 中的说明文件。
 
配置键盘布局,通常使用的键盘都是美式的,可作如下操作
# yum install kbd
# echo KEYTABLE="/lib/kbd/keymaps/i386/qwerty/us.map.gz" >> /etc/sysconfig/keyboard
有关键盘布局的信息,可到 /lib/kdb/keymanps 目录查看。
 
终端字体的安装
# yum install terminus-fonts-console
使用term系列字体,很漂亮,偶现在用的是ter-g16f.psf.gz字体。即使生效的办法是
# setfont /lib/kbd/consolefonts/ter-g16f.psf.gz
若想永久生效,可配置
# echo SYSFONT="/lib/kbd/consolefonts/ter-g16f.psf.gz" >> /etc/sysconfig/i18n
如需更多终端字体,请到 /lib/kbd/consolefonts 目录中查看。
 
8、安装必要的系统工具
为了方便调试系统以及维护系统,常用的系统日志与日程管理工具是必需的:
# yum install rsyslog crontabs cronie cronie-anacron
 
9、安装引导程序
目前 Linux 的引导程序基本上都是 grub,不过由于 CentOS 相对陈旧,它还没有提供 grub2。
# yum install grub
接着根据分区情况配置 grub
# cat > /boot/grub/grub.conf << EOF
timeout 5
default 0

# (0) CentOS
title CentOS 6.4
root (hd0,1)
kernel /vmlinuz-2.6.32-358.18.1.el6.x86_64 root=/dev/sda2 ro
initrd /initrd-2.6.32-358.18.1.el6.x86_64.img
EOF
用下述命令将 grub 安装到
# grub-install /dev/sda
若安装失败,可尝试
# grub
> root (hd0,1)
> setup (hd0)
> quit
 
10、退出 chroot 环境并重启系统
# exit
# cd /
# umount /mnt/centos/dev
# umount /mnt/centos/proc
# umount /mnt/centos/sys
# umount /mnt/centos/boot
# umount /mnt/centos
# reboot
 
D、进入全新的 CentOS 系统
 
如果一切正常的话,电脑将进入全新的 CentOS 系统,以 root 用户无密码登录即可
login: root
 
进入系统的第一件事情就是重置 root 用户密码,先将常用的 passwd 工具装上
# yum install passwd
试着执行一下 passwd 命令,由于 SELinux 的原因,通常会出现下面的错误
# passwd
passwd: unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 is not authorized to change the password of root
为了让 passwd 正常工作,请禁用 SELinux:
# setenforce 0
如果想永久的禁用 SELinux,请执行
# cat > /etc/selinux/config << EOF
SELINUX=disabled
SELINUXTYPE=targeted
EOF
# ln -s /etc/selinux/config /etc/sysconfig/selinux
好了,试试重置 root 用户的密码吧:
# passwd
 
为方便控制用户权限,可安装 sudo 包:
# yum install sudo
接着开启 wheel 组的 root 权限
# sed -i 's|^# %wheel  ALL=(ALL:ALL) NOPASSWD: ALL|%wheel  ALL=(ALL:ALL) NOPASSWD: ALL|' /etc/sudoers
增加普通用户到 CentOS 系统并将它加入 wheel 组:
# adduser easior -a wheel
接着重置 easior 的密码
# passwd easior
好了再次重启系统
# reboot
测试普通用户的权限设置是否正常?
 
以普通用户登录
login: easior
password: 
尝试用 sudo 安装基本工具
$ sudo yum install nano man-pages openssh
一切正常的话,可以进行其他配置了。
 
E、CentOS/RHEL 软件源简介
 
CentOS 官方发行版提供了四个配置文件:CentOS-Base.repo、CentOS-Vault.repo、CentOS-debuginfo.repo、CentOS-Media.repo。后三个配置文件分别是发行版所有过往的源配置文件、官方源中相应包的 debuginfo 源配置文件、光盘镜像的源配置文件,它们默认是不开启的。因此,CentOS 官方发行版中的源是由 CentOS-Base.repo 决定的。虽然该配置文件里包含了 base、updates、extras、CentOSPlus、contrib 源,但官方源中去除了很多有版权争议的软件,导致可安装的软件数量非常有限;而且相对于 Fedora 等版本,软件版本也不是最新的。这就需要我们使用第三方软件源作为补充,简化 CentOS 用户的使用。下面稍微对 CentOS/RHEL 中的常用源做一些说明。有关 CentOS/RHEL 源的更多介绍,请看 http://wiki.centos.org/AdditionalResources/Repositories。当然,里面的内容可能有些过时。
 
CentOS/RHEL 官方源
正如前面提到的,CentOS/RHEL 官方提供了一些源,不过默认状态下只开启了少量的几个源。例如 CentOS 只开启了 CentOS-base.repo 中的 base、update、extras 这三个源,而其他源均不开启。base 与 updates 是 CentOS/RHEL 发行版中提供的基础组件软件包及其更新。extras 提供了一些额外的不破坏 CentOS/RHEL 系统兼容性且不改变基础组件的软件包。这些软件包已经由 CentOS 开发小组经过测试确保它们在 CentOS 中正常工作。这些软件可能不是由 RHEL 上游提供的。值得指出的是,extras 源中含有持续发行软件源 centos-release-cr,它含有下一个 CentOS 发行版的软件包。CentOSPlus 源是为那些更改 CentOS 基本组件的软件包而设立的。使用该源会导致 CentOS 与上游提供者的内容有异。CentOS 的开发小组已经针对该源内的每个程序作出测试,确定它们能在 CentOS 下创建及运作。contrib 源中则含有 CentOS 用户供献的组件,它们并不会与核心发行版本的组件重叠。这些组件并没有经过 CentOS 的开发者测试,也未必会紧跟 RHEL 的发行。
 
CentOS-Testing 源
该源是由 CentOS 开发者维护并为 CentOSPlus 与 extras 两个源提供软件包的。这些软件包既不一定进入 CentOS 的正式源,也不一定保证正常工作。这些软件包是专门给测试者使用并由他们反馈相关的功能与稳定性。源中这些处于开发阶段的软件随时可能移除,因此在生产环境中务必关闭该源。 CentOS-Testing 源默认不自带在 CentOS 系统中,不过仍可通过下面的方法添加
$ sudo wget http://dev.centos.org/centos/6/testing/CentOS-Testing.repo  -O /etc/yum.repos.d/CentOS-Testing.repo
$ sudo sed -i 's/^enable=0/enable=1'  /etc/yum.repos.d/CentOS-Testing.repo
 
EPEL 源
EPEL(Extra Packages for Enterprise Linux) 源是由 Fedora 社区创建维护的,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。EPEL 中含有大量的软件,对官方标准源是一个很好的补充。Fedora 的官方说明在 http://fedoraproject.org/wiki/EPEL。EPEL 源的添加方法很简单
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 
RPMForge 源(REPOForge 源)
RPMForge 源是由 Dag 及其它包装者合作维护的,它为 CentOS/RHEL 提供了超过 10000 多个包,其中包含了dropbox、wine、vlc、mplayer、xmms-mp3 以及其他一些非常流行的媒体工具。它本身不是 CentOS/RHEL 的一部分,但是它与这些发行版是相容的。目前,REPOForge 是 RPMForge 继任者,不过源本身并没有改名。RPMForge 源被 CentOS 社区认为是最安全也是最稳定的一个第三方软件源。RPMForge 的官方网站在 http://repoforge.org/。它的添加方法如下:
i386 架构的系统,请执行
$ sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
而 x86_64 架构的系统则执行
$ sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
接着注入 DAG 的 PGP 公匙
$ sudo rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
 
RPM Fusion 源
RPM Fusion 提供了很多 Fedora Project 或 Red Hat 没有提供的软件包。所有这些软件均以预编译的 RPM 包的形式提供给 Fedora 与 CentOS/RHEL。 RPM Fusion 混合了原先的 Dribble、Freshrpms 与 Livna。RPM Fusion 源中除了提供大量的多媒体工具之外,还提供了 VirtualBox 相关的工具。RPM Fusion 官网位于 http://rpmfusion.org。配置 RPM Fusion 源非常简单,请执行
$ sudo rpm -ivh http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm 
$ sudo rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm
 
Adobe 源
该源提供了多种语言的 Adobe Reader 与 flash-plugin,它的详细介绍请参看 http://blogs.adobe.com/acroread/2008/02/adobe_reader_now_available_via.html。对于 i386 架构的系统,请执行
$ sudo rpm -ivh http://linuxdownload.adobe.com/linux/x86_64/adobe-release-x86_64-1.0-1.noarch.rpm
来配置 Adobe 源;而对 x86_64 架构的系统,则可执行
$ sudo rpm -ivh http://linuxdownload.adobe.com/linux/i386/adobe-release-i386-1.0-1.noarch.rpm
 
Google 源
Google 源提供了诸如 Google Chrome、Google Earth、Google Talk Plugin 等应用,具体信息参见 http://www.google.com/linuxrepositories/。尽管 Google 并没有提供源的安装方法,不过,关于 Google 源的示例却不难找到,下面便是源安装示例:
$ sudo cat > /etc/yum.repos.d/google.repo << EOF
[google-chrome]
name=Google Chrome - $basearch
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

[google-earth]
name=Google Earth - $basearch
baseurl=http://dl.google.com/linux/earth/rpm/stable/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

[google-musicmanager]
name=Google Music Manager - $basearch
baseurl=http://dl.google.com/linux/musicmanager/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

[google-talkplugin]
name=Google Talk Plugin - $basearch baseurl=http://dl.google.com/linux/talkplugin/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub 

[google-mod-pagespeed]
name=Google Mod PageSpeed - $basearch baseurl=http://dl.google.com/linux/mod-pagespeed/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF
 
以上各源对 CentOS/RHEL 等系统完全兼容,但各软件源之间并不能保证完全兼容没有冲突。如果需要使用以上源,最好安装 yum-plugin-priorities 插件调整各个源之间的优先级
$ sudo yum install yum-plugin-priorities
安装 yum-plugin-priorities 插件后,可以通过修改 /etc/yum.repos.d/ 中各个源的配置文件,在其中插入指令
priority=N
从而设置各个源的优先级 priority,其中 N 为1到99的正整数,数值越小优先级越高。一般官方源优先级设置为 1,最高;第三方源的优先级这只推荐为 >10。例如下面示例中将 base、updates、extras 源优先级设为了 1,而 CentOSplus、contrib 的优先级则为 2:
$ cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
priority=1

#released updates 
[update]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
priority=1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
priority=2

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
priority=2
 
F、一些简单的配置
作为服务器而言,CentOS 的配置通常集中在网络服务上面,例如 LAMP、FTP、RSYNC 等。相对而言,它的桌面应用的相关配置反而显得并不重要。不过不管怎样,CentOS 的终端界面总是需要配置的,特别是中文显示、输入等等。
 
为了让中文能够正常显示,需要设定系统的 locale 以及安装一些中文字体
$ su -c 'echo Lang="zh_CN.UTF-8" >> /etc/sysconfig/i18n'
$ sudo yum install wqy-micro-fonts wqy-bitmap-fonts
即使如此,中文字符在 Linux 的终端仍显示为乱码,这涉及到 Linux 内核的问题。解决的办法是要么给 Linux 内核打 UTF-8 补丁,要么安装 Framebuffer 终端模拟器。这里采用后者,为此添加 EPEL 源
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum clean all
$ sudo yum install fbterm
接着安装中文手册页,并运行 fbterm 测试中文显示是否正常:
$ sudo yum install man-pages-zh-CN
$ fbterm
随便打开一个中文 man page 看看吧!
 
为了在终端输入中文字符,可以安装 fcitx-fbterm 或者 ibus-fbterm 来配合 fbterm 使用。这里使用 ibus-fbterm 来输入中文,不过可惜所有源中均无此包,只能自己动手了。先安装基本的工具链
$ sudo yum install @Development\ Tools
某些包的编译过程可能还需好内核功能:
$ sudo yum install kernel-devel kernel-headers
接着安装 RPM 开发工具并在用户家目录建立 RPM 开发目录
$ sudo yum install rpmdevtools
$ rpmdev-setuptree
接着到 Fedora 官方中下载 ibus-fbterm 的 RPM 源码包进行编译安装
$ wget http://dl.fedoraproject.org/pub/fedora/linux/releases/19/Everything/source/SRPMS/i/ibus-fbterm-0.9.1-16.fc19.src.rpm
$ rpm -ivh /ibus-fbterm-0.9.1-16.fc19.src.rpm
进入 ~/rpmbuild/SPECS 目录适当修改 ibus-fbterm.spec,接着便可生成 ibus-fbterm 的 rpm 包了
$ cd  ~/rpmbuild/SPECS
$ nano -w ibus-fbterm.spec
$ sudo yum install yum-utils
$ sudo yum-builddep ibus-fbterm.spec
$ rpmbuild -ba ibus-fbterm.spec
$ cd ../RPMS/x86_64
$ sudo rpm -ivh ibus-fbterm.*.rpm
为了方便用户使用,可直接查看页面上给出的 FedoraPeople 上的 DoReMi 源。 
 
再来安装 Linux 终端下的图片浏览器 fbi 与 PDF 文档阅读工具 fbgs
$ sudo yum install fbida fbida-fbgs
另外,还有截屏工具 fbgrab
$ sudo yum install fbgrab
 
文本浏览器
$ sudo yum install w3m w3m-img links2
网络聊天工具
$ sudo yum install finch irssi
 
想要获得终端的鼠标支持功能,需安装 gpm 并启动 gpm 服务
$ sudo yum install gpm
$ sudo service gpm start
$ sudo chkconfig gpm on
试试用鼠标左键选择、鼠标中键复制吧。
 
在 CentOS 中安装 VirtualBox 非常简单,只需开启 RPM Fusion 源。不过,VirtualBox 官方也提供了相应的源,这里不妨用 VirtualBox 官方的源:
$ sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo
接着根据需要安装相应版本的 VirtualBox
$ sudo yum install VirtualBox-4.2
接着配置 VirtualBox,下面的命令行会创建 vboxusers 用户以及用户组,同时将自动编译相关的内核模块
$ sudo service vboxdrv setup
试试以 headless 方式启动 VirtualBox 吧!

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter