本篇 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.51
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