1. 能用apt/yum安裝,就用apt/yum安裝,多看官網給的第一手資料。
2. 學習docker技術。
3. 萬不得已,在嘗試原始碼編譯安裝。
在 linux 上安裝程式大概有 2 種思路:
直接編譯源**;
使用包管理器。
受開源運動影響,linux 上很多軟體都可以拿到源**,這也是 linux 能取得成功的乙個重要原因。接下來我們先嘗試用包管理器安裝應用,然後再用乙個實戰的例子,教你如何編譯安裝nginx。
包管理器使用
linux 下的應用程式多數以軟體包的形式發布,使用者拿到對應的包之後,使用包管理器進行安裝。說到包管理器,就要提到dpkg和rpm。
我們先說說包。 linux 下兩大主流的包就是rpm和dpkg。
dpkg(debian package),是linux乙個主流的社群分支開發出來的。社群就是開源社群,有很多世界頂級的程式設計師會在社群貢獻**,比如 github。一般衍生於debian的 linux 版本都支援dpkg,比如ubuntu。
dpkg和rpm也都提供了類似的能力:
查詢是否已經安裝了某個軟體包;
查詢目前安裝了什麼軟體包;
給定乙個軟體包,進行安裝;
刪除乙個安裝好的軟體包。
yum你可能會說,我不用yum也不用apt,我只用docker。首先給你乙個連擊 666,然後我還是要告訴你,如果你做docker映象,那麼還是要用到yum和apt,因此還是有必要學一下。
另一方面,yum幫助使用者解決了很多依賴,比如使用者安裝乙個軟體依賴了 10 個其他的軟體,yum會把這 11 個軟體一次性的裝好。
apt接下來我們來重點說說apt,然後再一起嘗試使用。因為我這次是用ubuntulinux 給你教學,所以我以 apt 為例子,yum 的用法是差不多的,你可以自己 man 一下。
為什麼會有編譯安裝?
對於c/c++程式,不同平台編譯出來cpu指令不同
學完整個編譯安裝 ngnix 過程後,你可能會問,為什麼會有編譯安裝這麼複雜的事情。
原來使用 c/c++ 寫的程式存在乙個交叉編譯的問題。就是寫一次程式,在很多個平台執行。而不同指令集的 cpu 指令,還有作業系統的可執行檔案格式是不同的。因此,這裡有非常多的現實問題需要解決。一般是由作業系統的提供方,比如 redhat 來牽頭解決這些問題。你可以用apt等工具提供給使用者已經編譯好的包。apt會自動根據使用者的平台型別選擇不同的包。
但如果某個包沒有在平台側註冊,也沒有提供某個 linux 平台的軟體包,我們就需要回退到編譯安裝,通過源**直接在某個平台安裝。
linux開發伺服器環境
由於換電腦,重新配置了哈伺服器,都是我的悲劇,用ghost盤對盤對拷的時候選錯了順序,悲劇發生,只有重新配置。配置samba的時候老是寫不進去,找了半天原因,由於寫對單詞了。還是redhat el 6.samba共享建立 首先將全域性設定為share vi etc samba smb.conf 先在...
Linux伺服器開發初步
伺服器開發需要考慮的內容很多,比如伺服器的架構 穩定性 效能以及負載能力等等。事實上,在開發伺服器的過程中,需要綜合考慮各種因素,比如就客戶端連線時間較短卻又比較頻繁的伺服器 例如 伺服器 而言,在可選的伺服器結構中,預先派生進 執行緒的結構就要比並髮式結構高效,這一點將在後續的文章中對其進行詳細的...
SVN伺服器從windows遷移至Linux
一 備份visualsvn專案 1.現在要使用linux作為svn伺服器,之前是在windows server 2008上的,用的是visualsvn,作者除了遷移了svn還有禪道,gitlab等,為此可是查閱了很多資料,為此做乙個總結,希望以後遇到類似問題的有資料可查,有興趣的可以看看我的其他隨筆...