开发者学堂课程【Linux 软件包安装和 yum:Yum 使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/590/detail/8339
Yum 使用
内容介绍:
一、yum
二、yum 命令
三、yum-config-manager
四、系统光盘 yum 仓库
一、yum
◆CentOS: yum,dnf
◆YUM: Yellowdog Update Modifier , rpm 的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date 的替代工具。
yum repository: yum repo,存储了众多 rpm 包,以及包的相关的
元数据文件(放置于特定目录 repodata 下)
文件服务器:
http://
https://
ftp://
file://
二、yum 命令
◆升级程序包:
yum update [package1] [package2] […]
yum downgrade package1 [package2] [...] (降级)
◆检查可用升级:
yum check-update t
◆卸载程序包:
yum remove | erase package1 [package2] [.
.
.]
◆查看程序包 information:
yum info [
..
.]
◆查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] [
..
.]
◆清理本地缓存:
清除 /var/cache/yum/$basearch/$releasever 缓存
yum clean [ packages | metadata| expire-cache
|rpmdb| plugins |all]
◆构建缓存(或者装包的时候会自动构建缓存):
yum makecache
◆yum 命令的用法:
yum [options] [command] [package …]
◆显示仓库列表:
yum repolist [
a
ll|enabled|disabled]
◆显示程序包:
yum list
yum list [all| glob_ exp1] [glob_ exp2] […]
yum list {available|installed|updates} [glob_exp1] [
..
.]
◆安装程序包:
yum install package1 [package2] [
.
..]
yum reinstall package1 [package2] [...] (重新安装)
三、yum-config-manager
◆生成
172.16.0.1_cobbler_ks_mirror_CentOS-X-x86_64_.repo
yum-config-manager--add-repo= http://172.16.0.1/cobbler/ks_ mirror/7
/
◆yum-config-manager --disable "仓库名"禁用仓库
◆yum-config-manager --enable
"
仓库名
"
启用仓库
◆搜索:yum search string1 [string2] [...]
以指定的关键字搜索程序包名及 summary 信息
◆查看指定包所依赖的 capabilities :
yum deplist package1 [package2] […]
◆查看 yum 事务历史:
yum history [infolist|packages-listlpackages-info|
summary|addon-info|redo|undo|
rollback|new|sync|stats]
yum history
yum history info 6
yum history undo 6
◆日志: /var/log/yum.log
创建一个新的虚拟机,做网络实验室要注意系统默认防火墙启用,网络不能访问。
做实验时初始药关闭防火墙,如下:
centos 7
systemctl disable firewalld
(是在系统一开始就默认关闭防火墙)
systemctl stop firewalld
(是在中途关闭防火墙)
centos 6
chkconfig iptables off
(是在系统一开始就默认关闭防火墙)
service iptables stop
(是在中途关闭防火墙)
SELinux 关闭
vim /etc/selinux/config
SELINUX=disabled
R
eboot
打开 centos7.5,会发现默认情况下的网卡没有地址。
可以点开右上角的 wired off,点击 connect 连接,但会发现重启后又默认关闭;
也可以点击 wired 设置,打开 on,但是仍然不会开机时自动启动。
勾选 connect automatically 自动连接,这样在每次开机时就会自动启动。
设置后重启,会发现网卡拥有了网址
virbr0:
<NO-CARRIER, BROADCAST,
MULTICAST,
UP> mtu 1500 qdisc noqueue state DOWN group defauit qlen 1000
link
/
ether 52:54:00:f9:89:2c brd ff:ff:ff:ff:ff:ff
inet 192 .168.122.1/24 brd 192.168. 122.255 scope global virbr0
valid_1ft forever preferred_1ft forever
但是此网卡暂时用不到,因为它默认装了一些软件包,所以现在要把它卸载掉。这是一个虚拟网卡,卸载存在包的依赖性问题,所以可以使用 yum 把依赖的包卸载掉,先指定光盘。
选择光盘,一定要点击“已连接”,此时查询光盘是否挂上,如果没有,如下图。
手动挂上光盘,挂上之后配置 yum 指向 mnt。
再自己建立一个 base 文件夹。
[base]
name=base
baseur1=file:///mnt
gpgcheck=0
先输入# yum repolist
看看仓库有没有,会发现已经有了,现在要使用# yum remove libvirt-daemon
卸载包,卸载之后重启,会发现不必要的信息删除,界面清晰明了。
整个流程为:
1、ip a
2、reboot
3、ip a
4、df
5、mount /dev/sr0 /mnt
6、df
7、cd /etc/yum. repos. d/
8、ls
9、mkdir bak
10、mv * .repo bak
11、1s
12、vim base.repo
13、ip a
14、yum repolist
15、yum remove 1ibvirt- daemon
16、ip a
17、reboot
18、ip a
19、history
◆安装及升级本地程序包:
yum localinstall rpmfile1 [rpmfile2] […]
(用 install 替代)
yum localupdate rpmfile1 [rpmfile2] […]
(用 update 替代)
如下:
centos 7
yum install autofs(安装)
systemctl enable autofs
systemctl start autofs(启用)
之后写 bace 文件
[base]
name=base
baseur1=file:///m
is/cd
gpgcheck=0
将 mnt 改成 mis/cd,即使重启也不会丢失,这个目录会自动的挂光盘,每次重启会自动换光盘。
在 centos6 上默认支持。
使用 yum,只要发现依赖性,就会自动安装程序包。
◆包组管理的相关命令:
yum groupinsta
l
l group1 [group2] […]
yum groupupdate group1 [group2] […]
yum grouplist [hidden] [groupwildcard] […]
yum groupremove group1 [group2] […]
yum groupinfo group1 […]
如下:
使用 # yum grouplist
可以看到当前可用的包组,呈现包组列表,将包组选中就可以直接安装,如果包组名字带空格,就必须加引号。
安装为 #
yum groupinstall
,卸载为 #
yum groupremove,
#
yum groupinfo
为查看信息。
◆yum 的命令行选项:
--nogpgcheck:禁止进行 gpg check
-y:自动回答为"yes"
-q:静默模式
--disablerepo=repoidglob: 临时禁用此处指定的 repo
--enablerepo=repoidglob: 临时启用此处指定的 repo
--noplugins:禁用所有插件
四、系统光盘 yum 仓库
◆系统安装光盘作为本地 yum 仓库:
➢(1)挂载光盘至某目录,例如 /mnt/cdrom
mount/dev/cdrom/mnt/cdrom
➢(2)创建配置文件
[CentOS7]
name=
baseurl=
gpgcheck=
enabled =
◆创建 yum 仓库:
createrepo [options] < directory>
yum 的常见选项:
yum install remove list info search groupinstall grouplist groupremove
history
yum clean all
现在装一个软件
先安装一下开发包组:
yum groupinstall
“development tools”
然后就可以实现源码编译,将 c 语言源码编译成二进制程序
[root@localhos
~
]# cat hello.c
#include <stdio.h>
int main(void)
{
printf("Hello,world\n");
}
使用 gcc 工具 # gcc hello.
–
o hi
生成 hi 文件,自动添加了执行权限。
可以执行 hi,这样二进制文件就诞生了。
使用 # find 1inux-4.18.13/ -name "*.c"丨wc
-丨
就可以查看一个文件包里面有多少个 c 文件,
使用 # find 1inux-4.18.13/ -name "*.c"
–
exec cat {}\;
丨wc -丨
就可以查看文件里一共有多少行,或者也可以使用其他方法。