1. 程式人生 > >一、Linux應用程序基礎 1、應用程序與系統命令的關系 文件位置 主要用途

一、Linux應用程序基礎 1、應用程序與系統命令的關系 文件位置 主要用途

soft sock efi 地址欄 -h sha 包安裝 文檔 -a

一、Linux應用程序基礎
1、應用程序與系統命令的關系
文件位置
主要用途
使用環境
運行格式
2、Linxu下軟件包的類型
rpm
deb
源代碼包
自帶安裝程序的軟件包
免安裝的軟件包

二、使用RPM包管理工具
1、RPM包的命令格式
軟件名稱-版本號.此版本號.硬件平臺.rpm

rpm包與源代碼包的區別:
a、rpm包的功能沒有源代碼的強大
b、rpm包安裝管理要比源代碼簡單方便
c、rpm包版本通常比源代碼包的低

2、RPM包的管理工具就是---rpm命令
rpm命令的功能:
a、查詢、驗證rpm包信息
b、安裝、升級、卸載rpm包
c、維護rpm數據庫信息

1)查詢
  a、查詢已經安裝的rpm包
    格式: rpm -q[子選項] rpm包名
    子選項:
   a:所有
   i:詳細信息
   l:列表
   c:配置文件
       d:文檔信息
   f:查看指定的文件或目錄來源於哪個rpm包 格式:rpm -qf  文件或目錄

  b、查詢未安裝的rpm包
 格式: rpm -qp[子選項] rpm包完整名稱
 子選項:
   i:詳細信息
   l:列表
   c:配置文件
       d:文檔信息
 查看是否安裝有lynx包
    #rpm -q lynx   或 #rpm -qa lynx  或 #rpm -qa |grep lynx

 查看由httpd所產生的配置文件?
    第一步確認該rpm是否安裝
      #rpm -q httpd
    已安裝:
      #rpm -qc httpd
    未安裝:
      1)將鏡像放入到虛擬機的光驅中
      2)進入#cd  /media/CentOS_6.5_Final/Packages/
      3) 查看#rpm -qpc httpd-2.2.15-29.el6.centos.x86_64.rpm

     查看由httpd所產生的文檔文件?
    第一步確認該rpm是否安裝
      #rpm -q httpd
    已安裝:
      #rpm -qd httpd
    未安裝:
      1)將鏡像放入到虛擬機的光驅中
      2)進入#cd  /media/CentOS_6.5_Final/Packages/
      3) 查看#rpm -qpd httpd-2.2.15-29.el6.centos.x86_64.rpm

     查看命令useradd,由那個rpm產生?
    第一步:查看該命令所對應的文件
    # which useradd
     /usr/sbin/useradd
    第二部:查看該文件由那個rpm包產生
    # rpm -qf /usr/sbin/useradd 
     shadow-utils-4.1.4.2-13.el6.x86_64

[root@CentOS6-node1 ~]# configure document from
[root@CentOS6-node1 ~]# 查看rpm包vsftpd會產生哪些文件或目錄?^C
[root@CentOS6-node1 ~]# 查看rpm包elinks的詳細信息?^C
[root@CentOS6-node1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6node1-lv_root 38776280 5818208 30988308 16% /

tmpfs 506176 224 505952 1% /dev/shm
/dev/sda1 495844 34897 435347 8% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
[root@CentOS6-node1 ~]# cd /media/CentOS_6.5_Final/
[root@CentOS6-node1 CentOS_6.5_Final]# cd Packages/
[root@CentOS6-node1 Packages]# rpm -qpl vsftpd-2.2.2-11.el6_4.1.x86_64.rpm ^C
[root@CentOS6-node1 Packages]# rpm -qpi elinks-0.12-0.21.pre5.el6_3.x86_64.rpm ^C

2)安裝、升級、卸載rpm包
   安裝:
rpm -ivh  rpm包完整名稱
    rpm -U  rpm包完整的名稱(如已經安裝則進行升級,未安裝則就安裝)
   升級:
 rpm -U  rpm包完整的名稱
     rpm -F  rpm包完整的名稱
   卸載:
 rpm -e rpm包名
   選項:
 --force:強制
     --nodeps:忽略依賴關系
 -h:以‘#’顯示安裝的進度
 -v:顯示詳細信息

安裝rpm包vsftpd?

[root@CentOS6-node1 ~]# rpm -q vsftpd
package vsftpd is not installed
[root@CentOS6-node1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6node1-lv_root 38776280 5818236 30988280 16% /
tmpfs 506176 224 505952 1% /dev/shm
/dev/sda1 495844 34897 435347 8% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
[root@CentOS6-node1 ~]# cd /media/CentOS_6.5_Final/Packages/
[root@CentOS6-node1 Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@CentOS6-node1 Packages]# rpm -q vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64
[root@CentOS6-node1 Packages]#

卸載rpm包lynx?

[root@CentOS6-node1 ~]# rpm -q lynx
lynx-2.8.6-27.el6.x86_64
[root@CentOS6-node1 ~]# rpm -e lynx
error: Failed dependencies:
text-www-browser is needed by (installed) docbook-utils-0.6.14-25.el6.noarch
[root@CentOS6-node1 ~]# rpm -e lynx --nodeps //--nodeps 卸載忽略依賴關系
[root@CentOS6-node1 ~]# rpm -q lynx
package lynx is not installed
[root@CentOS6-node1 ~]#

3)維護rpm數據庫信息
   重建RPM數據庫
rpm --rebuilddb  或 rpm --initdb
   導入驗證公鑰
    rpm --import  公鑰存放的文件

[root@CentOS6-node1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6node1-lv_root 38776280 5813696 30992820 16% /
tmpfs 506176 224 505952 1% /dev/shm
/dev/sda1 495844 34897 435347 8% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
[root@CentOS6-node1 ~]# cd /media/CentOS_6.5_Final/
[root@CentOS6-node1 CentOS_6.5_Final]# ls
CentOS_BuildTag images repodata RPM-GPG-KEY-CentOS-Testing-6
EFI isolinux RPM-GPG-KEY-CentOS-6 TRANS.TBL
EULA Packages RPM-GPG-KEY-CentOS-Debug-6
GPL RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Security-6
[root@CentOS6-node1 CentOS_6.5_Final]# rpm --import K

自動解決rpm包的依賴關系--yum:
1、將centos 6.5的光盤放入到虛擬機的光驅中,自動掛載上
2、確認自動掛載成功
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root 18069936 4942316 12209708 29% /
tmpfs 1019324 224 1019100 1% /dev/shm
/dev/sda1 495844 39955 430289 9% /boot
/dev/sr0 3762278 3762278 0 100% /media/CentOS_6.5_Final (有此行就ok)
3、修改yum的客戶端配置文件
#rm -rf /etc/yum.repos.d/*
#vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux
baseurl=‘file:///media/CentOS_6.5_Final‘
enabled=1
gpgcheck=0
4、安裝rpm軟件包
#yum -y install 軟件包名稱
5、卸載rpm軟件包
#yum -y remove 軟件包名稱

三、從源代碼編譯安裝程序
前提:系統必須安裝有gcc、及make環境
[root@CentOS6-node1 ~]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright ? 2010 Free Software Foundation, Inc.
本程序是自由軟件;請參看源代碼的版權聲明。本軟件沒有任何擔保;
包括沒有適銷性和某一專用目的下的適用性擔保。
[root@CentOS6-node1 ~]# make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-redhat-linux-gnu
1、解包
用途:解壓並釋放源代碼包到指定目錄中

2、配置
用途:設置安裝目錄、安裝模塊等選項

3、make編譯
用途:生成可執行的二進制文件

4、安裝make isntall
用途:復制二進制文件到系統,配置應用環境

通過源代碼方式安裝 httpd-2.2.17.tar.gz 軟件確保web服務正常運行。
[root@CentOS6-node1 ~]# ls
anaconda-ks.cfg firefox-3.0.10.tar.gz install.log.syslog vmware-tools-distrib 視頻 下載
a.txt httpd-2.2.17.tar.gz pass 公共的 圖片 音樂
b.txt install.log RealPlayer11GOLD.rpm 模板 文檔 桌面
[root@CentOS6-node1 ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/^C
[root@CentOS6-node1 ~]# ls /usr/src/
debug kernels
[root@CentOS6-node1 ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/ //解包
[root@CentOS6-node1 ~]# ls /usr/src/
debug httpd-2.2.17 kernels
[root@CentOS6-node1 ~]# cd /usr/src/httpd-2.2.17/ //進入到httpd釋放的目錄中
[root@CentOS6-node1 httpd-2.2.17]# ./configure --prefix=/usr/local/apache; make ; make install //配置、編譯、安裝

啟動服務
[root@CentOS6-node1 httpd-2.2.17]# /usr/local/apache/bin/apachectl start
httpd: apr_sockaddr_info_get() failed for CentOS6-node1
httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName
[root@CentOS6-node1 httpd-2.2.17]# netstat -anpt |grep :80 //查看是否啟動成功
tcp 0 0 :::80 :::* LISTEN 45291/httpd

驗證:
在xshell中輸入firefox打開瀏覽器;然後再地址欄中輸入127.0.0.1;可以看看It works,則說明安裝ok。

一、Linux應用程序基礎 1、應用程序與系統命令的關系 文件位置 主要用途