中国领先的IT技术网站
|
|

Fedora 20安装试用体验

12月中旬,Fedora 20在两次跳票后正式发布,安装界面对比Fedora 18和19而言,都是相同的UI。不过现在官方已经不再推荐下载i386,而是x86-64位了。安装的步骤基本就是设置分区、设置时区、选择软件源、设置键盘、设置网络接口等,对于一般Linux 用户来说也可以轻松完成。

作者:曹江华来源:51CTO.com|2013-12-30 15:52

【沙龙】51CTO诚邀您9月23号和多位技术大咖一起聊智能CDN的优化之路,抓紧时间哦!


【51CTO专稿】12月中旬,Fedora 20在两次跳票后正式发布,主要特性包括:远程桌面方案X2Go;网络管理器支持扩大绑定和桥接功能;改进3D打印机支持等,本文中,作者对Fedora 20 进行安装试用,分享一下试用心得。

一、安装方面

安装方面没有特别的说明,现在Fedora 20的安装界面对比Fedora 1819相比基本相同,都是相同的UI(主要是有一个是集中配置界面)。不过现在官方已经不再推荐下载i386,而是x86-64位了。安装的步骤基本就是设置分区、设置时区、选择软件源、设置键盘、设置网络接口等,对于一般Linux 用户来说也可以轻松完成。第一次使用GNOME 要进行简单的设置,包括几个步骤:首先选择语言,接着选择输入源, 接着选择在线帐号,下面就开始使用Gnome 3。

二、安装MATE 桌面环境

总的来说笔者不太喜欢GNOME 3桌面环境 ,所以安装MATE 桌面环境。MATE 是一个基于 Gnome 2 开发的 Linux 桌面系统 。MATE是基于GNOME 2的代码库开发的(GNOME2已经停止维护),并将代码进行了重命名,主要为了和GNOME 3的组建发生冲突。GNOME3的发布遭到了社区很多用户的反对,为了继续开发经典的Gnome2桌面环境,Arch Linux用户开始建立MATE项目。后来Linux Mint开发者也支持该项目。

  1. #yum -y groupinstall "MATE Desktop" 
  2. #echo "exec /usr/bin/mate-session" >> ~/.xinitrc 

重新进行登录,登录时需要选择MATE桌面,如图1:

图1 登录时需要选择MATE桌面

图2的MATE 桌面环境大家看这界面有种centos 6的感觉,最熟悉的感觉。

图2 MATE桌面环境

三、安装后的 一些设置

这里介绍一下命令行下的 一些操作步骤:

1、设置服务

首先查看一下服务列表:

  1. #systemctl -t service 

停止一些没有使用的服务以便提高性能例如关闭telnet。

  1. #systemctl stop telnet.service 
  2. #systemctl disable telnet.service 

对于一些残留的SysV 服务类型,可以使用如下命令查看:

  1. #chkconfig –list 

关闭netconsole服务的命令:

  1. #chkconfig netconsole off 

2、更新系统

  1. # yum -y install yum-plugin-fastestmirror 
  2. # yum -y update 

另外还可以给一些其他软件源:例如remi。

Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。有个这个源之后,使用 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序的时候就非常方便了。

对于Fedora 20  i386 or x86_64:

  1. # wget http://rpms.famillecollet.com/remi-release-20.rpm 
  2. # yum install remi-release-20.rpm 

然后修改Remi 源配置文件 /etc/yum.repos.d/remi.repo

启用 Remi Repository修改 enabled=0 为 enabled=1。

3、调整语言

笔者安装过程没有正确设置语言,这里需要调整一下。

查看当前语言命令:

首先显示当前编码:

  1. # echo $LANG 
  2. en_US 

如果修改为中文的话就是:

  1. vi /etc/locale.conf 

修改为:

  1. LANG=" zh_CN.UTF-8" 

重新加载一下:

  1. #source  /etc/locale.conf 

3 介绍一下常见yum命令的故障排除

使用yum安装软件包的的时候可能会出现如下几个常见故障:

(1)404 errors

要修复yum的404错误,清理一下metadata(元数据)即可

$ sudo yum clean metadata

或者清理一下缓存

$ sudo yum clean all

(2)连接错误

如果发现"network is unreachable" 或者"couldn't connect to host"   提示,首先检查网络连接。如果没有问题

就查看一下是否使用代理服务器上网。Yum的代理服务器设置是:

  1. $ sudo vi /etc/yum.conf 
  2. [main] 
  3. proxy=http://proxy.com:8000 

(3)修改metadata checksum errors

如果发现" "Metadata file does not match checksum" "      提示,清理一下metadata(元数据)即可:

  1. $ sudo yum clean metadata 

(4)yum lock errors

这个错误是最常见的,通常显示:

  1. Loaded plugins: langpacks, presto, refresh-packagekit 
  2. Existing lock /var/run/yum.pid: another copy is running as pid 1880. 
  3. Another app is currently holding the yum lock; waiting for it to exit.. 

最简单的方法是杀掉这个进程:

  1. #rm –f /var/run/yum.pid 

还有一个方法是修改软件源设置,关闭自动更新。操作如图3 .4 。

图3 选择软件源

图4 关闭自动更新

四、快速搭建一个web开发环境

和之前笔者介绍Fedora 19 的时候不同,这里的web服务器没有选择Apache也没有选择nginx,这里笔者选择Lighttpd 。Lighttpd提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web 服务器环境。具有非常低的内存开销、cpu占用率低、效能好以及丰富的模块等特点。下面看看它和php以及MariaDB 数据库的整合配置过程:

1、安装MariaDB/ mysql数据库

  1. #yum install mysql mysql-server 

启动服务:

  1. #systemctl enable mysqld.service 
  2. #systemctl start mysqld.service 

下面是初始化操作:

  1. # mysql_secure_installation 

操作过程主要是 初始化数据目录和授权表,设置root口令等。

2、安装Lighttpd

安装软件包:

  1. #yum install lighttpd 

启动服务:

  1. #systemctl enable lighttpd.service 
  2. #systemctl restart lighttpd.service 

3、简单测试一下web服务器

测试web服务是否成功安装并启动,浏览器访问IP 显示如下即可如图5:

图5 简单测试一下web服务器

4、安装PHP5软件包

  1. #yum install php-fpm lighttpd-fastcgi 

说明一下PHP-FPM 是FastCGI server ,使用端口是9000。

启动服务:

  1. #systemctl enable php-fpm.service 
  2. #systemctl start php-fpm.service 

5、修改相关的配置文件

首先修改/etc/php.ini:

  1. 把下面一行的注释去掉 
  2. [...] 
  3. cgi.fix_pathinfo=1 
  4. [...] 
  5. 然后修改/etc/lighttpd/conf.d/fastcgi.conf配置文件为如下格式: 
  6. [...] 
  7. server.modules += ( "mod_fastcgi" ) 
  8. [...] 
  9. 注意fastcgi.server 字段内容如下: 
  10. [...] 
  11. ## 
  12. ## PHP Example 
  13. ## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini. 
  14. ## 
  15. ## The number of php processes you will get can be easily calculated: 
  16. ## 
  17. ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) 
  18. ## 
  19. ## for the php-num-procs example it means you will get 17*5 = 85 php 
  20. ## processes. you always should need this high number for your very 
  21. ## busy sites. And if you have a lot of RAM. :) 
  22. ## 
  23. fastcgi.server += ( ".php" => 
  24. (( 
  25. "host" => "127.0.0.1", 
  26. "port" => "9000", 
  27. "broken-scriptfilename" => "enable" 
  28. )) 
  29. #fastcgi.server = ( ".php" => 
  30. #                   ( "php-local" => 
  31. #                     ( 
  32. #                       "socket" => socket_dir + "/php-fastcgi-1.socket", 
  33. #                       "bin-path" => server_root + "/cgi-bin/php5", 
  34. #                       "max-procs" => 1, 
  35. #                       "broken-scriptfilename" => "enable", 
  36. #                     ) 
  37. #                   ), 
  38. #                   ( "php-tcp" => 
  39. #                     ( 
  40. #                       "host" => "127.0.0.1", 
  41. #                       "port" => 9999, 
  42. #                       "check-local" => "disable", 
  43. #                       "broken-scriptfilename" => "enable", 
  44. #                     ) 
  45. #                   ), 
  46. #                   ( "php-num-procs" => 
  47. #                     ( 
  48. #                       "socket" => socket_dir + "/php-fastcgi-2.socket", 
  49. #                       "bin-path" => server_root + "/cgi-bin/php5", 
  50. #                       "bin-environment" => ( 
  51. #                         "PHP_FCGI_CHILDREN" => "16", 
  52. #                         "PHP_FCGI_MAX_REQUESTS" => "10000", 
  53. #                       ), 
  54. #                       "max-procs" => 5, 
  55. #                       "broken-scriptfilename" => "enable", 
  56. #                     ) 
  57. #                   ), 
  58. #                ) 
  59. ), 
  60. [...] 

然后还要激活这个模块,修改配置文件/etc/lighttpd/conf.d/fastcgi.conf

  1. [...] 
  2. ## FastCGI (mod_fastcgi) 
  3. ## 
  4. include "conf.d/fastcgi.conf" 
  5. [...] 

就是去掉include "conf.d/fastcgi.conf"前面的注释符号。

下面测试一下php脚本:

  1. # vi /var/www/lighttpd/info.php 
  2. <?php 
  3. phpinfo(); 
  4. ?> 
  5. # systemctl restart lighttpd.service 

然后使用浏览器查看如图6 ,大家看红色圈框部分(Server API FPM/FastCGI )

图6 测试一下php脚本

图6显示则表明web服务器可以解析静态页面和php页面(但目前还无法连接mysql数据库)。

下面设置为PHP安装MySQL支持:

php5支持MySQL很简单,只要安装php-mysql软件包即可;但php程序要运行可能需要多个php模块的支持

  1. # yum install php-mysqlnd php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy php-opcache 

安装完成后重启:

  1. #systemctl reload php-fpm.service 

重新访问浏览器查看安装的php模块 如mysql:(如下图7)

图7 为PHP安装MySQL支持

Unix域Socket通信设置

Unix域Socket因为不走网络,的确可以提高web服务器和php-fpm通信的性能,但在高并发时会不稳定。设置如下:

  1. vi /etc/php-fpm.d/www.conf 
  2. 修改为如下内容 
  3. [...] 
  4. ;listen = 127.0.0.1:9000 
  5. listen = /tmp/php5-fpm.sock 
  6. [...] 
  7. 然后重启服务: 
  8. # systemctl reload php-fpm.service 
  9. 下面修改etc/lighttpd/conf.d/fastcgi.conf 文件,修改为如下内容 
  10. vi /etc/lighttpd/conf.d/fastcgi.conf 
  11. fastcgi.server += ( ".php" => 
  12. (( 
  13. "socket" => "/tmp/php5-fpm.sock", 
  14. "broken-scriptfilename" => "enable" 
  15. )) 
  16. 然后重启服务: 
  17. # systemctl restart lighttpd.service 

五、简单介绍一下NFS 服务器和客户端设置

这里笔者的安装环境如下:

  • NFS 服务器端,ip 10.0.0.20 ,计算机名称 www.cjh.net
  • NFS 客户端端,ip 10.0.0.21 ,计算机名称 www.cjh1.net

NFS 服务器端配置

安装软件包:

  1. 安装软件包 
  2. #yum -y install nfs-utils 
  3. 修改配置文件: 
  4. #vi /etc/idmapd.conf 
  5. # line 5: 修改为相对应的名称 
  6. Domain = cjh.net 
  7. 修改文件 
  8. #vi /etc/exports 
  9. # write like below *note 
  10. /home 10.0.0.0/24(rw,sync,no_root_squash,no_all_squash) 
  11. # *note 
  12. /home ? shared directory 
  13. 10.0.0.0/24 ? range of networks NFS permits accesses 
  14. rw ? writable 
  15. sync ? synchronize 
  16. no_root_squash ? enable root privilege 
  17. no_all_squash ? enable users' authority 
  18. 启动相关服务 
  19. # systemctl start rpcbind.service 
  20. # systemctl start nfs-server.service 
  21. # systemctl start nfs-lock.service 
  22. # systemctl start nfs-idmap.service 
  23. # systemctl enable rpcbind.service 
  24. # systemctl enable nfs-server.service 
  25. # systemctl enable nfs-lock.service 
  26. # systemctl enable nfs-idmap.service 
  27. NFS 客户端端设置: 
  28. 安装软件包 
  29. # yum -y install nfs-utils 
  30. 修改配置文件 
  31. # vi /etc/idmapd.conf 
  32. # line 5: 修改为相对应的名称 
  33. Domain = cjh.net 
  34. 启动服务 
  35. # systemctl start rpcbind.service 
  36. # systemctl start nfs-lock.service 
  37. # systemctl start nfs-idmap.service 
  38. # systemctl start nfs-mountd.service 
  39. # systemctl enable rpcbind.service 
  40. # systemctl enable nfs-lock.service 
  41. # systemctl enable nfs-idmap.service 
  42. # systemctl enable nfs-mountd.service 
  43. 挂载磁盘 
  44. # mount -t nfs dlp.server.world:/home /home 

fedora 20的不足之处

介绍一下 Gnome 开发的软件中心,这个软件中心还在完善当中,所以我打开软件中心,感觉有BUG,一是软件加载很慢,可能是服务器在国外的原因,二是无法添加直接其他软件源。使用界面分成三个部分:全部软件、已经安装、更新。不过目前没有软件课提供更新。

图8 软件中心

这个软件中心设计思路和Ubuntu软件中心相似,不过却没有任何设置选项,笔者使用它首先安装另外一个软件包工具:Gonme Package 后才能设置其他软件源等工作。

总结:

总体感觉Fedora 20的 使用感觉和上个版本Fedora  19变化不大,所以笔者就不多赘述了,大家还是关注2014 年 即将发布的Red Hat Enterprise Linux 7 吧 。

【编辑推荐】

  1. Fedora 20 Beta 下载安装试用
  2. Fedora 20 Gnome 软件中心简介
  3. Fedora 20 延期一周发布
  4. 两次跳票后,Fedora 20正式发布
【责任编辑:黄丹 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Cisco网络工程案例精粹

《Cisco网络工程案例精粹》是一本以案例为基础兼顾知识概述的案例性书籍,所收录的案例都是笔者精心挑选出来的在网络工作中常见的案例。 ...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 学习达标赢Beats耳机