Debian Linux 現在版本是 11.7,但是有舊系統是 8 (Jessie),而這系統的 Repository 已經 old old 都找不到資料了,要怎麼找到那時代的套件來安裝呢?
Debian 舊系統 要安裝過期套件 尋找方式
Debian 想要找舊版套件:Debian -- 發行版存檔(Archive)
若要使用 APT sources.list 可寫下述:
- deb http://archive.debian.org/debian/ jessie-backports main
- deb http://archive.debian.org/debian/ jessie main
舊版套件 另外可以從這邊找:
Debian 套件搜尋:
- https://www.debian.org/distrib/packages
- https://packages.debian.org/bookworm/allpackages # 瀏覽 bookworm 版的全部套件
- 範例:https://packages.debian.org/search?keywords=haproxy
以下以 haproxy 為範例
要安裝一個套件,想先知道他有哪些相依性,可以先靠 Docker 安裝看看,就可以事先準備相關套件(一般可以直接看文件就有寫,但是版本過舊文件已 經不在,所以比較懶惰作法就是直接安裝看相依行即可)
- docker run -it --rm dockette/debian:jessie /bin/bash
- echo "deb http://archive.debian.org/debian/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free" >> /etc/apt/sources.list
- apt update
- apt install haproxy
The following extra packages will be installed: init-system-helpers libssl1.0.0 Suggested packages: vim-haproxy haproxy-doc The following NEW packages will be installed: haproxy init-system-helpers libssl1.0.0
- 就可以看到 haproxy 另外需要 init-system-helpers、libssl1.0.0 的套件,那這些要從哪找呢?
- 註:基本上 docker 安裝完成,就可以去 /var/cache/apt/archives/ 把那些套件 copy 出來
- rm /etc/apt/apt.conf.d/docker-clean # 這個設定會把 apt 套件安裝完自動移除,所以要先拿掉
- ls /var/cache/apt/archives/ # 安裝完成就可以在這邊找到庫存套件
假設現在要一步一步從線上把套件找出來,可以用下述方式:
- 找相關套件:
- http://archive.debian.org/debian-archive/debian/dists/ # 可以從這邊開始,找自己需要的版本
- https://packages.debian.org/jessie/allpackages # 也可以從這邊瀏覽
- wget http://archive.debian.org/debian-archive/debian/dists/jessie/main/binary-amd64/Packages.gz
- gunzip Packages.gz
- less Packages # /haproxy 就可以找到套件路徑 和 相依行套件
- Filename: pool/main/h/haproxy/haproxy_1.5.8-3+deb8u2_amd64.deb
- Depends: libc6 (>= 2.15), libpcre3 (>= 1:8.35), libssl1.0.0 (>= 1.0.1), zlib1g (>= 1:1.1.4), init-system-helpers (>= 1.18~), adduser
- 下載 haproxy、init-system-helpers、libssl1.0.0
- 上面找到 pool/... 的路徑,需要前面補上:http://archive.debian.org/debian-archive/debian/
- wget http://archive.debian.org/debian-archive/debian/pool/main/h/haproxy/haproxy_1.5.8-3+deb8u2_amd64.deb # 就可以下載
- 在搜尋 Package: init-system-helpers # 因為 init-system-helpers 太多套件會相依使用,所以前面加上 Package: 搜尋會比較好找
- wget http://archive.debian.org/debian-archive/debian/pool/main/i/init-system-helpers/init-system-helpers_1.22_all.deb
- 在搜尋 Package: libssl1.0.0 # 同上原因
- wget http://archive.debian.org/debian-archive/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u8_amd64.deb
- 再來就把這些套件 dpkg -i 裝一裝就好囉~ 🙂