热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux如何删除损坏的安装包(卸载windows安装linux)

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




这些软件可以手动安装,但需要一些时间。 我可以手动安装一两台服务器,但是如果有十台左右的服务器呢? 在这种情况下不能手动完成工作。 那么,怎样才能解决问题呢?


-- Magesh Maruthamuthu (作者) (译) ) () ) ) ) ) ) ) )变得更加简单了,直到发现这一点为止。


在某些情况下,您可能希望在另一个服务上安装一个服务的软件包列表。 例如,在服务a上安装15个软件包,这些软件包也需要安装在服务b、服务c等上。


这些软件可以手动安装,但需要一些时间。 我可以手动安装一两台服务器,但是如果有十台左右的服务器呢? 在这种情况下不能手动完成工作。 那么,怎样才能解决问题呢?


不要担心我们能把你从这种情况和场面中解放出来。 我们在这篇文章中增加了四种方法来克服困难。


我希望这有助于解决你的问题。 我们在Centos7和Ubuntu 18.04中测试了这些命令。


我希望这个在其他版本中也能正常工作。 这只需要使用此版本的官方软件包管理器命令,而不是本文中的软件包管理器命令。


要查看安装在Linux系统上的软件包列表,请单击链接。


例如,要在基于RHEL的系统中创建软件包列表,请执行以下步骤: 其他版本也一样。


# # rpm-QA--最后|头15|awk ' {打印$1} '/tmp /包1.txt


# # cat/tmp /包1.txt


Maria数据库服务器-5.5. 60-1.EL7 _5. x86 _ 64


perl-DBI-1.627-4.el7.x86_64


perl-DBD-MySQL-4.023-6.el7.x86 _ 64


PERL-PL RPC-0.2020-14.EL7.Noarch


Perl-NET -达蒙- 0.48-5.EL7.Noarch


Perl-io-compress-2.061-2.EL7.Noarch


Perl -压缩原始- Zlib-2.061-4.EL 7.x86 _ 64


Maria数据库-5.5. 60-1.El7_5. x 86 _ 64


perl-data-dumper-2.145-3.el7.x86 _ 64


Perl -压缩原始BziP2-2.061-3.EL 7.x86 _ 64


htpd-2.4.6-88.El7. centos.x 86 _ 64


mailcap-2.1.41-2.El7.北京


htpd -工具-2.4.6- 88.El7. centos.x 86 _ 64


apr-util-1.5.2-6.el7.x86_64


apr-1.4.8-3.el7_4.1.x86_64


方法一:如何在 Linux 上使用 cat 命令安装文件中列出的包?为了实现这个目标,我使用简单易懂的第一种方法。 为此,请创建文件并添加要安装的软件包的列表。


为了测试目的,只将以下三个包名称添加到文件中:


# # cat/tmp /包1.txt


阵列2


玛丽亚db-server


北约


只需简单地运行apt命令,即可在Ubuntu/Debian系统上一次安装所有软件包。


# # apt-y安装$ (cat/tmp /包1.txt ) )。


读软件包列表.完


构建从属树


阅读状态信息.完


thefollowingpackageswereautomaticallyinstalledandarenolongerrequired :


Li bopts 25快照


用户自动移动'远程移动。


已获取的包:


Apache2- doc Apache2- suexec-pristine|Apache2- suexec -自定义拼写


thefollowingnewpackageswillbeinstalled :


Apache2Maria数据库-服务器号


0升级,3新安装,0 to remove and 24不升级。


需要获取339千字节的存档。


after this操作,1,377 kbofadditionaldiskspacewillbeused。


get :1http://in.archive.Ubuntu.com/Ubuntu bionic-updates /主amd64应用程序2 amd 64.4.29-1 Ubuntu 4.6 [ 95.1 kb ]


get :2http://in.archive.Ubuntu.com/Ubuntu bio

nic/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 /高高的蛋挞/nano to provide /usr/高高的蛋挞/editor (editor) in auto mode
update-alternatives: using /高高的蛋挞/nano to provide /usr/高高的蛋挞/pico (pico) in auto mode
Processing 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... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
apache2-高高的蛋挞 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 socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
apache2 mariadb-server nano
0 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/高高的蛋挞/vim.tiny to provide /usr/高高的蛋挞/editor (editor) in auto mode
Processing 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
#!/高高的蛋挞/bash
for pack in `cat /tmp/pack1.txt`
do apt -y remove $pack
done

为 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
#!/高高的蛋挞/bash
file="/tmp/pack1.txt"
while read -r pack
do apt -y remove $pack
done <"$file"

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

# chmod + bulk-package-install.sh

最后运行这个脚本。

# sh bulk-package-install.sh

via: https://www.2daygeek.com/how-to-install-uninstall-listed-packages-from-a-file-in-linux/

作者: Magesh Maruthamuthu 选题: lujun9972 译者: way-ww 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接

推荐阅读
author-avatar
此人已死_0824
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有