使用reprepro工具搭建deb倉庫

2021-10-18 15:21:13 字數 3415 閱讀 8130

安裝nginx,reprepro,gnupg軟體。

工具名稱

作用備註

nginx

高效能的web伺服器。

必須reprepro

生成和管理debian軟體包系統資訊庫的工具。

必須gnupg

用於加密、 數字簽名及產生非對稱鑰匙對的軟體。

非必須

$ sudo apt-get install nginx reprepro gnupg
刪除nginx預設的index.html檔案。

$ sudo rm /var/www/html/index.nginx-debian.html
修改預設配置。

$ sudo vim /etc/nginx/sites-enabled/default

location /

修改完配置檔案後,通過如下命令,檢查配置是否正確。需要注意從其他地方拷貝配置檔案可能會引入特殊的不可見的字元,導致檢查配置失敗,根據錯誤提示修改配置檔案。

sudo nginx -t
nginx的停止和重啟命令如下。

$ sudo nginx -g stop # 停止nginx服務

修改nginx資料夾的主屬和組屬,方便後續在該目錄下建立資料夾和各種操作。

$ ls /var/www/html -al

總用量 8

drwxr-xr-x 2 root root 4096 1月 14 14:17 .

drwxr-xr-x 3 root root 4096 1月 14 14:05 ..

$ sudo chown xiao:xiao /var/www/html -r

$ ls /var/www/html -al

總用量 8

drwxr-xr-x 2 xiao xiao 4096 1月 14 14:17 .

drwxr-xr-x 3 root root 4096 1月 14 14:0

codename: uranus

update: update_from_base

architectures: amd64 source

components: main contrib non-free

#signwith:

description: private debian packages

log: ppa.log

重要的配置字段解釋:

字段說明

codename

版本的代號,對應/etc/apt/source.list中url的相關字段,非常重要。

update

倉庫同步的策略,會在conf/updates檔案中尋找對應name的同步策略配置。如果配置了多個同步策略,則依次執行。

architectures

倉庫中deb包支援的架構,包括i386,amd64,mips64,sw_64 source。需要根據實現情況填寫,支援什麼架構新增什麼架構。

components

倉庫中deb包的元件型別,包括main,contrib,non-free。

verifyrelease: blindtrust重要的配置字段解釋:

字段說明

name

同步策略名稱,對應conf/distributions檔案中的update欄位,用於區分不同的同步策略。

suite

髮型版本。可以簡單理解為上游倉庫的codename的值。

architectures

同步的架構,需要確認上游倉庫支援的架構和當前倉庫需要同步的架構。

components

同步的元件,需要確認上游倉庫支援的元件和當前倉庫需要同步的元件。

method

同步的上游倉庫url位址或是本地倉庫位址。

倉庫的主要目錄結構如下所示,

uos@uos-pc:/var/www/html/ppa$ tree -d -l 3

.└── uranus

├── conf

├── db

├── dists

│ └── uranus

├── lists

└── pool

├── contrib

├── main

└── non-free

則倉庫的位址為 $ = /var/www/html/ppa/uranus

在終端中,將當前目錄移動到$,後續相關命令都將基於這個路徑進行操作,或者在緊接著reprepro後新增-b $選項,指定倉庫位址。

syntax: reprepro [--delete] includedeb <.deb-file>
syntax: reprepro [-c ] [-a ] [-t ] remove
syntax: reprepro update
syntax: reprepro [-c ] [-a ] [-t ] list
修改測試機器上的/etc/apt/source.list檔案為你需要測試的deb倉庫位址。

$ cat /etc/apt/sources.list

deb [trusted=yes] uranus main contrib non-free

deb-src [trusted=yes] uranus main contrib non-free

之後執行相關命令,檢查倉庫是否搭建成功。

$ sudo apt-get update

$ sudo apt-cache policy deepin-terminal

當我們同步上游倉庫時,如果上游倉庫很大,終端頁面會一直卡在getting packages…階段。

如果在conf/distributions檔案中配置了log屬性,則可以在conf的同級目錄中找乙個名為logs的目錄,可以檢視目錄中的日誌,日誌中輸出當前同步的時間和deb包名。

如果沒有在conf/distributions檔案中配置了log屬性,則在conf上級目錄中執行如下命令:

du -h . --max-depth=0
如果資料夾大小一直在增加,則說明同步仍在繼續,耐心等待即可。

DCMTK工具使用(搭建小型PACS)

echoscu 執行dcmprscp後服務就啟動了,接下來需要使用echo確定是否能聯通服務端,命令如下 echoscu aet acme1 aec local2 d 172.16.119.129 10086 aec是服務的aet,172.16.119.129是服務端位址,如果是本地的話可以輸入12...

deploy 工具搭建

1.指令碼檔案傳至 data work 目錄下 檔案參照原伺服器 2.安裝ruby yum install ruby yum install rubygems 3.安裝capistrano gem install capistrano 4.rsync 配置 檔案參照原伺服器 1 root rpas ...

Dust3D 3D 建模工具

dust3d 是乙個 開源建模工具,可以用它快速建立 low poly 模型,用於遊戲製作 動畫製作以及 3d 列印模型製作,既適合有經驗的模型師建立雕刻前的基礎模型,也適合像作者這樣的新手 會一點點 blender 製作低面遊戲模型。目前已經完成建模 骨骼繫結自動生成 貼圖自動展開 環境光遮蔽自動...