第一、yum的使用 yum客户端的设置: vim /etc/yum.repos.d/rhel-debuginfo.repo 《--默认的配置文件,系统自带 <---配置文件的名字无关紧要,但后缀一定 .repo [Server] 《---软件组的定义开始 name=Server 《--软件组的名字 baseurl=ftp://10.1.1.20/Server 《--软件源的路径 enabled=1 《--是否启用这个 gpgcheck=0 gpgkey=ftp://10.1.1.20/RPM-GPG-KEY-redhat-release yum list yum list | grep kernel yum install kernel-devel [root@station8 ~]# export LANG=en_US.UTF-8 [root@station8 ~]# yum grouplist [root@station8 ~]# yum groupinstall "X Software Development" 安装开发工具和开发库分组: yum groupinstall "Development Tools" "Development Libraries" 清除已经下载的软件包的信息 yum clean all 卸载单个软件包 yum erase kernel-devel -y 卸载整个分组的软件包 yum groupremove "X Software Development" 配置本地yum源的过程 1、挂载光盘,获取软件资源,就弄好的本地yum源 《---yum 服务端 mount -o loop /jjw/rhel-5.3-server-i386-dvd.iso /mnt 2、更新yum客户端的配置文件 cd /etc/yum.repos.d/ vim local.repo [Server] name=Server baseurl=file:///mnt/Server enabled=1 gpgcheck=0 3、更新yum的缓存信息 yum clean all yum list 注意了:这种搭建方法,软件包的源位置只是临时从iso镜像挂载到/mnt目录的,重启电脑或者取消挂载之后,软件源就失效了,所以想建立永久的软件源,可以把光盘的所有文件复制到本地新建一个目录里,然后修改yum客户端文件,把路径修改正确 第二、进程管理 进程状态: S <---进程正在睡眠,可中断睡眠状态 R <---Running 进程正在运行 D <---不可中断的睡眠,一般等待硬件的相应 T <---程序暂停了 Z <---僵尸进程 父进程死了,子进程来不及处理 ps aux ; ps -ef <---常用的常数组合 pstree <---打印进程关系树 例子: [root@dns /]# pstree | grep -A 3 -B 3 pstree |-gnome-terminal-+-bash-+-gedit | | `-ssh | |-bash-+-grep 《---留意这里 | | `-pstree | |-gnome-pty-helpe | `-{gnome-terminal} |-gnome-vfs-daemo [root@dns /]# bash [root@dns /]# pstree | grep -A 3 -B 3 pstree |-gnome-terminal-+-bash-+-gedit | | `-ssh | |-bash---bash-+-grep 《--留意这里的对比 | | `-pstree | |-gnome-pty-helpe | `-{gnome-terminal} |-gnome-vfs-daemo top命令(任务管理器) shift + > shift + < shift + m shift + p d load average: 0.10, 0.28, 0.26 《-平均1,5,15系统负载,如果超过5以上,就说明比较忙 top -b -n 3 > ./top.txt kill 信号发送工具 [root@dns ~]# ps -ef | grep firefox root 3197 1 0 09:59 ? 00:00:00 /bin/sh /usr/lib/firefox-3.0.5/run-mozilla.sh /usr/lib/firefox-3.0.5/firefox -UILocale zh-CN root 3214 3197 0 09:59 ? 00:00:33 /usr/lib/firefox-3.0.5/firefox -UILocale zh-CN root 10213 3103 0 13:54 pts/1 00:00:00 grep firefox [root@dns ~]# kill -15 3214 <---友好的终止程序 kill -9 3214 <---发信号给内核,直接干掉进程,进程本身收不到这个信号 使用场景:踢掉某个用户的登录 [root@station8 ~]# w 13:59:29 up 21 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 - 13:39 47.00s 0.07s 0.07s -bash root tty2 - 13:59 5.00s 0.01s 0.01s -bash root pts/0 station20.cluste 13:59 0.00s 0.02s 0.00s w 《---踢掉这个远程用户 [root@station8 ~]# ps aux | grep pts/0 root 3150 0.3 0.2 9980 2888 ? Ss 13:59 0:00 sshd: root@pts/0 root 3153 0.0 0.1 4904 1560 pts/0 Ss 13:59 0:00 -bash 《--这是要找的pid root 3185 0.0 0.0 4252 936 pts/0 R+ 13:59 0:00 ps aux root 3186 0.0 0.0 3912 668 pts/0 R+ 13:59 0:00 grep pts/0 [root@station8 ~]# kill -9 3153 Connection to 10.1.1.108 closed. ps top free uptime /proc伪文件系统的介绍 常用的: 1、启动IP数据包转发,实现软路由的功能 [root@dns proc]# cat /proc/sys/net/ipv4/ip_forward 0 [root@dns proc]# echo "1"> /proc/sys/net/ipv4/ip_forward [root@dns proc]# cat /proc/sys/net/ipv4/ip_forward 1 2、是否禁用icmp数据包的回应 echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all 3、是否相应icmp广播包 [root@dns proc]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts <--0 代表相应 测试 ping -b 10.1.1.0 启用“忽略icmp广播包的相应”,默认值就是1 [root@dns proc]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 让配置永久生效: shell> vim /etc/sysctl.conf net.ipv4.ip_forward = 1 《---软路由就永久生效 ls /proc/sys/net/ipv4/ip_forward shell> sysctl -p 《--让内核参数配置马上生效 =========================================== 第三、Grub的学习 配置文件的目录: /boot/grub/ 主配置文件: /boot/grub/grub.conf 1、第一种情况:/boot目录被单独放在一个分区 default=0 《---默认引导那个系统 timeout=5 《---等待5秒钟,如果没有进行任何输入选择,就自动进入默认的系统 splashimage=(hd0,0)/grub/splash.xpm.gz 《--hd代表磁盘,hd0代表它“认为“的第一块磁盘, 逗号右边的"0"代表第一个分区 password --md5 $1$m6jdNYT4$haLu0g2VP/BkTlL1NIkj31 title Red Hat Enterprise Linux Server (2.6.18-128.el5) root (hd0,0) 《--指定引导程序配置文件、以及内核镜像所在磁盘和分区,简单来说就是/boot所在分区 kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/sda2 rhgb quiet <---定义内核镜像的路径,还有系统的根分区所在的设备,还有一些内核的参数 initrd /initrd-2.6.18-128.el5.img 《---随机内存盘,加载内核前先加载到内存,是一个微型的操作系统 title isoboot root (hd0,1) kernel /isoroot/uvmlinuz boot=casper iso-scan/filename=/isoroot/0.91.iso quiet splash ro locale=zh_CN.UTF-8 initrd /isoroot/uinitrd.gz 第二情况:没有单独把/boot挂载单独一个分区,它只是根的一个普通文件夹 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 30G 12G 16G 43% / /dev/sda1 190M 11M 170M 7% /tmp root (hd0,1) 《---定义了/boot所在磁盘的分区 kernel (hd0,1)/boot/vmlinuz-2.6.18-128.el5 ro root=/dev/sda2 rhgb quiet initrd /boot/initrd-2.6.18-128.el5.img 引导Windows的系统 title WinXP rootnoverify (hd0,0) <---定义Windows安装所在的那个分区 chainloader +1 ================================================= 作业: 1、让同学通过ssh登录你的系统,然后你尝试踢掉他的远程登录 2、熟悉grub.conf配置文件的语法和grub交互模式的命令 要求:删除/boot/grub/grub.conf配置文件(胆小者先备份) 然后重启电脑,进到grub的交互模式(grub >),通过交互命令进行系统引导 提示: a、root ( ... ) b、 kernel /..... c、 initrd /..... d、 boot 3、成功引导系统之后,手工编辑grub.conf配置文件,然后重新引导系统,看看是否配置成功; 4、如果你引导成功,恭喜你,现在要求再次重启,熟悉grub引导菜单的使用,修改启动条目,让系统进入单用户模式,进去之后,把管理员密码修改一下,运行 nysysv --level 35 把sendmail的服务禁止掉 5、搭建本地yum源,并配置正确yum客户端配置文件 6、man useradd,查看useradd的命令帮助,通过命令建立一个用户friday,用户的要求: a、家目录要求在/rhome/friday b、默认首先组(gid)要求是 tom,如果没有tom这个用户组,请实现建立 c、另外还属于别的组(Gid),其他的组,随便你自己定义 d、指定用户2009年10月25日帐号过期,过期后不能再登录 7、建立一个文件夹/tmp/test,给予权限777 建立文件夹/tmp/test/crazy ,给予权限 777 问题1:管理员在/tmp/test/crazy/下建立任何文件,普通用户能删除吗?为什么? 问题2:为了让普通帐号上传文件到/tmp/test/crazy里,其他帐号(管理员除外)不能对不属于自己的文件删除,需要怎么做? 问题3:管理员想在/tmp/test/crazy下建立一个通告文件readme.txt,为了不然任何人删除它和修改它,该怎么做? (责任编辑:IT) |