admin 管理员组

文章数量: 1086019


2024年12月26日发(作者:signalling)

EMBSYS

中兴EMBSYS

CGS Linux V3.0 用户问答手册

随着越来越多的项目使用或准备使用NewStart

CGS Linux来进行电信级服务器Linux

的开发及应用开发,NewStart CGS Linux的改进工作也在不断的推进。学习和使用NewStart

CGS Linux当中,不时会有一些疑问,或者没有把握的地方,如果自己摸索,可能要花费很

多的时间。本文汇总了到目前为止常常被问起的问题,并做了回答,供大家速查。

本文档作为CGSL FAQ的上游文档,用于收集FAQ素材,以提供给文档开发人员,形

成最终FAQ。

I

1

CGSL基本概念

1.1 CGSL系统的来源、与RedHat的关系、如何获取开源支持?

 关键字:来源,RedHat,支持

 版本:ALL

 分析与处理:

问题:CGSL系统从何而来,与RedHat的关系有何关系,如何获取开源支持?

解答:

CGSL来源于开源社区

,由开源社区的源代码构建,在提供CGSL版本的时候,

参考了CentOS (对应于RHEL的开源版本)所用的内核版本号和相关软件包, 并根据实际需

要选取了他们所用的补丁集(毕竟红帽所用的方案是业界公认比较出色的)。因此,CGSL与

RHEL是高度兼容的。

除此之外,我们还对内核做了所需的改进,以及集成了相关的用户需求。

由于CGSL版本是自己根据开源软件包选择,增加或修改,相应的维护和问题解决,

也都是我们自己进行的,RedHat对我们不提供支持,主要的支持来源为CGSL项目自身的

研发团队和开源社区。

1.2 CGSL版本号是怎样定义的?

 关键字:CGSL 版本号

 版本:ALL

 分析与处理:

问题:CGSL系统的版本号是怎样定义的?

解决:

CGSL项目发布的基础版本和补丁版本命名遵从如下规则:

CGS-Linux-.V...[P]-

版本命名规则中各字段的含义如下表所示:

版本命名字段

CGS-Linux-

branch

字段描述

版本名称前缀:该字符串为固定字符串,用以CGSL基础版本或

补丁版本。

版本分支名称:标准版本使用“MAIN”,定制版本则使用对应产

品线或产品项目的标识名称,比如为ZXUSS VS8000C提供的精

简定制版本使用“ZXUSS”。

主版本号:主要根据开源Linux基础版本的更新情况而定,一般

4-5年进行一次升级。

次版本号:主要进行重大功能升级、用户需求实现和bug修复,

一般1年左右进行一次更新。

小版本号:主要进行用户需求实现、bug修复。一般6个月进行

一次更新。

补丁版本号: 根据发布后出现的用户需求和bug情况而定,一

a

bb

cc

n

般2个月进行一次更新,如有特殊情况,则与用户协商,择机发

布。

注:基础版本中不包含字段。

arch

版本命名示例:

CGS-Linux-MAIN.V3.02.00-i386

CGS-Linux-ZXUSS.V3.00.16.P2-i386

版本架构:32位x86架构对应标识为i386;64位x86架构对应

标识为x86_64。

1.3 CGSL系统升级补丁的命名规则是怎样定义的?

 关键字:CGSL 版本号

 版本:ALL

 分析与处理:

问题:CGSL系统升级补丁的命名规则是怎样定义的?

解决:

CGSL项目发布的系统升级补丁,其命名遵从如下规则:

UpdateTo-CGS-Linux-.V...[P]-.patch

系统补丁命名规则中各字段的含义如下表所示:

系统补丁命名字段

UpdateTo-CGS-Linux-

字段描述

补丁前缀:该字符串为固定字符串,用以

标识系统升级补丁。

.V...[P]-

补丁版本号:升级之后的基础版本或补丁

版本的版本号,具体格式参见“CGSL版本

号是怎样定义的?”小节。

patch

补丁后缀:用以标识文件类型为补丁文件

类型。

系统补丁命名示例:将32位V3.02.00基础版本升级至V3.02.00.P1补丁版本的系统升

级补丁的名称为

1.4 怎样查看CGSL系统详细版本号?

 关键字:版本号

 版本:ALL

 分析与处理:

CGSL系统中使用如下命令查看系统的详细版本号:

cat /etc/klinux-release

执行结果如下所示:

如上结果表示该系统的详细版本号为:CGSL V3.02.00版本。

1.5 如何查看系统中打过的系统升级补丁?

 关键字:系统升级,补丁

 版本:ALL

 分析与处理:

问题:在CGSL系统中,如何查看系统中打过什么系统升级补丁?

解决:通过查看/etc/zte/patch_Log_summary文件内容查看系统打过的系统升级补丁的整

体情况,如下示例说明系统中打过从V3.02.00版本升级到V3.02.10版本的系统升级补丁:

# cat /etc/zte/patch_Log_summary

Thu Dec 16 17:49:14 CST 2010 : Patch TAG_CGS_MAIN_V3_02_10_P1-x86_64 to

TAG_CGS_MAIN_V3_02_00

查看/etc/zte/cgsl_patch_rpms所以打过的系统升级补丁详细升级过程。示例如下:

[root@IMSCG64 ~]# cat /etc/zte/cgsl_patch_rpms

Thu Dec 16 17:49:14 CST 2010

[ CGS PATCH ]: Patch TAG_CGS_MAIN_V3_02_10_P1-x86_64 to

TAG_CGS_MAIN_V3_02_00 ==>>

Dec 16 CST Installed: SUCCESS python-cgsl-2.5.5-1.x86_

Dec 16 CST Installed: SUCCESS tkinter-2.5.5-1.x86_

Dec 16 CST Installed: SUCCESS 5.x86_

Dec 16 CST Installed: SUCCESS hwatchdog-1-1.x86_

Dec 16 CST Installed: SUCCESS easyoracle-1.3-7.x86_

……

1.6 如何查看CGSL系统版本架构?

 关键字:架构

 版本:ALL

 分析与处理:

问题描述:如何查看CGSL系统的版本架构,即怎样识别版本是32位还是64位?

解决:执行如下命令查看:

uname -ar

如果该命令的运行结果中有“x86_64”的字样,则说明为64位版本,命令结果示例如

下:

[root@localhost ~]# uname -ar

Linux omain 5xen #1 SMP Thu Jan 21 15:41:52 CST 2010

x86_64 x86_64 x86_64 GNU/Linux

否则,为32为版本,命令结果示例如下:

[root@localhost ~]# uname -ar

Linux localhost #1 SMP Mon May 11 14:17:45 CST 2009 i686 athlon

i386 GNU/Linux

2

基础操作

2.1 如何设置主机名或者机器名字?

 关键字:主机名

 版本:ALL

 分析与处理:

问题:如何设置主机名或者机器名字?

解决:通常有如下3中方法设置主机名。

(1) 用命令hostname动态,该命令设置的主机名为临时的,在系统重启后失效。下面这

个例子在命令行里把主机名由jaws改成peahi。注意如果只运行hostname命令,会

显示当前的主机名。

# hostname

# hostname

# hostname

(2) 修改/etc/sysconfig/network/中的HOSTNAME环境变量来永久改变。下面这个例子

修改/etc/sysconfig/network文件,把主机名由jaws改成peahi。如下示例中使用vi

编辑器来做这样的修改。

# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=

# vi /etc/sysconfig/network

# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=

(3) 运行system-config-network命令,点击“DNS"页,在“主机名"条目里就可以修改主

机名,示意图如下:

2.2 为何设置的主机名在重启后失效?

 关键字:主机名

 版本:ALL

 分析与处理:

问题:在CGSL系统中,为何设置的主机名在重启后失效?

原因:因为用户使用hostname命令设置主机名,而该命令设置的主机名是临时的,在

系统重新后会失效。

解决:如果要设置永久的主机名,可以使用修改/etc/sysconfig/network配置文件,或使

用图形配置工具,详细请参考“如何设置主机名或者机器名字?”节。

2.3 CGSL中英文默认使用什么字符集?

 关键字:字符集,中英文

 版本:ALL

 分析与处理:

问题:CGSL系统中,中英文默认使用什么字符集?支持什么字符集?

解决:CGSL中文环境的默认编码为:GBK,也支持UTF-8。英文环境默认编码为:

ISO8859-1,也支持UTF-8。

2.4 CGSL中俄文使用什么字符集?

 关键字:字符集,俄文

 版本:ALL

 分析与处理:

问题:CGSL系统中,俄文使用什么字符集?CGSL是否支持并带有相关字符集。

解决:俄文字符集为:ru_-8 ,CGSL默认支持,并带有相关字符集。

2.5 如何关闭和开启交换分区?

 关键字:交换分区,swap,关闭,开启

 版本:ALL

 分析与处理:

问题:CGSL系统中,如何在不重启系统的情况下关闭和开启交换分区。

解决:关闭交换分区的命令如下:

swapoff <交换分区设备名>

其中,<交换分区设备名>可以通过命令swapon -s确定,如:

[root@vcs1 ~]# swapon -s

Filename Type Size Used Priority

/dev/sda2 partition 1020116 0 -2

也可以通过查看/etc/fstab、fdisk -l命令的方式确定。

如需关闭交换分区/dev/sda2,则命令如下:

#swapoff /dev/sda2

如需关闭所有的交换分区,则命令如下:

#swapoff –a

开启交换分区的命令为swapon,使用方法与swapoff命令类似,如开启交换分区

/dev/sda2,则命令如下:

#swapon /dev/sda2

如需开启所有的交换分区,则命令如下:

#swapon -a

3

系统服务

3.1 如何使用yum安装rpm包?

 关键字:yum

 版本:ALL

 分析与处理:

yum是CGSL系统中提供的用于软件包管理的工具,使用该工具可以解决软件包间的

重重依赖关系。

在CGSL系统中使用yum安装rpm包的步骤如下:

(1) 修改/etc/.d/文件,确保其中的baseurl、gpgcheck和enabled

的配置为:

baseurl=file:///media/cdrom/

gpgcheck=0

enabled=1

(2) 修改/etc/文件和

文件,确保其中的gpgcheck配置为:

gpgcheck=0

(3) 插入CGS Linux安装光盘到光驱,挂载光盘到/media/cdrom/目录下,即依次执行:

mkdir -p /media/cdrom

mount /dev/cdrom /media/cdrom

(4) 进入/media/cdrom/CgsOS/目录,即

cd /media/cdrom/CgsOS

(5) 在该目录下,执行

yum -y localinstall <>

其中,<>为rpm包的名称。

按如上步骤操作后,即可实现rpm包的安装,并自动解决依赖关系。

3.2 如何配置telnet?

 关键字:telnet,配置

 版本:ALL

 分析与处理:

问题:如何在CGSL系统中配置telnet?

解决:CGSL系统中telnet服务由xinetd服务托管,按如下步骤配置后,即可使用。

(1)修改配置文件/etc/xinetd.d/telnet,将其中的

disable = yes

修改为:

disable = no

(2)重启xinetd服务

#service xinetd restart

3.3 如何让root用户使用telnet登录?

 关键字:root用户,telnet

 版本:ALL

 分析与处理:

问题:在CGSL系统中,配置使用telnet后,默认情况下,是不允许root用户使用telnet

登录的,如何配置可以让root用户使用telnet登录?

解决:按如下方法配置解决:

mv /etc/securetty /etc/

3.4 如何配置nfs?

 关键字:nfs,配置

 版本:ALL

 分析与处理:

nfs是CGSL提供的软件包,用于将本地文件系统输出到其它机器挂载使用,它的配置

步骤如下:

(1) 在文件系统输出机器端(共享它的磁盘给其它机器)修改/etc/exports文件

/root *(ro,sync)

其中/root是你输出的目录,*是输出目标机的ip(*表示任何机器都可以挂载),下面是

那些括号中参数的意思,可以根据需求自行添加或修改

ro

,只读访问,

rw

读写访问

sync

所有数据在请求时写入共享

async NFS

在写入数据前可以相应请求

secure NFS

通过

1024

以下的安全

TCP/IP

端口发送

insecure NFS

通过

1024

以上的端口发送

wdelay

如果多个用户要写入

NFS

目录,则归组写入(默认)

no_wdelay

如果多个用户要写入

NFS

目录,则立即写入,当使用

async

时,无需此设置。

hide

NFS

共享目录中不共享其子目录

no_hide

共享

NFS

目录的子目录

subtree_check

如果共享

/usr/bin

之类的子目录时,强制

NFS

检查父目录的权限(默认)

no_subtree_check

和上面相对,不检查父目录权限

all_squash

共享文件的

UID

GID

映射匿名用户

anonymous

,适合公用目录。

no_all_squash

保留共享文件的

UID

GID

(默认)

root_squash root

用户的所有请求映射成如

anonymous

用户一样的权限(默认)

no_root_squas root

用户具有根目录的完全管理访问权限

anonuid=xxx

指定

NFS

服务器

/etc/passwd

文件中匿名用户的

UID

anongid=xxx

指定

NFS

服务器

/etc/passwd

文件中匿名用户的

GID

(2) 在文件系统输出机器端重启服务:

#service portmap restart

#service nfs restart

(3) 输入机器端挂载nfs文件系统

mount -t nfs 192.168.1.1:/root /mnt/

注意:“192.168.1.1:/root”这一段参数要和输出机器的ip和目录对应。

3.5 如何配置iscsi?

 关键字:iscsi,配置

 版本:ALL

 分析与处理:

iscsi是CGSL提供的软件包,用于将本地磁盘分区输出到其它机器使用,它的配置步

骤如下:

(1) CGSL默认是没有安装iscsi的软件包的,首先安装软件包,安装顺序如下

#rpm –ivh

#rpm –ivh

#rpm –ivh

不同的CGSL版本,rpm包对应版本可能会有不同,请根据具体的CGSL版本到对应的仓库

获取安装包

(2) 分区输出端上启动服务

# /etc/init.d/tgtd start

(3) 分区输出端查看分区情况,这里以输出/dev/sda1为例

# fdisk -l

Disk /dev/hda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 13 104391 83 Linux

/dev/hda2 14 1044 8281507+ 8e Linux LVM

Disk /dev/sda: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 100 803218+ 83 Linux

/dev/sda2 101 150 401625 83 Linux

(4) 分区输出端指定输出目标名1

# tgtadm --lld iscsi --op new --mode target --tid=1 --targetname 1

(5) 分区输出端添加导出分区/dev/sda1

#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda1

(6) 分区输出端添加设置可访问导出分区的导入端:

#tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

-I ALL表示可被任意导入端访问

(7) 分区输出端验证导出的逻辑卷是否正确

# tgtadm --lld iscsi --op show --mode target

Target 1: 1

System information:

Driver: iscsi

Status: running

I_T nexus information:

LUN information:

LUN: 0

Type: controller

SCSI ID: deadbeaf1:0

SCSI SN: beaf10

Size: 0

Backing store: No backing store

LUN: 1

Type: disk

SCSI ID: deadbeaf1:1

SCSI SN: beaf11

Size: 784M

Backing store: /dev/sda1

Account information:

ACL information:

ALL

由上可以看出,iscsi target名为1,导出的分区为/dev/sda1,可以访问导出分

区的客户端为ALL,即允许所有客户端访问。

(8) 在导入分区端启动服务

# /etc/init.d/iscsi start

(9) 在导入分区端搜寻iscsi target,即导出分区端。iscsiadm的参数选项-m指定操作模式,

-t与-m discovery对应指定搜寻的类型,-p指定通道(即[ip:port],如果port没有指定,

则使用默认端口3260),-T指定target名,-l表示登入。假定导出分区端的ip为

10.75.72.173

# iscsiadm -m discovery -t sendtargets -p 10.75.72.173

(10) 在导入分区端登录目标服务器(iscsi):

# iscsiadm -m node -T 1 -p 10.75.72.173 -l

(11) 在分区导入端查看分区导入情况

# fdisk -l

Disk /dev/hda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 13 104391 83 Linux

/dev/hda2 14 1044 8281507+ 8e Linux LVM

Disk /dev/sda: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 100 803218+ 83 Linux

Disk /dev/sdb: 822 MB, 822495744 bytes

26 heads, 61 sectors/track, 1012 cylinders

Units = cylinders of 1586 * 512 = 812032 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 200 158569+ 83 Linux

其中/dev/sdb1为导入的分区。

3.6 如何配置匿名访问的Samba服务

 关键字:Samba,配置,匿名访问

 版本:ALL

 分析与处理:

问题:什么是Samba?如何配置可以匿名访问的Samba,即无需通过用户名和密码认证

过程。

解决:Samba是CGSL提供的软件包,用于linux和windows进行文件共享,配置匿名

访问的Samba服务的步骤如下:

(1) Samba最主要的配置文件是 /etc/samba/,一般只需要进行一小部分的选项设置

就可以配置所需的Samba服务器了。

a) 全局参数配置,设置为不需要帐号及密码可以登陆Samba服务器

security = share

b) 设置共享资源参数

[public]

comment = Public Stuff

#

注释文字

path = /tmp

#

指定位置

public = yes

#

允许用户不用帐号和密码访问

writable = yes

#

允许可写

提示:a.共享的目录(实例中为/tmp)必须对其它用户有可执行权限。

b.如果共享的目录为/home目录,则需要关闭selinux的相关限制,具体方法见“为

什么samba共享/home目录时不能正常访问?”节。

(2) 重启Samba服务

#service smb restart

3.7 如何设置Samba帐户

 关键字:Samba,帐户

 版本:ALL

 分析与处理:

问题:如何设置用于Samba访问的帐户。

解决:按如下步骤设置

(1) 创建普通系统帐户,如果想利用系统现有的帐户,可以略过此步骤。

#useradd -p

其中,为需要创建的帐户的名称;为该帐户的密码。

(2) 执行如下命令设置该帐户为Samba帐户:

#smbpasswd -a username

(3) 重启Samba服务

#service smb restart

在设置好帐户并重启Samba服务后后,即可使用新创建的Samba用户访问。

注意:如果需要使用Samba用户登录,需要设置/etc/samba/文件中的security

选项为user,即在/etc/samba/文件中做如下配置:

security = user

3.8 如何使用文件浏览器访问Windows共享文件夹?

 关键字:文件浏览器,Windows,共享,samba

 版本:ALL

 分析与处理:

问题:如何使用CGSL系统图形界面中的文件浏览器访问Windows目录?

解决:使用文件浏览器访问有两种方法:

1 使用界面中的菜单

(1) 选择图形界面中菜单:“位置连接到服务器”,在弹出的界面中的“服务类型”下

拉列表中选择“Windows共享”,然后输入服务器(Windows)的IP地址,如下图所

示:

(2) 在上述界面中选择“连接”,然后桌面上会出现名称为服务器IP地址的文件夹图标。

(3) 用鼠标点击桌面上的对应图标,则会弹出如下的界面要求输入用户名、域和密码信

息,正确输入后即可登录到Windows文件夹。

2 直接只用文件浏览器

(1) 选择图形界面中菜单:“应用程序系统工具文件浏览器”,然后会运行文件浏览

器,并弹出相应的界面,在界面中选择“地址栏切换按钮”将地址栏转换为文本框

格式,如下图所示:

(2) 在“位置:”栏中输入“smb://”,然后按回车,即弹出如

下的认证界面,如下图所示,界面中需要输入相关认证信息,与前一种方法中一致,

正确输入后即可访问Windows共享文件夹。

注:

1能否成功连接还取决于Windows端相关的安全设置(如防火墙等)和网络环境等。

2 需要Windows服务器端的共享文件夹设置“共享”属性。

3 使用此方式,只能通过图形界面访问Windows文件夹,命令行方式不能访问。

3.9 如何使用mount访问Windows共享文件夹?

 关键字:Windows,共享,Samba,mount

 版本:ALL

 分析与处理:

问题:在CGSL系统中,如何使用mount相关命令访问Windows共享文件夹?

解决:CGSL系统中默认提供了命令提供对Windows共享文件夹的访问支持,

使用示例如下:

# //

服务端

IP

地址

>/<

共享目录

>

系统中的目标目录

> -o

username=

登录用户名

>%<

密码

>

如下命令实现将IP为10.75.72.184的Windows机器的共享目录share挂载到CGSL系

统目录/mnt,且Windows登录用户名为test,密码为123456。

#mount .cifs //10.75.72.184/share /mnt -o username=test%123456

成功挂载后,就可以通过访问/mnt目录来访问相应的Windows共享目录了。

注:

1能否成功连接还取决于Windows端相关的安全设置(如防火墙等)和网络环境等。

2 需要Windows服务器端的共享文件夹设置“共享”属性。

3.10 如何使用smbclient访问Windows共享文件夹?

 关键字:Windows,共享,smbclient,smaba

 版本:ALL

 分析与处理:

问题:在CGSL系统中,如何使用smbclient相关命令访问Windows共享文件夹?

解决:CGSL提供中,默认提供了smbclient命令用于访问Windows共享文件夹,使用

示例如下:

#smbclient //

服务端

IP

地址

>/<

共享目录

> -U

登录用户名

>%<

密码

>

如下命令实现访问IP为10.75.72.184的Windows机器的共享目录share,Windows登录

用户名为test,密码为123456。

#smbclient //10.75.72.184/share –U test%123456

执行上述命令后,如果登录成功,则会显示“smb: >”提示符,然后即可在提示符中输

入相关命令执行相关操作,详细命令请参考man smbclient手册。

注:

1能否成功连接还取决于Windows端相关的安全设置(如防火墙等)和网络环境等。

2 需要Windows服务器端的共享文件夹设置“共享”属性。

3.11 为何配置Samba后不能访问相应目录?

 关键字:samba,Windows,共享

 版本:ALL

 分析与处理:

问题:在CGSL系统中,配置了Samba服务,从Windows端访问时,能看到相应目录,

但是不能访问。

原因:可能是Selinux限制了相关目录的访问。

解决:可以直接禁用Selinux解决,也可以通过设置相关目录相应的Selinux安全上下

文属性解决。

(1) 禁用Selinux的方法见“如何临时解除SELinux限制?”节和“如何永久解除SELinux

限制?”节

(2) 除禁用Selinux外,也可以执行如下命令设置相关目录的Selinux安全上下文属性为:

samba_share_t,假设需要访问的目录为/var/eng。

#chcon -R -t samba_share_t /var/eng

此命令的执行结果在系统重启后失效,如果想使其永久生效,可以执行如下命令:

#semanage fcontext -a -t samba_share_t "/var/eng(/.*)?"

#restorecon -R -v /var/eng/

有关samba和selinux的详细信息,请参考samba_selinux的man手册:

#man samba_selinux

3.12 top命令中结果中,如何按内存使用量排序?

 关键字:top,内存

 版本:ALL

 分析与处理:

问题:top命令结果中,默认是按cpu使用率排序的,示例如下图所示,如何使其按内

存的使用量来排序?

解决:top命令执行期间,按“>”和“<”可以切换排序的关键字,“<”表示使排序的关键

字向左移移一个字段,“>”表示使排序的关键字向右移移一个字段。默认情况下top命令结

果是按%CPU排序的,而%MEM字段就在%CPU字段的右侧,所以按一下“>”就可以切换到

按%MEM排序,切换后的结果示例如下图所示:

3.13 如何修改系统语言?

 关键字:语言

 版本:ALL

 分析与处理:

CGSL系统有两种方式可以修改系统语言:直接修改i18n文件或使用

system-config-language工具。以下分别做介绍。

1 直接修改i18n文件方法的操作步骤如下:

(1) 使用编辑器打开/etc/sysconfig/i18n文件,修改其中的“LANG”变量为相应的语言,如

果想设置系统语言为英文,则配置LANG="en_8859-1"或LANG="en_US",配置后

i18n文件的内容如下:

LANG="en_8859-1"

SYSFONT="latarcyrheb-sun16"

LANG="en_US"

SYSFONT="latarcyrheb-sun16"

如果想设置系统语言为中文,则配置LANG="zh_"或LANG="zh_CN",配置后

i18n文件的内容如下:

LANG="zh_"

SYSFONT="latarcyrheb-sun16"

LANG="zh_CN"

SYSFONT="latarcyrheb-sun16"

(2) 注销或重启系统后,新设置的语言生效。

2 使用system-config-language工具方法的操作步骤如下:

(1) 在终端中直接运行system-config-language命令,或者在图形环境中选择菜单“系统-->

管理-->语言”,即可启动system-config-language工具。工具在图形环境中的的界面如下图所

示。

(2) 在工具的界面中选择相应的语言后,选择“确定”后,工具退出。

(3) 注销或重启系统后,新设置的语言生效。

3.14 如何修改系统字符集?

 关键字:字符集,编码

 版本:ALL

 分析与处理:

CGSL系统中通过修改/etc/sysconfig/i18n文件中的LANG变量的值来修改系统的字符

集。字符集是针对系统语言的,即每种语言都有其对应的字符集,如英文对应的常用的字符

集有:ISO8859-1和UTF-8,CGSL系统英文默认字符集为:ISO8859-1;中文对应的常用的

字符集有:GBK、UTF-8、GB18030等,CGSL系统中文默认字符集为:GBK;其它语言的

默认编码多为:UTF-8。

如想修改系统的中文字符集为UTF-8,则修改/etc/sysconfig/i18n文件中的LANG变量

的值为“zh_”,修改后i18n文件的内容如下:

LANG="zh_-8"

SYSFONT="latarcyrheb-sun16"

如想修改系统的英文字符集为UTF-8,则修改/etc/sysconfig/i18n文件中的LANG变量

的值为“en_-8”,修改后i18n文件的内容如下:

LANG="en_-8"

SYSFONT="latarcyrheb-sun16"

新设置的系统编码在注销或重启系统后生效。

3.15 如何修改vsftpd服务的默认端口号?

 关键字:ftp,端口号

 版本:ALL

 分析与处理:

问题描述:如何修改vsftpd服务的默认监听的端口号?默认的端口号为21,需要改为

其它端口,如2222。

解决:通过在/etc/vsftpd/文件中增加(或修改)如下配置解决。

listen_port=<

端口号

>

其中,<端口号>为需要配置的监听的端口号,如2222。

3.16 如何配置ftp服务器的port和passsive模式?

 关键字:vsftp,port(主动模式),passive(被动模式)

 版本:ALL

 分析与处理:

问题描述:在CGSL系统的应用中,需要配置vsftp服务器的两种工作模式,并且根据

应用需要配置当前ftp的工作模式。

解决:按如下方法配置:

CGSL系统自带的vsftp服务器端默认支持两种工作模式。用户可根据实际需要,在配

置文件/etc/vsftpd/中,添加或修改以下参数实现对ftp模式的配置。

pasv_enable #YES

代表允许

passive

模式数据连接,

NO

代表禁止。该参数默认值

YES

port_enable #YES

代表允许

port

模式数据连接,

NO

代表禁止。该参数默认值

YES

3.17 为什么ftp登录时间过长?

 关键字:vsftp

 版本:ALL

 分析与处理:

问题描述:在CGSL系统的应用中,登录ftp服务器时间过长,在用户名和密码输入正

确以及网络通讯良好的情况下,仍然需要等待8-10秒的时间,才能登录成功。

问题分析:

在ftp登录过程中,ftp服务器会对登录的客户端IP进行域名解析操作。当服务器端的

DNS配置不正确,ftp服务器需要等待直到域名解析过程超时后返回。DNS域名解析服务器

的配置文件/etc/,包含以下内容:

nameserver 10.30.1.9 #10.30.1.9

DNS

IP

通过ping操作,检测当前DNS是否配置正确,若无法ping通DNS,那么ftp登录慢的

问题可能是DNS配置错误导致的。

3.18 SELinux模式的含义和区别

 关键字:SELinux,模式

 版本:ALL

 分析与处理:

问题描述:SELinux模式和含义及其区别

解决:SELinux可能的模式有:Disabled、Permissive和Enforcing,分别表示禁用、允

许和强制。

在enforcing模式下,SELinux策略被完整执行,这是SELinux的主要模式,应该在所

有要求增强Linux安全性的操作系统上使用。

在Permissive模式下,策略规则不被强制执行,而只是提示相关审核信息,不会限制相

关访问,这个模式在调试和测试一个策略时非常有用。

在Disabled模式下,SELinux内核机制完全关闭,即不起任何作用。

3.19 如何获取SELinux模式?

 关键字:SELinux,获取模式

 版本:ALL

 分析与处理:

问题描述:如何获取系统中SELinux当前的模式,可能的模式有:Disabled、Permissive

和Enforcing,分别表示禁用、允许和强制。

解决:执行如下命令实现。

getenforce

3.20 如何临时解除SELinux限制?

 关键字:SELinux,临时,解除限制

 版本:ALL

 分析与处理:

问题描述:如何临时解除SELinux限制,即设置当前的SELinux模式为Permissive,且

在系统本次启动运行期间生效,在系统重启后恢复。

解决:执行如下命令实现:

setenforce 0

此命令仅在之前SELinux模式为Enforcing时有效。

相反,如果需要恢复之前的Enforcing模式,需要执行如下命令:

setenforce 1

此命令仅在之前SELinux模式为Permissive时有效。

3.21 如何永久解除SELinux限制?

 关键字:SELinux,永久,解除限制

 版本:ALL

 分析与处理:

问题描述:如何永久解除SELinux限制,且使其立刻生效,且在系统重启后仍有效。

解决:通过如下步骤实现:

(1) 执行如下命令获取当前SELinux模式

getenforce

如果返回Permissive或Disabled,则SELinux没有限制,无需进行相关操作;如果返回

Enforcing,则继续后续步骤。

(2) 修改配置文件/etc/sysconfig/selinux,将selinux模式设置为Permissive或Disabled,

即将该配置文件中的SELINUX选项设置为permissive或disabled,设置如下:

SELINUX=permissive

SELINUX=disabled

(3) 重启系统或执行如下命令使其立刻生效

setenforce 0

3.22 CGSL 32位系统最大支持的物理内存数

 关键字:32位,物理内存

 版本:ALL

 分析与处理:

问题:CGSL 32位系统最大支持的物理内存数。

解决:CGSL 32位系统最大支持的物理内存数为64G,此时选用的内核为PAE(物理地址

扩展)内核。

PAE意思是“物理地址扩展”,32位本来的数据总线为32根,所以原本支持的最大

物理内存为4G,使用PAE内核后,将地址总线数扩展为36根(将数据总线中的4根作为地址总线用

于寻址),所以可以将支持的最大物理内存扩展为64G。

安装系统时,会自动检测硬件中的物理内存数,当检测到物理内存大于等于4G时,则会自

动选择PAE内核,即选用PAE内核的操作是自动完成的,不需其他操作。

3.23 如何查看CPU个数

 关键字:cpu

 版本:ALL

 分析与处理:

问题:CGSL系统中如何查看CPU个数,包括物理CPU个数和逻辑CPU个数。

解决:CGSL系统中CPU相关信息可以通过/proc/cpuinfo文件查看,其中几乎包含了

CPU相关的所有信息。该文件内容样例如下:

其中,processor表示逻辑CPU号,physical id表示物理CPU号。

根据/proc/cpuinfo文件内容中的相关标识信息,可以使用如下的名称获取逻辑CPU数:

cat /proc/cpuinfo | grep "processor" | wc –l

使用如下命令获取物理CPU数:

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

3.24 如何查看系统时间是否使用UTC

 关键字:系统时间,UTC

 版本:ALL

 分析与处理:

问题:如何查看系统时间是否使用UTC。

解决:有两种方式可以查看:命令行方式和图形方式。

(1) 命令行方式:通过查看/etc/sysconfig/clock文件中的UTC选项,如果UTC=false,如果

UTC=true,则使用。

(2) 图形方式:在图形界面终端中运行命令system-config-date,然后在弹出的界面中选择“时

区”选项卡,则界面显示如下图所示:

其中,有“系统时钟使用UTC(S)”单选框,如果选中该单选框,则使用UTC,反之,

则不使用。

3.25 如何动态设置内核参数?

 关键字:内核参数,设置

 版本:ALL

 分析与处理:

问题:如何动态设置系统中可以配置的内核参数,如信号量,最大共享内存等。

解决:有如下两种方法实现内核配置的配置。

(1) 通过sysctl工具。通过在/etc/文件中配置相关的参数实现,以设置信号量

为例,步骤如下:

a.如需要配置信号量为“

250 32000 100 2048

”,则

修改(或添加)/etc/文件中

的配置为:

= 250 32000 100 2048

该配置在系统重启后生效,且永久生效,即在系统重启后仍有效。

b.如果需要修改后配置立刻生效,则执行如下命令:

#sysctl –p

(2) 通过直接修改/proc文件系统中的相关文件实现。如

需要配置信号量为“

250 32000 100

#echo 250 32000 100 2048 > /proc/sys/kernel/sem

2048

”,则执行如下命令实现:

如此设置的内核参数,立即生效,但是临时性的,在系统重启后配置即丢失。

3.26 为何在CGSL中文环境中查看UTF-8编码文件,会出现乱码?

 关键字:编码,UTF-8

 版本:ALL

 分析与处理:

问题:为何在CGSL中文环境中查看UTF-8编码文件,文件中的中文为乱码?

处理:因为CGSL系统默认中的中文编码为GBK,文件内容的编码(UTF-8)与CGSL系

统的编码不一致,所以出现乱码。

解决:在终端中,可以在打开该文件前,执行一下LANG=zh_-8命令,然后再

使用cat、vi、more等命令查看文件内容,应能解决乱码问题。

3.27 如何设置交换分区的大小?

 关键字:交换分区

 版本:ALL

 分析与处理:

问题:在安装CGSL系统时,如何设置合适的交换分区大小?

解决:对于交换分区大小的设置,一直没有一种标准的说法,大多推荐设置为物理内存

的两倍,但是这通常是针对物理内存较小的情况,如果物理内存足够大,那就没有必要再设

置如此大的交换分区了,因为此时使用到交换分区的几率比较小了,设置大了虽说不影响使

用,但是也是对磁盘空间的一种浪费。但是,如果硬盘空间足够大,那设置大写也没有关系。

比如,内存16G,那么设置4G的交换分区也就够了。

3.28 如何进入单用户模式?

 关键字:交换分区

 版本:ALL

 分析与处理:

问题:如何进入CGSL系统的单用户模式?

解决:按如下步骤操作

1) 启动系统过程中,BIOS初始化完成后,会出现Grub的提示界面,如下图所示:

2) 此时按任一方向键(如上、下键)进入Grub启动引导界面;

3) 选中要启动的内核并按‘e’键进入引导参数界面;

4) 选中内核启动参数行(通常为第2行)并按‘e’键进入内核启动参数行编辑模式;

5) 在内核启动参数行的末尾输入空格和‘S’并按‘Enter’键;

6) 按‘b’键启动系统,进入单用户模式。

3.29 如何修改FTP的缺省banner?

 关键字:FTP、banner

 版本:ALL

 分析与处理:

问题:如何修改FTP的缺省banner?

解决:修改/etc/vsftpd/文件,设置“ftpd_banner”选项为需要的banner,如

下为banner示例:

ftpd_banner=Welcome to blah FTP service.

3.30 如何修改FTP默认路径?

 关键字:FTP、默认路径

 版本:ALL

 分析与处理:

问题:如何修改使用ftp工具登录CGSL服务器时的默认路径。

解决:vsftpd默认路径可以通过以下进行配置:

(1) 修改配置文件/etc/vsftpd/,添加或修改以下选项

local_enable=YES //

允许本机使用者登入

local_root=path //path

为用户登录时的根目录。

chroot_local_user=YES //

禁止已登录用户进入根目录之外的目录,此项为全局配置对所

有用户有效

(2) 重启vsftpd服务。

#service vsftpd restart

3.31

如何为不同的用户设置不同的FTP路径?

 关键字:FTP、用户,路径

 版本:ALL

 分析与处理:

问题:在CGSL系统中,如何为不同的用户设置不同的FTP路径,即限制不同的用户

使用FTP工具登录CGSL系统后在各自的目录下活动。

解决:

FTP功能支持路径设置。可以为不同的FTP用户设置不同的路径。以下是为cgsl-test

用户设置ftp独立路径配置方法:

(1) 在/etc/vsftpd/配置文件中,修改或添加以下参数:

local_enable=YES //

允许本机使用者登入

local_root=path1 //path1

是除了独立配置路径文件以外的用户的根目录

chroot_local_user=YES //

禁止已登录用户进入根目录之外的目录,此项为全局配置

user_config_dir=/etc/vsftpd/usr_config //usr_config

是用户自定义的配置文件目

对所有用户有效

录,可以设定在其他位置。

(2) 在usr_config目录下建立cgsl-test文件,在此文件中添加对于cgsl-test用户的配置

参数(每个需要设置路径的用户均需在此配置)

local_root=path2 //path2

cgsl-test

用户登录的根目录。

(3) 重启vsftpd服务,通过ftp使用cgsl-test进行登录,此时cgsl-test用户被限定在path2

路径下。若采用其他用户登录,那么该用户被限定在path1路径下

3.32

如何为不同的用户设置不同的SFTP路径?

 关键字:SFTP、用户,路径

 版本:ALL

 分析与处理:

问题:在CGSL系统中,如何为不同的用户设置不同的SFTP路径,即限制不同的用户

使用SFTP工具登录CGSL系统后在各自的目录下活动。

解决:

GSL下SFTP目录限制可以通过对修改配置文件/etc/ssh/sshd_config实现

(1) 配置文件中CGSL默认有如下一行配置:

Subsystem sftp /usr/libexec/openssh/sftp-server

修改为:

Subsystem sftp internal-sftp

(2) 在配置文件中设置sftp根目录。对以下默认配置参数进行修改

#ChrootDirectory none

修改为:

ChrootDirectory /home/%u

当cgsl-test用户登录时,将被限定在/home/cgsl-test目录下。这里/home/可以修改为任

意目录,但是所有的用户都将被限制在此目录下。

(3) 重启服务:

/etc/init.d/sshd restart

3.33 如何禁止SSH客户端登陆的密钥检查功能?

 关键字:SSH,RSA

 版本:ALL

 分析与处理:

问题描述:在CGSL系统中,当用户使用CGSL系统连接SSH服务端时,在服务器端

更换RSA密钥后,由于服务器端密钥与本机存储的服务端密钥不匹配,导致用户连接SSH

服务器端失败。

解决方法:

通过禁止SSH客户端保存SSH服务器端的密钥和SSH客户端的密钥检查功能。

1)修改/etc/ssh/ssh_config文件。修改或增加以下两个参数:

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

2)重启SSH服务

service sshd restart

3.34 使用SSH连接时,报错:Permission denied

(publickey,gssapi-with-mic)

 关键字:SSH,publickey,gssapi-with-mic

 版本:ALL

 分析与处理:

问题:使用telnet能连接CGSL系统,但是使用SSH一连接上去就会退出,报错:

Permission denied (publickey,gssapi-with-mic)

原因:可能的原因为:/etc/ssh/sshd_config配置文件中的如下配置不对:

PasswordAuthentication no

该选项应该是yes。

解决:正确配置PasswordAuthentication选项后,ssh工具连接正常。

3.35 如何查看是否使用夏令时?

 关键字:夏令时,查看

 版本:ALL

 分析与处理:

问题:在CGSL系统中,如何查看是否使用了夏令时。

解决:执行如下命令查看当前系统是否使用了夏令时:

#zdump -v /etc/localtime

如果结果中有isdst=1,则表示使用夏令时,否则,不使用。

如果需要查看其它地区是否使用,夏令时,可以将/etc/localtime换成指定地区对于的时

区文件,CGSL系统中这些时区文件默认存放在/usr/share/zoneinfo/目录中,如需要查看

Australia/ACT地区是否使用夏令时,可以执行如下命令:

#zdump -v /usr/share/zoneinfo/Australia/ACT

执行结果示例如下:

/usr/share/zoneinfo/Australia/ACT Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19

14:14:07 2038 EST isdst=1 gmtoff=39600

isdst=1

表示该地区使用了夏令时。

3.36 为何系统时间最多只能设置到2038年?

 关键字:系统时间,2038

 版本:ALL

 分析与处理:

问题:在32位CGSL系统中,为何使用date命令设置时间最多只能设置到2038年?

原因:

在Linux系统中,系统时间是从1970年1月1日(Unix纪元)开始以秒数来计算的,而32

的操作系统中的整型数据最大只能表示2的32次方,用来表示秒数再折算成时间,应该是136年左

右,再考虑符号位,则最多只能68年,所以在32位Linux系统中,能设置的系统时间最多为2038

年。

解决:

这也是Linux社区中经常讨论的问题,由于系统总线位数的限制,使用64位系统能解

决该问题。

3.37 如何自定义系统服务被chkconfig工具所支持?

 关键字:系统服务,chkconfig

 版本:ALL

 分析与处理:

问题描述:使得chkconfig工具能够控制自定义的系统服务

解决:通过在系统服务的脚本中增加chkconfig相关注释解决。

将自定义系统服务的控制脚本放置为/etc/init.d/目录下,该控制脚本必须符合系统服务

脚本的编写要求,即含有start,stop,restart等函数。

在脚本开始的注释中添加

# chkconfig: - 99 01

其中,-可由数字1、2、3、4、5、6组合代替,如:

chkconfig 2345 99 01

表示在相应的启动级别生效。

99 01分别代表该系统服务的启动、关闭的优先级,数字越大,启动关闭的顺序越靠后。

取值范围一般在01-99之间。

3.38 如何消除“httpd: Could not reliably determine the server's fully

qualified domain name, using 127.0.0.1 for ServerName”告警

 关键字:httpd,servername,告警

 版本:ALL

 分析与处理:

问题描述:当httpd不能探测到可靠的绝对域名时,会使用127.0.0.1来代替服务名,并

产生上述告警。

解决:在未设置可靠的绝对域名时通过在httpd配置文件/etc/httpd/conf/中配置

ServerName字段取消告警。

ServerName 127.0.0.1

3.39 如何限制指定用户登录ftp?

 关键字:vsftpd

 版本:ALL

 分析与处理:

问题描述:在CGSL系统中,为满足对ftp安全需求,需要禁止指定用户登录ftp。

配置方法:

1)在/etc/vsftpd/文件中添加或修改以下参数:

userlist_deny=YES

userlist_enable=YES

2)编辑/etc/vsftpd/user_list文件,确保该文件的保存的用户与禁止ftp登录的用户列表

一致。

3)重启vsftpd服务。

service vsftpd restart

3.40 如何限制ftp用户登陆后只能在自己当前目录下活动?

 关键字:vsftpd

 版本:ALL

 分析与处理:

问题描述:在CGSL系统应用中,为防止ftp登录用户查看或下载未授权文档,减少安

全漏洞,需要限制ftp用户只能在自己当前目录下活动。

配置方法:

1)在/etc/vsftpd/文件中添添加或修改以下参数:

chroot_local_user=YES

chroot_list_enable=YES

2)编辑/etc/vsftpd/chroot_list文件(若文件不存在需要用户手动创建)。在文件中添加需

要限制ftp用户列表。

3)重启vsftpd服务。

service vsftpd restart

3.41 如何提供读写权限给ftp登陆用户?

 关键字:vsftpd

 版本:ALL

 分析与处理:

问题描述:在CGSL系统应用中,需要提供ftp登录用户读取,剪切或删除等操作文件

的权限。

配置方法:

1)在/etc/vsftpd/文件中添加或修改以下参数

write_enable=YES

2)重启vsftpd服务。

service vsftpd restart

3.42 如何禁止匿名用户登录ftp?

 关键字:vsftpd

 版本:ALL

 分析与处理:

问题描述:在CGSL系统,为提高ftp的安全性,需要禁止匿名用户登录ftp。

配置方法:

1)在/etc/vsftpd/文件中添添加或修改以下参数

anonymous_enable=NO

2)重启vsftpd服务。

service vsftpd restart

3.43 如何配置使ftp服务器支持ipv6?

 关键字:vsftpd,ipv6

 版本:ALL

 分析与处理:

问题描述:在CGSL的实际应用中,随着ipv6的广泛应用,要求ftp服务器能够支持ipv6

连接。

配置方法:

1)在/etc/vsftpd/文件中添加或修改以下参数:

listen_ipv6

listen

YES

NO

2)重启vsftpd服务。

service vsftpd restart


本文标签: 系统 使用 设置