1. 程式人生 > >linux中安裝程序及賬號管理

linux中安裝程序及賬號管理

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
  1. 常見的軟件包封裝類型
封裝類型 說明
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 命令將無法獲取相關信息

  1. 安裝、升級、卸載 RPM 軟件包
    安裝或升級RPM軟件
    語法:rpm [選項] RPM包文件...
    用法:不同選項適用於不同情況
    -i:安裝一個新的rpm 軟件包
    -U:升級某個rpm 軟件,若原本未裝,則進行安裝
    -F:更新某個rpm 軟件,若原本未裝,則放棄安裝
    -h:以“#”號顯示安裝的進度
    -v:顯示安裝過程中的詳細信息

    卸載指定的RPM軟件
    語法:rpm -e 軟件名
    --nodeps:刪除軟件包,即使有依賴關系的軟件包任然安裝在系統上
    --test:不執行任何動作,只打印輸出

  2. 維護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等
組帳號:
基本組(私有組):每一個賬號至少屬於一個組。
附加組(公共組):一個賬號屬於一個基本組後,再加入了另一個組。
UID和GID
UID(User IDentity,用戶標識號)
GID(Group IDentify,組標識號)
註意:root用戶的UID的固定值為0、root組帳號的GID號為固定值0 ;1~499的UID、GID默認保留給程序用戶使用,普通用戶/組使用的UID、GID號在500~60000之間

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 選項時,表示連用戶的宿主目錄一並刪除

  1. 組賬號文件
    /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 [用戶名]
users、w、who命令:用途:查詢已登錄到主機的用戶信息

6.文件/目錄的權限和歸屬
訪問權限
讀取r:允許查看文件內容、顯示目錄列表
寫入w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄
可執行x:允許運行程序、切換目錄
歸屬(所有權)
屬主:擁有該文件或目錄的用戶帳號
屬組:擁有該文件或目錄的組帳號
技術分享圖片

7.設置目錄和文件的權限chmod
語法1:chmod [ugoa] [+-=] [rwx] 文件或目錄...(+、-、= 分別表示增加、去除、設置權限)(u、g、o、a 分別表示屬主、屬組、其他用戶、所有用戶(ugo的總和))(r,w,x權限字符可分別表示為8進制字符4,2,1,表示一個權限組合時需要將數字進行累加;如rwx=7,rw-r-r=644)
語法22:chmod nnn 文件或目錄...(3位八進制數)
常用命令選項:-R:遞歸修改指定目錄下所有子項的權限

8.設置目錄和文件的歸屬chown
語法:chown 屬主 文件或目錄
Chown :屬組 文件或目錄
Chown 屬主:屬組 文件或目錄
常用命令選項:-R:遞歸修改指定目錄下所有文件、子目錄的歸屬

linux中安裝程序及賬號管理