在 Debian / Ubuntu 安裝套件時,突然出現下面的訊息
dpkg: unrecoverable fatal error, aborting:
files list file for package ‘libgpgme11:armhf’ is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
在網路上搜尋了一下,發現好像是位於 /var/lib/dpkg/info 目錄下的檔案有問題
檔案內容變成是亂碼
# cat /var/lib/dpkg/info/libgpgme11:armhf.list
[@more@]解決方式:
1. 下載 deb 檔 libgpgme11
# apt-get –download-only install libgpgme11
2. 列出 deb 檔內容
# dpkg -c /var/cache/apt/archives/libgpgme11_1.4.3-0.1ubuntu5_armhf.deb | awk ‘{print $6}’
./
./usr/
./usr/lib/
./usr/lib/arm-linux-gnueabihf/
./usr/lib/arm-linux-gnueabihf/libgpgme-pthread.so.11.11.0
./usr/lib/arm-linux-gnueabihf/libgpgme.so.11.11.0
./usr/share/
./usr/share/doc/
./usr/share/doc/libgpgme11/
./usr/share/doc/libgpgme11/changelog.Debian.gz
./usr/share/doc/libgpgme11/copyright
./usr/lib/arm-linux-gnueabihf/libgpgme.so.11
./usr/lib/arm-linux-gnueabihf/libgpgme-pthread.so.11
3. 將列表輸出至 /var/lib/dpkg/info/ 目錄之下
# dpkg -c /var/cache/apt/archives/libgpgme11_1.4.3-0.1ubuntu5_armhf.deb | awk ‘{print $6}’ > /var/lib/dpkg/info/libgpgme11:armhf.list
4. 修改成所須要的格式
# sed -i ‘1s|/|/.|’ /var/lib/dpkg/info/libgpgme11:armhf.list
# sed -i ‘s/^.//’ /var/lib/dpkg/info/libgpgme11:armhf.list
5. 正常的格式
# cat /var/lib/dpkg/info/libgpgme11:armhf.list
/.
/usr/
/usr/lib/
/usr/lib/arm-linux-gnueabihf/
/usr/lib/arm-linux-gnueabihf/libgpgme-pthread.so.11.11.0
/usr/lib/arm-linux-gnueabihf/libgpgme.so.11.11.0
/usr/share/
/usr/share/doc/
/usr/share/doc/libgpgme11/
/usr/share/doc/libgpgme11/changelog.Debian.gz
/usr/share/doc/libgpgme11/copyright
/usr/lib/arm-linux-gnueabihf/libgpgme.so.11
/usr/lib/arm-linux-gnueabihf/libgpgme-pthread.so.11