1. 程式人生 > >軟體安裝與維護【Linux-shell】

軟體安裝與維護【Linux-shell】

軟體安裝與維護:


    常用Linux軟體安裝方式:
    1.以原始碼方式安裝
    2.以軟體包方式安裝:【軟體包分2種】
        1.rpm軟體包。-->在RedHat紅帽企業的RedHat,Fedora,CentOS等發行版Linux上,軟體包的管理工具:rpm包管理器
        2.deb軟體包。-->在Debian的Debian,Ubuntu等Linux發行版上,軟體包的管理工具:dpkg
    3.以線上方式安裝:【線上軟體安裝和更新-方式分2種】
        1)yum   #---->對應.rpm軟體包
        2
)apt #---->對應.deb軟體包 ------------------------------------------------------------------------------------------- rpm管理器: 軟體包檔名基本格式:【軟體名稱-版本號-釋出版本次數.硬體架構.rpm# i686->Intel 686,i386,x86-->32位,x86_64-->64位 rpm [選項】 【rpm軟體包檔案位置/軟體名稱】:安裝、維護軟體包 -i:安裝指定軟體包檔案,加軟體包檔案路徑引數 -v:顯示詳細過程資訊 -h:顯示進度,結合-v -q:查詢指定軟體,給出軟體名稱引數。 -U:升級軟體包,加軟體包路徑引數 -V:加軟體名稱,驗證指定軟體 -e:給出軟體名稱引數,刪除指定軟體 -K:給出軟體包檔案路徑引數,檢查簽名 rpm -V apache2 #標誌資訊,標誌:S檔案大小發生改變,M檔案訪問許可權或型別發生改變,5檔案內容發生變化而使MD5發生變化,L符號連結發生變化,D裝置主次編號改變,U軟體使用者歸屬關係改變,G軟體組群歸屬關係改變,T檔案修改時間改變,P軟體執行許可權改變。
rpm -Vf /etc/crontab #標誌資訊與檔名之間的檔案型別標誌: #c配置檔案,d文件,g不被軟體包含的檔案,l授權檔案,r自述檔案 ls -l /etc/pki #檢視rpm數字簽名認證的Linux發行版公鑰檔案目錄 ---------------------------------------------------------------------------------- 使用yum服務: yum客戶端使用yum服務的全域性配置檔案:cat /etc/yum/yum.conf 配置客戶端連線yum容器: #網易的CentOS源
1.先將/etc/yum/repos.d/下的檔案備份,然後從http://mirrors.163.com/.help/centos.html下載yum容器的.repo檔案(CentOS6)----CentOS6-Base-163.repo儲存在/etc/yum/repos.d/目錄下。 2.編輯上述的.repo檔案,將所有的$releasever替換為63.cd /etc/yum/repos.d ls yum clean all yum makecache || || || #再配置本地yum源: 1.掛載光碟在/mnt/cdrom。 2.在/etc/yum/repos.d目錄下建立local.repo檔案。編輯local.repo檔案: [local] name=local baseurl=file:///mnt/cdrom/Server gpgcheck=1 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release enabled=1 || || || yum clean all yum makecache -------------------------------------------------------------------- local.repo的配置資訊: [local]:標記了關於local這個yum容器的配置資訊起始位置。 name=local:yum容器的全名 baseurl=記錄了yum容器的所在位置。 gpgcheck=1是否檢查rpm軟體包的簽名。 gpgkey=用於驗證rpm軟體包數字簽名的公鑰檔案存放位置。 enabled=1該容器是否啟用。 ------------------------------------------------------------------- 線上軟體安裝和更新: yum install [軟體名列表】:安裝列表中的軟體包 yum update [軟體名列表】:更新列表中的軟體包 yum remove [軟體名列表】:移除列表中的軟體包 yum list 【軟體名列表】:列出可用軟體包的各種資訊 yum info [軟體名列表】:顯示可用軟體包的描述和總體資訊 yum provides [特徵】:找出所有符合特徵資訊的軟體包 yum clean:清除快取 yum makecache:重新生成快取。 yum repolist:列出當前所有的容器。 ----------------------------------------------------------------- 編譯原始碼與軟體安裝: gcc [選項】 【輸入檔案】:編譯原始碼 -o:後加輸出檔案路徑引數-->生成可執行二進位制檔案。 -c:只對原始碼進行預處理、編譯和彙編,不進行連線,即:只生成目標檔案.o -I:後加目錄引數,編譯器從目錄中查詢是否有所需的標頭檔案.h ----------------------------------------------------------------------- make和makefile: cd ~/makehello #include "world1.h" #include "world2.h" int main() { hello1(); hello2(); return 0; } #儲存為main.c void hello1(); #儲存為world1.h void hello2(); #儲存為world2.h #include "world1.h" #include <stdio.h> void hello1() { printf("hello world\n"); } #儲存為hello1.c #include "world2.h" #include <stdio.h> void hello2() { printf("hello world2\n"); } #儲存為world2.h 首先: gcc -c main.c gcc -c hello1.c gcc -c hello2.c gcc -o makehello main.o hello1.o hello2.o ./makehello 然後: vim ./makefile---->: makehello:main.o hello1.o hello2.o gcc -o makehello main.o hello1.o hello2.o hello1.o:hello1.c world1.h gcc -c hello1.c hello2.o:hello2.c world2.h gcc -c hello2.c main.o:main.c world1.h world2.h gcc -c main.c #:wq儲存退出----> rm -f main.o hello1.o hello2.o make ./makehello ---------------------------------------------------------------------- make [選項】 【目標】:自動確定原始碼的編譯部分並執行對應的編譯命令。 -f:後加檔案路徑引數用於指定一個檔案作為makefile -I:後加目錄路徑引數,用於指定一個包含了makefile檔案的目錄。 makefile檔案每條規則的定義格式: 目標:相關檔案列表 製表符(Tab鍵) 執行命令 #清理目標檔案clean: rm -f main.o hello1.o hello2.o ---->命令列: make clean make main.o make ./makehello make命令安裝軟體: install: @cp makehello /usr/local/bin @echo "install finish." # @:make執行命令後不輸出內容 ---->命令列: make clean make make install which makehello ----------------------------------------------------------------------- vim makefile--->: all:makehello install clean hello1.o:hello1.c world1.h gcc -c hello1.c hello2.o:hello2.c world2.h gcc -c hello2.c main.o:main.c world1.h world2.h gcc -c main.c makehello:main.o hello1.o hello2.o gcc -o makehello main.o hello1.o hello2.o install: @cp makehello /usr/local/bin @echo "安裝完成" clean: @rm -f main.o hello1.o hello2.o @echo "清除臨時檔案" -----> make makefile檔案中巨集定義的使用: INSTALLDIR=/usr/local/bin #install: # @cp makehello $(INSTALLDIR) # @echo "安裝完成" ---------------------------------------------------------------------------- 制定軟體驗證的週期性作業: rpm -Va #!/bin/bash rpm -Va > /tmp/rpmVResult cat /tmp/rpmVResult | while read line do i=`expr index "$line" 5` if [ $i -eq 3 ] then echo $line>>/tmp/rpmVResult_md5 fi done if [ -e /tmp/rpmVResult_md5 ] then mail root< /tmp/rpmVResult_md5 rm -f /tmp/rpmVResult_md5 fi #儲存為rpmVerify.sh 設定指令碼的執行週期: 0 0 * * 1 root /root/cron/rpmVerify.sh date tail /var/log/cron mail --------------------------------------------------------------------------- tarball軟體的編譯及安裝: 1.從https://nmap.org/download.html下載nmap網路安全掃描軟體的tarball檔案,儲存在/root/nmap下 2.解壓:tar -zxvf nmap-6.49BETA5.tgz ls cd nmap-6.49BETA5 ls 3.執行configure指令碼: ./configure make #編譯 make install #安裝軟體 nmap -V #檢查nmap軟體的安裝版本

補充: