一、查询文件属于哪个包

使用yum查询文件属于哪个包

可以使用以下命令来查询文件属于哪个包:

yum provides /path/to/file

其中,/path/to/file是要查询的文件的路径。执行该命令后,yum会搜索所有已安装的包和可用的包,找到包含该文件的包,并输出包的名称和版本号。如果该文件不属于任何包,yum会输出“没有提供文件”的消息。

如果不知道文件具体路径,只想查询文件名称:
yum provides */file

使用*匹配任意路径

使用apt-file命令可以查询文件属于哪个包。具体操作步骤如下:

  1. 安装apt-file命令:

    sudo apt-get install apt-file
  2. 更新apt-file的数据库:

    sudo apt-file update
  3. 查询文件属于哪个包: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安装指定版本软件包:

  1. 查看可用版本:
yum list <package-name> --showduplicates
  1. 安装指定版本:
yum install <package-name>-<version>

例如,安装nginx的1.10.3版本:

yum list nginx --showduplicates
yum install nginx-1.10.3

apt安装指定版本软件包:

  1. 查看可用版本:
apt-cache showpkg <package-name>
  1. 安装指定版本:
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中,可以使用不同的方式来删除软件包,这些方式在操作和影响上略有不同。以下是几种常见的方式:

  1. apt remove

    sudo apt remove <package_name>

    这个命令会删除指定的软件包,但保留其配置文件。这意味着,如果你重新安装这个软件包,它会使用之前的配置。它不会删除软件包依赖的其他包,如果这些依赖的包在系统中没有其他被使用的地方,则它们将保留下来。

  2. apt purge

    sudo apt purge <package_name>

    这个命令会彻底删除指定的软件包,包括其配置文件。它会清除软件包安装时创建的所有文件和配置。与 apt remove 不同,apt purge 不仅删除软件包本身,还会删除与其相关的所有文件和配置。

  3. apt autoremove

    sudo apt autoremove

    这个命令用于删除系统中没有被其他软件包依赖的无用软件包。当你删除了某个软件包后,它可能留下一些不再被其他软件所依赖的包。apt autoremove 可以帮助你清理这些无用的包,从而释放磁盘空间。

这些命令之间的主要区别在于删除的范围和影响:

  • apt remove 会删除软件包,但保留配置文件。
  • apt purge 会删除软件包及其配置文件,清理得更彻底。
  • apt autoremove 用于删除系统中无用的包,这些包可能是之前安装的软件包的依赖项,但现在已经不再需要了。

根据需求,选择适合的命令来删除软件包。

RHEL

在 CentOS 中,你可以使用不同的工具来删除软件包,下面是几种常见的方式:

  1. yum remove

    sudo yum remove <package_name>

    这个命令会删除指定的软件包,但保留其配置文件。与 apt remove 类似,它不会删除软件包依赖的其他包,如果这些依赖的包在系统中没有其他被使用的地方,则它们将保留下来。

  2. yum erase

    sudo yum erase <package_name>

    这个命令与 yum remove 相似,也会删除指定的软件包,但保留其配置文件。它提供了另一种删除软件包的方式。

  3. yum autoremove
    在 CentOS 中,与 Ubuntu 的 apt autoremove 功能不同,yum 并没有提供类似的自动删除无用软件包的功能。

这些命令在 CentOS 中与 Ubuntu 中的功能类似,但具体的命令和工具略有不同。选择合适的命令来删除软件包,根据需求进行操作。

四、查询某个软件包所安装的文件

在 CentOS 和 Ubuntu 中,你可以使用不同的命令来查询一个软件包安装了哪些具体的文件:

Ubuntu

可以使用 dpkg 命令来查询一个软件包安装了哪些文件,具体步骤如下:

1.首先列出系统内已安装的所有包,通过筛选查询包名。

dpkg --get-selections | grep wget
  1. 使用以下命令来查询软件包的安装路径:

    dpkg -L <package_name>

    这会列出指定软件包安装的所有文件和目录。

CentOS

可以使用 rpm 命令来查询一个软件包安装了哪些文件,具体步骤如下:

1.首先列出系统内已安装的所有包,通过筛选查询包名。

rpm -qa | grep wget
  1. 使用以下命令来查询软件包的安装路径:

    rpm -ql <package_name>

    这会列出指定软件包安装的所有文件和目录。

以上两种命令都会输出软件包安装的所有文件和目录的路径列表。可以根据需要,使用这些命令来查询特定软件包安装了哪些文件。

五、yum和apt的缓存路径

yum默认环境路径

/var/cache/yum/x86_64/7

清除缓存命令

yum clean all

apt默认缓存路径

/var/cache/apt/archives/
#存放包

/var/lib/apt/lists/
#存放列表信息

清除缓存命令

apt clean

六、只下载不安装

yum

yum install --downloadonly --downloaddir=/your/download/path package_name

apt

apt-get download package_name -d /your/download/path

标签: none

添加新评论