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-
版本命名规则中各字段的含义如下表所示:
版本命名字段
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-
系统补丁命名规则中各字段的含义如下表所示:
系统补丁命名字段
UpdateTo-CGS-Linux-
字段描述
补丁前缀:该字符串为固定字符串,用以
标识系统升级补丁。
补丁版本号:升级之后的基础版本或补丁
版本的版本号,具体格式参见“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
其中,
(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
版权声明:本文标题:linux常用的FAQ(GDLC support)---基础操作中的FAQ。 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735274424a1642432.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论