上週在處理實體機器時,不小心下了底下指令
$ 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
- Go 1.16 推出 Embedding Files
- 用 Docker 每天自動化備份 MySQL, Postgres 或 MongoDB 並上傳到 AWS S3
- 如何將前端網站打包成 Docker Image
- 使用 Docker BuildKit 加速編譯 Image
- 用 GitHub Actions 上傳 Docker Image 到 AWS ECR
- Docker 推出官方 GitHub Actions 套件
- Go Modules 處理 Private GIT Repository 流程
- 用五分鐘安裝好 Drone 搭配 GitHub 自動化環境
- 使用 Docker 五分鐘安裝好 Gitea (自架 Git Hosting 最佳選擇)
- [Go 教學] graceful shutdown 搭配 docker-compose 實現 rolling update