返回顶部
首页 > 资讯 > 操作系统 >如何在Linux上安装或卸载一个文件中列出的软件包
  • 225
分享到

如何在Linux上安装或卸载一个文件中列出的软件包

2023-06-16 07:06:06 225人浏览 安东尼
摘要

这篇文章主要讲解了“如何在linux上安装或卸载一个文件中列出的软件包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Linux上安装或卸载一个文件中列出的软件包”吧!在某些情况下,你可

这篇文章主要讲解了“如何在linux上安装或卸载一个文件中列出的软件包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Linux上安装或卸载一个文件中列出的软件包”吧!

在某些情况下,你可能想要将一个服务器上的软件包列表安装到另一个服务器上。例如,你已经在服务器 A 上安装了 15 个软件包并且这些软件包也需要被安装到服务器 B、服务器 C 上等等。

我们可以手动去安装这些软件但是这将花费大量的时间。你可以手动安装一俩个服务器,但是试想如果你有大概十个服务器呢。在这种情况下你无法手动完成工作,那么怎样才能解决问题呢?

不要担心我们可以帮你摆脱这样的情况和场景。我们在这篇文章中增加了四种方法来克服困难。

我希望这可以帮你解决问题。我已经在 Centos7 和 ubuntu 18.04 上测试了这些命令。

我也希望这可以在其他发行版上工作。这仅仅需要使用该发行版的官方包管理器命令替代本文中的包管理器命令就行了。

如果想要 检查 Linux 系统上已安装的软件包列表,请点击链接。

例如,如果你想要在基于 RHEL 系统上创建软件包列表请使用以下步骤。其他发行版也一样。

# rpm -qa --last | head -15 | awk '{print $1}' > /tmp/pack1.txt # cat /tmp/pack1.txtmariadb-server-5.5.60-1.el7_5.x86_64perl-DBI-1.627-4.el7.x86_64perl-DBD-MySQL-4.023-6.el7.x86_64perl-Plrpc-0.2020-14.el7.noarchperl-Net-Daemon-0.48-5.el7.noarchperl-io-Compress-2.061-2.el7.noarchperl-Compress-Raw-Zlib-2.061-4.el7.x86_64mariadb-5.5.60-1.el7_5.x86_64perl-Data-Dumper-2.145-3.el7.x86_64perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64Httpd-2.4.6-88.el7.centos.x86_64mailcap-2.1.41-2.el7.noarchhttpd-tools-2.4.6-88.el7.centos.x86_64apr-util-1.5.2-6.el7.x86_64apr-1.4.8-3.el7_4.1.x86_64

方法一:如何在 Linux 上使用 cat 命令安装文件中列出的包?

为实现这个目标,我将使用简单明了的***种方法。为此,创建一个文件并添加上你想要安装的包列表。

出于测试的目的,我们将只添加以下的三个软件包名到文件中。

# cat /tmp/pack1.txt apache2mariadb-servernano

只要简单的运行 apt 命令 就能在 Ubuntu/Debian 系统上一次性安装所有的软件包。

# apt -y install $(cat /tmp/pack1.txt) Reading package lists... DoneBuilding dependency treeReading state infORMation... DoneThe following packages were automatically installed and are no longer required:  libopts25 sntpUse 'sudo apt autoremove' to remove them.Suggested packages:  apache2-doc apache2-suexec-pristine | apache2-suexec-custom spellThe following NEW packages will be installed:  apache2 mariadb-server nano0 upgraded, 3 newly installed, 0 to remove and 24 not upgraded.Need to get 339 kB of arcHives.After this operation, 1,377 kB of additional disk space will be used.Get:1 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2 amd64 2.4.29-1ubuntu4.6 [95.1 kB]Get:2 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 nano amd64 2.9.3-2 [231 kB]Get:3 http://in.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mariadb-server all 1:10.1.38-0ubuntu0.18.04.1 [12.9 kB]Fetched 339 kB in 19s (18.0 kB/s)Selecting previously unselected package apache2.(Reading database ... 290926 files and directories currently installed.)Preparing to unpack .../apache2_2.4.29-1ubuntu4.6_amd64.deb ...Unpacking apache2 (2.4.29-1ubuntu4.6) ...Selecting previously unselected package nano.Preparing to unpack .../nano_2.9.3-2_amd64.deb ...Unpacking nano (2.9.3-2) ...Selecting previously unselected package mariadb-server.Preparing to unpack .../mariadb-server_1%3a10.1.38-0ubuntu0.18.04.1_all.deb ...Unpacking mariadb-server (1:10.1.38-0ubuntu0.18.04.1) ...Processing triggers for ufw (0.36-0ubuntu0.18.04.1) ...Setting up apache2 (2.4.29-1ubuntu4.6) ...Processing triggers for ureadahead (0.100.0-20) ...Processing triggers for install-info (6.5.0.dfsg.1-2) ...Setting up nano (2.9.3-2) ...update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto modeupdate-alternatives: using /bin/nano to provide /usr/bin/pico (pico) in auto modeProcessing triggers for systemd (237-3ubuntu10.20) ...Processing triggers for man-db (2.8.3-2ubuntu0.1) ...Setting up mariadb-server (1:10.1.38-0ubuntu0.18.04.1) ...

至于删除,需要使用相同的命令格式和适当的选项。

# apt -y remove $(cat /tmp/pack1.txt)Reading package lists... DoneBuilding dependency treeReading state information... DoneThe following packages were automatically installed and are no longer required:  apache2-bin apache2-data apache2-utils galera-3 libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libconfig-inifiles-perl libdbd-Mysql-perl libdbi-perl libjemalloc1 liblua5.2-0  libmysqlclient20 libopts25 libterm-readkey-perl mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common mariadb-server-10.1 mariadb-server-core-10.1 mysql-common sntp socatUse 'apt autoremove' to remove them.The following packages will be REMOVED:  apache2 mariadb-server nano0 upgraded, 0 newly installed, 3 to remove and 24 not upgraded.After this operation, 1,377 kB disk space will be freed.(Reading database ... 291046 files and directories currently installed.)Removing apache2 (2.4.29-1ubuntu4.6) ...Removing mariadb-server (1:10.1.38-0ubuntu0.18.04.1) ...Removing nano (2.9.3-2) ...update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/editor (editor) in auto modeProcessing triggers for ufw (0.36-0ubuntu0.18.04.1) ...Processing triggers for install-info (6.5.0.dfsg.1-2) ...Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

使用 yum 命令 在基于 RHEL (如 Centos、RHEL (Redhat) 和 OEL (oracle Enterprise Linux)) 的系统上安装文件中列出的软件包。

# yum -y install $(cat /tmp/pack1.txt)

使用以命令在基于 RHEL (如 Centos、RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上卸载文件中列出的软件包。

# yum -y remove $(cat /tmp/pack1.txt)

使用以下 dnf 命令 在 Fedora 系统上安装文件中列出的软件包。

# dnf -y install $(cat /tmp/pack1.txt)

使用以下命令在 Fedora 系统上卸载文件中列出的软件包。

# dnf -y remove $(cat /tmp/pack1.txt)

使用以下 zypper 命令 在 openSUSE 系统上安装文件中列出的软件包。

# zypper -y install $(cat /tmp/pack1.txt)

使用以下命令从 openSUSE 系统上卸载文件中列出的软件包。

# zypper -y remove $(cat /tmp/pack1.txt)

使用以下 pacman 命令 在基于 Arch Linux (如 Manjaro 和 AnterGos) 的系统上安装文件中列出的软件包。

# pacman -S $(cat /tmp/pack1.txt)

使用以下命令从基于 Arch Linux (如 Manjaro 和 Antergos) 的系统中卸载文件中列出的软件包。

# pacman -Rs $(cat /tmp/pack1.txt)

方法二:如何使用 cat 和 xargs 命令在 Linux 中安装文件中列出的软件包。

甚至,我更喜欢使用这种方法,因为这是一种非常简单直接的方法。

使用以下 apt 命令在基于 Debian 的系统 (如 Debian、Ubuntu 和 Linux Mint) 上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs apt -y install

使用以下 apt 命令 从基于 Debian 的系统 (如 Debian、Ubuntu 和 Linux Mint) 上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs apt -y remove

使用以下 yum 命令在基于 RHEL (如 Centos,RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs yum -y install

使用以命令从基于 RHEL (如 Centos、RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs yum -y remove

使用以下 dnf 命令在 Fedora 系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs dnf -y install

使用以下命令从 Fedora 系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs dnf -y remove

使用以下 zypper 命令在 openSUSE 系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs zypper -y install

使用以下命令从 openSUSE 系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs zypper -y remove

使用以下 pacman 命令在基于 Arch Linux (如 Manjaro 和 Antergos) 的系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs pacman -S

使用下以命令从基于 Arch Linux (如 Manjaro 和 Antergos) 的系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs pacman -Rs

方法三 : 如何使用 For 循环在 Linux 上安装文件中列出的软件包

我们也可以使用 for 循环命令来实现此目的。

安装批量包可以使用以下一条 for 循环的命令。

# for pack in `cat /tmp/pack1.txt` ; do apt -y install $i; done

要使用 shell 脚本安装批量包,请使用以下 for 循环。

# vi /opt/scripts/bulk-package-install.sh #!/bin/bashfor pack in `cat /tmp/pack1.txt`do apt -y remove $packdone

bulk-package-install.sh 设置可执行权限。

# chmod + bulk-package-install.sh

***运行这个脚本。

# sh bulk-package-install.sh

方法四:如何使用 While 循环在 Linux 上安装文件中列出的软件包

我们也可以使用 while 循环命令来实现目的。

安装批量包可以使用以下一条 while 循环的命令。

# file="/tmp/pack1.txt"; while read -r pack; do apt -y install $pack; done < "$file"

要使用 shell 脚本安装批量包,请使用以下 while 循环。

# vi /opt/scripts/bulk-package-install.sh #!/bin/bashfile="/tmp/pack1.txt"while read -r packdo apt -y remove $packdone < "$file"

bulk-package-install.sh 设置可执行权限。

# chmod + bulk-package-install.sh

***运行这个脚本。

# sh bulk-package-install.sh

感谢各位的阅读,以上就是“如何在Linux上安装或卸载一个文件中列出的软件包”的内容了,经过本文的学习后,相信大家对如何在Linux上安装或卸载一个文件中列出的软件包这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何在Linux上安装或卸载一个文件中列出的软件包

本文链接: https://lsjlt.com/news/282811.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在Linux上安装或卸载一个文件中列出的软件包
    这篇文章主要讲解了“如何在Linux上安装或卸载一个文件中列出的软件包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Linux上安装或卸载一个文件中列出的软件包”吧!在某些情况下,你可...
    99+
    2023-06-16
  • 怎么在Fedora上安装或卸载软件
    在Fedora上安装软件通常有两种方法: 使用命令行:打开终端并使用以下命令安装软件包: sudo dnf install 软件...
    99+
    2024-03-13
    Fedora
  • Linux中如何安装和卸载rpm软件包
    这篇文章主要介绍Linux中如何安装和卸载rpm软件包,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux上安装和卸载rpm软件包的方法如下所示:1.如何安装rpm软件包rmp软件包的安装可以使用程序rpm来完成...
    99+
    2023-06-09
  • Linux平台上如何安装卸载软件
    这篇文章主要为大家展示了“Linux平台上如何安装卸载软件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux平台上如何安装卸载软件”这篇文章吧。一、Linux平台上软件安装卸载的四种方式1...
    99+
    2023-06-13
  • Linux上安装和卸载rpm软件包的方法
    Linux上安装和卸载rpm软件包的方法如下所示: 1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成。执行下面的命令 rpm -i your-package.rpm 其中your-...
    99+
    2022-06-04
    软件包 方法 Linux
  • Linux中如何列出系统中安装的软件包
    在Linux中,可以使用以下命令来列出系统中安装的软件包: 使用dpkg命令列出Debian或Ubuntu系统中安装的软件包: ...
    99+
    2024-03-13
    Linux
  • Linux下如何安装和卸载软件
    这篇文章将为大家详细讲解有关Linux下如何安装和卸载软件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux软件安装与卸载有多种形式,可以通过二进制形式、源代码形式对软件进行安装和卸载。二进制分发软...
    99+
    2023-06-28
  • linux如何卸载已经安装的软件
    在Linux系统中,可以使用不同的命令来卸载已经安装的软件。以下是一些常用的卸载命令:1. 使用apt-get命令(适用于Debia...
    99+
    2023-09-01
    linux
  • Linux下如何安装、更新及卸载RPM软件包
    这篇文章给大家分享的是有关Linux下如何安装、更新及卸载RPM软件包的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全...
    99+
    2023-06-10
  • Linux下RPM软件包如何安装、更新及卸载
    这篇文章主要为大家展示了“Linux下RPM软件包如何安装、更新及卸载”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下RPM软件包如何安装、更新及卸载”这篇文章吧。RPM是由由Redh...
    99+
    2023-06-28
  • 怎么在Linux中不安装软件测试一个软件包
    这篇文章主要为大家展示了“怎么在Linux中不安装软件测试一个软件包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux中不安装软件测试一个软件包”这篇文章吧。出于某种原因,你可能需要...
    99+
    2023-06-16
  • 怎么在Linux中列出通过RPM或者DEB包安装的文件
    这篇文章主要介绍怎么在Linux中列出通过RPM或者DEB包安装的文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何列出 Linux 中全部已安装软件包的文件你可以使用 repoquery 命令,它是 yum-u...
    99+
    2023-06-16
  • linux中.run文件如何安装与卸载
    这篇文章给大家分享的是有关linux中.run文件如何安装与卸载的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。.run文件的安装很简单,只需要为该文件增加可执行属性,即可执行安装 以 virtualbox 的安装...
    99+
    2023-06-12
  • 如何在FreeBSD上安装软件包
    在FreeBSD上安装软件包可以使用pkg命令。以下是在FreeBSD上安装软件包的步骤: 打开终端窗口。 使用root用户...
    99+
    2024-04-02
  • Ubuntu Git如何安装卸载软件或操作系统
    这篇文章将为大家详细讲解有关Ubuntu Git如何安装卸载软件或操作系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Ubuntu Git是Linu Torvalds(Lxinux之父)为了帮助管理Li...
    99+
    2023-06-16
  • ubuntu下怎么删除或卸载easy_install所安装的软件包
    这篇文章主要介绍“ubuntu下怎么删除或卸载easy_install所安装的软件包”,在日常操作中,相信很多人在ubuntu下怎么删除或卸载easy_install所安装的软件包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-13
  • 如何在Alma Linux上安装和配置软件包
    在Alma Linux上安装和配置软件包可以通过包管理器yum来实现。以下是安装和配置软件包的步骤: 更新系统: 首先,使用以下命...
    99+
    2024-04-02
  • ubuntu如何卸载已经安装的软件
    在Ubuntu系统中,可以使用apt或者apt-get命令来卸载已经安装的软件。1. 使用apt命令卸载软件:打开终端,输入以下命令...
    99+
    2023-08-20
    ubuntu
  • linux如何挂载一个文件或ISO镜像文件
    ...
    99+
    2024-04-02
  • 怎么列出Ubuntu和Debian上已安装的软件包
    这篇文章主要介绍了怎么列出Ubuntu和Debian上已安装的软件包,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。列出 Ubuntu 和 Debian 上已安装的软件包如果你...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作