iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0

我們這系列截至目前做了很多發散的工作,從建立 Python 專案,透過 Fugle API 去抓取行情,並且把這個功能安置在虛擬主機 EC2 上,根據所需,把 Redis 和相關的 Python 裝好。 但這些工作記錄在 iThome 技術文章中,經過時間推移後,幾個月後讓不同人來建置環境時,可能會因為其中的部分套件改版,而導致與文件提及的設定細節、相依性等等都不同。

打包的目的

  • 透過將 程式碼/執行檔 打包成套件。
  • 套件中,除了含有「主程式」之外,還包含了安裝前的相依性檢查、安裝後的初始化設定腳本、移除時需要進行的設定指令腳本。
  • 針對問題的重現與修復,都會因為有了版本、版號帶來重現問題的方便性,有利於後續維護人員。

REF

需求討論

  1. 因為這套工具,未來是預計放在 Linux 伺服器中運行,非運作在 MacOS。 常見的 Linux package 有 debrpm
  2. deb 是 Debian Package 的簡稱,是 Debra Murdock + Ian Murdock 的名字組合出來的喔。 Debian package,是經過 gzip 和 tar 打包而成。 處理這些包的經典程式是 dpkg,經常是通過 apt 來運作。 Ubuntu、Mintos
  3. rpm 是 「RedHat Package Manager」的縮寫,從名字可以看出是由 RedHat Enterprise Linux 衍伸出來的。 CentOS、Oracle Linux、Fedora 都是預設支援 rpm 安裝。
  4. 總結上述原因,我們接下來會先來做 debian package 的打包。

環境準備流程

  1. 請先參考 Debian 軟件包構建流程
  2. 另外,Debian 近年的文件也寫得非常清楚易懂,也建議要先看過:如何開始打包第一個 Debian 套件
  3. 找一台 Linux 主機來做,不然也可以用 Docker Container 進行打包。
  4. 安裝所需工具
sudo apt-get install build-essential fakeroot devscripts git git-buildpackage debhelper debmake lintian pbuilder
  1. 在安裝 pbuild 的時候,會發現 EC2 預設的 mirror server 中,並沒有這個套件。 所以手動加入 http://tw.archive.ubuntu.com/ubuntu

結論

  • 時間有限,一天能做一點點。

上一篇
【Day 22】 四巫日 (Quadruple Witching Day)
下一篇
【Day 24】 修復 Redis Server Service on Ubuntu
系列文
從一萬元開始交易:收割韭菜三十天,量化交易工具製作32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言