个人工具

“Quick HOWTO : Ap03 : Fedora Version Differences”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
第6行: 第6行:
 
这篇文章主要涉及最新版本的Fedora Linux,尽管很多系统管理员仍然是用的是旧版本。在附录中列出了很多早期版本的Fedora/Redhat Linux系统的一些警告和配置文件的一些特点。
 
这篇文章主要涉及最新版本的Fedora Linux,尽管很多系统管理员仍然是用的是旧版本。在附录中列出了很多早期版本的Fedora/Redhat Linux系统的一些警告和配置文件的一些特点。
  
== 内核源码的不同<br> ==
+
== 内核源码的差别<br> ==
  
 
在Fedora Core 3中, 内核源码的来源是与当前运行内核版本所匹配的RPM源码包。在Fedora Core 2以及早期的版本中,内核源码来源于被称为kernel-source的普通RPM包。(关于下载和安装的细节,请参看第六章,“安装Linux软件”)
 
在Fedora Core 3中, 内核源码的来源是与当前运行内核版本所匹配的RPM源码包。在Fedora Core 2以及早期的版本中,内核源码来源于被称为kernel-source的普通RPM包。(关于下载和安装的细节,请参看第六章,“安装Linux软件”)

2007年12月30日 (日) 22:24的版本


介绍

这篇文章主要涉及最新版本的Fedora Linux,尽管很多系统管理员仍然是用的是旧版本。在附录中列出了很多早期版本的Fedora/Redhat Linux系统的一些警告和配置文件的一些特点。

内核源码的差别

在Fedora Core 3中, 内核源码的来源是与当前运行内核版本所匹配的RPM源码包。在Fedora Core 2以及早期的版本中,内核源码来源于被称为kernel-source的普通RPM包。(关于下载和安装的细节,请参看第六章,“安装Linux软件”)

步骤:

1、启动具有标准内核的Linux系统。如果你仅仅是用RPMs或者yum工具来更新内核,这一步就更加重要。

 2、使用uname命令来确定你当前使用的内核版本,在这个实例中,我们正运行在2.6.5-1.358内核上。

[root@bigboy tmp]# uname -r
2.6.5-1.358
[root@bigboy tmp]#

3、使用rpm命令或者yum工具安装匹配的内核源码包。也许你还需要安装一个类似gcc32的"C"程序语言编译器工具包,用来将于代码转换成为可以执行的内核。

如果你的内核很新并且也不愿意等那么长时间来更新RPM源码包,或者你的系统不支持RPMs包,那么你也可以kernel.org网站直接下载最新的Linux内核代码。

MySQL Differences

There are some well known differences in older versions of MySQL. Here are a few of them.

Recovering / Changing Your MySQL Root Password

In Fedora Core 3 and older, the MySQL server root password recovery procedure was different. This is an especially important task if it was either forgotten or misplaced. The steps you need are:

1. Stop MySQL

[root@bigboy tmp]# service mysqld stop
Stopping MySQL:  [  OK  ]
[root@bigboy tmp]#

2. Start MySQL in Safe mode with the safe_mysqld command and tell it not to read the grant tables with all the MySQL database passwords.

[root@bigboy tmp]# safe_mysqld --skip-grant-tables &
[1] 4815
[root@bigboy tmp]# Starting mysqld daemon with databases from /var/lib/mysql
[root@bigboy tmp]#

3. Use the mysqladmin command to reset the root password. In this case, you are setting it to ack33nsaltf1sh.

[root@bigboy tmp]# mysqladmin -u root flush-privileges \
  password "ack33nsaltf1sh"
[root@bigboy tmp]#

4. Restart MySQL normally.

[root@bigboy tmp]# service mysqld restart
Stopping MySQL:  040517 09:39:38  mysqld ended
[  OK  ]
Starting MySQL:  [  OK  ]
[1]+  Done                    safe_mysqld --skip-grant-tables
[root@bigboy tmp]#

The MySQL root user will now be able to manage MySQL using this new password.

FTP Differences

There are some well known differences in the configuration of the VSFTPD package for version 8.0 and earlier of Redhat/Fedora Linux.

For one, the starting and stopping of VSFTP is controlled by xinetd via the /etc/xinetd.d/vsftpd file. VSFTP is deactivated by default, so you'll have to edit this file to start the program. Make sure the contents look like the example. The disable feature must be set to no to accept connections.

service ftp
{
    disable = no
    socket_type = stream
    wait = no
    user = root
    server = /usr/sbin/vsftpd
    nice = 10
}

Fedora Linux will automatically edit this file to enable VSFTPD and restart xinetd with the chkconfig command.

[root@bigboy tmp]# chkconfig vsftpd on
[root@bigboy tmp]#

Naturally, to disable VSFTP once again, you'll use the chkconfig vsftpd off command.

DHCP Differences

There can be problems when upgrading from Redhat 7.3 to 8.0 while maintaining the same dhcpd.conf file. You might run into a DHCP server error. This startup error is caused by not having this line at the very top of your /etc/dhcpd.conf file:

ddns-update-style interim

The error might look like:

Starting dhcpd: Internet Software Consortium DHCP Server V3.0pl1
Copyright 1995-2001 Internet Software Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP
 
** You must add a ddns-update-style statement to /etc/dhcpd.conf.
To get the same behaviour as in 3.0b2pl11 and previous
versions, add a line that says "ddns-update-style ad-hoc;"
Please read the dhcpd.conf manual page for more information. **
...
...
...
exiting.
[FAILED]

DNS Differences

You'll notice some differences running BIND running on older versions of RedHat/Fedora Linux. For example, RedHat 9 doesn't shutdown BIND cleanly and gives a "named: already running" error when you try to restart it.

[root@bigboy tmp]# /etc/init.d/named restart
Stopping named:
named: already running[root@bigboy tmp]#

The pkill command enables you to kill processes by referring to them by name instead of their process ID number. In this case, you can forcefully stop the named daemon and restart it by issuing the command pkill named followed by service named start.

[root@bigboy tmp]# pkill named
pkill: 29988 - No such process
pkill: 29992 - No such process
[root@bigboy tmp]# service named start
[root@bigboy tmp]#

Routing Differences

Some of the older versions the Fedora stream of Linux had different methods of updating their routes. For example, in RedHat versions 8 and 9, the file named /etc/sysconfig/static-routes was used to add permanent static routes that would be present after a reboot. The format is similar to that of the route command except that the interface comes first and the switches have no dashes in front of them. Here is a sample entry for a route to 10.0.0.0 via the 192.168.1.254 gateway:

wlan0 net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.254

The /etc/sysconfig/static-routes file is set to be deprecated in future releases and you should consider the alternative solutions for newer operating systems.

Iptables Differences

In RedHat/Fedora 9 and earlier, iptables gave different a different status message when the firewall was stopped. Instead of saying stopped, it presented a rule set that allowed all traffic through.

[root@bigboy tmp]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
[root@bigboy tmp]#

Software Installation Differences

With some older RedHat Linux versions, source RPM files are first exported into the directory /usr/src/redhat/SPECS with the rpm command. You then have to run the rpm command again to compile the source files into a regular RPM file, which will be placed in either the /usr/src/packages/RPMS/i386/ or the /usr/src/redhat/RPMS/i386/ directories. You then have to install the new RPM file from this directory.

[root@bigboy tmp]# rpm -Uvh filename.src.rpm
[root@bigboy tmp]# cd /usr/src/redhat/SPECS
[root@bigboy SPECS]# rpm -ba filename
[root@bigboy SPECS]# cd /usr/src/redhat/RPM/i386
[root@bigboy i386]# rpm -Uvh filename.rpm

Wireless Networking Differences

Under version 8.0 of RedHat I have seen the kernel-wlan-ng-pcmcia RPM installation give errors stating that the kernel-pcmcia-cs RPM hadn't been previously installed even when it had been. Installing the RPM with --force and --nodeps switches does the trick by forcing the installation while not checking for dependencies. Always remember that under normal circumstances this wouldn't be a good idea, error messages are there for a reason.

[root@bigboy tmp]# rpm -Uvh kernel-wlan-ng-pcmcia-0.1.15-6.i686.rpm
error: Failed dependencies:
      kernel-pcmcia-cs is needed by kernel-wlan-ng-pcmcia-0.1.15-6
[root@bigboy tmp]# rpm -Uvh --force --nodeps kernel-wlan-ng-pcmcia-0.1.15-6.i686.rpm
Preparing...                ################################## [100%]
   1:kernel-wlan-ng-pcmcia  ################################## [100%]

Adding prism2_cs alias to /etc/modules.conf file...
Shutting down PCMCIA services: cardmgr modules.
Starting PCMCIA services: modules cardmgr.
The default wlan0 network configuration is DHCP.  Adjust accordingly.

ACHTUNG!  ATTENTION!  WARNING!
YOU MUST configure /etc/pcmcia/wlan-ng.opts to match WAP settings!!!
[root@bigboy tmp]#

Linux-WLAN File Locations Using RedHat 8.0 RPMs

The main Linux-WLAN configuration file for version 8.0 is the /etc/wlan.conf file (PCI type NIC) or your /etc/pcmcia/wlan-ng.opts (PCMCIA type NICs) configuration file. Locate the lines containing ssid=linux_wlan, and set the SSID to whatever value you've decided to use on your wireless LAN. This example uses homenet.

Also modify the IS_ADHOC option to make your NIC either support Ad-hoc mode for peer-to-peer networks or Infrastructure mode if you are using a WAP.

Here is a sample snippet.

#=======SELECT STATION MODE===================
IS_ADHOC=n             # y|n, y - adhoc, n - infrastructure

#=======INFRASTRUCTURE STATION START===================
# SSID is all we have for now
AuthType="opensystem" # opensystem | sharedkey (requires WEP)
# Use DesiredSSID="" to associate with any AP in range
DesiredSSID="homenet"

MRTG Differences

You will need to take the following differences into account when configuring MRTG for various versions of Fedora and RedHat.

File locations

In RedHat 9 and older, MRTG files are located in the /var/www/html/mrtg/. In Fedora Core, the files are located in the /var/www/mrtg/ directory. In both cases, the MRTG graphs can be accessed using a default Apache installation via the URL http://server-ip-address/mrtg.

Indexmaker MRTG_LIB Errors With RedHat 9 and 8.0

RedHat versions 8 and 9 give an error when running indexmaker.

[root@bigboy mrtg]# indexmaker --output=index.html \
                         /etc/mrtg/mrtg.cfg
Can't locate package $VERSION for @MRTG_lib::ISA at /usr/bin/indexmaker line 49
main::BEGIN() called at /usr/bin/../lib/mrtg2/MRTG_lib.pm line 49
eval {...} called at /usr/bin/../lib/mrtg2/MRTG_lib.pm line 49
[root@bigboy mrtg]#

This is caused by an incompatibility between MRTG and PERL 5.8, which MRTG uses to generate files. The MRTG site claims this was fixed in version 2.9.22, but this version of MRTG seems to fail under RedHat.

The fix is simple: edit the file /usr/lib/mrtg2/MRTG_lib.pm replacing the line

@ISA = qw(Exporter $VERSION);

with

@ISA = qw(Exporter);

You'll then have to run indexmaker again.

Precedence Bitwise Error With RedHat 9

indexmaker may also give an error like the one below related to a bitwise operation. It doesn't seem to affect the operation of MRTG or the HTML index page output. For example:

Possible precedence problem on bitwise | operator at /usr/bin/../lib/mrtg2/BER.pm line 601

Webalizer Differences

Older versions of Webalizer, especially those found with RedHat 8.0 and earlier, have a tendency to create this message in your logs.

Error: Unable to open DNS cache file /var/lib/webalizer/dns_cache.db

According to the documentation on Webalizer's Web site, this is not a critical error. You can make the software run in quiet mode by editing the configuration file and changing the Quiet parameter to yes.

Quiet           yes