1.源碼包的安裝
1.下載源碼包
源碼包 後綴:.tar.gz
2.需要安裝gcc
yum list gcc
yum install
3.解壓源碼包
cd Desktop/
ls
tar zxvf ......
4.生成makefile文件(如果沒有)
進入解壓後的文件目錄中,看是否有makefile文件
如果沒有,運行configure文件生成makefile文件
./configure --help
mkdir /opt/xx
./configure --prefix=/opt/xx/
如果不指明安裝目錄的話,默認安裝在/usr/local/apache2/的目錄下
5.編譯
make(當前目錄直接運行)
6.安裝
make install (安裝到/opt/xx裏面)
注:安裝Apache軟件源碼包httpd.tar.gz
安裝wine.tar.gz,作用是:在Linux下運行windows軟件(需要安裝3-4個小時)
2.使用RPM包(RedHat Package Management)
- 把已有的源碼包,編譯成爲RPM包,去掉了源碼包部分功能,只是源碼包功能的一個子集
- RPM包自帶的功能無法取消,可能出現冗餘功能,也可能因此出現漏洞;而源碼包功能可以根據需要進行使用,可以取消無關的功能。因而源碼包的定製性很強,RPM包的定製性不強,但是安裝起來非常方便
- RPM包後綴:.rpm
- 可以實現軟件的安裝,查詢,卸載,更新。。。
- rpm功能由第一個選項決定的,如果第一個選項是i的話,代表install
rpm -ivh
-i:install
-v:安裝進度
-h:數字簽名
rpm -ivh linuxqq-v1.2-betal.i386.rpm
版本 系統 後綴
qq
q:查詢 a:所有
rpm -qa
rpm -qa | grep linuxqq
rpm包安裝路徑已經指定好默認路徑
查詢路徑:
rpm -ql linuxqq
查詢配置文件:
rpm -qc linuxqq
查詢幫助文檔:
rpm -qd linuxqq
查詢安裝信息:
rpm -qi linuxqq
查看某個文件是由那個軟件安裝出來的:
rpm -qf /etc/passwd
驗證數字簽名(用公鑰,沒有的話爲not OK):
rpm -K vsftpd-2.0.5-16.e15_4.1.i386.rpm
所以要導入CentOS的公鑰:
rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
驗證(有公鑰,驗證通過爲OK)
rpm -K vsftpd-2.0.5-16.e15_4.1.i386.rpm
查看軟件包(p:package)
rpm -qlp linuxqq-v1.0.2-betal.i386.rpm
安裝新的軟件包:
rpm -ivh /mnt/CentOS/vsftpd-2.0.5-15.e15_4.1.i386.rpm
rpm -qa | grep vsftpd
rpm -qc vsftpd
rpm -qd vsftpd
rpm -ql vsftpd
rpm -qi vsftpd
rpm -e vsftpd
rpm -qa | grep vsftpd
rpm -Uvh vsftpd-2.0.5-16.e15_4.1.i386.rpm
如果沒有此元件,就直接安裝所需軟件;
如果已經安裝了此軟件,就先卸載,再安裝此軟件。
如果要是更新內核的話,就需要使用:
rpm -ivh kernel......
這樣可以保證防止因爲新版本內核不穩定造成的安全問題,因爲這個命令沒有刪除舊版本的內核
問題:假如安裝A軟件包,提示需要先安裝B軟件包,然後安裝B軟件包,提示需要先安裝C軟件包。。。。。。
解決:
rpm -ivh --force xxxxxxx
(但是不推薦使用這種方式)
推薦使用yum安裝解決這個問題!
3.YUM安裝
原理:
yum服務器:提供發送要安裝以及相互依賴的安裝包
yum客戶端:接收到所有安裝包,存於內存中,安裝完成後刪除
問題:
1.爲什麼服務器可以知道哪些安裝包之間有依賴關係?
2.爲什麼客戶端知道去哪個服務器下載所需要的安裝包?
cd /etc/yum.repos.d/
ls
rm -rf aa.repo
vim xx.repo
[aa](這裏是yum源,隨便寫)
name=aaaaa #(隨便寫,注意name後面不能出現空格,name必須要出現)
#baseurl=ftp://192.168.50.250/pub/
baseurl=file://mnt/ #(根下面的光盤掛載點/mnt/)
enabled=1 #(enabled:代表是否啓用這個yum源,0代表不起用)
gpgcheck=0 #(0代表不對軟件包進行密鑰驗證,1代表對軟件包進行密鑰驗證,如果是1,需要將CentOS公鑰導入過來)
yum clear all (清除緩存)
yum list gcc
xx.repo文件可以寫入多個源,如果一個源沒有找到,會自動跳入下一個源:
[aa]
name=aaaaa
baseurl=file://mnt/ #(根下面的光盤掛載點/mnt/)
enabled=1
gpgcheck=0
[bb]
name=bbbbbb
baseurl=ftp://192.168.60.250/pub/
enabled=1
gpgcheck=0
yum clear all
yum list vsftpd
yum list vsftpd\*(如果忘記後面那個是什麼單詞,可以使用 “轉義*”)
yum list vsftpd* (如果是*,那麼代表前面只要是vsftp後面包含任意個字符的相似文件,不夠準確)
還可以使用search查找
yum search vsftp(將包含vsftp的文件包全部找到)
yum remove vsftpd(後面提示是否卸載,鍵入y)
yum remove vsftpd -y(不需要提示的話,可以先直接加入 -y 選項)
yum -y remove vsftpd
yum install vsftpd\*
yum install vsftpd\* -y
yum -y install vsftpd\*
想知道某個包是由那個命令產生的可以使用
yum whatprovides */
yum whatprovides */iostat(查看iostat命令是由什麼包產生的)
這個命令原理類似查找命令:
rpm -qld /mnt/CentOS/*:找每個安裝文件下可能產生的安裝目錄
yum groplist(列出組別)
system-config-packages &
列出組別
yum grouplist 'KDE*'
安裝組別
yum groupinstall 'KDE (K 桌面環境)'
刪除組別:
yum groupremove 'KDE (K 桌面環境)'
ifconfig eth0
df -h
網絡配置器 Host-Only(使網絡互通)
ping xxxxx
iptables -L -n
iptables -F (清除防火牆)
ping xxxxx
ifconfig eth0
setup(網絡配置)
service network restart
ping xxxxx
clear
現在把這臺新機器設置爲yum源
CD/DVD(IDE)瀏覽IOS鏡像,把光盤掛載上來
選擇已連接
mount /dev/cdrom/mnt(進行掛載)
ls /mnt/
vim /etc/yum.repos.d/xx.repo
[aa]
name=aaa
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum install vsftpd -y
iptables -F
services iptables stop
services iptables restart
ftp 192.168.60.251
cp -rvf /mnt/CentOS/* /var/ftp/pub/
ls /var/ftp/pub/
ls /var/ftp/pub -1 | wc -l(查看一共有多少個包)
ls -1 /mnt/CentOS/wc-l
yum install createrepo -y(安裝這個包)
createrepo -v /var/ftp/pub | grp ^d
yum clear all
yum list gcc
yum list vsftpd -y
cd /var/ftp
ls
ll
mkdir qq
cd qq/
ls
cp ~/Desktop/linuxqq-v1.0.2-betal.i386.rpm
ls
cd ..
createrepo -v qq/
vim /etc/yum.repose.d/aa.repo
[aa]
name=aaaaa
baseurl=ftp://192.168.60.251/pub
enabled=1
gpgcheck=0
[bb]
name=bbb
baseurl=ftp://192.168.60.251/pub
enabled=1
gpgcheck=0
yum clear all
yum list linuxqq
pkgs.org參考網站
把源碼包編譯成爲RPM包???怎麼完成!