linux安装卸载软件

项目名称

运维培训

文件名称

linux安装卸载软件

编制部门

后台运维

作者

刘珂

当前版本

201807171101

受众范围

后台运维

文档控制

修改记录

日期

版本

修改类型

修改主要内容

作者

◆修改类型:A增加、B删除、C修改

审阅人

姓名

部门

职位

审阅签字

审阅时间

存档

存档时间

存放方式

存放地点、位置

备注

◆存放方式:A电子、B纸质

目录

1 软件源 1

1.1 Debian源配置 1

1.2 CentOS源配置 1

1.3 开源镜像站 3

1.3.1 使用方式 3

1.3.2 CentOS 3

1.3.3 Debian 4

2 Debian 4

2.1 常用命令 4

2.2 apt-get 5

2.3 apt-cache 6

2.4 apt-key 6

2.5 apt-file 7

2.6 dpkg 7

3 CentOS 8

3.1 常用命令 8

3.2 yum 8

3.3 rpm 10

  1. 软件源

linux发行版在线安装软件的来源,可以是http、ftp等服务提供的下载地址。

官方维护的站点下载速度不能保证时,可以使用国内一些质量比较好的站点。

不同发行版有不同的配置文件设置这些下载地址。

apt源, deb格式安装包

# 常用配置文件

/etc/apt

/etc/apt/sources.list

/etc/apt/sources.list.d/*

deb https://mirrors.ustc.edu.cn/debian/ stretch main non-free contrib

deb https://mirrors.ustc.edu.cn/debian/ stretch-updates main non-free contrib

deb https://mirrors.ustc.edu.cn/debian/ stretch-backports main non-free contrib

deb-src https://mirrors.ustc.edu.cn/debian/ stretch main non-free contrib

deb-src https://mirrors.ustc.edu.cn/debian/ stretch-updates main non-free contrib

deb-src https://mirrors.ustc.edu.cn/debian/ stretch-backports main non-free contrib

deb https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main non-free contrib

deb-src https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main non-free contrib

yum源, rpm格式安装包

# 常用配置文件

/etc/yum.repos.d/*

/etc/yum.repos.d/CentOS-Base.repo

[base]

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates

[updates]

name=CentOS-$releasever - Updates

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

中国科学技术大学

http://mirrors.ustc.edu.cn/

清华大学

https://mirrors.tuna.tsinghua.edu.cn/

网易

http://mirrors.163.com/

阿里云

https://opsx.alibaba.com/mirror?lang=zh-cn/

安装开源软件时,按照官网文档添加安装源后,下载速度慢时,可以从镜像站点网址找对应的软件包地址,然后修改安装源配置文件。

如docker官网的yum源 /etc/yum.repos.d/docker-ce.repo内容中的url可以修改为阿里云的。

原来的:

01

修改后:

q1

[docker-ce-stable]

name=Docker CE Stable - $basearch

baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable

enabled=1

gpgcheck=1

gpgkey=https://mirrors.aliyun.com/docker-ce/inux/centos/gpg

/etc/apt/sources.list.d/docker.list

q2

如果使用https开头的地址下载有问题,改为http开头的地址

  1. Debian
    1. 常用命令

# 自动获取软件包,自动解决倚赖,自动配置,自动编译

apt-get

# 手动操作安装包

dpkg

# 搜索软件

apt-cache

# 维护软件源证书

apt-key

# 列出安装包的内容

apt-file

# 自动获取软件包,自动解决倚赖,自动配置,自动编译

aptitude

  1. 更新索引,从在线源下载软件列表

apt-get update

  1. 安装

apt-get install xxx

apt-get --reinstall install xxx # 重装

apt-get -f install # 纠正安装依赖

apt-get install --no-install-recommends xxx

apt-get install --no--install-suggests xxx

apt-get remove xxx

apt-get purge xxx

apt-get --purge remove xxx

apt-get autoclean

apt-get autoclean

  1. 更新

apt-get update

apt-get upgrade

apt-get upgrade xxx

  1. 系统升级

apt-get dist-upgrade

  1. 搜索名称或描述中包含xxx的软件包,支持正则

apt-cache search {package-name}

apt-cache search vim

apt-cache search vim | more

apt-cache search ^vim

apt-cache search "Text-to-search"

apt-cache search "httpd"

apt-cache search "web server"

apt-cache search "web server"| grep something

  1. 搜索软件包的包名包含xxx

apt-cache pkgnames xxx

  1. 查看依赖

apt-cache depends xxx

apt-cache depends code

apt-cache depends lsof

  1. 查看包的详细信息

apt-cache show vim

用的不多,很多软件都会自动处理、添加key。

以下是nginx需要手动操作的步骤:

# 系统不自带,先安装

apt-get insall apt-file

# 更新索引

apt-file update

# 搜索、列出软件内容

apt-file search xxx

apt-file list xxx

-i:安装软件包;

-r:删除软件包;

-P:删除软件包的同时删除其配置文件;

-L:显示于软件包关联的文件;

-l:显示已安装软件包列表;

--unpack:解开软件包;

-c:显示软件包内文件列表;

--confiugre:配置软件包。

  1. 显示帮助

dpkg --help

查看.deb文件信息

  1. 查看xxx软件是否安装, bash支持*

dpkg --info xxx

dpkg-deb --info xxx

  1. 查看某个软件包含的文件

dpkg --list xxx

dpkg -l xxx

  1. 查看.deb文件的内容

dpkg --listfiles google-chrome-stable

dpkg --listfiles vim

dpkg -L vim

  1. 列出包提供(或拥有)的文件

dpkg --contents {.deb-package-name}

dpkg --contents xxx.deb

  1. 查找包含xxx关键字的软件包

dpkg -S {/path/to/file}

dpkg -S /bin/netstat

dpkg --search chrome

  1. 查看某个软件的安装状态, 依赖关系等

dpkg --status google-chrome-stable

dpkg -s google-chrome-stable

  1. 删除包

dpkg -r prozilla 删除包,不删除配置文件

dpkg -P prozilla 删除包,也删除配置文件

  1. 安装依赖包

dpkg -i /mnt/cdrom/poll/main/z/zhcon/zhcon_0.2.6-2_i386.deb

如果这个包存在依赖而安装不能通过,则它会在/var/lib/dpkg/info中记录,

再使用:apt-get -f install解决掉依赖就可以成功dpkg -i zhcon.deb了

  1. 配置包

dpkg-reconfigure locales

  1. CentOS
    1. 常用命令

# 自动获取软件包,自动解决倚赖,自动配置,自动编译

yum

# 手动操作安装包

rpm

利用yum进行查询、安装、升级与删除功能

  1. 构建缓存、索引

yum makecache

  1. 清理本地缓存

yum clean [ packages | metadata | expire-cache |rpmdb | plugins | all ]

  1. 搜索:以指定的关键字搜索程序包名及summary信息

yum search string1 [string2] [...]

  1. 显示软件包,出目前yum所管理的所有的软件名称与版本

yum list

yum list updates 列出服务器上可供升级的软件

yum list passwd 列出提供passwd这个文件的软件有哪些

  1. 安装

yum install package1 [package2] [...]

yum reinstall package1 [package2] [...] (重新安装)

  1. 升降级

yum update [package1] [package2] [...]

yum downgrade package1 [package2] [...]

  1. 卸载

yum remove | erase package1 [package2] [...]

  1. info

yum info [...]

  1. 查看指定的特性(文件)是由哪个程序包所提供

yum provides xxx

yum whatprovides "*/mkfs.xfs"

  1. 显示仓库列表

yum repolist [all|enabled|disabled]

  1. 查看指定包的依赖

yum deplist package1 [package2] [...]

  1. 查看yum事务历史

yum history [info|list|packages-list|packages-info|

summary|addon-info|redo|undo|

日志

/var/log/yum.log

  1. yum的命令行选项

--nogpgcheck:禁止进行gpg check

-y: 自动回答为“yes”

-q:静默模式

1.rpm包命名方式:

name-VERSION-release.arch.rpm

例:bash-4.2.46-19.el7.x86_64.rpm

2.VERSION: major.minor.release

release:release.OS

3.常见的arch:

x86: i386, i486, i586, i686

x86_64: x64, x86_64, amd64

powerpc: ppc

跟平台无关:noarch

4.安装:

-i --instal 安装

--test 检测

\-\-nodeps 忽略依赖性关系直接安装

\-v 显示详细信息

-vv 显示更详细信息

\-h 显示进度

--nodeps:忽略依赖关系

\-\-replacepkgs 已安装过的包重装。

\-\-replacefiles 其他已安装的RPM包的文件,与即将装的RPM中的文件冲突时,则覆盖文件并安装。

\-\-nosignature: 不检查来源合法性

\-\-nodigest:不检查包完整性

\-\-noscripts:不执行程序包脚本

  %pre: 安装前脚本; \-\-nopre

  %post: 安装后脚本; \-\-nopost

  %preun: 卸载前脚本; \-\-nopreun

  %postun: 卸载后脚本; \-\-nopostun

示例:

显示进度

rpm -ivh rpm包名(rpm -ivh PACKAGE_FILE ...

安装时显示详细信息以及进度条

5.rpm包升级:

语法:

rpm {-U|--upgrade} [install-options] PACKAGE_FILE...

rpm {-F|--freshen} [install-options] PACKAGE_FILE...

 \-Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。

 \-Fvh 当有旧的包时,卸载旧包装新包,无旧包时,nothing 。

rpm -Uvh PACKAGE_FILE ...

rpm -Fvh PACKAGE_FILE ...

\-\-oldpackage: 降级  已有新包,装旧包。

 \-\-force :强制安装。可代替:\-\-replacepkgs  \-\-replacefiles  \-\-oldpackage

6.查找

rpm -q 软件包名 查询已安装过的软件包名。(模糊查询)

-qa 列出所有的已安装过的rpm包,使用双引号或管道符

-qa "name*"

-qa |grep name

    \-qf 查询一个文件来自于哪一个rpm包 (已安装的rpm)

-q --changelog 版本更新日志

-qc 查询软件包的配置文件(不是所有包都有配置文件)

-qd 查询软件包的帮助文档

-qi 查询软件包的详细信息

-ql 查询软件包所安装到系统当中的所有文件路径

-q --scripts 查询软件包自带的脚本

-q --provides 查询自身的功能

-qR 查询实现自身的功能需要什么能力

-qp [licd] rpm包 查看未安装的rpm包的各项信息

    查看未安装前文件的详细信息: \-qp  \-l

7.删除包:

rpm -e 软件名(完整保本信息软件名)

--nodeps 忽略依赖性。强制卸载

\-\-import GPG\-KEY\.\.\.\.  导入公钥

\-qa "gpg\-pubkey\*"   显示所有已导入的公钥

\-e gpg\-pubkey\.\.\.\.j

\-K rpm包 验证某rpm签名是否合法