>[success] # linux -- 软件包管理
~~~
1.软件包顾名思义就是将应用程序、配置文件和数据打包的产物,所有的'linux'发行版都采用了某种形式的
软件包系统,这使得'linux'软件管理和在'windows'下一样方便,'suse、red hat、fedora'等发行版都是用rpm包,
Debian和Ubuntu则使用.deb格式的软件包。'windows' 使用的'exe'的软件包一样
2.早期在 Linux 系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数 的服务程序仅仅提供源代码,
需要运维人员自行编译代码并解决许多的软件依赖关系,因此 要安装好一个服务程序,运维人员需要具备丰富知
识、高超的技能,甚至良好的耐心。而且在 安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系
,所以在进行校验、安装、 卸载、查询、升级等管理软件操作时难度都非常大
3.软件包管理工具可以理解成是应用商店,在应用商店上可以送到各种包和进行安装,也可以对安装包进行管理卸载
看到发行版本
~~~
>[danger] ##### 一些软件包管理工具
~~~
1.dpkg(ubuntu):`package manager for Debin`,是基于 `Debian` 系统的包管理器。可以安装、删除,但无法解决
依赖项
2.rpm(centos): 红帽软件包管理器会建 立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系
~~~
>[danger] ##### 简单好用的管理
~~~
1.可以自动解决依赖关系软件包管理工具
1.1.'yum',红帽系列rpm包管理工具
1.2.'apt-get'现在使用'apt' 是'deb' 包管理工具
~~~
>[danger] ##### 镜像
[阿里镜像](https://developer.aliyun.com/mirror/)
~~~
1.以centos 镜像为例说明,centos 安装使用的是yum 安装
1.1.'/etc/yum.conf' 存放着yum 配置
1.2.'/etc/yum.repos.d' 存放着安装源,其中有个两个文件分别是'CentOS-Base.repo' 和' CentOS-Epel.repo'(第三方包)
安装时候会依次在这两个文件指向的地址查找安装的包文件
~~~
* CentOS-Base.repo 文件字段说明
~~~
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
~~~
| 字段 | 含义 |
| --- | --- |
| base | 容器名称,一定要放在\[\]中 |
| name | 容器说明,可以自己随便写 |
| mirrorlist | 镜像站点,可以注释掉 |
| baseurl | YUM源服务器的地址,默认是CentOS官方的YUM源 |
| enable | 此容器是否生效 不写或者写成enable=1表示生效,写成enable=0表示不生效 |
| gpgcheck | 如果是1就是指 RPM的数字证书生效,如果是0则表示不生效 |
| gpgkey | 数字证书的公钥文件保存位置,不用改 |
* 如果安装的包在仓库中找不到自己配置仓库
~~~
1.创建一个包地址 vim /etc/yum.repos.d/mongodb-org-3.4.repo
添加以下内容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
这里可以修改 gpgcheck=0, 省去gpg验证
yum makecache 就是把服务器的包信息下载到本地电脑缓存起来
2.这样当上面'CentOS-Base.repo' 和' CentOS-Epel.repo' 找不到时候会自动使用这个新配置的
~~~
* yum makecache -- 更新缓存
>[danger] ##### 总结
一般来说著名的 Linux 系统基本上分两大类:
[RedHat](https://so.csdn.net/so/search?q=RedHat&spm=1001.2101.3001.7020)系列:Redhat、Centos、Fedora 等
[Debian](https://so.csdn.net/so/search?q=Debian&spm=1001.2101.3001.7020)系列:Debian、Ubuntu 等
| 对比项 | rpm | yum | dpkg | apt |
| --- | --- | --- | --- | --- |
| 系列 | RedHat系 | RedHat系 | Debian系 | Debian系 |
| 区别 | 包安装工具 | 依赖管理工具 | 包安装工具 | 依赖管理工具 |
| 查询已安装 | rpm -qa | yum list installed | dkpg -l | apt list --installed |
| 安装 | rpm -i package.rpm 或 rpm –ivh [http://www.xxx.net/package.rpm](http://www.xxx.net/package.rpm) | yum install -y | dpkg -i package.deb | apt-get install package |
| 更新 | rpm –U software.rpm | yum update | | apt upgrade |
| 移除软件包 | rpm -e \[module1\]\[module2\]… | yum remove | dpkg -r package | apt remove package |
| 移除软件包及配置 | | | dpkg -P | apt purge package |
| 下载的包存放位置 | | | | /var/cache/apt/archives |
| 软件安装默认位置 | rpm -ql | | | /usr/share |
| 可执行文件位置 | /usr/bin | | | /usr/bin |
| 配置文件位置 | /etc | | | /etc |
| lib文件位置 | /usr/lib | | | /usr/lib |
| 使用手册 | /usr/share/doc | | | |
| 帮助文档 | /usr/share/man | | | |
| 更新 | | | | |
- 安装-VMware 虚拟机
- 远程连接
- Windows -- wsl
- Linux -- 认识 Linux 和操作系统
- Linux -- Linux 和 windows 对比
- Linux -- 命令提示符
- Linux -- 文件目录
- Linux -- 文件类型
- Linux -- 绝对和相对路径
- Linux -- 常用快捷键
- Linux -- 三种帮助命令
- 帮助命令 -- man
- 帮助命令 -- help
- 帮助命令 -- info
- Linux -- 指令
- alias -- 设置别名
- history -- 查看历史命令
- cd -- 更改目录(切换文件夹)
- pwd -- 打印目录
- ls -- 列出文件内容
- mkdir -- 创建文件夹
- rmdir -- 删除一个空的目录
- touch -- 创建普通文件/修改时间
- cp -- 复制粘贴
- mv -- 移动和重名
- rm -- 删除
- cat/tac -- 查看纯文本文件
- more/less -- 分页读取信息
- head -- 从文本开头查看
- tail -- 从文本结尾查看
- cut -- 提取片段
- sort -- 排序
- uniq -- 去重
- wc -- 统计文件的行数、单词、字节数
- tr -- 替换、缩减或删除字符
- find -- 文件查找
- grep -- 文件当中匹配字符
- 管道 -- |
- locate -- 第三方文件查找
- whereis -- 查找二进制/源代码文件 路径
- which -- 查找环境变量
- 压缩和解压
- ln -- 链接
- wget -- 下载指定的url资源
- 重定向 -- << /< />/> >
- 逻辑控制 -- &&
- echo -- 输出指定内容
- date/cal -- 查看日期和日历
- Linux -- 进程管理
- Linux-- ps 指令
- vi/vim - 文本编辑器
- 更多
- Linux-- 开关机命令
- Liunx -- 退出登录
- Linux-- 查看登录用户信息
- Linux -- 环境变量
- Linux -- 用户
- Linux -- 文件管理
- 文件权限设置 -- chmod
- 更改文件的拥有者 -- chown
- 默认权限 -- umask
- Linux -- 用户
- 新建/删除用户 -- useradd/userdel
- 修改用户属性 -- usermod/chage
- 新建/删除用户组 -- groupadd/groupdel
- 用户切换 -- su/sudo
- 用户/用户组的配置文件
- 用户家目录被删除解决
- last、 lastlog命令查看用户详细的登录信息
- Linux -- shell
- Linux -- 管道符号
- shell -- 执行
- shell -- 变量
- shell -- 字符串
- shell -- 数组
- Shell -- declare 设置变量属性
- shell -- 数学计算
- shell -- 变量作用域
- shell -- 位置参数变量
- shell -- read
- shell - if 语句
- shell -- test
- shell -- case
- Linux -- 循环
- Linux -- 软件包管理