Ubuntu Linux Server 7.04 安装日记
(未完成)
基础场景
因为工作需要一台新的研发专用的服务器,需要跑一些研发用的服务,比如subversion, bugzilla, mediawiki, dailybuild环境和共享文件库。同时考虑到可靠性因素,所以我决定使用linux作为新机器的操作系统。因为现在夏天用电紧张,经常有错峰用电的情况,所以对比了一下在ReiserFS和XFS两个文件系统,开始选择了ReiserFS,原因是ReiserFS对于小文件存储很有效率,而我这里会用到subversion(用文件存储),正好适用,另外是听说XFS虽然性能好但是很庞大维护困难,估计新版本出来不会快,但是后来发现ReiserFS启动特别慢,只好用XFS,要记住不要把/boot设置成XFS,因为GRUB不认识。
虽说是“新”服务器,但是是一个老机器了。原先是4G硬盘,512M内存,2.6G的cpu(速度不错吧),后来新加一个80G硬盘。我的安装规划如下:4G硬盘为hda,专门存放系统,80G硬盘作为hdb,专门存放数据。操作系统为ubuntu server 7.04。
准备工作
因为我手头只有iso映像,所以使用ubuntu 硬盘安装方法。要做的准备工作如下:
- 阅读附录文档,并正确理解
- 下载ubuntu硬盘安装所需的几个文件:initrd.gz和vmlinuz
- 复制这几个文件和iso映像到我的hdb根目录下,为此,我先在其上建立了一个fat32的分区,临时凑合用吧。
- 网上找一篇vi编辑器的使用手册,打印出来放在手边(切记)。
linux安装
正好上一篇文章中作了一个启动U盘,所以用它启动到GRUB环境下,按C进入GRUB的命令行环境,输入如下的指令:
root (hd1,0)
kernel /vmlinuz root=/dev/ram ramdisk_size=32000 devfs=mount,dall
initrd /initrd.gz
boot
安装过程不多说,只是有几个需要注意的地方:
- 当前的国家要选择好,否则时间设置的时候会有麻烦
- 在安装划分磁盘的时候需要打开LVM,如果没有概念,看本文附录的参考文献。
- 选择磁盘分区的文件格式,选择ReiserFS,这里选择会有些麻烦,先选择自动分区+LVM,然后询问是否写入磁盘时候选择否,设置分区的文件格式,然后继续,中间会报告错误说根文件系统没有设置,然后退回去选择自动+LVM,就OK了。一定要仔细看,否则很容易出错。
- 不要用中文安装,不翻译还看得懂,翻译了反而看不懂了(是我的问题吗?),而且中文的时候把我的hda认成了sda,奇怪。
安装过程可能会出现一些状况,bigtall在安装的时候就遇到了如下的几个问题:
- U盘启动时候出现Error 22。这个原因是机器没能够正确识别U盘文件格式,请检查你的BIOS设置,确保识别U盘格式和实际U盘格式相同,这里bigtall的是USB-HDD模式。
- 如果安装时候找不到ISO文件,请确保你用的vmlinuz和initrd.gz文件和你当前版本相符。ubuntu 7.04要使用feisty相关的文件。也可以在出现找不到ISO的提示之后,用Alt+F2切换到新控制台,回车出现提示符,输入如下的命令:
#mkdir /dev/loop
#mknod /dev/loop/0 b 7 0
#mknod /dev/loop/1 b 7 1
#exit
然后用Alt+F1切换回安装界面,重试一下就可以了。 - 安装时候找不到硬盘。首先检查BIOS设置,如果能够找到硬盘,则继续检查。如果是SATA硬盘,请参考【题注1】。如果是IDE硬盘,请检查您的硬盘跳线设置,必要时候甚至去掉所有的盘只剩一个单独的硬盘。如果你的硬盘容量大于160G,最好换一个小一点的再试一下,比如换一个80G的。
- 如果进入之后无法黑屏、白屏或者在设置Frame Buffer时候卡住,请在GRUB的kernel命令输入时候再加入参数vga=NNN,其中NNN为数字(一般建议取值771)。取值及其含义如下:
* 色彩 640x400 640x480 800x600 1024x768 1280x1024 1600x1200
* 4bits ?----------?-----------770--------?-----------?-----------?
* 8bits 768-------769--------771--------773--------775--------796
* 15bits ?---------784--------787--------790--------793--------797
* 16bits ?---------785--------788--------791--------794--------798
* 24bits ?---------786--------789--------792--------795--------799
例如,1024*768@16bits就是添上 vga=791
注意:vga不支持宽屏,只能找相近的值,而且屏幕会被拉扁。
预备工作
系统重新启动之后,iso的mount不会自动起来,所以需要手工来做,而且因为我们的iso文件放在了hdb1上,所以首先要mount一下hdb1,其次才可以mount我们的iso。因为我们的升级工作需要用到iso。
$sudo mkdir /mnt/hdb
如果hdb1格式是ext3
$ sudo mount /dev/hdb1 /mnt/hdb
如果 hdb1 格式是 fat32
$ sudo mount -t vfat -o iocharset=cp936 /dev/hdb1 /mnt/hdb
$ sudo mount -o loop /mnt/hdb/ubuntu.iso /cdrom
配置telnet服务
安装好之后,我们需要进行一些基本的配置,然后把后续工作移动到我的vista机器上,用远程终端继续,就不用到这个机器前面去跑来跑去了,查资料也方便些。所以第一步来安装telnet服务,登录进系统之后输入如下命令(其中的$符号不要输入,这里我表示是命令行提示符):
$ sudo apt-get install xinetd telnetd
$ sudo vi /etc/xinetd.d/telnet
输入內容:
service telnet
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = telnetd
server = /usr/sbin/in.telnetd
}
$ sudo /etc/init.d/xinetd restart
$ telnet 127.0.0.1
如果可以连通,则表示可以了,用ctrl+C退出
远程登录前的预备工作
首先是记下本机的IP地址,用以下命令看
$ ifconfig | more
然后到你自己的机器前面,用telnet连通,以后的工作都是用telnet远程完成。
设置语言
如果你不小心安装时候语言没有设置得让你满意,别着急,用如下方法修改:
$ sudo vi/etc/environment
在编辑器里,将内容修改如下:
LANGUAGE="zh_CN:zh:en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=zh_CN.UTF-8
GST_ID3_TAG_ENCODING=GBK
#如果需要使用英文界面,将内容修改如下:
#LANGUAGE="en_US:en"
#LC_CTYPE=zh_CN.UTF-8
#LANG=en_GB.UTF-8
#GST_ID3_TAG_ENCODING=GBK
升级系统
使用两个命令把系统先升级好了再说。不过这一步步是必须要做的,可以放到最后一步再做也可以。
$ sudo apt-get update
$ sudo apt-get dist-upgrade
增加一个永久ip
先记下机器当前网卡的名称,用命令
$ ifconfig | more
/etc/rc.local增加一行
ifconfig ath0:5 192.168.1.222 netmask 255.255.255.0 up
永久mount硬盘
$ sudo cfdisk /dev/hdb
将硬盘分区成2个,一个为5G的基本分区hdb1,剩余为扩展分区hdb5
$ sudo mkfs -t xfs -f /dev/hdb1
接下来,我们要用到LVM了,大家还记得我们安装时候看到的这个名字吗?一切参考附录中的文章指引,我们把我们的hdb5加入,把hdb1保留,因为我的4G硬盘有些问题,我怕坏了的话,就在hdb1安装一个新的系统。LVM相关命令如下:
$ sudo lvm
之后进入LVM管理环境:它的提示符为 lvm> ,输入命令序列如下:
lvm> vgcreate -s 32M main /dev/hdb5
lvm> vgdisplay
我这里会看到两个lvm设置,一个是系统安装时候设置的lvm2,一个是我刚才设置的main。然后一口气设置几个逻辑卷,lv_home,lv_var和lv_share,每个大小8G。
lvm> lvcreate -L8G -nlv_home main
Logical volume "lv_home" created
lvm> lvcreate -L8G -nlv_var main
Logical volume "lv_var" created
lvm> lvcreate -L8G -nlv_share main
Logical volume "lv_share" created
lvm> lvdisplay
lvm> vgchage -a y main
lvm> quit
然后格式化几个新创建的逻辑卷:
sudo mkfs -t xfs -f /dev/main/lv_home
sudo mkfs -t xfs -f /dev/main/lv_var
sudo mkfs -t xfs -f /dev/main/lv_share
sudo mkdir /share
我这里再格式化的时候出现了一点问题,但是似乎没有受到影响。/etc/fstab 按照参数说明加入,我这里只需要加入share即可。
如果需要扩大分区,比如我要扩大share,则命令如下
$ sudo lvextend -L+8G /dev/main/lv_share
$ sudo xfs_growfs /dev/main/lv_share
安装samba
$ sudo apt-get install samba
$ sudo apt-get install smbclient
$ sudo vi /etc/samba/smb.conf
在文件最后输入如下的内容:
[Share Directory 2]
comment = My Share Directory 2
path = /share
writable = yes
valid users = smbuser1
create mode = 0664
directory mode = 0775
然后
$ sudo useradd smbuser1
$ sudo passwd smbuser1
$ sudo smbpasswd -a smbuser1
$ sudo chown smbuser1 /share
$ sudo /etc/init.d/samba restart
迁移/var
所有的设置好之后,需要把系统目录搬迁到我的好硬盘上来,这个步骤不能再telnet上完成,必须到机器前面。
$ sudo init 1
# mkdir /mnt/temp
# mount /dev/main/lv_home /mnt/temp
# cp -avx /home/* /mnt/temp
# mv home home.old
# mkdir home
# umount /mnt/temp
# mount /dev/main/lv_home /home
# mount /dev/main/lv_var /mnt/temp
# cp -avx /var/* /mnt/temp
# mv var var.old
# mkdir var
# umount /mnt/temp
# mount /dev/main/lv_var /var
# vi /etc/fstab
在根目录的mount条目之后插入对/home和/var的条目,如下:
/dev/main/lv_home /home xfs defaults 2 2
/dev/main/lv_var /var xfs defaults 2 2
# init 5
安装LAMP服务
安装subversion
安装
题注:
- 问:SATA硬盘上可以安装Linux系统吗?
答:可以。如RedHat 9,在安装之前需要设置为Compatible Mode,否则就会找不到硬盘。安装好后,要升级内核到2.4.22,如果使用的CPU支持超线程,请在编译内核时选择SMP的支持。接着修改GRUB的启动参数,将hda改成hde,分区号不变。还有fstab也需改一下,不然启动后不能激活“SWAP”交换分区。重新启动后,将BIOS中的Compatible Mode改为Enhanced Mode,这样就能发挥SATA接口的性能了。
引用:
参考文献:
公众号:老翅寒暑