EBB-8、進程,yum添加centos源

一、yum添加centos源

1、執行cd /etc/yum.repos.d/,

clip_p_w_picpath002

  如果添加了RHEL安裝光盤的源,需要將光盤源重命名,避免影響使用。

  mv cdrom.repo cdrom.repo.bak

2、執行rpm -qa | grep yum檢查當前系統中都安裝了哪些有關於yum的包

clip_p_w_picpath004

3、執行rpm -e卸載,

  由於執行rpm -e yum-metadata-parser出現依賴關係卸載失敗;

  所以先執行 rpm -e yum-updatesd

  rpm -e yum-security卸載這兩個程序

clip_p_w_picpath006

4、 由於yum的相關包依賴關係非常複雜。所以當無法刪除時,執行 –nodeps參數忽略相應的依賴關

   系強制卸載

   rpm -e --nodeps yum

   rpm -e --nodeps yum-metadata-parser

clip_p_w_picpath008

5、將整理好的壓縮包解壓到/tmp下,並切換到/tmp/ VMFLODER

  tar zxvf ebai-yum.tar.gz -C /tmp/

clip_p_w_picpath010

6、安裝yum也會遇到很麻煩的依賴關係問題。所以,用yum-*一起去安裝他們,就解決了。

  rpm -ivh yum-*

clip_p_w_picpath012

7、安裝好之後,我們將Centos的源配置文件拷貝到/etc/yum.repos.d目錄中,看看能否使用yum。

  cp CentOS-Base.repo /etc/yum.repos.d/

clip_p_w_picpath014

clip_p_w_picpath016

8、發現不可以。因爲配置文件中使用了$releaserver,所以會檢查系統的版本。因此,還需要安裝其    

  他rpm包來改變系統的版本。

 1)執行vi CentOS-Base.repo,打開該文件查看mirrorlist到源服務器的鏡像列表中進行篩選,該

    行下采用了變量名稱來替代當前系統的版本名或版本號;

    baseurl指定一個具體的源服務器

clip_p_w_picpath018

 2)執行cat /etc/redhat-release查看本機linux版本號,版本號是Red Hat Enterprise Linux

    Server release 5.5 (Tikanga),centos官方源裏不存在該版本,所以需要改變當前系統的

    release。

clip_p_w_picpath020

 3)因此,先卸載RHEL自己的版本有關包

    執行rpm -e redhat-release-5Server顯示卸載失敗,

    所以執行 rpm -e --nodeps redhat-release-5Server強制卸載

clip_p_w_picpath022

 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

clip_p_w_picpath024

clip_p_w_picpath026

 5)cat /etc/redhat-release 查看當前系統的release,

    現在的版本爲CentOS release 5.4 (Final);

    同時在/etc/yum.repos.d/下放置一個CentOS-Base.repo的源配置文件

clip_p_w_picpath028

clip_p_w_picpath030

 6)用rpm命令來檢查一下這個包都裝出了什麼文件

    rpm -ql centos-release

clip_p_w_picpath032

 7)cd /etc/yum.repos.d/查看到源的配置文件已經準備完畢,

clip_p_w_picpath034

 8)現在,yum已經可用了。我們用yum list命令來檢查一下。

    yum list


二、進程

(一)、

1、什麼是進程

 進程是正在運行的可執行程序的實例,通過進程ID(pid)識別。

2、爲什麼需要有進程

  Linux使用虛擬內存,每個進程都擁有自己特定的內存地址空間。

3、進程的保存內容

 1)執行環境:

    每一個進程都是受保護的;進程之間不能互相訪問。

 2)輸入輸出環境:

(1)打開的文件描述符(descriptor)

    proc 目錄

clip_p_w_picpath036

    相應各個進程在內存中的抽象顯示。進入某個進程目錄下,顯示相關信息;切換到該目錄下的fd

    目錄,該目錄下的數字就是相應軟鏈接的描述符

clip_p_w_picpath038

(2)內存映射文件

    經常存放進程的可執行代碼

(3)文件系統環境

(4)環境變量

(5)遺留信息

(6)憑證

(7)資源統計和限制

4、查看進程命令

1) ps :默認顯示的是當前進程所調用的相關信息

  參數:

(1)-A -e ax :這三個參數都是查看所有進程

(2)-ef :查看所有進程並列表顯示

clip_p_w_picpath040

<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

clip_p_w_picpath042

5、進程的生命週期——啓動

1)進程創建和命令執行是兩個不同的概念。通常創建一個新進程是爲了運行一個指定的命令,但是不  

  運行命令也可以創建進程,不創建進程也可以運行新命令。

2)啓動進程的幾種方式

(1)創建新進程(派生(fork))

(2)執行新命令(exec)

(3)派生和執行

    例如字符界面下用戶的登錄

(4)查看進程家譜pstree 。

    系統的原始進程是init ,init的PID總是1    

    一個進程可以產生另一個進程,除了init以外, 所有的進程都有父進程

    使用pstree 命令看看系統的進程樹型結構,

    pstree可以用來以樹狀的方式表現進程的父子關 系.

clip_p_w_picpath044

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章