安装Gentoo的一些小结(本文写于2008年)
Linux以前用很多的,最早装在我的笔记本上的是mandrake,这个发行版本现在叫做mandriva,做的挺傻瓜话的,但是中文化弄的不行,后来也装过红旗,也有装红帽子,后来也装过Federo core,ubuntu,最后还是回到了gentoo(考完研究后的暑假,没有事情做,装过gentoo),研一的时候装过freebsd,当然很不错,但是因为古怪的引导程序将台式机上另外一个硬盘引导区破坏,害我老是去重建分区表,后来也不烦了,不玩算了。
经过几天几夜的编译,gentoo-2006.0就牢固的占据了我笔记本的10G硬盘。因为安装困难,所以舍不得删掉。
下面步入正题.
gentoo 最大的特点就是portage系统,它将很多自由软件归于portage树下,要安装软件,只要输入:
#> emerge 软件名
就见到电脑卖力的开始编译了,以前觉得这样卖力,电脑会坏的,后来发现其实也不是那么容易坏的。
portage 系统的配置文件:
编译选项:
/etc/make.profile
/etc/make.conf
包的编译选项:
/etc/portage/package.use
/etc/portage/package.mask
/etc/portage/package.unmask
/etc/portage/package.keywords
或者是在~目录下的相应的package.* 文件。
因为每个软件编译时,可能要编译一些相关的包,库,相关文件,所以portage 用USE变量来控制相关的编译包。
- package.use可以用来控制编译文件时加入或者减去的USE选项,因为没有个package都自带有USE 选项,所以package.use就可以添加额外的选项。
- package.keywords文件用来控制系统是属于稳定的还是最新的,控制给别软件包是稳定版本还是最新版本。
- 一些软件可能还是在测试期,所以gentoo工程师帮你mask掉,如果你的系统设置在稳定版本呢,被mask掉的软件是不能装,如若你偏偏要装,可以在package.unmast中说明。
portage试图解决的问题是依赖和版本问题。
中文化
- 在装其他软件前, 在
/etc/locale.gen
中编辑好,用locale-gen
来生成相关的locale,所有已经支持的locale 在/usr/share/i18n/SUPPORTED中有描述,常用的有zh_CN GB2312 zh_CN.UTF8 en.US utf8等。当然,要系统支持中文 在内核编译时在filesystem中要选择nls(native language support)
,同时选windows相关的文件系统:FAT32,NTFS,FAT等。同时在/etc/make.conf
内USE要加上nls. - 中文化的另外一个问题就是字体问题,现在出了文泉驿字体,只要emerge wqy-fonts(好像)就行了。
- 或者将windows下的字体拷贝到
/usr/share/fonts/truetype
下,目录要自己建,然后再/etc/X11/xorg.conf
中加入路径就行了。进入该目录,然后用mkfontscale
命令声称fonts.dir 及fonts.scale文件。
显卡设置
安装方面最复杂的是xorg设置,要启动direct redering,需要xorg-drm包。但是如果是ati-drivers情况好象也蛮复杂的。
我的电脑是radeon mobility M6,仅有8M显存,以前emerge了compiz-fusion 现在发现也能用。
感想
人生充满惊奇之处,所以,尽管无聊又要受苦,想要去死的人不多。三种情况会让人真的感到有幸福感,一种是孜孜以求终达到目标,一种是失而复得,另外一种不期而遇。晚了,今天写的有点乱,晚了,stop here,以后 在完善
网络设置:
#> ifconfig eth0 192.168.5.188/24
#> route add default gw 192.168.5.88
永久性设置:
修改文件:/etc/conf.d/net
config_eth0=( "192.168.5.188/24")
outes_eth0=( "default via 192.168.5.88")
要是路由器自由分配地址: 则要启动dhcp,做法: 待查。
添加 DNS服务器:/etc/resolv.conf
添加:
nameserver 202.xxx.xxx.xxx
远程操控?
> emerge ssh
添加远程机器的地址到~/.ssh/known_hosts文件中
在服务机上:#> /etc/init.d/sshd start
在客户上:$> ssh root@192.168.5.188
有关基于密钥的登录: 待写。
服务器
- samba 服务器
- ftp服务器
- apache服务器
- squid服务器
SAMBA
今日将实验室的samba弄好了,事实上samba是一个很庞大的软件,可以模拟windows的域,文件共享等。我所懂得是些基本的东西。
讲讲要点:
emerge samba
配置文件:/etc/samba/smb.conf
在文件中有几个要点:
1. [globe] 全局设置
Security 可以是user,share,server, domain
- share最方便;
- user最常用;
- server和 domain 则是较大型的网络才比较合适,实验室就十几台电脑,没有必要去研究了。
可以看到 smb.conf中赋值用的是=号,我喜欢这样的直观,比其他设置用空格感觉好
> host allow = 192.169.127.0.
> host deny =
用的是简单匹配,IP省略的部分表示*, 空格表示多个ip可是可以的。 当然直接将IP放进去也是可以的
guest account = nobody
当客户用 guest登录时,对应的linux用户是 root
如果Security是 share模式,则访问主机的public资源是不要用户认证的,samba直接认为是guest用户,如果是user模式,好像不登录的话还不能看到主机上的东西,所以安全来讲,还是user好些。
关于samba的用户,有个一个文件来映射 samba客户用户名和linux主机用户名:
user name map = /etc/samba/smbusers
而用户的密码的文件用下面语句设定:
smb passwd file = /etc/samba/smbpasswd
那么怎么来添加用户? 今天我弄了半天,原来是忘了一个参数:
添加用户: smbpasswd -a jiang
删除用户: smbpasswd -x jiang
在vi中刚巧也是a表示append,x 表示删除。linux passwd是不有这样的用法,忘记了。
然后手动在 smbusers中添加用户的映射。
**语言,要显示中文 **
client code page = 936
或者 dos code page =936
目录选项
[home]
在user模式下,有了这个字段,好像samba 自动会将用户的主目录映射过来(不用设置path),在客户机上显示出来的也是用户的名字。
权限设置:
- public=yes
表示是不是一般用户都能够浏览。
在此,我觉得是这样,public相当于 linux 目录的 r属性, r-表示可以用ls看的见,w则是rm可以删掉,x表示 可以 用cd进入,touch 我觉得应该也是得有 w 属性才行。 writable =yes
则表示可以删除和创建,相当于w属性browseable=yes
则表示可以浏览,xreadonly =yes
表示无w属性,与writable 相反- 正确吗?
另外权限与用户相关的,对于真实的linux 文件夹,所映射的用户的权限实际是samba设定的权限与linux下该用户权限的AND和。
guest ok =yes
表示guest也能适用以上的权限设置,不过guest对应的nobody用户可能不具有真实文件的其他权限,所以,也是有限制的。
valid users=@group,person
表示那些用户是可以继承以上这些权限设置的
我自认为,权限设置是samba目录控制的最精髓处。
> create mast=744
> directory mask =755
表示在客户中设置创建文件和目录时,这些文件和目录的权限,可以用
> force user = foo
> force group = bar
> force create mode = 755
> force directory mode =744
来强行设置。
有了这些知识,设置实验室的samba服务器就够了。
评论已关闭