信创系统报command not found怎么办?

原文链接:信创系统报command not found怎么办?

Hello,大家好啊,今天给大家分享一个在Linux日常运维中极其好用,但却被严重低估的命令—— apt-file。很多人都有过这种经历:

明明知道有这个命令,但系统报:command not found

文件路径存在,但不知道属于哪个包

想装依赖,却连包名都不知道从哪下手

这个时候,apt-file 就是你的救命神器。

一、apt-file是什么?

用来查询“某个文件或命令属于哪个软件包”,即使该包还没安装。它是apt生态里一个非常强大的辅助工具,和apt、apt-get配合使用,让排错和安装变得又快又准。

二、apt-file适合解决哪些问题?

缺少命令,不知道要装哪个包

只有一个文件名,不知道它来自哪个软件

运维排错时,精准定位依赖包

做系统裁剪、定制系统镜像时进行文件溯源

这些场景,apt-file 都可以轻松搞定。

三、安装方法

pdsyw@pdsyw1024:~/Desktop$ sudo apt update
​
pdsyw@pdsyw1024:~/Desktop$ sudo apt install apt-file -y

img

首次使用前必须构建索引,这一步非常关键,否则搜索不到任何结果。

pdsyw@pdsyw1024:~/Desktop$ sudo apt-file update

img

四、常用技巧

1、查询某个命令属于哪个包

pdsyw@pdsyw1024:~/Desktop$ apt-file search ifconfig
​
net-tools: /sbin/ifconfig

说明:ifconfig来自net-tools包。

img

2、查询某个文件属于哪个包

比如查一个库文件:

pdsyw@pdsyw1024:~/Desktop$ apt-file search libcrypto.so.1.1
​
deepin-wine-runtime: /opt/deepinwine/runtime-i386/usr/lib/i386-linux-gnu/libcrypto.so.1.1
​
deepin-wine-runtime: /opt/deepinwine/runtime-i386/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
​
libssl1.1: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1

img

3、查看某个包包含哪些文件

pdsyw@pdsyw1024:~/Desktop$ apt-file list openssh-client

img

4、精确匹配完整路径

pdsyw@pdsyw1024:~/Desktop$ apt-file search -x '^/usr/bin/python3$'
​
python3-minimal: /usr/bin/python3

非常适合排查冲突文件。

img

5、查找头文件

pdsyw@pdsyw1024:~/Desktop$ apt-file search stdio.h
​
libc6-dev: /usr/include/stdio.h

img

五、apt-file和dpkg的区别

很多人会混淆这两个:

工具能查什么
dpkg -S只查已安装的软件文件
apt-file仓库中所有软件包(已装+未装)

对比示例:

pdsyw@pdsyw1024:~/Desktop$ dpkg -S /usr/bin/curl
​
curl: /usr/bin/curl

img

pdsyw@pdsyw1024:~/Desktop$ apt-file search /usr/bin/curl
​
curl: /usr/bin/curl            
​
curlftpfs: /usr/bin/curlftpfs
​
libcurl4-gnutls-dev: /usr/bin/curl-config
​
libcurl4-nss-dev: /usr/bin/curl-config
​
libcurl4-openssl-dev: /usr/bin/curl-config

img

六、运维场景

报错信息:

pdsyw@pdsyw1024:~/Desktop$ lsb_release
​
bash: lsb_release:未找到命令

img

快速定位方法:

pdsyw@pdsyw1024:~/Desktop$ apt-file search lsb_release
​
cdist: /usr/lib/python3/dist-packages/cdist/conf/explorer/lsb_release
​
lsb-release: /usr/bin/lsb_release
​
lsb-release: /usr/lib/python2.7/dist-packages/lsb_release.py
​
lsb-release: /usr/lib/python3/dist-packages/lsb_release.py
​
lsb-release: /usr/share/man/man1/lsb_release.1.gz
​
lsb-release: /usr/share/pyshared/lsb_release.py

img

立刻安装:

pdsyw@pdsyw1024:~/Desktop$ sudo apt install lsb-release -y

img

七、常见问题汇总

搜索不到结果怎么办?一般是没有执行:

sudo apt-file update

数据库太大?可以定期清理缓存:

sudo apt-file purge
​
sudo apt-file update

总结

apt-file是Linux运维排错路上的“显微镜”,能让你快速定位文件来源,装包不再盲目。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏大圣运维

编写不易,还请支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值