[TOC]
Linux應用程序基礎
查詢RPM軟件包信息
安裝、升級、卸載、RPM軟件包 yum倉庫,就是程序的位置
源代碼編譯安裝
(後期 學習 java se基礎語言)
一:Linux應用程序基礎
1.1:應用程序與系統命令的關係
方面 | 系統命令 | 應用程序 |
---|---|---|
文件位置 | 一般在/bin和/bin目錄中,或爲Shell內部指令 | 通常在/usr/和/usr/local目錄中 |
主要用途 | 完成對系統的基本管理工作,例如IP配置工具(ifconfig) | 完成相對獨立的其他輔助任務,例如網頁瀏覽器,騰訊QQ |
適用環境 | 一般只在字符操作界面中運行 | 根據實際需要,有些程序可在圖形界面中運行 |
運行格式 | 一般包括命令字、命令選項和命令參數 | 通常沒有固定的執行格式 |
關係 | 是獨立的 | 相對獨立,多個文件支撐一個任務應用程序 |
1.2:典型應用程序的目錄結構
--prefix=" 自定義安裝" 用手動編譯安裝
/var/log 日誌文件是共享的
1.3:常見的軟件包封裝類型
rpm:自動安裝包,把安裝過程的各種操作編譯封裝到裏面,適合新手使用
deb:在烏班圖(ubuntu,是界面)系統中使用,不在centos中使用
題外話:1.LINUX家族,下面Redhat,紅帽 三個認證(開源但是不是免費,基礎服務免費)
2.因爲紅帽的這個原因,有人不爽,就由此產生了社區(系統開發者,都是大佬),他們設計了centos
服務器中用centos的多,政府不差錢,用的紅帽的多
有一個面向客戶端的linux系統的是ubuntu系統(最好用),開源,純免費,特別適用於軟件開發人羣
全球中最好用,中國用不了,因爲長城防火牆擋住了
3.debian,是linux的早期版本系統,是烏版圖的前身,服務端和客戶端都具備功能後來衍生出了烏版圖和kaili
4.kaili是專用的工具,包括**
kaili佔用資源很少,通常是安裝在樹莓派中
5.suse是德國的linux系統,被ISP運營商所使用(電信,移動,聯通) 定製版
源代碼軟件包:原始代碼,是人能看得懂的
jazz——————class,class看不懂,是機器能識別的
綠色免安裝的軟件包:解壓後可以直接使用
1.4RPM包管理工具
yum可以解決RPM的依賴關係
紅色是名字,版本號,發佈次數
版本號第一個是大版本,第二個是小版本
i386,i686出現,就代表是32位系統
64位可以最大支持2t內存,瓶頸在於讀寫
現在已經有了內存數據庫,redis
服務器只能插半高顯卡
二:查詢RPM軟件包信息
2.1:查詢已安裝的RPM軟件信息
rpm -q【子選項】 【軟件名】
-q 查看基本信息,是否安裝
常用選項
-qa 查看系統已安裝的軟件包
grep 過濾篩選
-qi 查看已安裝的軟件包的詳細信息
-ql 查看軟件包安裝的所有的文件
-qf 根據指定的文件,去查看它屬於哪個軟件包
-qc 查看軟件包的所有配置文件 (配置文件後綴 conf,cnf,ini;前兩個看得多,PHP的文件是inin)
-qd 查看軟件包的文檔
2.2 查詢未安裝的RPM軟件包文件中信息
rpm -qp 【子選項】RPM包文件
常用選項
-qpi 查看未安裝的軟件包的詳細信息
-qpl 查看未安裝軟件包的所有文件
-qpc 查看未安裝軟件包的所有配置文件 (配置文件後綴 conf,cnf,ini;前兩個看得多,PHP的文件是inin)
-qpd 查看未安裝軟件包的文檔
三:安裝、升級、卸載RPM軟件包
3.1:安裝或升級RPM軟件包
安裝或升級RPM軟件
rpm 【選項】 RPM包文件
常用選項
-i install 安裝
-U 更新
-F
3.2:卸載指定的RPM軟件
rpm -e 軟件名
-e 卸載
3.3 輔助選項
--force 強制執行
--nodeps 解決依賴性關係(但是基本上沒啥用)
-h 友好顯示(即以#號鍵顯示安裝進度條)
-v 顯示詳細過程信息
rpm -qd httpd 查看httpd的安裝包的文檔
yum remore httpd -y 重新安裝httpd
rpm -ivh 安裝
rpm -evh 卸載
windows做共享
1.用戶和組配置
2.本地策略配置
開啓來賓訪問權限
安全選項,
3.高級共享設置
4.共享文件屬性
smbclient -L //192.168.100.3/ 進入主機的共享中心
最後的步驟:mount.cifs //192.168.100.3/rhel6 /mnt,把共享文件夾rhel6掛載到mnt文件夾上
查看掛載:df -h
解除掛載:umount /mnt
3.4:維護RPM數據庫
init 初始化的意思,rebuild重建 database,數據庫
導入驗證公共密鑰 --import 導入的意思,僅作校驗作用,沒有其他作用
點開虛擬機,此時錄視頻,如何把鏡像文件掛載進去,在右下角cd中,虛擬機設置,
有綠色亮點代表已經運行,接下來進行掛載
之前講的是共享文件掛載
cd /dev/
mout 設備名稱 掛載點(本地目錄)
mount /dev/sr0 /mnt/
RPM-GPG-KEY-CentOS-7是公鑰
packages 軟件包
h友好顯示讀條
按兩下tab,顯示
bind是一個dns軟件包
查看軟件的配置文件
yum倉庫可以解決這種依賴關係
yum倉庫分兩種,一種是私網倉庫,公網倉庫(自建倉庫,官方倉庫),在沒有網的情況下,自己搭建
今天學習搭建私網倉庫
yum list,在有網的情況查看公網倉庫
免交互,就是提前同意
沒網絡下便搭建本地yum倉庫
清空yum緩存 yum clean all
cd /etc
後綴是repo yum配置文件
新建一個bak目錄,把公網yum數據放進去
重新建一個yum.repos.d文件,寫入信息
【abc】 描述信息
name=test 名字叫做test
baseurl=file:///mnt 軟件包所在路徑
enabled=1 開啓軟件倉庫,0就是不開啓
gpgcheck=0 不檢查驗證密鑰,1就是開啓,如果開啓的話還需要再寫入公鑰,爲了省事就直接關閉就可以
保存退出
安裝bind,yum install bind -y
安裝httpd yum install httpd -y
出現錯誤,可能是本地映像文件的包並不太全,或者是之前安裝過不同的版本
取消本地yum倉庫,思路是把之前創建的文件刪掉,放到bak的文件恢復原來路徑
每切換一次倉庫,就需要清空一次yum緩存 yum clean all
之後再連上網絡的情況下,去看公網倉庫,yum list
3.5解決軟件包依賴關係方法
1)安裝有依賴關係的多個軟件時
-
被依賴的軟件包需要先安裝
- 可同時指定多個.rpm包文件進行安裝
2)卸載有依賴關係的多個軟件時
-
依賴其他程序的軟件包需要先卸載
- 可同時指定多個軟件名進行卸載
3)忽略依賴關係
- 結合“--nodeps”選項,但可能導致軟件異常
重點記住:
-
使用rpm命令查詢RPM軟件信息的常用選項
-
使用rpm命令安裝、升級、卸載RPM軟件包的常用選項
-
典型應用程序的目錄結構
- 常見的軟件包封裝類型
四:源代碼編譯安裝
4.1:源代碼編譯概述
1)使用源代碼安裝軟件的優點
-
獲得最新的軟件版本,及時修復bug
- 根據用戶需要,靈活定製軟件功能
2)應用場合舉例
-
安裝較新版本的應用程序時
-
當前安裝的程序無法滿足需要時
- 需要爲應用程序添加新的功能時
源代碼安裝模式可以視爲iDIY模式,可以自定義自己的需要安裝,依據官方發佈的對應版本的軟件手冊操作
4.2:編譯安裝源代碼包
1)Tarball封包
-
.tar.gz和.tar.bz2格式居多
- 軟件素材參考:http://sourceforge.net
2)完整性校驗
- md5sum 校驗工具命令
除此之外還有zip壓縮包, unzip 解壓命令 -d 指定解壓爲位置
unzip 軟件包名 -d 解壓至指定路徑
掛載mount.cifs //192.168.100.3/rhel7 /abc
yum install gcc gcc-c++ 使用yum自動安裝gcc gcc-c++ 編譯器
4.3:編譯安裝過程
4.4 手工編譯安裝四步驟
(1) tar解包
1)習慣上將軟件包釋放到/usr/src/目錄
2)解包後的軟代碼文件位置:
- /usr/stc/軟件名-版本號/
3)實例
(2)./configure 配置
1)使用源碼目錄中的configure腳本
2)執行“./configure 00help”可查看幫助
3)典型的配置選項
- --prefix=軟件安裝目錄
4)示例
(3)make編譯(make是轉編譯的過程)
執行make命令
(4)make安裝
執行make install 命令
示例
安裝後的測試、應用、維護軟件
使用前
啓動Apa'che
運行lynx 127.0.0.1查看本機Apache運行狀態
httpd.conf httpd 配置文件
apachectl start
手工編譯安裝步驟小結
- 1:找到源碼包
先掛載,在宿主機共享目錄內找到要安裝的壓縮包(把宿主機rhel6 掛載到abc文件夾內)
- 2:解壓源碼包到指定位置
- 3:configure配置
-
4:make編譯
先安裝環境包,即編譯器等相關軟件
pcre作用在網頁當中的語言
zlib是網頁壓縮處理的圖片傳輸
中間可能會出現一些報錯問題:環境包問題,配置格式問題,功能性方面問題(軟件版本,是否支持功能)
- 5:make安裝
make install 命令
- 安裝完成後優化,即測試、應用維護軟件
1:找到服務配置文件,修改功能 conf配置文件
修改IP地址(在這裏每一行的前面若是有#鍵,則代表是註釋行,不發揮功能,若要發揮功能,則要取消註釋#鍵)
開啓端口
查看對應80端口是否啓用
關閉防火牆
htdocs 網頁目錄,包含首頁index
打開之前輸入的ip地址
中文顯示不出來,是因爲沒有開啓轉換
2:找到服務啓動腳本,啓動服務 可以被systemctl或者service直接管理
例如:service network restart /etc/init.d/network
systemctl restart network.service /lib/systemd/system/network.service