Docker 救了 Debian SSH terminal

Docker

上週在處理實體機器時,不小心下了底下指令

$ dpkg --purge --force-all zlib1g

造成系統所有相關指令都不能使用,像是 ssh, scp, fetch, wget 等跟網路相關的指令都會出現底下錯誤訊息

curl: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

本來想說可以透過指令將檔案抓回來,放回去就可以恢復了,但是所有指令幾乎都不能用,連 git 也出現該錯誤訊息,這時候最怕 terminal 斷線,如果斷線了,就要到機房去處理問題了。最後想到用 Docker 來處理,簡單幾個步驟就可以將檔案抓回來了

# 抓 debian images
$ docker pull debian:7
# 進入 docker
$ docker run -t -i debian:7 /bin/bash
# 從 docker 複製檔案到 home 目錄,其中 e1bf3950b16c docker id
$ docker cp e1bf3950b16c:/lib/x86_64-linux-gnu /home/

完成後,在去 x86_64-linux-gnu 找到 libz.so.1 丟到相對應目錄就可以了,結論就是:好險平常有裝 docker 習慣 XD


See also