1.
添加用户 useradd + name
2.
whoami命令查看当前是什么用户,退出当前用户用exit命令
3.
ls -a
.bash_profile .bashrc
这两个是初始化用户的登录环境
.bash_logout
这个是用户退出系统时执行的脚本
4.
/lost+found 系统启动自检磁盘时发现的碎片文件
/misc 杂七杂八的,没有归类的文件放这
/proc 虚拟文件系统,proc是process的缩写
/sbin 超级用户使用的管理工具,一般只有管理员才使用
/tmp 每个用户都可写,权限有t位(粘性位),防止用户相互写文件
5.
df 命令
了解系统中分区的使用情况
df -h 更好看一些
这里的/dev/shm是虚拟交换文件系统
du 可以统计文件或目录的使用大小
du -sh + 文件名
6.
fdisk -l 查看磁盘情况
hdparm,如果使用的是IDE硬盘可以看到DMA的支持选项
hdparm -d1 /dev/hda
d是DMA的意思
1是on的意思
可以把这条命令写入/etc/rc.local文件,rc.local是系统启动的脚本文件,给管理员使用的。
7.
查看网络情况
nameserver是DNS的地址
配置网络可以使用netconfig,这是一个文本模式窗口工具,配置好后:
我这里是通过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
配置好了,可以上网了:
route -n 查看默认路由
增加默认网关
#route add default gw xxx.xxx.xxx.xxx
我们使用ifconfig,route命令不会修改配置文件,重启就没了,但是netconfig会修改配置文件
网络相关的脚本在/etc/sysconfig/network-scripts/下,如
8.
locale命令查看语言环境
locale -a系统所有语言支持
9.
setup命令是一个综合的配置工具
#setup
这里可以设置许多信息,如下边的防火墙,系统服务等。
10.
runlevel查看当前运行级别
系统默认的服务可以用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其实都是符号链接
rc.d/下的rc0.d~rc6.d也是符号连接,链接到init.d目录下的相应服务,rc0.d~rc6.d中设置在在该运行级别应该开启的服务和应该关闭的服务。
rc.d/rc0~rc6中,K开头的是不开启的,S开头的是开启的,从一个运行级别进入另一个运行级别,K开头的需要关闭。
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生效
效果如下:
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端口。如下图:
如果成功添加ssh配置文件,那么我们就可以登录了。
two step:
1.用ssh正常登录server
2.在另一个window中:
1)命令行登录guest os
ssh -p 4444 localhost -l liwp
2)vncviewer登录guest os
vncviewer localhost:6666
如果你是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.
OK!Well done!You can operate your VM on your localhost.
这篇文档主要介绍怎样后台执行命令,主要包括:
设置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 &