系統燒錄
換源更新
docker安裝
docker-compose安裝
既然是詳盡的記錄,之前出現過的前幾點,也會老生常談下,會儘量縮短共識性的東西,講點新思路。同時,會將上次忽略的點這裡進一步闡述下,爭取老話新說。OK,開整!一、系統燒錄
【備註】
1. 樹莓派設備:Raspberry Pi 2b
2. Ubuntu鏡像連結:https://ubuntu.com/download/raspberry-pi/thank-you?version=21.10&architecture=server-armhf+raspi
3. 踩坑點:根據自己的設備型號進行下載對應的系統,2b對應的是ARMV7,劃重點,後面要考的!
上述系統燒錄完成以後,接上屏幕、滑鼠和鍵盤。完成後的界面是這樣Shai的:請繼續忽略跟上次一樣的馬賽克,條件簡陋。這個系統鏡像是無桌面版的,伺服器嘛,能理解的,輕便穩定安全是王道!所以,我們直接登錄就可以了。初始用戶名是:ubuntu,密碼是ubuntu。第一次進去的話,會立即讓你修改密碼的。按照操作進行就可以了。修改完密碼以後,重新登錄就是如下界面啦!二、換源更新【重點】
替換步驟:
第一步:原文件的備份
cd /etc/apt
ls
cp ./source.list ./source.list.bak && ls -la由於沒有採用root用戶,在操作cp的時候出現了權限不夠。但是沒事,我們可以藉助sudo這個外掛,達到提權的目的。關於權限這個環節,等後面我弄的更清楚些,結合內網滲透方面的提權,單獨開個系列講下,感覺還是蠻有意思的!第二步:替換源文件內容
接下來就是替換source.list文件中的官方鏡像地址了,一般的ubuntu系統可選的有清華源、科大源、阿里源等等。但是,還記得我上面提到的嘛:樹莓派是ARM架構的,所以這個替換源內容的時候就要注意了。選取的不是x86結構的ubuntu源,而是arm結構的ubuntu-ports源。因此,為了防止出錯,我們更換上次那種換源的手法:整個內容替換。這次,我們還是藉助於vim這個好用的編輯器。而不是簡單的複製粘貼,而是玩點進階的;字符串的替換手法,操作如下:sudo vim ./source.list
:%s/ports.ubuntu.com/mirrors.aliyun.com/g # 阿里源:%s/ports.ubuntu.com/mirrors.ustc.edu.cn/g # 科大源
:wq當然,如果不想用vim的,可以使用sed命令,也是可以完成上述操作的!第三步:更新目錄和軟體
老兩樣,不過阿里源和科大源出現的內容是不一致的。不過影響不大,按照正常步驟yes就可以了。sudo apt-get update && sudo apt-get -y upgrade【備註】
注意樹莓派是ARM架構的,更新源的時候注意鏡像源地址的區別
如果權限不夠,可以藉助Sudo方法。切記,非必要,勿亂用!
簡單分析下source.list文件的內容,可以看到在host之後,會帶有一些各種不同的單詞。host地址我們好理解,後面的單詞意思是什麼呢?其實也很好理解,類似於你自己創建一個項目的時候,是不是需要跟上發行版本和其他other分類信息。同樣,這個源的構成也是這樣的:host + 版本代號 + 組件分類信息。
版本代號簡單舉例 -- 類比macOS的11為BigSur,12為Monterey
系統版本
代號
ubuntu 16.04
xenial
ubuntu18.04
bionic組件分類信息 -- 類比商業版、社區版的概念
代號
含義
main
基本組件
restricted受限組件
universe
社區維護
multiverse
非自由組件簡單講下vim
首先,vi和vim還是有些區別的,不過大部分還是共同的。這裡以vim為例,vi的話,參考參考。看下圖,了解vim工作有三個模式,命令模式(指令模式)、輸入模式和底線命令模式。說的很拗口哦,我們簡單點記:命令模式和輸入模式,其中他們兩者通過Esc鍵進行轉換。當在命令模式前加上: 後,就變成了底線命令模式。在 輸入模式,我們可以對內容進行修改;在 命令模式,我們可以控制屏幕上的光標移動、字符或字符串刪除之類的;在 底線命令模式,我們可以文件保存、退出、設置編輯環境等。
這裡簡要概括幾個常用的,更加詳細的,請選擇runoob.com!(曾哥教我的,良心網站!)
輸入模式
命令模式
底線命令模式
a:插入到光標後
u:撤銷一步,可疊加
:wq 保存並退出
i: 插入到光標前
dd: 刪除一行
:w! 強制退出不得不吐槽,微信畫表格好醜,這裡只羅列了幾個。
更詳細的,自己去發掘下吧,或者下次單獨開一講,這裡不能喧賓奪主!
三、docker安裝
在這裡,沒有考慮部署LAMP或者LNMP這個常用環境了。而是採取了隔離性更好的docker,而且在後續部署自己服務的時候,拉取的鏡像也是已經配置好的,節省了自己的運維成本。話不多說,開整第一步:安裝docker
翻車版本
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \ "deb [arch=arm64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
# 5. 更新目錄後,安裝dockersudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io第二步:沒有第二步,直接翻車了。是不是很意外!先看報錯的內容吧
很明顯的告訴我們,找到的依賴是不匹配系統的,我們在換源的時候,就一直強調我們是ARM架構的,對應的是ubuntu-ports。可以看到Hit:5這一欄對應的docker下載地址所拉取的應該不是我們需要的arm版本的。我們來進入到這個地址看下,內容是什麼:
打過靶場的師傅,看到這樣的結構是不是內心狂喜。別激動,別激動,我們現在排錯呢!
看到有dists和gpg兩個文件夾,這麼說,我上述的猜想是❎的。這裡涉及到apt包的概念了,簡單闡述下吧(PS:因為我也不是很懂!):國內的鏡像倉庫都會按照一定的規律或者約束進行存放,這裡的dists文件夾存放的是關於軟體包的信息數據(文件名稱、大小、位置等),gpg文件夾應該是存放的gpg籤名之類的信息吧。這裡知識是我的盲點,大家有興趣的可以搜索關鍵詞「創建apt源」、「apt倉庫」之類的進行學習,這裡鴿一下,等我學會了能確定是對的,再分享出來。🏷:所以這種手動安裝的方法,翻車了!還未解決,正在排錯,待定!
🏷: 下次可以單獨開一欄,這個排錯的過程!為什麼上面會去解析那個軟體源的構成,也是在排錯中,懷疑是不是源的問題。結果,這個猜想又被排除了!
🎺---apt背後格式參考文章地址:https://cizixs.com/2014/04/10/ubuntu_repository_format_explained/
好了,雖然手動的翻車了!但是,肯定不會讓大家失望而歸啊!接下來,放上參考大佬的方法,成功裝上了docker的步驟,老規矩,先看截圖。sudo curl -sSL https://get.daocloud.io/docker | sh
sudo docker version是不是很簡單,就兩行命令的事情。但是,實際並不是這樣的。這裡面的坑也是很多的。如果說,你執行上述第一條命令的時候未成功,可以將軟體源替換為如下的內容,我就直接放結果了,不進行分析了;在軟體換源的備註裡已經解釋清楚了。# deb是二進位包,deb-src是源碼包。是科大源,想要知道原因關注後面的組件# deb-src https:deb https:# deb-src https:deb https:# deb-src https:deb https:# deb-src https:🏷:同時,也參考了網上第三種方法,直接下載源碼,進行安裝。結果運行出來還是無法執行的。❎如下,大佬可以解答下,如何解決。
🎺---參考文章地址:https://segmentfault.com/a/1190000022902612
第二步:優化配置
上面是將docker終於安裝完了,但是我們不是root用戶,每次都加sudo執行,實在是有辱斯文。當然,你也可以選擇alias別名化處理,但是作為讀書人,不雅不雅。我們還是優雅的去執行:🏷:解決普通用戶不加sudo---->放入Docker運行組
sudo usermod -aG docker $USER🏷:設置docker開機自啟動
sudo systemctl enable docker🏷:啟動docker
sudo systemctl start docker第三步:查看docker是否正常
好了,現在可以檢測是否都完成docker的安裝了。老規矩,跑個hello world看看✌🏻,大功告成!終於是能用了,實屬不易,這個系列完結,一定要把排錯的辛酸歷程單獨開一節。
這裡在補充下,docker的卸載方法
sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker
sudo dpkg -l | grep docker
sudo apt remove --purge docker.*別問,為啥會知道刪除卸載指令。說多了都是淚,經歷了反反覆覆的卸載安裝,就是為了排錯,找出原因!想學Docker的夥伴,請繼續前往runoob.com或者Docker官網,很贊
記住Docker的兩大特性:CGroups、Namespace 。這個和Linux內核的特性有點關係。有時間,開一個雲計算系列,好好探討下。
都學了Docker了,Kubernetes也去學習下。建議,先學Docker Swarm的思想,後面學K8s會快很多。
這裡部署Docker環境是為了一下節做準備,更新了標題:做樹莓派的搭建的安全系列文章。從kali起步,請期待吧!
三、docker-compose安裝
為了防止跟Docker安裝一樣翻車,這次,我們採用最原始的方法。直接將源碼下載下來進行安裝。實踐證明,這樣反而是效率最高的。現在歸納下安裝方法:
包管理器在線安裝(apt、pip、yum等)
源碼本地安裝
有的源碼還需要本地編譯進行安裝,這裡我們採取不需要編譯的方法。其實參考網上的包管理安裝方法,也是下載編譯後的文件。所以不如直接本地下載,然後scp傳到樹莓派上,進行安裝配置環境。請看步驟:第一步:自己的電腦下載好Docker-Compose的安裝包
https://github.com/docker/compose/releases在Release界面下載對應的版本,還記得我說的上面的劃重點嘛,樹莓派是基於ARMV7指令集的。將這個文件下載到本地,並修改名字為docker-compose。第二步:scp上傳文件到樹莓派
將文件改好名字後,本地新開一個終端,將文件上傳到樹莓派上。scp ./docker-compose ubuntu@192.169.1.103:/home/ubuntu 在ubuntu的終端中查看當前路徑下的文件,可以看到上傳上來的docker-compose文件。第三步:docker-compose配置
關於如何安裝和啟動docker-compose,在github該項目中已經很清晰的描述了。我們來分析下
該README文件告訴我們,將剛剛上傳的文件拷貝到以下幾個帶docker的目錄中。那麼,我們怎麼確定,自己的docker安裝後,是在哪一個目錄呢?很簡單,find命令查詢呀!find命令除了可以查詢文件還可以查詢其他類型,就包括目錄。該指令為find / -name docker -type d這裡採用了全局搜索,可以看到紅框上的內容,與官方文件中的目錄一致。所以我們將該文件拷貝到該目錄下。為了權限的方便,直接使用root用戶進行操作了。大家別學,很危險!cp /home/ubuntu/docker-compose /usr/libexec/docker/cli-plugins/接下來,就是給予該二進位文件權限了
chmod +x /usr/libexec/docker/cli-plugins/docker-compose 我這裡出現的是777的情況,當時給順手了。不嫌麻煩,可以去掉權限。其次,就是建立軟連結了
sudo ln -s /usr/libexec/docker/cli-plugins/ /usr/bin/docker-compose建立軟連結的目的是方便訪問,可以在你的bash中快捷訪問。這裡插一句,軟連結和硬連結你這樣記錄:軟連結相當於快捷鍵,硬連結相當於拷貝副本。這樣子,就不會搞錯了,它對應特性也好理解了。最後,我們來測試下是否完成安裝
sudo docker-compose --version你看,這就安裝結束了。還沒踩雷,是吧!看來這種方法還是蠻好的,能夠突破一些因為網絡不通或者依賴安裝不上帶來的問題,導致最後安裝失敗!是不是又get到一個新技能!😄
結束語
行文至此,結束了!反反覆覆的翻車,系統都重裝幾次了。屬實邊學邊練了,家人們!下面照例放出參考文章連結,有些英文的就沒放了,我代理掛了,我也進不去了。這裡安利一下,谷歌英文搜索的給力。其實,滲透的師傅們,Hack搜索規則也不是不行:樹莓派(RASPBERRY PI 4)UBUNTU 18.04 安裝DOCKER
https://www.freesion.com/article/8149949783/樹莓派-ubuntu安裝docker和docker-compose
https://blog.csdn.net/qq_40828591/article/details/108205572樹莓派4B安裝Ubuntu20.04 解決更換鏡像源問題
https://blog.csdn.net/qq_16547997/article/details/106793339Ubuntu Server 19.10系統的安裝、配置和優化
https://blog.csdn.net/qq_35872856/article/details/104442703換用國內apt源解決樹莓派安裝ubuntu後apt-get速度慢的問題
https://blog.csdn.net/CharlesSimonyi/article/details/89346473https://docs.docker.com/compose/install/#alternative-install-options各位,下期見,ZOOM Peace!