目录
yum仓库
1. 基本概念
linux安装软件方式
1.rpm安装
rpm安装是红帽公司开发的软件管理系统,类似于360的软件管家,rpm安装删除都需要依赖关系,所有我们只用rpm来查询软件是否安装、查询软件配置文件等信息
2.编译安装
将源代码(用c、java、python编程语言写的代码)编译后可以使用
3.yum安装
yum安装是升级版的rpm,底层原理还是用的rpm,它是c/s架构,需要客户端和服务端配合使用,
4.二进制安装
二进制安装是编译安装的一种,省去了编译安装的步骤,直接将可执行文件包拷贝过来就可以了
缺点:二进制包很大,例如mysql源码包只有50M,但是它的二进制包有500M
centos7中哪个文件夹存放二进制包?
/bin、/sbin存放的是可直接执行的二进制包,它们都是软链接,指向/usr/bin、/usr/sbin
yum原理
服务端要有Packages目录(各种rpm安装包),元数据repodata目录;要想作为服务端,必须要有RPM包和元信息
什么是元信息:依赖关系和包的位置
客户端存放配置文件,配置文件中一定要写yum仓库的地址
baseurl=地址,该地址是Packages和repodata这两个目录的上级目录
yum依赖于环境,依赖于服务端和客户端,允许跨网络
如何实现安装
① 当yum install时,yum客户端根据配置文件找到yum仓库的位置;
② 接着,从yum仓库里面的repodata中下载元信息;
③ 因为元信息中存放的是依赖关系和安装包的位置,然后,从元信息中找到安装包的位置;
④ 最后,将包下载到本地
2. yum配置文件
yum主配置文件
位置 /etc/yum.conf
[root@localhost /]# rpm -qc yum
/etc/logrotate.d/yum
/etc/yum.conf
/etc/yum/version-groups.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
// yum下载的rpm包的缓存目录,$basearch 表示硬件架构(x86),$releasever 表示当前系统的版本号(7)
keepcache=0
// 是否保存缓存,0 不保存,1 保存
debuglevel=2
// 调试级别
logfile=/var/log/yum.log
// 日志文件位置
exactarch=1
// 是否允许不同版本的rpm安装
obsoletes=1
// undate的一个参数,允许旧版本的运行
gpgcheck=1
// 是否验证秘钥,1 表示验证秘钥,0 表示不验证
plugins=1
// 是否允许插件,1 表示可以
installonly_limit=5
// 保存几个内核,5 表示5个
bugtracker_url=http://bugs.centos.org/set_project.php?
// 如果有bug,上传到这个位置中
project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# in /etc/yum.repos.d
// 存放配置文件的目录
yum的repo配置文件中可用的变量: 这些变量只能在yum仓库的主配置文件使用
$releasever 当前centos版本号,当前os发行版的主版本号,有8、7、6
$arch CPU架构,如x86_64、aarch64
$basearch 系统基础平台,如x86_64、i386
$contentdir 表示目录,如centos-7
$YUM0-$YUM9 自定义变量
yum缓存文件
位置 /var/cache/yum/x86_64/7/
[root@localhost /]# cd /var/cache/yum/x86_64/7/
[root@localhost 7]# ls
base timedhosts updates
extras timedhosts.txt
base目录 存放元信息
yum仓库配置文件
位置 /etc/yum.repos.d/*.repo
[root@localhost 7]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo
CentOS-CR.repo CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
CentOS-fasttrack.repo
// 默认存放的是centos官方yum源,需要联网才能yum安装
yum日志文件
位置 /var/log/yum.log
[root@localhost yum.repos.d]# tail -f /var/log/yum.log
Nov 15 21:40:13 Erased: libvirt-daemon-driver-storage-gluster-3.2.0-14.el7.x86_64
Nov 15 21:40:13 Erased: libvirt-daemon-driver-storage-rbd-3.2.0-14.el7.x86_64
Nov 15 21:40:13 Erased: libvirt-daemon-driver-q
3. yum命令详解
查询
- yum list
- yum info
- yum search
- yum provides
依赖关系
安装包分为主包和辅助包(依赖包)
yum list
yum list
[root@localhost yum.repos.d]# yum list # 显示所有可用的包
yum list [软件名]
[root@localhost yum.repos.d]# yum list httpd # 显示软件名的所有可用的包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
可安装的软件包
httpd.x86_64 2.4.6-99.el7.centos.1 updates
[root@localhost yum.repos.d]#
yum info
yum info
[root@localhost yum.repos.d]# yum info // 显示所有可用包的信息
yum info [软件名]
[root@localhost yum.repos.d]# yum info httpd // 显示该软件名的所有可用包的信息
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
可安装的软件包
名称 :httpd
架构 :x86_64
版本 :2.4.6
发布 :99.el7.centos.1
大小 :2.7 M
源 :updates/7/x86_64
简介 : Apache HTTP Server
网址 :http://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
[root@localhost yum.repos.d]#
yum search
yum search 关键词
[root@localhost yum.repos.d]# yum search ftp
ftp.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
lftp-scripts.noarch : Scripts for lftp
syslinux-tftpboot.noarch : SYSLINUX modules in /var/lib/tftpboot, available for network booting
tftp.x86_64 : The client for the Trivial File Transfer Protocol (TFTP)
tftp-server.x86_64 : The server for the Trivial File Transfer Protocol (TFTP)
vsftpd.x86_64 : Very Secure Ftp Daemon
vsftpd-sysvinit.x86_64 : SysV initscript for vsftpd daemon
curl.x86_64 : A utility for getting files from remote servers (FTP, HTTP, and others)
lftp.i686 : A sophisticated file transfer program
lftp.x86_64 : A sophisticated file transfer program
wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols
在yum仓库中查看包含“ftp”的所有安装包
模糊查找
yum provides
yum provides 关键词
[root@localhost yum.repos.d]# yum provides ftp
ftp-0.17-67.el7.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
源 :base
在yum仓库中查找这个命令来源于哪个包
精确查找
yum provides */ftp
[root@localhost yum.repos.d]# yum provides */ftp
vsftpd-3.0.2-29.el7_9.x86_64 : Very Secure Ftp Daemon
源 :updates
匹配来源:
文件名 :/var/ftp
ftp-0.17-67.el7.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
源 :@base
匹配来源:
文件名 :/usr/bin/ftp
selinux-policy-targeted-3.13.1-268.el7_9.2.noarch : SELinux targeted base policy
源 :updates
匹配来源:
文件名 :/etc/selinux/targeted/active/modules/100/ftp
yum provides mime.types 精确查找mime.types
[root@localhost yum.repos.d]# yum provides mime.types
# 不加路径,查找不到
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
No matches found
[root@localhost yum.repos.d]#
# yum provides mime.types 查找不到,所以使用yum provides */mime.types查找才能查到
[root@localhost yum.repos.d]# yum provides */mime.types
# 加通配符,加路径
怎么知道网页(或其他地方)中什么情况点击会下载,什么情况点击会显示
vim /etc/nginxnginx.conf
include /etc/nginx/mime.types;
# mime.types规定什么类型是显示,什么类型是下载
[root@localhost yum.repos.d]# vim /etc/nginx/mime.types
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/png png;
image/svg+xml svg svgz;
image/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
image/webp webp;
image/x-icon ico;
image/x-jng jng;
image/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
application/java-archive jar war ear;
application/json json;
application/mac-binhex40 hqx;
application/msword doc;
application/pdf pdf;
application/postscript ps eps ai;
application/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
application/vnd.wap.wmlc wmlc;
application/x-7z-compressed 7z;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/xhtml+xml xhtml;
application/xspf+xml xspf;
application/zip zip;
application/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/x-realaudio ra;
video/3gpp 3gpp 3gp;
video/mp2t ts;
video/mp4 mp4;
video/mpeg mpeg mpg;
video/quicktime mov;
video/webm webm;
video/x-flv flv;
video/x-m4v m4v;
video/x-mng mng;
video/x-ms-asf asx asf;
video/x-ms-wmv wmv;
video/x-msvideo avi;
}
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg
前面是大类,后面是小类
text html
image gif
yum groupinfo
yum groupinfo 包组名
[root@localhost ~]# yum groupinfo "GNOME Desktop"
// 这里加引号,是因为如果不加引号,系统会识别成两个软件包;如果加引号,系统会识别成一个包
yum grouplist
yum grouplist
[root@localhost yum.repos.d]# yum grouplist
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* epel: ftp.iij.ad.jp
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
可用的环境分组:
最小安装
基础设施服务器
计算节点
文件及打印服务器
Cinnamon 桌面环境
MATE 桌面环境
基本网页服务器
虚拟化主机
带 GUI 的服务器
GNOME 桌面
KDE Plasma Workspaces
开发及生成工作站
可用组:
Cinnamon
Fedora Packager
Haskell
LXQt 桌面环境
MATE
Milkymist
TurboGears 应用程序构架
Xfce
传统 UNIX 兼容性
兼容性程序库
图形管理工具
安全性工具
开发工具
控制台互联网工具
教育软件
智能卡支持
电子实验室
科学记数法支持
系统管理
系统管理工具
通用桌面
完成
[root@localhost yum.repos.d]#
安装更新
- yum install
- yum group install
- yum update
- yum groupupdate
yum install
yum install -y 软件名
[root@localhost yum.repos.d]# yum install -y httpd
# -y 在安装过程中,会需要确认,-y = yes 确认所有
yum groupinstall
字符界面想要安装图形化界面
#########安装图形化##########################
#如无法使用请先升级
yum -y upgrade
#再安装
yum groups install -y "GNOME Desktop"
yum安装时,空格与引号的区别
yum update
[root@localhost yum.repos.d]# yum update
[root@localhost yum.repos.d]# yum upgrade
yum upgrade升级会移除过时的包,
yum update(更新将保留过时的包)可能会也可能不会这样去做
但是删除过时的包可能会有风险,因为可能会删除当前使用的包
因此,对于升级软件来看,使用yum update是更为安全的选择
yum groupupdate
[root@localhost yum.repos.d]# yum groupupdate
卸载
- yum remove
- yum groupremove
- yum history
- yum history undo
- yum history redo
yum remove
yum remove -y 软件名
[root@localhost /]# yum remove -y httpd
yum groupremove
同yum remove,不做赘述
yum history
yum history
[root@localhost /]# yum history
已加载插件:fastestmirror, langpacks
ID | 登录用户 | 日期和时间 | 操作 | 变更数
-------------------------------------------------------------------------------
10 | root <root> | 2023-11-16 19:19 | Erase | 1
9 | root <root> | 2023-11-16 19:01 | Install | 3
8 | root <root> | 2023-11-16 18:28 | Install | 3
7 | root <root> | 2023-11-16 18:27 | Install | 1
6 | root <root> | 2023-11-16 16:50 | Install | 1
5 | root <root> | 2023-11-15 22:27 | Install | 1
4 | root <root> | 2023-11-15 22:24 | Erase | 1 EE
3 | root <root> | 2023-11-15 21:41 | Install | 1
2 | root <root> | 2023-11-15 21:40 | Erase | 14 EE
1 | 系统 <空> | 2023-10-24 00:09 | Install | 1372
history list
[root@localhost /]#
yum history undo
[root@localhost /]# yum history -y undo 9
# 据上yum history可知,id=9是安装了软件,利用undo id号卸载
已加载插件:fastestmirror, langpacks
Undoing transaction 9, from Thu Nov 16 19:01:35 2023
安装 httpd-2.4.6-99.el7.centos.1.x86_64 @updates
依赖安装 httpd-tools-2.4.6-99.el7.centos.1.x86_64 @updates
依赖安装 mailcap-2.1.41-2.el7.noarch @base
没有匹配的可移除软件包:httpd-0:2.4.6-99.el7.centos.1
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-99.el7.centos.1 将被 删除
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 删除
--> 解决依赖关系完成
依赖关系解决
===============================================================================================
Package 架构 版本 源 大小
===============================================================================================
正在删除:
httpd-tools x86_64 2.4.6-99.el7.centos.1 @updates 168 k
mailcap noarch 2.1.41-2.el7 @base 62 k
未安装:
httpd x86_64 2.4.6-99.el7.centos.1 - 0.0
事务概要
===============================================================================================
移除 2 软件包
未安装 1 软件包
安装大小:230 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在删除 : httpd-tools-2.4.6-99.el7.centos.1.x86_64 1/2
正在删除 : mailcap-2.1.41-2.el7.noarch 2/2
验证中 : mailcap-2.1.41-2.el7.noarch 1/2
验证中 : httpd-tools-2.4.6-99.el7.centos.1.x86_64 2/2
删除:
httpd-tools.x86_64 0:2.4.6-99.el7.centos.1 mailcap.noarch 0:2.1.41-2.el7
完毕!
[root@localhost /]#
# yum history 与 yum remove 相比,前者卸载更干净,它会把依赖环境也卸载掉
yum history redo
[root@localhost /]# yum history
已加载插件:fastestmirror, langpacks
ID | 登录用户 | 日期和时间 | 操作 | 变更数
-------------------------------------------------------------------------------
11 | root <root> | 2023-11-16 19:23 | Erase | 2
10 | root <root> | 2023-11-16 19:19 | Erase | 1
9 | root <root> | 2023-11-16 19:01 | Install | 3
8 | root <root> | 2023-11-16 18:28 | Install | 3
7 | root <root> | 2023-11-16 18:27 | Install | 1
6 | root <root> | 2023-11-16 16:50 | Install | 1
5 | root <root> | 2023-11-15 22:27 | Install | 1
4 | root <root> | 2023-11-15 22:24 | Erase | 1 EE
3 | root <root> | 2023-11-15 21:41 | Install | 1
2 | root <root> | 2023-11-15 21:40 | Erase | 14 EE
1 | 系统 <空> | 2023-10-24 00:09 | Install | 1372
history list
[root@localhost /]#
现在多了一条id=11的记录,是卸载记录,Erase
如果后悔卸载,可以有两种方式
yum history redo 9 (把id=9重新安装一遍)
yum history undo 11(11是卸载,我把11的卸载卸载掉,不就变向等于重新安装)
[root@localhost /]# yum history redo 9 -y
# 把id=9的操作在做一遍
4. 搭建yum仓库
- 利用光盘镜像搭建本地yum仓库
- 使用http搭建yum仓库
- 使用ftp搭建yum仓库
- 自建yum仓库
利用光盘镜像搭建本地yum仓库
1. 挂载光盘镜像
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sr0 11:0 1 4.2G 0 rom /mnt
[root@localhost /]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost /]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 40137576 4155428 35982148 11% /
devtmpfs 917604 0 917604 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9232 924292 1% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/sda1 1038336 182372 855964 18% /boot
/dev/mapper/centos-home 19593216 33052 19560164 1% /home
tmpfs 186708 12 186696 1% /run/user/42
tmpfs 186708 0 186708 0% /run/user/0
/dev/sr0 4414592 4414592 0 100% /mnt
[root@localhost /]#
2. 写配置文件
[root@localhost /]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
[root@localhost yum.repos.d]# mkdir f1 ; mv *.repo f1
[root@localhost yum.repos.d]# ls
f1
[root@localhost yum.repos.d]# vim local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
3. 清理yum缓存,建立元数据
[root@localhost yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: local
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
local | 3.6 kB 00:00:00
(1/4): local/group_gz | 156 kB 00:00:00
(2/4): local/filelists_db | 3.1 MB 00:00:00
(3/4): local/primary_db | 3.1 MB 00:00:00
(4/4): local/other_db | 1.2 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]#
4. 安装软件看看
[root@localhost yum.repos.d]# yum install -y tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
===============================================================================================
Package 架构 版本 源 大小
===============================================================================================
正在安装:
tree x86_64 1.6.0-10.el7 local 46 k
事务概要
===============================================================================================
安装 1 软件包
总下载量:46 k
安装大小:87 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : tree-1.6.0-10.el7.x86_64 1/1
验证中 : tree-1.6.0-10.el7.x86_64 1/1
已安装:
tree.x86_64 0:1.6.0-10.el7
完毕!
[root@localhost yum.repos.d]#
使用http搭建yum仓库(局域网)
服务端
1. 安装httpd
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# ss -antp | grep httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# ss -antp | grep httpd
LISTEN 0 128 :::80 :::* users:(("httpd",pid=9016,fd=4),("httpd",pid=9015,fd=4),("httpd",pid=9014,fd=4),("httpd",pid=9013,fd=4),("http",pid=9012,fd=4),("httpd",pid=9011,fd=4))
[root@localhost ~]# rpm -qc httpd
/var/www/html
2. 将光盘镜像中的yum仓库挂载到httpd的html目录下
[root@localhost html]# mount /dev/sr0 /var/www/html/centos-7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost html]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 40137576 3916696 36220880 10% /
devtmpfs 917604 0 917604 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9352 924172 2% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/mapper/centos-home 19593216 33052 19560164 1% /home
/dev/sda1 1038336 182372 855964 18% /boot
tmpfs 186708 4 186704 1% /run/user/42
tmpfs 186708 24 186684 1% /run/user/0
/dev/sr0 4414592 4414592 0 100% /var/www/html/centos-7
[root@localhost html]#
客户端
1. 写配置文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir f1 ; mv *.repo f1
[root@localhost yum.repos.d]# ls
f1
[root@localhost yum.repos.d]# vim local-http.repo
[http]
name=http
baseurl=http://192.168.32.11/centos-7
gpgcheck=0
2. 清缓存,建立元数据
[root@localhost yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: http
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
http | 3.6 kB 00:00:00
(1/4): http/group_gz | 156 kB 00:00:00
(2/4): http/filelists_db | 3.1 MB 00:00:00
(3/4): http/primary_db | 3.1 MB 00:00:00
(4/4): http/other_db | 1.2 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]#
3. 安装软件看看
[root@localhost yum.repos.d]# yum install -y tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================
Package 架构 版本 源 大小
========================================================================================
正在安装:
tree x86_64 1.6.0-10.el7 http 46 k
事务概要
========================================================================================
安装 1 软件包
总下载量:46 k
安装大小:87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : tree-1.6.0-10.el7.x86_64 1/1
验证中 : tree-1.6.0-10.el7.x86_64 1/1
已安装:
tree.x86_64 0:1.6.0-10.el7
完毕!
[root@localhost yum.repos.d]#
使用ftp搭建yum仓库(局域网)
服务端
1. 安装服务端ftp(vsftpd)
[root@localhost ~]# yum install -y vsftpd # 安装服务端ftp(vsftpd)
[root@localhost ~]# systemctl start vsftpd # 启动vsftpd
[root@localhost ~]# ss -antp | grep ftp # 查看vsftpd是否启动成功
LISTEN 0 32 :::21 :::* users:(("vsftpd",pid=8987,fd=4))
[root@localhost ~]#
2. 将光盘镜像挂载到vsftpd的目录下
[root@localhost ~]# rpm -ql vsftpd
/var/ftp
[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos-7
[root@localhost ftp]# ls
centos-7 pub
[root@localhost ftp]# cd /
[root@localhost /]# mount /dev/sr0 /var/ftp/centos-7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost /]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 40137576 3894752 36242824 10% /
devtmpfs 917604 0 917604 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9188 924336 1% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/sda1 1038336 182360 855976 18% /boot
/dev/mapper/centos-home 19593216 33052 19560164 1% /home
tmpfs 186708 24 186684 1% /run/user/0
/dev/sr0 4414592 4414592 0 100% /var/ftp/centos-7
[root@localhost /]#
客户端
1. 安装客户端ftp(ftp)
[root@localhost ~]# yum install -y ftp
2. 测试下是否能连接到服务端(linux、windows)
[root@localhost ~]# ftp 192.168.32.12
Name (192.168.32.12:root): anonymous
Password:
ftp> cd centos-7
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,32,12,239,106).
150 Here comes the directory listing.
-rw-rw-r-- 3 0 0 14 Sep 05 2017 CentOS_BuildTag
drwxr-xr-x 3 0 0 2048 Sep 05 2017 EFI
-rw-rw-r-- 3 0 0 227 Aug 30 2017 EULA
-rw-rw-r-- 3 0 0 18009 Dec 09 2015 GPL
drwxr-xr-x 2 0 0 2048 Sep 05 2017 LiveOS
drwxrwxr-x 2 0 0 641024 Sep 04 2017 Packages
-rw-rw-r-- 3 0 0 1690 Dec 09 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 3 0 0 1690 Dec 09 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 0 0 2883 Sep 06 2017 TRANS.TBL
drwxr-xr-x 3 0 0 2048 Sep 05 2017 images
drwxr-xr-x 2 0 0 2048 Sep 05 2017 isolinux
drwxr-xr-x 2 0 0 4096 Sep 05 2017 repodata
226 Directory send OK.
ftp:192.168.32.11
ftp:192.168.32.11/centos-7
3. 写配置文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir f1 && mv *.repo f1
[root@localhost yum.repos.d]# ls
f1
[root@localhost yum.repos.d]# vim local-ftp.repo
4. 清缓存,建立元数据
[root@localhost yum.repos.d]# yum clean all ; yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: ftp
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
ftp | 3.6 kB 00:00:00
(1/4): ftp/group_gz | 156 kB 00:00:00
(2/4): ftp/filelists_db | 3.1 MB 00:00:00
(3/4): ftp/primary_db | 3.1 MB 00:00:00
(4/4): ftp/other_db | 1.2 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]#
5. 安装软件看看
[root@localhost yum.repos.d]# yum install -y tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================
Package 架构 版本 源 大小
========================================================================================
正在安装:
tree x86_64 1.6.0-10.el7 ftp 46 k
事务概要
========================================================================================
安装 1 软件包
总下载量:46 k
安装大小:87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : tree-1.6.0-10.el7.x86_64 1/1
验证中 : tree-1.6.0-10.el7.x86_64 1/1
已安装:
tree.x86_64 0:1.6.0-10.el7
完毕!
[root@localhost yum.repos.d]#
自建yum仓库
搭建国内yum仓库
网络yum仓库源种类
base源 基础源,安装包是有限的
extra源 额外源
epel源 第三方源,niginx
# 安装第三方源
[root@localhost yum.repos.d]# yum install -y epel-release.noarch
update源 更新源
使用国内源搭建国内yum仓库
1. 写新的配置文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir f1 ; mv *.repo f1
[root@localhost yum.repos.d]# ls
f1
[root@localhost yum.repos.d]# vim new-base.repo
# base源
[new-base]
name=new-base
# 清华云、华为云、腾讯云、阿里云
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
https://mirrors.huaweicloud.com/centos/7/os/x86_64/
http://mirrors.cloud.tencent.com/centos/7/os/x86_64/
https://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0
# 第三方源
[new-epel]
name=new-epel
# 清华云、华为云、腾讯云、阿里云
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
https://mirrors.huaweicloud.com/centos/7/os/x86_64/
http://mirrors.cloud.tencent.com/centos/7/os/x86_64/
https://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0
# 更新源
[new-update]
name=new-update
# 清华云、华为云、腾讯云、阿里云
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
https://mirrors.huaweicloud.com/centos/7/os/x86_64/
http://mirrors.cloud.tencent.com/centos/7/os/x86_64/
https://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0
2. 清缓存,建立元数据
[root@localhost yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: epel new-base update
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
epel | 3.6 kB 00:00:00
new-base | 3.6 kB 00:00:00
update | 3.6 kB 00:00:00
(1/12): epel/group_gz | 153 kB 00:00:00
(2/12): epel/primary_db | 6.1 MB 00:00:00
(3/12): epel/other_db | 2.6 MB 00:00:00
(4/12): new-base/group_gz | 153 kB 00:00:00
(5/12): epel/filelists_db | 7.2 MB 00:00:01
(6/12): new-base/filelists_db | 7.2 MB 00:00:01
(7/12): new-base/primary_db | 6.1 MB 00:00:01
(8/12): update/group_gz | 153 kB 00:00:00
(9/12): new-base/other_db | 2.6 MB 00:00:00
(10/12): update/filelists_db | 7.2 MB 00:00:01
(11/12): update/primary_db | 6.1 MB 00:00:01
(12/12): update/other_db | 2.6 MB 00:00:00
Determining fastest mirrors
* epel: mirrors.aliyun.com
* new-base: mirrors.aliyun.com
* update: mirrors.aliyun.com
元数据缓存已建立
3. 安装软件
[root@localhost yum.repos.d]# yum install -y tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* new-base: mirrors.aliyun.com
* new-epel: mirrors.aliyun.com
* new-update: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================
Package 架构 版本 源 大小
========================================================================================
正在安装:
tree x86_64 1.6.0-10.el7 new-base 46 k
事务概要
========================================================================================
安装 1 软件包
总下载量:46 k
安装大小:87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : tree-1.6.0-10.el7.x86_64 1/1
验证中 : tree-1.6.0-10.el7.x86_64 1/1
已安装:
tree.x86_64 0:1.6.0-10.el7
完毕!
[root@localhost yum.repos.d]#
2. yum实验
升级内核
编译安装
yum安装
内核一般不需要升级,但是当出现重大bug时才会升级
利用elrepo源在centos 7安装新版内核
https://www.elrepo.org/
1. 安装elrepo源,生成仓库文件elrepo.repo
yum install -y https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
2. 打开内核库 (内核库默认关闭)
[root@localhost yum.repos.d]# yum repolist all
elrepo-kernel ELRepo.org Community Enterprise Linux Kernel Re 禁用
[root@localhost yum.repos.d]# vim elrepo.repo
[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
http://mirror.rackspace.com/elrepo/kernel/el7/$basearch/
http://repos.lax-noc.com/elrepo/kernel/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
enabled=0
# enabled默认为0,关闭;改为1,打开
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
[root@localhost yum.repos.d]# yum repolist all
elrepo-kernel ELRepo.org Community Enterprise Linux Kernel Re 启用: 4
3. 升级内核
[root@localhost yum.repos.d]# yum list *kernel*
[root@localhost yum.repos.d]# yum install -y kernel-lt.x86_64
总结
因为,升级内核前需要打开内核库,但是打开内核库这个操作需要在elrepo.repo这个配置文件中修改
所以,我们需要下载elrepo源
如何离线使用yum(只下载不安装)
思路
先找一台可以上网的主机,只下载相关的软件安装包到指定目录,不安装该软件
再通过U盘或者其他方式将下载好的软件安装吧拷贝到不能上网的主机上,即可安装该软件
一定要在最小化安装环境中安装,因为在图形化界面中,已经安装了相关依赖环境,他就不会安装
yum install nginx --downloadonly --downloaddir=/data/
--downloadonly #只下载相关包默认至某一目录
--downloaddir=绝对目录路径 #下载到某一目录
1. 只下载不安装相关软件安装包,到指定目录下
[root@localhost data]# yum install -y epel-release.noarch
# 因为nginx在epel第三方源中
[root@localhost data]# yum install -y nginx --downloadonly --downloaddir=/opt/data/Packages/
2. 建立元数据
[root@localhost data]# yum -y install createrepo
[root@localhost repodata]# createrepo -v /opt/data
# 它会自动建立repodata目录
3. 建立自己的yum仓库,/etc/yum.repos.d/目录下写新的配置文件
[root@localhost repodata]# cd /etc/yum.repos.d/
[root@localhost repodata]# mkdir f1 ; mv *.repo f1
[root@localhost repodata]# vi local.repo
[local]
name=local
# 这个路径目录下必须有Packages、repodata两个目录
baseurl=file:///opt/data
gpgcheck=0
[root@localhost repodata]# yum clean all && yum makecache
[root@localhost repodata]# yum install -y nginx
总结
在建立自己的yum仓库前,必须先下载需要的软件安装包和建立相应的元数据后,才能写新的配置文件
如果建立元数据在写新的配置文件和其yum clean all && yum makecache后,那么这个元数据里面就没有你下载的软件安装包的位置,也就无法安装你下载的软件了
如何把epel源放到本地(自建yum仓库)
没有外网 又想使用这个epel源
yum install epel-release
#安装epel源 生成epel仓库文件
reposync -r epel -p /root/
#下载同步epel源 根据epel仓库文件去找目录
yum -y install createrepo
#安装建立元数据命令
createrepo -v /root/epel
#建立元数据 软件目录 依赖关系
1. 下载并同步软件安装包到指定目录
[root@localhost opt]# yum install epel-release # 先安装epel源
[root@localhost opt]# reposync -r epel -p /opt/ # 再把epel源同步到指定目录下
# epel这个目录会被同步到/opt目录下面
2. 安装元数据命令,并建立元数据
[root@localhost opt]# yum -y install createrepo # 安装元数据命令
[root@localhost opt]# createrepo -v /root/epel # 建立相应的元数据
3. 写自己的配置文件,指明yum仓库的位置在哪里
4. 清缓存,建立元数据
误删rpm软件
自动挂载光盘
磁盘满了,怎么处理
先解决问题,再解决扩容
用du命令找到大的文件夹,然后锁定大文件,先把大文件删除恢复生产;再申请买磁盘扩容,或者像其他办法解决磁盘满的问题
在浏览器中输入www.baidu.com时,发生了什么?
10个运维命令
cut
uniq
sort
tr
ss -antp
route -n
find
grep
awk
sed
free
top
ps aux
iostat
df -h
du -d 1
标签:00,x86,仓库,repos,yum,root,localhost From: https://www.cnblogs.com/wuyao-bk/p/17842725.html