迁移到fedora core 13的要点备查,和fc 13的新特性总结
来源:互联网 发布:党员干部网络行为规范 编辑:程序博客网 时间:2024/06/06 07:46
最近终于放弃我的老redhat9,全部迁移到FC13,虽然很早就接触过fc2,3,4。但好像现在FC13的变化很大,不得不花点时间看看。整理一点心得以备查阅。
1.selinux, 记得刚开始接触fc最讨厌的就是selinux,总是莫名奇妙禁止很多以前RH7/8/9的正常操作,所以以前一安装好就将selinux关闭。裸奔的好处是自由:0),但人要与时俱进,不能还停留在以前的时代了, 看到FC13的selinux的policy越来越完善,心里叫好,一定会省事很多。
- 问题一:首先遇到的第一个问题是从RH9迁移过来的硬盘和分区,除了根分区之外都有点不大正常,比如,我的/home是一个分区加载上去的,通过ssh登录/home里某一用户,ssh报告chdir fail,permission denies.(大概这个意思)。并把当前目录切换到了/下。
- 解决:以前有selinux的使用经验,首先怀疑这些分区没有selinux label或context。查阅一下selinux上下文命令是restorecon。运行:
- restorecon /home # 再ssh一切恢复如常。
- 问题二:samba共享不正常了,跟本无法访问samba共享。配置还是以前的没有变化,再次怀疑selinux。在smb.conf靠近头部发现一些文字。又是selinux的policy惹的祸。现在FC13已经自带for samba共享的一些rule,不用我们自己rule了。根据提示执行:
setsebool -P samba_enable_home_dirs on # 打开selinux的开关,允许共享用户home目录
刷新,又看到了我的home目录。
但另外一个普通共享仍然看不到,执行:
chcon -t samba_share_t /path/to/directory # 打开为我的共享目录打上samba_share_t的标签(label),这样selinux就会允许smbd进程在这里进行读写,并允许客户端察看。
一切恢复正常。但和RH9不同的是,我们的samba运行在非常安全的保护之下,任何selinux policy所规定的不匹配的访问,比如spyware进程,或异常的ip,都会被selinux禁止。
除了samba和ssh访问/home分区,目前还没发现由selinux带来的其它异常。
2. samba本身发生一些变化。当然RH9的是老了点。
- 以前的共享中的gbk目录名,变成了乱码,smb.conf -> [global] section下添加 unix charset = gbk 解决问题。
- 编辑smbusers添加unix <-> windows 用户mapping。用smbpasswd添加<user>
添加以下的global 参数:
unix password sync = yes #允许smbpasswd同时修改unix口令,在修改smb口令之前,通过调用passwd program
passwd program = /bin/passwd %u # 改变unix口令的passwd 命令。%u会被替换为用户名
3. adsl自动拨号的设置,我首选使用rp-pppoe。简单易用。
- 使用pppoe-setup进行拨号连接的配置
- 使用adsl-start开始拨号。
- 使用pppoe-status察看连接状态。
- 使用adsl-stop停止拨号连接。
- 在RH9的时候,为了建立连接之后自动发送动态IP到我的信箱。我采用直接修改adsl-connect(现在叫pppoe-connect)的办法。在FC13中我发现了一个好东西"/etc/ppp/ip-up",我在系统log中看到一行,[NET]: ifup-post, update resolve.conf。它会自动更新我的域名服务器地址列表。经过调查,发现/etc/sysconfig/network-scripts/ifup-post是由/etc/ppp/ip-up调用的,而ip-up则会在最后调用ip-up.local,如果有这个文件。所以自己建立了ip-up.local,并且把发邮件相关代码加到里面。测试。。。没问题,不错的设计。为什么不直接改ip-up,因为它会在升级时被覆盖。顺便说一句ip-up是由pppd进程触发的,并会传给它6个参数。
# $1 the interface name used by pppd (e.g. ppp3)
# $2 the tty device name
# $3 the tty device speed
# $4 the local IP address for the interface <-- 这就是我们的动态ip了。可以全球访问哦!:-)
# $5 the remote IP address
# $6 the parameter specified by the 'ipparam' option to pppd
ip-up.local也会的到这6个参数。事实上,ifup-post会在每个本地网络接口启动时被调用。让你做些连接建立后的事情。
- FC13无法自动启动adsl连接。即使你设置了ONBOOT=yes. 这是因为FC13用了一个新玩意叫做NM=NetworkManager。我注意到RH-EL(CentOS)也用了它。它最初的设计目的是为了简化无线网络的自动发现,自动连接,自动断开的配置过程。像我们的laptop那样简单。管理一个静态的eth0有时都让你头大。何况这种动态的wifi连接。在系统启动过程中,NM会自动检查network-scripts/ifcfg-*,看那些接口有ONBOOT=yes,需要自动启动。但NM现在有一个bug,不处理TYPE=xDSL的接口,就是adsl的拨号连接类型。redhat声称现在不予解决。我也懒得搞它了。在rc.local中加一行adsl-start完事。好一点的解决办法可以在init.d中添加一个脚本,可以用颜色显示服务启动ok或fail。并可以用service命令来启动和停止。
4. 如何在启动时自动检查硬盘完整性?我们的硬盘所保存的数据有时候比机器本身还要值钱。对于长期积累的工作,每次启动的硬盘检查几乎是必需的。FC13同老的RH版本稍有不同(我还是喜欢老的,可以选择等5秒或直接yes或no,取消检查),秘密全在rc.sysinit里。FC13不给你启动时临时选择的机会,但可以配置。
- 首先,系统启动时会创建一个空文件/.autofsck。在系统正常关机时,会被删掉。如果由于电源失败而关机,系统启动时就会看到这个文件,从而进行rc.sysinit会启动磁盘检查。但检查哪些磁盘呢?检查的顺序又是什么?看看/etc/fstab:
UUID=a8a5b313-d457-4461-af3f-35b259d948ed / ext3 defaults 1 1
/dev/sda2 swap swap defaults 0 2
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
/dev/vg01/lv01 /home ext3 defaults 0 3
/dev/sda6 /storage ext3 defaults 0 4
/dev/vg02/lv02 /home/usera/space ext3 defaults 0 2
/dev/vg02/lv03 /home/userb/space ext3 defaults 0 3
/dev/sdb3 /storage/space ext3 defaults 0 4
/dev/vg02/lv01 /repo ext3 defaults 0 5
注意最后一个字段吗? 0表示这个分区不检查,其他数字都表示检查。数字越小的越先检查,相同的数字的两个分区同时检查。所以建议不要把同一个磁盘上的分区设为相同的数字。/总是设为1,最先检查。
autofsck的检查是强迫检查(使用-f),即使分区标识为clean。
在/etc/sysconfig/autofsck里可以设置两个选项。(看注释)
# 这个文件仅仅用于电源失败时(/.autofsck存在)
# AUTOFSCK_DEF_CHECK=yes 将启用AUTOFSCK_OPT,因为autofsck用-f标志,但我不想用,所以我用/fsckoptions
AUTOFSCK_OPT=-y #传给fsck命令的选项。
AUTOFSCK_DEF_CHECK=yes
- 除了看到文件/.autofsck存在与否来决定是否检查磁盘之外,启动脚本还要看系统是否有/fsckoptions文件存在。如果存在则使用它的选项检查磁盘。我的/etc/fsckoptions目前就一行。 -y # 使用 -y选项检查磁盘。最好,删除/etc/rc.sysinit中756行的/fsckoptions字样,否则,下次启动,选项文件会被删除。我想这是一个bug。难道我就不能一直用我选定的选项检查磁盘吗?
- 除了/.autofsck之外,内核命令行的forcefsck命令也可以启动强迫检查。
5. FC13 alternatives系统?!我们经常会为系统有两套MTA(邮件系统)的切换而发愁,比如sendmail或postfix或qmail。因为大多数发送邮件的程序一般都会调用sendmail。直接安装一个新的MTA系统并不能使他们工作正常。有人说建个符号链接不就完事,事情没有那么简单,man的时候无法得到正确的帮助手册,邮件队列程序名字不一样,邮箱别名数据库不一样,密码验证程序布一样等等。除了mail系统,我们有sun java和open java的切换,我们有emacs和xemacs之间的切换。过去在它们之间切换会是非常痛苦的事情。alternatives为此而诞生,据说它最早是使用在debian上面的,后来被RH移植了过来。
简单讲它的工作原理就是通过建立相同名字的很多符号链接,它帮你建立,所以就会简单许多。看一下:
#ls -l /usr/sbin/sendmail
lrwxrwxrwx. 1 root root 21 11月 7 19:09 /usr/sbin/sendmail -> /etc/alternatives/mta
#ls -l /etc/alternatives/mta
lrwxrwxrwx. 1 root root 27 11月 7 19:09 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
#ls -l /usr/sbin/sendmail.sendmail
-rwxr-sr-x. 1 root smmsp 856280 3月 29 2010 /usr/sbin/sendmail.sendmail # 嗯,这个才是二进制
在我的系统,有
#alternatives --display mta
读取 /var/lib/alternatives/mta
mta - 状态是自动
链接目前指向 /usr/sbin/sendmail.sendmail
/usr/sbin/sendmail.sendmail - 优先度 90
从 mta-pam:/etc/pam.d/smtp.sendmail
从 mta-mailq:/usr/bin/mailq.sendmail
从 mta-newaliases:/usr/bin/newaliases.sendmail
从 mta-rmail:/usr/bin/rmail.sendmail
从 mta-rsmtp:(null)
从 mta-runq:(null)
从 mta-sendmail:/usr/lib/sendmail.sendmail
从 mta-mailqman:/usr/share/man/man1/mailq.sendmail.1.gz
从 mta-newaliasesman:/usr/share/man/man1/newaliases.sendmail.1.gz
从 mta-aliasesman:/usr/share/man/man5/aliases.sendmail.5.gz
从 mta-sendmailman:/usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.exim - 优先度 10
从 mta-pam:/etc/pam.d/exim
从 mta-mailq:/usr/bin/mailq.exim
从 mta-newaliases:/usr/bin/newaliases.exim
从 mta-rmail:/usr/bin/rmail.exim
从 mta-rsmtp:/usr/bin/rsmtp.exim
从 mta-runq:/usr/bin/runq.exim
从 mta-sendmail:/usr/lib/sendmail.exim
从 mta-mailqman:/usr/share/man/man8/exim.8.gz
从 mta-newaliasesman:(null)
从 mta-aliasesman:(null)
从 mta-sendmailman:(null)
当前“最佳”版本是 /usr/sbin/sendmail.sendmail。
#alternatives --set mta /usr/sbin/sendmail.exim
则将当前的MTA换成exim。并置为手动模式,不信你ls -l试试,是不是太简单了!!也是很不错的设计。手动模式就是完全遵照你的选择。自动模式就会自动设置优先度最高的选择。
如:
# alternatives --verbose --auto mta
读取 /var/lib/alternatives/mta
运行 /sbin/chkconfig --add sendmail
运行 /sbin/chkconfig --del exim
又换回了sendmail.
#alternatives --config mta
会给你一个菜单供你选择。变成手动模式。
用#alternatives --install link name path priority [--slave slink sname spath]
可以安装一套新的选择。或者,如果当前没有这个组,就会添加一个新组,并使用自动模式选择当前添加的程序作为选择。
现记这么多吧。
- 迁移到fedora core 13的要点备查,和fc 13的新特性总结
- Fedora 15 LoveLock的新特性
- html5新特性的介绍和总结
- iOS8和iOS9新特性的总结
- iOS5新特性:强大的Core Image
- iOS5新特性:强大的Core Image
- iOS5新特性:强大的Core Image
- iOS5新特性:强大的Core Image
- iOS5新特性:强大的Core Image
- iOS5新特性:强大的Core Image
- 迁移索引到新的表空间
- 环境迁移到新的linux环境
- JDK7的新特性总结
- ES6新特性的总结
- Java8新特性的总结
- ECMAScript6的新特性总结
- 从服务迁移到docker的想法和总结
- AndroidStudio升级到3.0的新特性和注意事项
- Sys is undefinded - WebResource.axd ScriptResource.axd 404 error
- EJB 介绍 开发第一个无状态会话bean
- Gmail常用快捷键
- 第一个java小程序 applet 画一个圆 获取网页自定义的参数来输出
- Ubuntu优化资料大收集(看准了再试)!
- 迁移到fedora core 13的要点备查,和fc 13的新特性总结
- 关于浮点行比较,基本比较范围
- HelloTabWidget 运行报错的解决办法
- request 中Parameter(参数) 和Attribute(属性)区别
- HDB3编码及其功率谱密度
- 要提高SQL查询效率where语句条件的先后次序应如何写 使你的 SQL 语句完全优化
- 类似undefined reference to 'pthread_create'问题的解决
- Windows控制台退出事件处理
- js 编码问题