一、yum添加centos源
1、执行cd /etc/yum.repos.d/,
如果添加了RHEL安装光盘的源,需要将光盘源重命名,避免影响使用。
mv cdrom.repo cdrom.repo.bak
2、执行rpm -qa | grep yum检查当前系统中都安装了哪些有关于yum的包
3、执行rpm -e卸载,
由于执行rpm -e yum-metadata-parser出现依赖关系卸载失败;
所以先执行 rpm -e yum-updatesd
rpm -e yum-security卸载这两个程序
4、 由于yum的相关包依赖关系非常复杂。所以当无法删除时,执行 –nodeps参数忽略相应的依赖关
系强制卸载
rpm -e --nodeps yum
rpm -e --nodeps yum-metadata-parser
5、将整理好的压缩包解压到/tmp下,并切换到/tmp/ VMFLODER
tar zxvf ebai-yum.tar.gz -C /tmp/
6、安装yum也会遇到很麻烦的依赖关系问题。所以,用yum-*一起去安装他们,就解决了。
rpm -ivh yum-*
7、安装好之后,我们将Centos的源配置文件拷贝到/etc/yum.repos.d目录中,看看能否使用yum。
cp CentOS-Base.repo /etc/yum.repos.d/
8、发现不可以。因为配置文件中使用了$releaserver,所以会检查系统的版本。因此,还需要安装其
他rpm包来改变系统的版本。
1)执行vi CentOS-Base.repo,打开该文件查看mirrorlist到源服务器的镜像列表中进行筛选,该
行下采用了变量名称来替代当前系统的版本名或版本号;
baseurl指定一个具体的源服务器
2)执行cat /etc/redhat-release查看本机linux版本号,版本号是Red Hat Enterprise Linux
Server release 5.5 (Tikanga),centos官方源里不存在该版本,所以需要改变当前系统的
release。
3)因此,先卸载RHEL自己的版本有关包
执行rpm -e redhat-release-5Server显示卸载失败,
所以执行 rpm -e --nodeps redhat-release-5Server强制卸载
4)再安装centos的版本包执行rpm -ivh centos-release-5-4.el5.centos.1.i386.rpm,
显示失败,centos-release包依赖centos-release-notes包,所以要先安装后者。
rpm -ivh centos-release-notes-5.4-4.i386.rpm
5)cat /etc/redhat-release 查看当前系统的release,
现在的版本为CentOS release 5.4 (Final);
同时在/etc/yum.repos.d/下放置一个CentOS-Base.repo的源配置文件
6)用rpm命令来检查一下这个包都装出了什么文件
rpm -ql centos-release
7)cd /etc/yum.repos.d/查看到源的配置文件已经准备完毕,
8)现在,yum已经可用了。我们用yum list命令来检查一下。
yum list
二、进程
(一)、
1、什么是进程
进程是正在运行的可执行程序的实例,通过进程ID(pid)识别。
2、为什么需要有进程
Linux使用虚拟内存,每个进程都拥有自己特定的内存地址空间。
3、进程的保存内容
1)执行环境:
每一个进程都是受保护的;进程之间不能互相访问。
2)输入输出环境:
(1)打开的文件描述符(descriptor)
proc 目录
相应各个进程在内存中的抽象显示。进入某个进程目录下,显示相关信息;切换到该目录下的fd
目录,该目录下的数字就是相应软链接的描述符
(2)内存映射文件
经常存放进程的可执行代码
(3)文件系统环境
(4)环境变量
(5)遗留信息
(6)凭证
(7)资源统计和限制
4、查看进程命令
1) ps :默认显示的是当前进程所调用的相关信息
参数:
(1)-A -e ax :这三个参数都是查看所有进程
(2)-ef :查看所有进程并列表显示
<1>UID 当前用户的UID
<2>PID 进程的ID
<3>PPID 父进程的ID
<4>C CPU使用的资源百分比
<5>STIME 执行的时间
<6>TTY 登陆者使用的终端
<7>TIME 消耗的CPU时间
<8> CMD 程序本身
[] 中括号括起来的进程是内核进程;
非中括号括起来的进程是用户进程
(3)ps -aux : 显示所有进程与ps -ef相同
(4)-C command 所有command旳实例
(5)-U --user --User user 属于user的所有进程
(6)-t --tty terminal 从terminal启动的所有进程
(7)-p --pid N pid为N的进程
(8)-f 详尽列表
(9)-l l 长格式
(10)-j j 作业格式
(11)-o o --format str
用户定义的格式,使用由str指定的字段(str的可用字段可由ps L列出,或者通过
命令:man 1 ps ,查询man page)
2)top
3)图形界面下执行gnome-system-monitor
5、进程的生命周期——启动
1)进程创建和命令执行是两个不同的概念。通常创建一个新进程是为了运行一个指定的命令,但是不
运行命令也可以创建进程,不创建进程也可以运行新命令。
2)启动进程的几种方式
(1)创建新进程(派生(fork))
(2)执行新命令(exec)
(3)派生和执行
例如字符界面下用户的登录
(4)查看进程家谱pstree 。
系统的原始进程是init ,init的PID总是1
一个进程可以产生另一个进程,除了init以外, 所有的进程都有父进程
使用pstree 命令看看系统的进程树型结构,
pstree可以用来以树状的方式表现进程的父子关 系.
6、进程的生命周期——终止
1)终止分正常终止(exit)和非正常终止
退出之后的进程会留下整数形式的状态码,也称为返回值,亦称遗留信息。
2)孤儿进程(Orphan)
父进程被强行终止后形成。
3)僵尸进程(zombie)
当进程退出释放大多数资源和给父进程返回值,在给返回值和释放资源之间,子进程所处的特殊状
态称为僵尸进程。
每一个进程关闭的时候都会经历一个僵尸的状态。
僵尸进程不占用内存、CPU等所有资源。
当父进程终止子进程未清理时,这时形成的僵尸进程会导致出现问题,如内存溢出等。
4)疏忽的父亲没人管的孩子——长期存在的僵尸进程。
消除方法:
(1)强制关闭僵尸进程
(2)将僵尸进程挂载到init进程下,成为init的子进程
7、进程的状态:
(1)可运行状态(R)
准备被CPU运算的进程
(2)自愿睡眠或称为可中断的(S)
定期被唤醒的,一般每5秒钟唤醒一次
(3)非自愿睡眠或称为不可中断或强制(S)
不会被定期唤醒。
(4)停止(挂起)的进程(T)
ctrl z
(5)僵尸进程(Z)
https://blog.51cto.com/wangjifu/1241808