1 rpm
管理
rpm
的作用类似于 windows
上的电脑管家中 软件管理
、安全卫士里面“软件管家”等产品,是 RPM 软件包的管理工具。rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
要想装软件,和 windows 下一样,先得找到安装包。
软件包的获得方式:
-
-
不介意老版本的话,可以从光盘(或者镜像文件)中读取;
rpm
要安装软件需要挂载安装,并且一个一个的去安装对应的依赖,对于一般运维工作,使用 yum
即可
2 YUM
包管理系统
2.1 yum
简介
yum(Yellow dog Updater Modified)是 CentOS 中属于 RPM 前端软件包管理器,能从指定的服务器中下载 RPM 包,并自动分析和处理 RPM 包之间的依赖关系,最后将依次所依赖的软件包都安装了,而无需繁琐的一个一个安装。
yum 相比 rpm 更人性化,更便捷:
-
-
-
-
-
-
元数据:指的是数据文件:包括每个包的包名、版本信息、各包所包含的文件列表、包与包之间的依赖关系、包的分组信息.
2.2 yum
的配置文件
| |
| /etc/yum.conf |
| |
| /etc/yum.repos.d/*.repo |
2.2.1 主配置文件
| [main] |
| |
| cachedir=/var/cache/yum/$basearch/$releasever |
| |
| keepcache=0 |
| |
| debuglevel=2 |
| |
| logfile=/var/log/yum.log |
| |
| exactarch=1 |
| |
| obsoletes=1 |
| |
| gpgcheck=1 |
| |
| plugins=1 |
| |
| installonly_limit=5 |
| bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum |
| |
| distroverpkg=centos-release |
2.2.1 仓库配置文件
-
路径
/etc/yum.repos.d/*.repo
| |
| [repositoryID] |
| |
| name=Some name for this repository |
| |
| baseurl=url://path/to/repository/ |
| |
| enabled={1|0} |
| |
| gpgcheck={1|0} |
| |
| gpgkey=URL |
| |
| enablegroups={1|0} |
| |
| |
| cost=1000 |
2.3 配置本地 yum 源
2.3.1 挂载光盘
-
虚拟光驱加载镜像文件,然后挂载到本地目录,先用 lsblk 命令查看光驱的块设备名称,这里是 sr0
| |
| mkdir /mnt/dvd |
| |
| mount –o ro /dev/sr0 /mnt/dvd |
2.3.2 开机自动挂载
-
-
修改
/etc/rc.local
文件。该文件是操作系统开机后最后执行的一个文件,该文件默认是没有执行权限的,如果你是第一次修改,请记得加执行权限。这就相当于开机后用脚本执行了一条挂载命名
echo "mount -O ro /dev/sr0 /mnt/dvd" >> /etc/rc.local
-
-
编写
/etc/fstab
文件,将光盘当作块状设备挂载到系统中。
| |
| /dev/sr0 /mnt/dvd iso9660 defaults 0 0 |
2.3.3 修改配置文件指向本地仓库
| |
| mkdir /root/yum_back |
| mv /etc/yum.repos.d/* /root/yum_back/ |
-
创建本地配置文件,名字随意,如:
vim /etc/yum.repos.d/dvd.repo
| |
| |
| name=localdvd |
| |
| baseurl=file:///mnt/dvd |
| |
| enabled=1 |
| |
| gpgcheck=0 |
2.3.4 测试验证
| yum clean all |
| yum makecache |
| yum list |
2.4 配置国内网络 yum 源(重点)
前面说了,由于自带的 yum 源是国外的源,速度很慢,所以可以替换为国内的 yum 源。目前国内提供 yum 源的机构有很多,如阿里、网易、搜狐、清华等等,这里以阿里源为例。
2.4.1 还是先备份原来的 yum 源
| mkdir /root/yum_back |
| mv /etc/yum.repos.d/* /root/yum_back/ |
2.4.2 下载网络源的 repo 文件到服务器
| wget -O /etc/yum.repos.d/CentOS-Base.repo http: |
| wget -O /etc/yum.repos.d/CentOS-epel.repo http: |
也可以将这两个文件自己保存起来,每次新建服务器,将该源替换进去。
清空并创建缓存
| |
| yum clean all |
| |
| yum makecache |
2.5 扩展:自建局域网 yum 源
公司内网自建了 yum 仓库,在公司内的服务器可以使用
| [base] |
| name=CentOS-7-Base-hbgg |
| baseurl=http://10.10.16.80/centos/7/base/ |
| gpgcheck=1 |
| gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-CentOS-7 |
| [updates] |
| name=CentOS-7-updates-hbgg |
| baseurl=http://10.10.16.80/centos/7/updates/ |
| gpgcheck=1 |
| gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-CentOS-7 |
| [extras] |
| name=CentOS-7-extras-hbgg |
| baseurl=http://10.10.16.80/centos/7/extras/ |
| gpgcheck=1 |
| gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-CentOS-7 |
| [epel] |
| name=CentOS-7-epel-hbgg |
| baseurl=http://10.10.16.80/centos/7/epel/ |
| gpgcheck=1 |
| gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-EPEL-7 |
具体用法不再赘述,参考前文。
1 安装网络 yum 源
| |
| yum clean all |
| |
| yum makecache |
| |
| mkdir /root/yum_back |
| mv /etc/yum.repos.d/* /root/yum_back/ |
| |
| rm -rf /etc/yum.repos.d/* |
| |
| cd /etc/yum.repos.d/ |
| wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
| wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo |
| |
| yum clean all |
| |
| yum makecache |
| |
| systemctl stop firewalld.service |
| |
| systemctl disable firewalld |
| |
| sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux |
| |
| reboot |
| |
| yum repolist |
| |
| yum -y install vim wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils ntpdate |
vim /etc/resolv.conf
| nameserver 8.8.8.8 |
| nameserver 114.114.114.114 |
2.4 yum 命令的用法
yum 查询功能
| yum [options] [command] [package …] |
| -y:默认 yum 需要是交互模式,- y 表示自动提供 yes 响应 |
| search:搜索某个软件名或关键字 |
| list:列出所有 yum 所管理的软件包和名称 |
| info:同上,也类似 rpm -qai |
| provides:查找该命令是由软件安装生成的,类似 rpm -df 的功能 |
| repolist:列出所有可用的 repo |
yum 安装、升级、降级、卸载
| yum install:后面接需要安装的软件 |
| reinstall:后面接需要重新安装的软件 |
| update:后面接需要升级到的软件 |
| check-update:检查可用的升级包 |
| downgrade:后面接需要降级到的版本 |
| remove:卸载软件 |
| erase:功能同上,卸载和软件组相关的功能 |
yum 组功能
| yum grouplist:列出所有可使用的组列表 |
| groupinfo:后面接 groupname,可用了解该 group 内含所有组的名称 |
| groupinstall:安装整组的软件 |
| groupremove:删除某个组的软件 |
清理缓存
| yum clean {all | package | headers} |
| all:将所有的数据删除,包括元数据和软件文件 |
| package:将所有已下载的软件文件删除 |
| headers:删除所有下载的元数据文件 |
构建缓存
yum makecache
1 查看服务器基本信息
1.1 查看 gcc 版本级相关信息
gcc -v
1.2 查看当前 内核系统
版本信息
cat /proc/version
1.3 安装 lsb_release
yum install redhat-lsb -y
1.4 查看 操作系统
版本信息 (使用命令时提示 command not found, 需要安装 redhat-lsb)
lsb_release -a
2 开关防火墙
在 RHEL7 里有几种防火墙共存:
-
-
-
-
默认是使用 firewalld 来管理 netfilter 子系统,不过底层调用的命令仍然是 iptables 等
-
Firewalld 与 iptables 对比更自由、更人性化
2.1 查看 firewalld 状态
systemctl status firewalld
2.2 策略启停 firewalld
| |
| systemctl start firewalld |
| |
| systemctl stop firewalld |
2.3 开机启用 / 禁用
| |
| systemctl enable firewalld |
| |
| systemctl disable firewalld |
2.4 查看默认域中的火墙
firewall-cmd --list-all
2.5 启 / 停、重启一个 firewalld
服务
| |
| systemctl start firewalld.service |
| |
| systemctl stop firewalld.service |
| |
| systemctl restart firewalld.service |
2.6 显示一个 firewalld
服务的状态
systemctl status firewalld.service
2.7 是否开机自启
| |
| systemctl is-enabled firewalld.service |
| |
| systemctl list-unit-files|grep enabled |
| |
| systemctl --failed |
| |
| systemctl enable firewalld.service |
| |
| systemctl disable firewalld.service |
2.8 查看端口开放情况
firewall-cmd --list-port
-
如果提示
FirewallD is not running
,说明防火墙处于关闭状态
2.9 防火墙开启状态下开放端口
| firewall-cmd --zone=public --add-port=3334/tcp --permanent |
| # 重启 firewall |
| firewall-cmd --reload |
转自:入门小站