linux中安裝程序及賬戶管理


程序安裝及管理

 

1. Linux 應用程序基礎

 Linux命令與應用程序的關系

1):文件位置

系統命令:一般在/bin和/sbin目錄中,或為Shell內部指令

應用程序:通常在/usr/bin和/usr/sbin目錄中

2):主要用途

系統命令:完成對系統的基本管理工作,例如IP配置工具

應用程序:完成相對獨立的其他輔助任務,例如網頁瀏覽器

3):適用環境

系統命令:一般只在字符操作界面中運行

應用程序:根據實際需要,有些程序可在圖形界面中運行

4):運行格式

系統命令:一般包括命令字、命令選項和命令參數

應用程序:通常沒有固定的執行格式

 典型應用程序的目錄結構

文件類型

保存目錄

普通執行程序文件

/usr/bin

服務器執行程序文件和管理程序文件

/usr/sbin

應用程序配置文件

/etc

日志文件

/var/log

應用程序文檔文件

/usr/share/doc

應用程序手冊頁文件

/usr/share/man

 

2. 常見的軟件包封裝類型

封裝類型

說明

rpm軟件包 

擴展名為“.rpm

deb軟件包

擴展名為“.deb

源代碼軟件包

一般為“.tar.gz”、“.tar.bz2”等格式的壓縮包包含程序的原始代碼

附帶安裝程序的軟件包 

在壓縮包內提供install.sh、setup等安裝程序或以“.bin”格式的單個執行文件提供

綠色免安裝的軟件包

在壓縮包內提供已編譯好的執行程序文件解開壓縮包后的文件即可直接使用

 軟件包封裝類型包括rpm包. Deb包. 源代碼包. 帶安裝程序的包。

    源代碼:程序員寫好的初始代碼,無法被計算機讀取,需要被編譯成二進制計算機語言,Linux中的C語言編譯器為gcc。

 

3.RPM 包管理工具

RPM Package Manager

由Red Hat 公司提出,被眾多Linux 發行版所采用

建立統一的數據庫文件,詳細記錄軟件包安裝、卸載等變化信息,能夠自動分析軟件包依賴關系

RPM包含RPM數據庫,RPM軟件包文件和RPM命令三個部分

RPM軟件包

 軟件素材參考:http://rpmfind.net / www.rpw.org

     一般命名格式:軟件名-軟件版本-發布次數.操作系統類型.硬件架構類型.rpm

 

 

 注意:執行“man rpm”命令可獲得關於 rpm 命令的詳細幫助信息

 

4.查詢 RPM 軟件包信息

   1):查詢已安裝的rpm軟件信息

 語法:rpm  -q[子選項]  [軟件名]

 用法:結合不同的子選項完成不同查詢

 -qa:查看系統中已安裝的所有RPM軟件包列表

  -qi:查看指定軟件的詳細信息(--info)

 -ql:查詢指定軟件包所安裝的目錄、文件列表(--list)

  -qc:僅顯示指定軟件包安裝的配置文件

 -qd:僅顯示指定軟件包安裝的文檔文件

 -qf:查看指定文件或目錄由那個軟件包所安裝(--file)

 

   2):查詢文件或目錄屬於哪個RPM 軟件

語法:rpm  - qf文件或目錄名

   3):查詢未安裝的RPM 包文件

語法:rpm  - qp[子選項]  RPM包文件

用法:結合不同的子選項完成不同查詢

  -qpi:通過.rpm包文件查看該軟件的詳細信息

 -qpl:查看.rpm安裝包內所包含的目錄、文件列表

 -qpc:查看.rpm安裝包內包含的配置文件列表

 -qpd:查看.rpm安裝包內包含的文檔文件列表

注意:使用r pm 命令只能查詢通過 RPM方式安裝的軟件包信息用其他途徑安裝到系統中的軟件包,rpm 命令將無法獲取相關信息

 

3. 安裝、升級、卸載 RPM 軟件包

安裝或升級RPM軟件

語法:rpm  [選項]  RPM包文件...

用法:不同選項適用於不同情況

-i:安裝一個新的rpm 軟件包

-U:升級某個rpm 軟件,若原本未裝,則進行安裝

  -F:更新某個rpm 軟件,若原本未裝,則放棄安裝

-h:以“#”號顯示安裝的進度

-v:顯示安裝過程中的詳細信息

 

 卸載指定的RPM軟件

語法:rpm  -e  軟件名

--nodeps:刪除軟件包,即使有依賴關系的軟件包任然安裝在系統上

--test:不執行任何動作,只打印輸出

5. 維護RPM數據庫

linux中保留了當前安裝軟件的數據庫,該數據庫位於/var/lin/rpm/目錄中。使用file /var/lib/rpm/*命令查看目錄內容,可以看到都是二進制形式的散列數據庫文件。

查看數字簽名

 

 

 6.解決軟件包依賴關系

安裝有依賴關系的多個軟件時:被依賴的軟件包需要先安裝;可同時指定多個.rpm 包文件進行安裝

卸載有依賴關系的多個軟件時:依賴其他程序的軟件包需要先卸載;可同時指定多個軟件名進行卸載

忽略依賴關系:結合“--nodeps”選項,但可能導致軟件異常

 

 

舉個栗子:演示vim-common和vim-enhanced軟件包的卸載、安裝過程,參考步驟如下:

    1)首先正常卸載vim-common,應提示被vim-enhanced所依賴而失敗

    2)因此正常卸載順序:先卸載vim-enhanced,然后再卸載vim-common

    3)然后從光盤中重新安裝這兩個軟件包,首先安裝vim-enhanced,應提示需要先安裝vim-common

    4)因此正常安裝順序:先安裝vim-common,然后再安裝vim-enhanced,演示時也可以在一條rpm命令中同時指定這兩個文件

—— 提醒注意:如果需要同時安裝相互依賴的數十個.rpm軟件包,可以結合Shell通配符“*”同時指定這些文件作為參數

     執行rpm命令可以完成對rpm軟件包的查詢. 安裝. 升級. 卸載等管理操作。

擴展:RPM相關注意事項

 RPM軟件包的先決條件可以運用命令行選項—requires和—provides直接查看

   安裝vsftpd的先決條件:命令rpm -q -requires vsftpd

   顯示軟件包顯性提供內容:命令rpm -q -provides vsftpd

   顯示vsftpd的安裝腳本:命令rpm -q --scripts vsftpd

   按時間順序顯示系統上安裝的RPM包:命令rpm -qa –last

  解決RPM的些常見問題(訪問數據庫)

Killall-9 rpm 命令殺死所有當前掛起的rpm進程

將RPM數據庫目錄(/var/lib/rpm/)中所有以 _db. 開頭的文件刪除

7.源代碼編譯概述

1):優點

獲得最新的軟件版本,及時修復bug;根據用戶需要,靈活定制軟件功能

2):應用場合舉例

安裝較新版本的應用程序時;自由軟件的最新版本大都以源碼的形式最先發布

當前安裝的程序無法滿足需要時;編譯安裝可由用戶自行修改、定制功能

需要為應用程序添加新的功能時;用戶可以重新配置、自由修改源代碼,加入新的功能

 

8.編譯安裝源代碼包

Tarball封包:.tar.gz 和.tar.bz2 格式居多;軟件素材參考:http://sourceforge.net

完整性校驗

md5sum校驗工具;計算MD5校驗和,並與官方提供的值相比較,判斷是否一致

[root@localhost ~]# md5sum axel-1.0a.tar.gz

2d94c0b36b374834567f1fcec5f89119  (MD5校驗和) axel-1.0a.tar.gz

對於下載回來的軟件包文件,如果MD5校驗和與官方提供的不一致,則說明該軟件包在網絡傳輸過程中可能被非法改動過

對於校驗和不一致的軟件包,應盡量不要使用,以免帶來病毒、木馬等不安全因素

編譯安裝的基本過程

環境:需安裝支持C/C++程序語言的編譯器,如:gcc-4.4.7-4.el6、gcc-c++-4.4.7-4.el6 ;make-3.81-20.el6.……

    過程:

 

 

步驟1. 解包:習慣上將軟件包釋放到/usr/src/ 目錄;解包后的源代碼文件位置: /usr/src/軟件名-版本號/

步驟2. 配置:使用源碼目錄中的configure 腳本;執行“./configure --help” 可以查看幫助;典型的配置選項: --prefix=軟件安裝目錄

 在linux系統中通過源代碼方式安裝軟件時,也可以將所有程序文件安裝到同一個文件夾,如:(/configure—prefix=/usr/local/apache)中。

步驟3. 編譯:執行make 命令

步驟4. 安裝:執行make install 命令

    在linux中編譯源代碼需要使用gcc. Make編譯環境;從源代碼安裝應用程序的基本過程包括解包. 配置. 編譯. 安裝這四個步驟。

 

賬號和權限管理

 

1.用戶賬號和組賬號概述

用戶帳號:

超級用戶,即root用戶:類似於Windows系統中的Administrator用戶,非執行管理任務時不建議使用root用戶登錄系統

普通用戶:帳號一般只在用戶自己的宿主目錄中有完全權限

程序用戶:用於維持系統或某個程序的正常運行,一般不允許登錄到系統。例如:bin、daemon、ftp、mail等

組帳號:

基本組(私有組):每一個賬號至少屬於一個組。

附加組(公共組):一個賬號屬於一個基本組后,再加入了另一個組。

 UIDGID

UID(User IDentity,用戶標識號)

GID(Group IDentify,組標識號)

注意:root用戶的UID的固定值為0root組帳號的GID號為固定值0 1~499UIDGID默認保留給程序用戶使用,普通用戶/組使用的UIDGID號在50060000之間

 

2.用戶賬號文件 /etc/passwd

保存用戶名稱、宿主目錄、登錄Shell等基本信息;每一行對應一個用戶的帳號記錄;所有用戶都可以訪問passwd文件中的內容,但只有root用戶才能更改

 

 

Password文件配置七個字段的含義:賬戶名稱;用戶密碼或密碼占位符;用戶賬號的uid號;基本組賬號的gid號;用戶說明;宿主目錄;登陸shell。

 

3.用戶賬號文件 /etc/shadow

保存用戶的密碼、賬號有效期等信息;每一行對應一個用戶的密碼記錄;文件的每一行內容包含九個用冒號“:”分隔的配置字段

shadow文件配置九個字段的含義:賬戶名稱;md5值. 若為“*/!!” 表明此用戶不能登陸,若為空則不需要密碼;上次修改密碼時間;密碼最短有效天數,默認為0;密碼最長有效天數,默認為99999;提前多少天警告用戶口令即將過期,默認為7;密碼過期多少天后禁用該賬戶;賬號失效時間,默認為空,表示永久使用;保留字段。

1):useradd命令:添加用戶賬號

在rhel 6 中,使用useradd命令主要完成在/etc/passwd和/etc/shadow文件末尾添加該用戶的賬號記錄;若未指定用戶宿主目錄,則在/home目錄下創建與賬號同名的宿主目錄;若未指定用戶所屬的組,則自動創建與用戶賬號同名的基本組,保存在/etc/group. /etc/gshadow中。

語法useradd  [選項]...  用戶名

常用命令選項

-u:指定UID 標記號

-d:指定宿主目錄,缺省為/home/用戶名

-e:指定帳號失效時間

-g:指定用戶的基本組名(或UID號)

-G:指定用戶的附加組名(或GID號)

-M:不為用戶建立並初始化宿主目錄

-s:指定用戶的登錄Shell

2):用戶賬號的初始配置文件

文件來源:新建用戶帳號時,從/etc/skel目錄中復制而來

主要的用戶初始配置文件

~/.bash_profile:用戶每次登錄時執行

~/.bashrc:每次進入新的Bash環境時執行

~/.bash_logout:用戶每次退出登錄時執行

3):passwd命令:為用戶賬號設置密碼

語法:passwd  [選項]...  用戶名

常用命令選項:-d:清空用戶的密碼,使之無需密碼即可登錄;-l:鎖定用戶帳號;-S:查看用戶帳號的狀態(是否被鎖定);-u:解鎖用戶帳號

       注意:通過password命令鎖定的用戶賬號,將無法在登錄系統(shadow文件中的對應密碼字符串前將添加“!!”字符),只能由管理員來解除鎖定。

4):usermod命令:修改用戶賬戶屬性

語法:usermod  [選項]...  用戶名

常用命令選項

-l:更改用戶帳號的登錄名稱

-L:鎖定用戶賬戶

-U:解鎖用戶賬戶

以下選項與useradd命令中的含義相同(把指定改為修改即可): -u、-d、-e、-g、-G、-s

5):userdel命令:刪除用戶賬號

語法:userdel  [-r]  用戶名

添加-r 選項時,表示連用戶的宿主目錄一並刪除

 

4. 組賬號文件

/etc/group:保存組帳號基本信息;/etc/gshadow:保存組帳號的密碼信息

1):groupadd命令:添加組賬號

語法:groupadd  [-g GID]  組賬號名

2):gpasswd命令:添加. 設置. 刪除組成員

語法:gpasswd  [選項]...  組帳號名

常用命令選項:-a:向組內添加一個用戶;-d:從組內刪除一個用戶成員;-M:定義組成員列表,以逗號分隔

3):groupdel命令:刪除組賬號

語法:groupdel組帳號名 (刪除組帳號后,從/etc/group文件中將查不到相應的記錄)

 

5.查詢賬號信息

id命令:用途:查詢用戶身份標識;語法:id  [用戶名]

groups命令:用途:查詢用戶所屬的組;語法:groups  [用戶名]

finger命令:用途:查詢用戶帳號的詳細信息;語法:finger  [用戶名]

userswwho命令:用途:查詢已登錄到主機的用戶信息

 

6.文件/目錄的權限和歸屬

訪問權限

讀取r:允許查看文件內容、顯示目錄列表

寫入w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄

可執行x:允許運行程序、切換目錄

歸屬(所有權)

屬主:擁有該文件或目錄的用戶帳號

屬組:擁有該文件或目錄的組帳號

 

 

 

7.設置目錄和文件的權限chmod

語法1chmod   [ugoa]  [+-=]  [rwx]  文件或目錄...(+、-、= 分別表示增加、去除、設置權限)(u、g、o、a 分別表示屬主、屬組、其他用戶、所有用戶(ugo的總和))(r,w,x權限字符可分別表示為8進制字符4,2,1,表示一個權限組合時需要將數字進行累加;如rwx=7,rw-r-r=644)

語法22chmod  nnn  文件或目錄...(3位八進制數)

常用命令選項:-R:遞歸修改指定目錄下所有子項的權限

 

8.設置目錄和文件的歸屬chown

語法:chown  屬主 文件或目錄

Chown :屬組  文件或目錄

Chown 屬主:屬組 文件或目錄

常用命令選項:-R:遞歸修改指定目錄下所有文件、子目錄的歸屬


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM