包管理器使用指南
一、查询文件属于哪个包
使用yum查询文件属于哪个包
可以使用以下命令来查询文件属于哪个包:
yum provides /path/to/file其中,/path/to/file是要查询的文件的路径。执行该命令后,yum会搜索所有已安装的包和可用的包,找到包含该文件的包,并输出包的名称和版本号。如果该文件不属于任何包,yum会输出“没有提供文件”的消息。
如果不知道文件具体路径,只想查询文件名称:
yum provides */file
使用*匹配任意路径使用apt-file命令可以查询文件属于哪个包。具体操作步骤如下:
安装apt-file命令:
sudo apt-get install apt-file更新apt-file的数据库:
sudo apt-file update- 查询文件属于哪个包:sudo apt-file search 文件名
例如,查询/usr/bin/vim属于哪个包,可以执行以下命令:
sudo apt-file search /usr/bin/vim输出结果为:
vim: /usr/bin/vim即文件/usr/bin/vim属于vim包。
二、安装指定版本软件包
在yum和apt中,可以使用以下命令安装指定版本的软件包:
yum安装指定版本软件包:
- 查看可用版本:
yum list <package-name> --showduplicates- 安装指定版本:
yum install <package-name>-<version>例如,安装nginx的1.10.3版本:
yum list nginx --showduplicates
yum install nginx-1.10.3apt安装指定版本软件包:
- 查看可用版本:
apt-cache showpkg <package-name>- 安装指定版本:
apt-get install <package-name>=<version>例如,安装nginx的1.10.3版本:
apt-cache showpkg nginx
apt-get install nginx=1.10.3-1ubuntu3.6三、删除软件包的方式
ubuntu
在Ubuntu中,可以使用不同的方式来删除软件包,这些方式在操作和影响上略有不同。以下是几种常见的方式:
apt remove:
sudo apt remove <package_name>这个命令会删除指定的软件包,但保留其配置文件。这意味着,如果你重新安装这个软件包,它会使用之前的配置。它不会删除软件包依赖的其他包,如果这些依赖的包在系统中没有其他被使用的地方,则它们将保留下来。
apt purge:
sudo apt purge <package_name>这个命令会彻底删除指定的软件包,包括其配置文件。它会清除软件包安装时创建的所有文件和配置。与
apt remove不同,apt purge不仅删除软件包本身,还会删除与其相关的所有文件和配置。apt autoremove:
sudo apt autoremove这个命令用于删除系统中没有被其他软件包依赖的无用软件包。当你删除了某个软件包后,它可能留下一些不再被其他软件所依赖的包。
apt autoremove可以帮助你清理这些无用的包,从而释放磁盘空间。
这些命令之间的主要区别在于删除的范围和影响:
apt remove会删除软件包,但保留配置文件。apt purge会删除软件包及其配置文件,清理得更彻底。apt autoremove用于删除系统中无用的包,这些包可能是之前安装的软件包的依赖项,但现在已经不再需要了。
根据需求,选择适合的命令来删除软件包。
RHEL
在 CentOS 中,你可以使用不同的工具来删除软件包,下面是几种常见的方式:
yum remove:
sudo yum remove <package_name>这个命令会删除指定的软件包,但保留其配置文件。与
apt remove类似,它不会删除软件包依赖的其他包,如果这些依赖的包在系统中没有其他被使用的地方,则它们将保留下来。yum erase:
sudo yum erase <package_name>这个命令与
yum remove相似,也会删除指定的软件包,但保留其配置文件。它提供了另一种删除软件包的方式。- yum autoremove:
在 CentOS 中,与 Ubuntu 的apt autoremove功能不同,yum 并没有提供类似的自动删除无用软件包的功能。
这些命令在 CentOS 中与 Ubuntu 中的功能类似,但具体的命令和工具略有不同。选择合适的命令来删除软件包,根据需求进行操作。
四、查询某个软件包所安装的文件
在 CentOS 和 Ubuntu 中,你可以使用不同的命令来查询一个软件包安装了哪些具体的文件:
Ubuntu
可以使用 dpkg 命令来查询一个软件包安装了哪些文件,具体步骤如下:
1.首先列出系统内已安装的所有包,通过筛选查询包名。
dpkg --get-selections | grep wget使用以下命令来查询软件包的安装路径:
dpkg -L <package_name>这会列出指定软件包安装的所有文件和目录。
CentOS
可以使用 rpm 命令来查询一个软件包安装了哪些文件,具体步骤如下:
1.首先列出系统内已安装的所有包,通过筛选查询包名。
rpm -qa | grep wget使用以下命令来查询软件包的安装路径:
rpm -ql <package_name>这会列出指定软件包安装的所有文件和目录。
以上两种命令都会输出软件包安装的所有文件和目录的路径列表。可以根据需要,使用这些命令来查询特定软件包安装了哪些文件。
五、yum和apt的缓存路径
yum默认环境路径
/var/cache/yum/x86_64/7清除缓存命令
yum clean allapt默认缓存路径
/var/cache/apt/archives/
#存放包
/var/lib/apt/lists/
#存放列表信息清除缓存命令
apt clean六、只下载不安装
yum
yum install --downloadonly --downloaddir=/your/download/path package_nameapt
apt-get download package_name -d /your/download/path