linux常用的FAQGDLC support基础操作中的FAQ.docx
《linux常用的FAQGDLC support基础操作中的FAQ.docx》由会员分享,可在线阅读,更多相关《linux常用的FAQGDLC support基础操作中的FAQ.docx(44页珍藏版)》请在冰豆网上搜索。
linux常用的FAQGDLCsupport基础操作中的FAQ
随着越来越多的项目使用或准备使用NewStartCGSLinux来进行电信级服务器Linux的开发及应用开发,NewStartCGSLinux的改进工作也在不断的推进。
学习和使用NewStartCGSLinux当中,不时会有一些疑问,或者没有把握的地方,如果自己摸索,可能要花费很多的时间。
本文汇总了到目前为止常常被问起的问题,并做了回答,供大家速查。
本文档作为CGSLFAQ的上游文档,用于收集FAQ素材,以提供给文档开发人员,形成最终FAQ。
1CGSL基本概念
CGSL系统的来源、与RedHat的关系、如何获取开源支持?
Ø关键字:
来源,RedHat,支持
Ø版本:
ALL
Ø分析与处理:
问题:
CGSL系统从何而来,与RedHat的关系有何关系,如何获取开源支持?
解答:
CGSL来源于开源社区,由开源社区的源代码构建,在提供CGSL版本的时候,参考了CentOS(对应于RHEL的开源版本)所用的内核版本号和相关软件包,并根据实际需要选取了他们所用的补丁集(毕竟红帽所用的方案是业界公认比较出色的)。
因此,CGSL与RHEL是高度兼容的。
除此之外,我们还对内核做了所需的改进,以及集成了相关的用户需求。
由于CGSL版本是自己根据开源软件包选择,增加或修改,相应的维护和问题解决,也都是我们自己进行的,RedHat对我们不提供支持,主要的支持来源为CGSL项目自身的研发团队和开源社区。
1.1CGSL版本号是怎样定义的?
Ø关键字:
CGSL版本号
Ø版本:
ALL
Ø分析与处理:
问题:
CGSL系统的版本号是怎样定义的?
解决:
CGSL项目发布的基础版本和补丁版本命名遵从如下规则:
CGS-Linux-.V...[P]-
版本命名规则中各字段的含义如下表所示:
版本命名字段
字段描述
CGS-Linux-
版本名称前缀:
该字符串为固定字符串,用以CGSL基础版本或补丁版本。
branch
版本分支名称:
标准版本使用“MAIN”,定制版本则使用对应产品线或产品项目的标识名称,比如为ZXUSSVS8000C提供的精简定制版本使用“ZXUSS”。
a
主版本号:
主要根据开源Linux基础版本的更新情况而定,一般4-5年进行一次升级。
bb
次版本号:
主要进行重大功能升级、用户需求实现和bug修复,一般1年左右进行一次更新。
cc
小版本号:
主要进行用户需求实现、bug修复。
一般6个月进行一次更新。
n
补丁版本号:
根据发布后出现的用户需求和bug情况而定,一般2个月进行一次更新,如有特殊情况,则与用户协商,择机发布。
注:
基础版本中不包含字段。
arch
版本架构:
32位x86架构对应标识为i386;64位x86架构对应标识为x86_64。
版本命名示例:
CGS-Linux-MAIN.V3.02.00-i386
CGS-Linux-ZXUSS.V3.00.16.P2-i386
1.2CGSL系统升级补丁的命名规则是怎样定义的?
Ø关键字:
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补丁版本的系统升级补丁的名称为
UpdateTo-CGS-Linux-MAIN.V3.02.00.P1-i386.patch
怎样查看CGSL系统详细版本号?
Ø关键字:
版本号
Ø版本:
ALL
Ø分析与处理:
CGSL系统中使用如下命令查看系统的详细版本号:
cat/etc/klinux-release
执行结果如下所示:
如上结果表示该系统的详细版本号为:
CGSLV3.02.00版本。
如何查看系统中打过的系统升级补丁?
Ø关键字:
系统升级,补丁
Ø版本:
ALL
Ø分析与处理:
问题:
在CGSL系统中,如何查看系统中打过什么系统升级补丁?
解决:
通过查看/etc/zte/patch_Log_summary文件内容查看系统打过的系统升级补丁的整体情况,如下示例说明系统中打过从V3.02.00版本升级到V3.02.10版本的系统升级补丁:
#cat/etc/zte/patch_Log_summary
ThuDec1617:
49:
14CST2010:
PatchTAG_CGS_MAIN_V3_02_10_P1-x86_64toTAG_CGS_MAIN_V3_02_00
查看/etc/zte/cgsl_patch_rpms所以打过的系统升级补丁详细升级过程。
示例如下:
[root@IMSCG64~]#cat/etc/zte/cgsl_patch_rpms
ThuDec1617:
49:
14CST2010
[CGSPATCH]:
PatchTAG_CGS_MAIN_V3_02_10_P1-x86_64toTAG_CGS_MAIN_V3_02_00==>>
Dec16CSTInstalled:
SUCCESSpython-cgsl-2.5.5-1.x86_64.rpm
Dec16CSTInstalled:
SUCCESStkinter-2.5.5-1.x86_64.rpm
Dec16CSTInstalled:
SUCCESStix-8.4.0-11.el5.x86_64.rpm
Dec16CSTInstalled:
SUCCESShwatchdog-1-1.x86_64.rpm
Dec16CSTInstalled:
SUCCESSeasyoracle-1.3-7.x86_64.rpm
……
如何查看CGSL系统版本架构?
Ø关键字:
架构
Ø版本:
ALL
Ø分析与处理:
问题描述:
如何查看CGSL系统的版本架构,即怎样识别版本是32位还是64位?
解决:
执行如下命令查看:
uname-ar
如果该命令的运行结果中有“x86_64”的字样,则说明为64位版本,命令结果示例如下:
[root@localhost~]#uname-ar
Linuxlocalhost.localdomain2.6.18-164.el5xen#1SMPThuJan2115:
41:
52CST2010x86_64x86_64x86_64GNU/Linux
否则,为32为版本,命令结果示例如下:
[root@localhost~]#uname-ar
Linuxlocalhost2.6.18-53.ztePAE#1SMPMonMay1114:
17:
45CST2009i686athloni386GNU/Linux
2基础操作
如何设置主机名或者机器名字?
Ø关键字:
主机名
Ø版本:
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"页,在“主机名"条目里就可以修改主机名,示意图如下:
为何设置的主机名在重启后失效?
Ø关键字:
主机名
Ø版本:
ALL
Ø分析与处理:
问题:
在CGSL系统中,为何设置的主机名在重启后失效?
原因:
因为用户使用hostname命令设置主机名,而该命令设置的主机名是临时的,在系统重新后会失效。
解决:
如果要设置永久的主机名,可以使用修改/etc/sysconfig/network配置文件,或使用图形配置工具,详细请参考“如何设置主机名或者机器名字?
”节。
CGSL中英文默认使用什么字符集?
Ø关键字:
字符集,中英文
Ø版本:
ALL
Ø分析与处理:
问题:
CGSL系统中,中英文默认使用什么字符集?
支持什么字符集?
解决:
CGSL中文环境的默认编码为:
GBK,也支持UTF-8。
英文环境默认编码为:
ISO8859-1,也支持UTF-8。
CGSL中俄文使用什么字符集?
Ø关键字:
字符集,俄文
Ø版本:
ALL
Ø分析与处理:
问题:
CGSL系统中,俄文使用什么字符集?
CGSL是否支持并带有相关字符集。
解决:
俄文字符集为:
ru_RU.UTF-8,CGSL默认支持,并带有相关字符集。
如何关闭和开启交换分区?
Ø关键字:
交换分区,swap,关闭,开启
Ø版本:
ALL
Ø分析与处理:
问题:
CGSL系统中,如何在不重启系统的情况下关闭和开启交换分区。
解决:
关闭交换分区的命令如下:
swapoff<交换分区设备名>
其中,<交换分区设备名>可以通过命令swapon-s确定,如:
[root@vcs1~]#swapon-s
FilenameTypeSizeUsedPriority
/dev/sda2partition10201160-2
也可以通过查看/etc/fstab、fdisk-l命令的方式确定。
如需关闭交换分区/dev/sda2,则命令如下:
#swapoff/dev/sda2
如需关闭所有的交换分区,则命令如下:
#swapoff–a
开启交换分区的命令为swapon,使用方法与swapoff命令类似,如开启交换分区/dev/sda2,则命令如下:
#swapon/dev/sda2
如需开启所有的交换分区,则命令如下:
#swapon-a
3系统服务
如何使用yum安装rpm包?
Ø关键字:
yum
Ø版本:
ALL
Ø分析与处理:
yum是CGSL系统中提供的用于软件包管理的工具,使用该工具可以解决软件包间的重重依赖关系。
在CGSL系统中使用yum安装rpm包的步骤如下:
(1)修改/etc/yum.repos.d/CGSL-Media.repo文件,确保其中的baseurl、gpgcheck和enabled的配置为:
baseurl=file:
///media/cdrom/
gpgcheck=0
enabled=1
(2)修改/etc/yum.conf文件和CGSL-Media.repo文件,确保其中的gpgcheck配置为:
gpgcheck=0
(3)插入CGSLinux安装光盘到光驱,挂载光盘到/media/cdrom/目录下,即依次执行:
mkdir-p/media/cdrom
mount/dev/cdrom/media/cdrom
(4)进入/media/cdrom/CgsOS/目录,即
cd/media/cdrom/CgsOS
(5)在该目录下,执行
yum-ylocalinstall
其中,为rpm包的名称。
按如上步骤操作后,即可实现rpm包的安装,并自动解决依赖关系。
如何配置telnet?
Ø关键字:
telnet,配置
Ø版本:
ALL
Ø分析与处理:
问题:
如何在CGSL系统中配置telnet?
解决:
CGSL系统中telnet服务由xinetd服务托管,按如下步骤配置后,即可使用。
(1)修改配置文件/etc/xinetd.d/telnet,将其中的
disable=yes
修改为:
disable=no
(2)重启xinetd服务
#servicexinetdrestart
如何让root用户使用telnet登录?
Ø关键字:
root用户,telnet
Ø版本:
ALL
Ø分析与处理:
问题:
在CGSL系统中,配置使用telnet后,默认情况下,是不允许root用户使用telnet登录的,如何配置可以让root用户使用telnet登录?
解决:
按如下方法配置解决:
mv/etc/securetty/etc/securetty.bak
如何配置nfs?
Ø关键字:
nfs,配置
Ø版本:
ALL
Ø分析与处理:
nfs是CGSL提供的软件包,用于将本地文件系统输出到其它机器挂载使用,它的配置步骤如下:
(1)在文件系统输出机器端(共享它的磁盘给其它机器)修改/etc/exports文件
/root*(ro,sync)
其中/root是你输出的目录,*是输出目标机的ip(*表示任何机器都可以挂载),下面是那些括号中参数的意思,可以根据需求自行添加或修改
ro,只读访问,rw读写访问
sync所有数据在请求时写入共享
asyncNFS在写入数据前可以相应请求
secureNFS通过1024以下的安全TCP/IP端口发送
insecureNFS通过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_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squasroot用户具有根目录的完全管理访问权限
anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx指定NFS服务器/etc/passwd文件中匿名用户的GID
(2)在文件系统输出机器端重启服务:
#serviceportmaprestart
#servicenfsrestart
(3)输入机器端挂载nfs文件系统
mount-tnfs192.168.1.1:
/root/mnt/
注意:
“192.168.1.1:
/root”这一段参数要和输出机器的ip和目录对应。
如何配置iscsi?
Ø关键字:
iscsi,配置
Ø版本:
ALL
Ø分析与处理:
iscsi是CGSL提供的软件包,用于将本地磁盘分区输出到其它机器使用,它的配置步骤如下:
(1)CGSL默认是没有安装iscsi的软件包的,首先安装软件包,安装顺序如下
#rpm–ivhperl-Config-General-2.40-1.el5.noarch.rpm
#rpm–ivhiscsi-initiator-utils-6.2.0.871-0.10.el5.i386.rpm
#rpm–ivhscsi-target-utils-0.0-5.20080917snap.el5.i386.rpm
不同的CGSL版本,rpm包对应版本可能会有不同,请根据具体的CGSL版本到对应的仓库获取安装包
(2)分区输出端上启动服务
#/etc/init.d/tgtdstart
(3)分区输出端查看分区情况,这里以输出/dev/sda1为例
#fdisk-l
Disk/dev/hda:
8589MB,8589934592bytes
255heads,63sectors/track,1044cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*11310439183Linux
/dev/hda21410448281507+8eLinuxLVM
Disk/dev/sda:
2147MB,2147483648bytes
255heads,63sectors/track,261cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda11100803218+83Linux
/dev/sda210115040162583Linux
(4)分区输出端指定输出目标名cn.zte.disk1
#tgtadm--lldiscsi--opnew--modetarget--tid=1--targetnamecn.zte.disk1
(5)分区输出端添加导出分区/dev/sda1
#tgtadm--lldiscsi--opnew--modelogicalunit--tid1--lun1-b/dev/sda1
(6)分区输出端添加设置可访问导出分区的导入端:
#tgtadm--lldiscsi--opbind--modetarget--tid1-IALL
-IALL表示可被任意导入端访问
(7)分区输出端验证导出的逻辑卷是否正确
#tgtadm--lldiscsi--opshow--modetarget
Target1:
cn.zte.disk1
Systeminformation:
Driver:
iscsi
Status:
running
I_Tnexusinformation:
LUNinformation:
LUN:
0
Type:
controller
SCSIID:
deadbeaf1:
0
SCSISN:
beaf10
Size:
0
Backingstore:
Nobackingstore
LUN:
1
Type:
disk
SCSIID:
deadbeaf1:
1
SCSISN:
beaf11
Size:
784M
Backingstore:
/dev/sda1
Accountinformation:
ACLinformation:
ALL
由上可以看出,iscsitarget名为zn.zte.disk1,导出的分区为/dev/sda1,可以访问导出分区的客户端为ALL,即允许所有客户端访问。
(8)在导入分区端启动服务
#/etc/init.d/iscsistart
(9)在导入分区端搜寻iscsitarget,即导出分区端。
iscsiadm的参数选项-m指定操作模式,-t与-mdiscovery对应指定搜寻的类型,-p指定通道(即[ip:
port],如果port没有指定,则使用默认端口3260),-T指定target名,-l表示登入。
假定导出分区端的ip为10.75.72.173
#iscsiadm-mdiscovery-tsendtargets-p10.75.72.173
(10)在导入分区端登录目标服务器(iscsi):
#iscsiadm-mnode-Tzn.zte.disk1-p10.75.72.173-l
(11)在分区导入端查看分区导入情况
#fdisk-l
Disk/dev/hda:
8589MB,8589934592bytes
255heads,63sectors/track,1044cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*11310439183Linux
/dev/hda21410448281507+8eLinuxLVM
Disk/dev/sda:
2147MB,2147483648bytes
255heads,63sectors/track,261cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda11100803218+83Linux
Disk/dev/sdb:
822MB,822495744bytes
26heads,61sectors/track,1012cylinders
Units=cylindersof1586*512=812032bytes
DeviceBootStartEndBlocksIdSystem
/dev/sdb11200158569+83Linux
其中/dev/sdb1为导入的分区。
如何配置匿名访问的Samba服务
Ø关键字:
Samba,配置,匿名访问
Ø版本:
ALL
Ø分析与处理:
问题:
什么是Samba?
如何配置可以匿名访问的Samba,即无需通过用户名和密码认证过程。
解决:
Samba是CGSL提供的软件包,用于linux和windows进行文件共享,配置匿名访问的Samba服务的步骤如下:
(1)Samba最主要的配置文件是/etc/samba/smb.conf,一般只需要进行一小部分的