感谢支持
我们一直在努力

Linux System Administrator攻略详解

1.


添加用户 useradd + name


Linux System Administrator


2.


whoami命令查看当前是什么用户,退出当前用户用exit命令


Linux System Administrator


3.


ls -a


.bash_profile .bashrc


这两个是初始化用户的登录环境


.bash_logout


这个是用户退出系统时执行的脚本


4.


/lost+found  系统启动自检磁盘时发现的碎片文件


/misc 杂七杂八的,没有归类的文件放这


/proc 虚拟文件系统,proc是process的缩写


/sbin 超级用户使用的管理工具,一般只有管理员才使用


/tmp 每个用户都可写,权限有t位(粘性位),防止用户相互写文件


Linux System Administrator


5.


df 命令


了解系统中分区的使用情况


df -h 更好看一些


Linux System Administrator


这里的/dev/shm是虚拟交换文件系统


du 可以统计文件或目录的使用大小


du -sh + 文件名


6.


fdisk -l 查看磁盘情况


Linux System Administrator


hdparm,如果使用的是IDE硬盘可以看到DMA的支持选项


hdparm -d1 /dev/hda


d是DMA的意思


1是on的意思


可以把这条命令写入/etc/rc.local文件,rc.local是系统启动的脚本文件,给管理员使用的。

7.


查看网络情况


Linux System Administrator


nameserver是DNS的地址


配置网络可以使用netconfig,这是一个文本模式窗口工具,配置好后:


Linux System Administrator


我这里是通过Vmware装Red Hat 9上网,方法:


bridge : 默认使用vmnet0将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同:例如主机ip是9.123.247.43,设置虚拟机ip为9.123.247.11。netmask,broadcast,gateway,dns都与主机相同即可实现虚拟机主机 虚拟机互联网 通信。


#server network restart


配置好了,可以上网了:


Linux System Administrator


route -n 查看默认路由


增加默认网关


#route add default gw xxx.xxx.xxx.xxx


我们使用ifconfig,route命令不会修改配置文件,重启就没了,但是netconfig会修改配置文件


网络相关的脚本在/etc/sysconfig/network-scripts/下,如


8.


locale命令查看语言环境


locale -a系统所有语言支持


9.


setup命令是一个综合的配置工具


#setup


Linux System Administrator


这里可以设置许多信息,如下边的防火墙,系统服务等。


Linux System Administrator


Linux System Administrator


10.


runlevel查看当前运行级别


Linux System Administrator


系统默认的服务可以用chkconfig –list显示出来,这些服务都是靠init启动的,Xinetd是一个超级服务器,可以运行许多子服务。只要它开启的,那么Xinetd下的子服务on的哪些都会开启。

开启一个服务


#chkconfig xxxx on


eg.


#chkconfig rsync on


#chkconfig rsync –list


rsync on


#service Xinetd restart


init启动的所有服务都会放到init.d下面


etc/下的rc0.d~rc6.d其实都是符号链接


Linux System Administrator


rc.d/下的rc0.d~rc6.d也是符号连接,链接到init.d目录下的相应服务,rc0.d~rc6.d中设置在在该运行级别应该开启的服务和应该关闭的服务。


Linux System Administrator


rc.d/rc0~rc6中,K开头的是不开启的,S开头的是开启的,从一个运行级别进入另一个运行级别,K开头的需要关闭。


Linux System Administrator

VNC server搭建


Red Hat Enterprise Linux Server 6.2


一.VNC安装


1.首先将ISO镜像mount到一个目录下:


sudo mount -t iso9660 RHEL6.2-20111117.0-Server-x86_64-DVD1.iso /mnt


2.将RHEL6.2-20111117.0-Server-x86_64-DVD1/Packeges的下列包拷出来:


gtk-vnc-0.3.10-3.el6.i686.rpm


libvncserver-0.9.7-4.el6.x86_64.rpm


tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm


tigervnc-server-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm


xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm


3.由于在server上镜像里的各个包都不能安装,提示失败之类的,所以这里先把包放在本地,然后上传服务器:


scp tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm root@9.186.9.18:/root/


4.使用命令rpm安装各个包


rpm -ivh xxxx


5.rpm -qa | grep vnc


[root@chinaltcdragon ~]# rpm -qa | grep vnc


tigervnc-server-1.0.90-0.17.20110314svn4359.el6.x86_64


gtk-vnc-Python-0.3.10-3.el6.x86_64


tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64


gtk-vnc-0.3.10-3.el6.x86_64


libvncserver-0.9.7-4.el6.x86_64


可以看到已经成功安装vnc了。


二.VNC配置


1.配置/etc/sysconfig/vncserver文件,在最下边添加:


VNCSERVERS=”1:root”


VNCSERVERARGS[1]=”-geometry 1400×1000″


这里的1400*1000是你通过vncviewer看到的窗口的大小。


2.配置当前用户目录下的.vnc/xstartup文件:


如果是gnome的desktop,则添加:


gnome-session&


去掉startkde&一行


如果是kde desktop则相反。


3.配置防火墙开启vnc desktop使用的端口,默认防火墙是开启的,所以在终端输入;


vncviewer 9.186.9.18:1


是登不上去的,显示:


hacker@hacker:~$ vncviewer 9.186.9.18:1


vncviewer: ConnectToTcpAddr: connect: No route to host


Unable to connect to VNC server


如果完全关闭防火墙:


[root@chinaltcdragon ~]# /etc/rc.d/init.d/iptables stop


iptables:清除防火墙规则:                                 [确定]


iptables:将链设置为政策 ACCEPT:filter           [确定]


iptables:正在卸载模块:                                     [确定]


则可以通过vncviewer正常访问,当然完全关闭防火墙是不安全的,这里重新开启防火墙,只打开vnc desktop使用的端口:


[root@chinaltcdragon ~]# /etc/rc.d/init.d/iptables start


iptables:应用防火墙规则:                                 [确定]


[root@chinaltcdragon ~]# iptables -I INPUT -p tcp –dport 5901 -j ACCEPT


现在就可以使用vncviewer正常访问了。


VNC服务使用的端口号与桌面号的关系:


VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下:


桌面号为“1” —端口号为5901


桌面号为“2” —端口号为5902


桌面号为“3”—端口号为5903


4.手动启动和关闭vncserver:


启动:


[root@chinaltcdragon ~]# vncserver :1


New ‘chinaltcdragon.cn.ibm.com:1 (root)’ desktop is chinaltcdragon.cn.ibm.com:1


Starting applications specified in /root/.vnc/xstartup


Log file is /root/.vnc/chinaltcdragon.cn.ibm.com:1.log


[root@chinaltcdragon ~]# ps -e | grep vnc


31681 pts/1    00:00:00 Xvnc


31687 pts/1    00:00:00 vncconfig


关闭:


[root@chinaltcdragon ~]# ps -e | grep vnc


4887 ?        00:01:14 Xvnc


4893 ?        00:00:00 vncconfig


[root@chinaltcdragon ~]# vncserver -kill :1


Killing Xvnc process ID 4887


[root@chinaltcdragon ~]# ps -e | grep vnc


4.自启动vncserver


各个runlevel:


# 0 – 停机(千万不能把initdefault 设置为0 )# 1 – 单用户模式 # 2 – 多用户,没有 NFS # 3 – 完全多用户模式(标准的运行级) # 4 – 没有用到 # 5 – X11 (xwindow) # 6 – 重新启动


这里我们要在runlevel 3和5自启动vncserver服务,使用chkconfig(用来更新(启动或停止)和查询系统的运行级信息):


[root@chinaltcdragon ~]# ls -l /etc/rc*.d/*vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc0.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc1.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc2.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc3.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc4.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc5.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 17 12:57 /etc/rc6.d/K35vncserver -> ../init.d/vncserver


[root@chinaltcdragon ~]# chkconfig –level 35 vncserver on


[root@chinaltcdragon ~]# ls -l /etc/rc*.d/*vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc0.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc1.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc2.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc3.d/S91vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc4.d/K35vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc5.d/S91vncserver -> ../init.d/vncserver


lrwxrwxrwx. 1 root root 19  2月 21 09:24 /etc/rc6.d/K35vncserver -> ../init.d/vncserver


6.开机自动打开端口


在/etc/sysconfig/iptables文件中添加:


-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5901 -j ACCEPT


service iptables restart生效


效果如下:


Linux System Administrator

team的department server一共有8个硬盘,每个600GB,可是df -h,看一下,竟然只有600GB左右,where is other seven harddisk?使用parted和lvm解决了这个问题。


一.使用parted工具:


[root@chinaltcdragon ~]# parted
GNU Parted 2.1
使用 /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) p                                                               
Model: IBM ServeRAID M5015 (scsi)
Disk /dev/sda: 599GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt


Number  Start   End    Size   File system  Name  标志
 1      1049kB  211MB  210MB  fat16                    启动
 2      211MB   735MB  524MB  ext4
 3      735MB   599GB  598GB                               lvm



可以看到/dev/sda是已经分好区了,那么我们可以照葫芦画瓢,按照这个分区规格分the other seven harddisk。


首先fdisk -l找到它们的名字:


/dev/sdb1               1       72825   584959999+  ee  GPT
Disk /dev/sda: 599.0 GB, 598999040000 bytes
/dev/sda1               1       72825   584959999+  ee  GPT
Disk /dev/sdd: 599.0 GB, 598999040000 bytes
/dev/sdd1               1       72825   584959999+  ee  GPT
Disk /dev/sdc: 599.0 GB, 598999040000 bytes
/dev/sdc1               1       72825   584959999+  ee  GPT
Disk /dev/sdh: 599.0 GB, 598999040000 bytes
/dev/sdh1               1       72825   584959999+  ee  GPT
Disk /dev/sdg: 599.0 GB, 598999040000 bytes
/dev/sdg1               1       72825   584959999+  ee  GPT
Disk /dev/sde: 599.0 GB, 598999040000 bytes
/dev/sde1               1       72825   584959999+  ee  GPT
Disk /dev/sdf: 599.0 GB, 598999040000 bytes
/dev/sdf1               1       72825   584959999+  ee  GPT



这里对/dev/sdd进行分区:


[root@chinaltcdragon ~]# parted /dev/sdd
GNU Parted 2.1
使用 /dev/sdd
Welcome to GNU Parted! Type ‘help’ to view a list of commands.


查看harddisk情况:
(parted) p                                                               
Model: IBM ServeRAID M5015 (scsi)
Disk /dev/sdd: 599GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt


Number  Start  End  Size  File system  Name  标志


在parted中使用mkpart命令进行分区,输入help可以查看parted的各种命令:


(parted) mkpart                                                          
分区名称?  []? 1                                                        
文件系统类型?  [ext2]? fat16
起始点? 1049k                                                           
结束点? 211m                                                            
(parted) mkpart                                                          
分区名称?  []? 2                                                        
文件系统类型?  [ext2]? ext4                                             
起始点? 211m                                                            
结束点? 735m                
(parted) mkpart
分区名称?  []? 3                                                        
文件系统类型?  [ext2]? ext4                                             
起始点? 735m                                                            
结束点? 598GB   


然后设置分区1为启动分区:


(parted) set 1 boot on


分区完毕,再次打印harddisk分区信息:                                                       
(parted) p                                                               
Model: IBM ServeRAID M5015 (scsi)
Disk /dev/sdd: 599GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt


Number  Start   End    Size   File system  Name  标志
 1      1049kB  211MB  210MB                      1      启动
 2      211MB   735MB  524MB                      2
 3      735MB   598GB  597GB                      3
如果在分区过程中某个分区分错了,可以使用rm + 分区number进行删除,这个输入help可以查到的。

二.使用LVM:



这里介绍lvm中几个命令:


vgscan,vgdisplay,lvscan,pvscan。


lvm部分的操作分几个步骤:



创建physical volume
把physical volume添加到volume group
把physical volume添加到logical volume


创建physical volume:


lvm> pvcreate /dev/sdd3
  Writing physical volume data to disk “/dev/sdd3”
  Physical volume “/dev/sdd3” successfully created


查看当前的volume group的名字


lvm> vgscan
  Reading all physical volumes.  This may take a while…
  Found volume group “vg_chinaltcdragon” using metadata type lvm2



添加physical volume到volume group


lvm> vgextend vg_chinaltcdragon /dev/sdd3
  Volume group “vg_chinaltcdragon” successfully extended


查看一下这个volume  group中都有哪些logical volume
lvm> lvscan
  ACTIVE            ‘/dev/vg_chinaltcdragon/lv_root’ [50.00 GiB] inherit
  ACTIVE            ‘/dev/vg_chinaltcdragon/lv_home’ [1.55 TiB] inherit
  ACTIVE            ‘/dev/vg_chinaltcdragon/lv_swap’ [37.42 GiB] inherit


这里说明vg_chinaltcdragon这个volume group有3个logical volumes。


添加physical volume到logical volume
lvm> lvextend /dev/vg_chinaltcdragon/lv_home /dev/sdd3
  Extending logical volume lv_home to 2.09 TiB
  Logical volume lv_home successfully resized


查看一下logical volume
lvm> lvscan
  ACTIVE            ‘/dev/vg_chinaltcdragon/lv_root’ [50.00 GiB] inherit
  ACTIVE            ‘/dev/vg_chinaltcdragon/lv_home’ [2.09 TiB] inherit
  ACTIVE            ‘/dev/vg_chinaltcdragon/lv_swap’ [37.42 GiB] inherit



可以看到/dev/vg_chinaltcdragon/lv_home这个logical volume的大小已经增加了。


但是df -h看一下,实际并没有变化:


[root@chinaltcdragon ~]# df -h
文件系统      容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_chinaltcdragon-lv_root
                       50G  3.9G   43G   9% /
tmpfs                  18G  188K   18G   1% /dev/shm
/dev/sda2             485M   62M  398M  14% /boot
/dev/sda1             200M  256K  200M   1% /boot/efi
/dev/mapper/vg_chinaltcdragon-lv_home
                      1.6T  140G  1.4T  10% /home



这里是1.6T了,因为team的老外已经用parted和lvm装上了2个harddisk。


最后一部,使用工具resize2fs调整logical volume的大小:


[root@chinaltcdragon ~]# resize2fs /dev/vg_chinaltcdragon/lv_home
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_chinaltcdragon/lv_home is mounted on /home; on-line resizing required
old desc_blocks = 100, new_desc_blocks = 134
Performing an on-line resize of /dev/vg_chinaltcdragon/lv_home to 561076224 (4k) blocks.
The filesystem on /dev/vg_chinaltcdragon/lv_home is now 561076224 blocks long.



再次查看,已经扩充到了2.1TB了,OK,Well done!


[root@chinaltcdragon ~]# df -h
文件系统      容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_chinaltcdragon-lv_root
                       50G  3.9G   43G   9% /
tmpfs                  18G  188K   18G   1% /dev/shm
/dev/sda2             485M   62M  398M  14% /boot
/dev/sda1             200M  256K  200M   1% /boot/efi
/dev/mapper/vg_chinaltcdragon-lv_home
                      2.1T  142G  1.9T   8% /home

如果想访问服务器中的虚拟机我们可以通过vncviewer首先login服务器,然后操作VMM(virtual machie manager, 这里是QEMU),这样比较麻烦。我们可以使用更简单的方式,直接登录guest os。


首先在home目录中添加ssh的配置文件:


hacker@hacker:~$ cat .ssh/config


Host 9.186.9.18


User liwp


LocalForward localhost:4444 192.168.122.156:22


LocalForward localhost:6666 127.0.0.1:5902


这里的9.186.9.18是服务器的地址,liwp是服务器上我的account,4444,6666是我的localhost上的端口,192.168.122.156是guest os的ip,22是guest os上的ssh使用的端口。5902是VMM给我开的VNC server端口。如下图:


Linux System Administrator攻略详解

如果成功添加ssh配置文件,那么我们就可以登录了。


two step:


1.用ssh正常登录server


Linux System Administrator攻略详解

2.在另一个window中:


1)命令行登录guest os


ssh -p 4444 localhost -l liwp


Linux System Administrator攻略详解

2)vncviewer登录guest os


vncviewer localhost:6666


Linux System Administrator攻略详解

如果你是libvirtd组的,你可以用localhost的VMM直接运行远程server上的virtual machine,而不用去server上运行。


[liwp@chinaltcdragon ~]$ id liwp


uid=507(liwp) gid=507(liwp) 组=507(liwp),512(admin),516(libvirt)


three step:


1. admin把你加到libvirtd组


usermod -G libvirtd xxxx


2.add connection.


Linux System Administrator攻略详解

OK!Well done!You can operate your VM on your localhost.


Linux System Administrator攻略详解

这篇文档主要介绍怎样后台执行命令,主要包括:


设置crontab文件,并用它来提交作业
使用at命令来提交作业
在后台提交作业
使用nohup命令提交作业


一:cron和crontab


cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做crontab的命令允许用户提交,编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。每个用户都可以有自己的crontab文件,但是系统管理员可以通过cron.deny和cron.allow这两个文件来禁止或允许用户拥有自己的crontab文件。


1)crontab的域


第一列:   分钟1~59
第二列:   小时1~23(0表示子夜)
第三列:   日1~31
第四列:   月1~12
第五列:   星期0~6(0表示星期天)
第六列:    要运行的命令
下面是crontab的格式:
分<>时<>日<>月<>星期<>要运行的命令
其中<>表示空格
在这些域中可以用横杠-表示一个时间范围,例如你希望周一至周五运行某个作业,那么可以在星期域使用1-5来表示。还可以在这些域中使用逗号“,”,例如你希望星期一和星期四运行某个作业,只需要使用1,4来表示。可以使用*来表示连续的时间段。
[root@ www.linuxidc.com git]# crontab -l
1 1 * * * /etc/rsync-backup/backup.sh
0 6 * * * /home/git/update_repository.sh


这是我们server上的信息,可以看到一个是每天01:01运行,一个是每天06:00运行。



2)crontab命令选项


crontab命令的一般形式为:
crontab [-u user] -e -l -r
其中:
-u 用户名
-e 编辑crontab文件
-l  列出crontab文件中的内容
-r  删除crontab文件
如果使用自己的名字登录,就不用使用-u选项。


二: at命令


at命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。一旦一个作业被提交,该作业的所有输出都将以电子邮件的形式发送给用户。和crontab一样,root用户可以通过/etc目录下的at.allow和at.deny文件来控制哪些用户可以使用at命令。


at命令的基本形式:


at [-f script] [-m -l -r] [time] [date]


-f script 是所要提交的脚本或命令


-l 列出当前所要等待运行的作业


-r 清除作业;有些UNIX变体只接受atrm作为清除命令


-m 作业完成后给用户发邮件


创建几个作业:


[root@ www.linuxidc.com ~]# echo find /etc -name “passwd” -print | at now +1 minute
job 7 at 2012-03-18 15:57
[root@ www.linuxidc.com ~]# echo find /etc -name “passwd” -print | at now +2 minute
job 8 at 2012-03-18 15:58
[root@ www.linuxidc.com ~]# echo find /etc -name “passwd” -print | at now +3 minute
job 9 at 2012-03-18 15:59



列出等待的作业:


[root@ www.linuxidc.com ~]# at -l
8 2012-03-18 15:58 a root
9 2012-03-18 15:59 a root
7 2012-03-18 15:57 a root


删除一个作业:
[root@ www.linuxidc.com ~]# atrm 7


查看结果:
[root@ www.linuxidc.com ~]# at -l
8 2012-03-18 15:58 a root
9 2012-03-18 15:59 a root


三: &命令


当在前台运行某个作业时,终端被作业占据;而在后台运行作业时,它不会占据终端。


该命令一般形式:


命令 &


www.linuxidc.com@linuxidc:~$ /opt/qemu/bin/qemu-system-i386 -enable-kvm &


使用jobs命令可以查看到这个job:


www.linuxidc.com@linuxidc:~$ jobs
[1]+  运行中               nohup /opt/qemu/bin/qemu-system-i386 -enable-kvm &


使用fg 1调出这个job让其在前台运行:


www.linuxidc.com@linuxidc:~$ fg 1
nohup /opt/qemu/bin/qemu-system-i386 -enable-kvm


四: nohup命令


如果你正在运行一个进程,而且你觉得在退出账户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出账户之后继续运行相应的进程。


该命令的一般形式为:


nohup command &

赞(0) 打赏
转载请注明出处:服务器评测 » Linux System Administrator攻略详解
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏