Ubuntu apt-file 指令的用法

本篇 ShengYu 介紹 Ubuntu apt-file 指令的用法,當你知道缺少某個檔案,但不知道該檔案是在 apt 哪個套件中時,就可以用 apt-file search 來搜尋該檔案是在 apt 的哪個套件中,可以搜尋在 apt 管理的檔案,使用前要先安裝一下 apt-file,

1
sudo apt install apt-file

剛安裝完 apt-file 要先 update 一下

1
apt-file update

舉個實際例子,某天我要啟動某程式發現有錯誤訊息,顯示找不到 libQt5SerialPort.so.5

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

這時使用 apt-file search 來搜尋一下 libQt5SerialPort.so.5 會出現在哪個套件以及的該套件安裝的檔案路徑
$ apt-file search libQt5SerialPort.so.5
libqt5serialport5: /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5
libqt5serialport5: /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5.5
libqt5serialport5: /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5.5.1
根據上述結果,再來查看本機的路徑有沒有這個檔案,發現沒有!
$ ls /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5
ls: cannot access ‘/usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5’: No such file or directory
所以就可以安裝一下該套件,安裝後再次檢查一下本機的路徑有沒有這個檔案,應該就會有了!

1
2
3
$ sudo apt install libqt5serialport5
$ ls /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5
/usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5