本系列都是是基于RedHat体系的,所以CentOS也可以用,但是Debian系列的可能会有些命令上的出入。
- 0. Linux 概述 - 掘金
- 1. Linux文件管理 - 掘金
- 2. Linux中的用户管理 - 掘金
- 3. Linux中的进程管理 - 掘金
- 4. Linux中的管道和重定向 - 掘金
- 5. Linux中磁盘管理--文件系统 - 掘金
- 6. Linux中网络管理 - 掘金
- 7. Linux中软件管理 - 掘金
- 8. Linux中任务计划 - 掘金
- 9. Linux中日志管理 - 掘金
- 10. Linux中的文件服务 - 掘金
1. Fedora/CentOS/RHEL
1.1 RPM包
RPM(原来指Ret Hat Package Manager),现在是(RPM Package Manager),Red Hat公司提出,被众多Linux发行版所采用。
rpm包也称二进制包,无需编译,可以直接使用,但无法设定个人设置、开关功能,不能调试。
示例:软件包名-版本号-enterprise linux发布版本-系统平台.rpm
mysql-community-common-5.7.12-1.el7.x86_64.rpmzip-3.0-11.el7.x86_64.rpm
1.2 YUM包管理器
1.2.1 YUM
YUM,全称是Yellow Dog Updater, Modified,用于在Fedora、CentOS和RedHat中的Shell前端软件包管理器。
- 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装;
- 可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载、安装。
-
YUM本地源
-
核心YUM配置目录:
/etc/yum.repos.d/,系统默认源在国外,下载安装慢; -
换成清华源或者阿里源,还需要一个EPEL库,下面给出的是清华源,具体替换可以看文件自述。
$ sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \ -i.bak \ /etc/yum.repos.d/CentOS-*.repo $ sudo yum clean all $ sudo yum makecache
-
-
使用YUM管理RPM包
# 安装 # yum install 自动确认 包名 # # 全新安装 $ yum -y install httpd vsftpd # 重新安装,可能缺少文件时需要 $ yum -y reinstall httpd $ systemctl start httpd $ systemctl stop firewalld $ systemctl disable firewalld $ systemctl stop httpd # 升级软件 $ yum -y update httpd # 升级源和所有软件 $ yum update && yum upgrade # 查询 # 不写包名会显示所有的可用包,写包名则只会列出已经安装的包 $ yum list [package-name] # 卸载 $ yum -y remove httpd $ yum autoremove
1.2.2 RPM
RPM,全称是RPM Packet Manager,安装的时候需要先找到包
# -i:install
# -v:verbose,安装过程
# -h:百分比
$ rpm -ivh wget-1.14-15.el7.x86_64.rpm
# -q:查询,可以用于安装后验证
$ rpm -q wget-1.14-15.el7.x86_64.rpm
# 删除
$ rpm -evh wget-1.14-15.el7.x86_64.rpm
相比于YUM,RPM无法自动处理包之间的依赖关系。
2. Ubuntu
2.1 apt
$ apt install pkg-name
$ apt remove pkg-name
$ apt update pkg-name
2.2 dpkg
3. 源码包管理
用户需要自己编译包。可以调试并设置、打开关闭功能,配置比较复杂,但是如果RPM包管理器没有的话只能自己编译。例如:nginx-1.8.1.tar.gz、tengine-2.3.2.tar.gz。tengine是nginx的变体,由淘宝技术团队做的。
-
准备环境
-
解压、配置、编译、安装
$ useradd www $ tar -xvf tengine-2.3.2.tar.gz $ cd tengine-2.3.2 $ ./configure --user=www --group=www --prefix=/user/local/nginx $ make $ make install -
启动测试
# 启动之前确保80端口未被占用,前面有httpd,可能冲突,请关闭 $ /usr/local/nginx/sbin/nginx $ systemctl stop firewalld # 浏览器查看http://127.0.0.1