yum到底把包裝在哪兒了?
剛開始學linux一直搞不懂用yum安裝rpm包裝在哪個位置,但是原始碼安裝可以指定安裝目錄,產生一個問題這兩者有什麼區別呢?
兩者最大的區別是安裝位置的不同
rpm包會安裝在預設位置/etc/rc.d/init.d/ (軟連結 /etc/init.d)

原始碼安裝我們有時一般指定安裝在:/usr/local/
因為安裝位置的區別導致兩者啟動方式也不一樣 啟動方式是/etc/rc.d/init.d/httpd start(指令碼路徑 + 命令)

rpm包安裝的服務可以systemctl start foo.service 其實就是找到/etc/rc.d/init.d/ 這個路徑啟動服務
原始碼包安裝的服務需要找到路徑啟動,這樣每次開啟原始碼包服務都需要找到路徑啟動豈不是很麻煩!!!
想到偷懶的方式原始碼包也可以採取systemctl命令方式啟動嗎?
可以使用以下的方式: (建立軟連結將原始碼安裝路徑 連結到 rpm啟動路徑下)
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache 或者(改名字apache) ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/
可以和rpm一樣採用service httpd start (centos6版本) systemctl start httpd.service(centos7版本)啟動
還要一個問題,開機自啟動兩者可以做到一樣嗎?
3rpm包安裝後開機自啟動的方法 a:系統每次開機會讀一個檔案,所以可以編輯這個配置檔案vi /etc/rc.d/rc.local (軟連結 /etc/rc.local) 加入/etc/init.d/httpd start b:chkconfig httpd on
分享一些其他命令:
2.檢視服務
centos 7 :systemctl list-unit-files | grep enable
centos 6 :chkconfig --list 檢視服務自啟動狀態 (系統有7個執行級別,檢視到服務在此級別下的自啟動)
上面命令是檢視系統自啟動的服務,並不能檢視到當前系統啟動的服務,那怎麼看呢?
netstat -tlun 會列出系統中當前的已經啟動的的服務
-t 列出tcp資料
-u列出udp資料
-l列出正在監聽的網路服務
-n用埠號來顯示服務,而不是用服務名
-p列出該服務的程序ID(PID)