Linux学习之路-Linux-yum命令【8】---20171217
yum
- yum: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具
[root@Centos7~]#which yum
/usr/bin/yum
yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
http:// https:// ftp:// file://
yum客户端配置文件:
/etc/yum.conf:为所有仓库提供公共配置 /etc/yum.repos.d/*.repo:为仓库的指向提供配置
- yum软件的配置信息
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
[root@Centos7~]#cat /etc/yum.conf 查看yum的默认信息
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0 * 是否保留rpm文件*
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1 *检查rpm文件的完整性*
plugins=1
installonly_limit=5
# PUT YOUR REPOS HERE OR IN separate files named file.repo 新建文件后缀必须为 repo
# in /etc/yum.repos.d 新建立yum配置文件存放位置
yum.repos.d目录下默认存在的仓库指向配置文件
[root@Centos6yum.repos.d]#ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-Media.repo
[root@Centos7/etc/yum.repos.d]#vim base.repo 文件后缀必须为.repo格式
[base]
name=Centos7.4 cdrom
baseurl=file:///misc/cd 挂载的源是光盘
gpgcheck=1
gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-7[epel] epel指向方式
name=epel
baseurl=http://172.18.0.1/epel/7/x86_64/
gpgcheck=0 0代表不检测安装文件的完整性
查看yum源挂载情况
[root@Centos7/etc/yum.repos.d]#yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识 源名称 状态
base Centos7.4 cdrom 9,591
epel epel 5,919
repolist: 15,510
查看yum缓存信息
[root@Centos6yum.repos.d]#du -sh /var/cache/yum
35M /var/cache/yum
清除 yum 本地缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
[root@Centos7/etc/yum.repos.d]#yum clean all
已加载插件:fastestmirror, langpacks
源 'base' 在配置文件中未指定名字,使用标识代替
正在清理软件源: base
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
[root@Centos7/etc/yum.repos.d]#du -sh /var/cache/yum
4.0K /var/cache/yum
yum软件常出现异常的两个原因,一个仓库源的路径问题!
另外一个就是yum缓存的问题,出现异常检查路径及清除yum缓存!
yum命令的用法
yum [options] [command] [package ...]
显示仓库列表: yum repolist [all|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 update [package1] [package2] [...]
yum downgrade package1 [package2] [...] (降级)
检查可用升级:
yum check-update
卸载程序包:
yum remove | erase package1 [package2] [...]
查看程序包
information: yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2]
查看yum历史:
yum history [info|list|packages-list|packages-info| summary|addon-info|redo|undo| rollback|new|sync|stats]
yum history yum history info 6 yum history undo 6
日志 :
/var/log/yum.log
包组管理的相关命令:
yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]
yum的命令行选项:
--nogpgcheck :禁止进行gpg check
-y : 自动回答为“yes”
-q :静默模式
--disablerepo=repoidglob :临时禁用此处指定的repo
--enablerepo=repoidglob :临时启用此处指定的repo
--noplugins :禁用所有插件
#如果建立yum服务器
- 生产环境如果能连接外网,即可方便连接外网的yum 源。
- 例如:
- 如果是局域网情况,准备好需要的rpm等文件,简单搭建一个共享服务。
- 可以使用httpd 或者 vsftpd 软件来搭建。
- 把准备好的源文件(包含源数据及rpm安装包等文件)放到 /var/www/html 目录下或者
- /var/ftp/pub 目录下即可
- 对于建立的yum源目录管理,要单独建立。
[root@Centos7/var/ftp/pub]#mkdir centos/6/os/x86_64/ -pv mkdir: 已创建目录 "centos" mkdir: 已创建目录 "centos/6" mkdir: 已创建目录 "centos/6/os" mkdir: 已创建目录 "centos/6/os/x86_64/" [root@Centos7/var/ftp/pub]#tree . └── centos └── 6└── os└── x86_64 4 directories, 0 files
- 将准备好的源文件全部下载到x86_64目录下既可以(由于目前学习阶段,就把光盘挂在到当前目录下即可)
[root@Centos7/var/ftp/pub]#df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda2 52403200 3597996 48805204 7% / devtmpfs 724776 0 724776 0% /dev tmpfs 739476 0 739476 0% /dev/shm tmpfs 739476 9216 730260 2% /run tmpfs 739476 0 739476 0% /sys/fs/cgroup /dev/sda3 20961280 32944 20928336 1% /app /dev/sda1 1247232 161556 1085676 13% /boot tmpfs 147896 8 147888 1% /run/user/0 /dev/sr0 3878870 3878870 0 100% /var/ftp/pub/centos/6/os/x86_64 [root@Centos7/var/ftp/pub]#df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 50G 3.5G 47G 7% / devtmpfs 708M 0 708M 0% /dev tmpfs 723M 0 723M 0% /dev/shm tmpfs 723M 9.0M 714M 2% /run tmpfs 723M 0 723M 0% /sys/fs/cgroup /dev/sda3 20G 33M 20G 1% /app /dev/sda1 1.2G 158M 1.1G 13% /boot tmpfs 145M 8.0K 145M 1% /run/user/0 /dev/sr0 3.7G 3.7G 0 100% /var/ftp/pub/centos/6/os/x86_64
启动ftp服务
[root@Centos7~]#systemctl start vsftpd
关闭防火墙命令
[root@Centos7~]#systemctl stop firewalld --------->(Centos 6 service iptables stop)
开机默认不开启防火墙命令
[root@Centos7~]#systemctl disable firewalld ------->(Centos6 chkconfig iptables off)
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
查看防火墙是否开启命令
[root@Centos7~]#iptables -vnL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 byteskts bytes target prot opt inout source destination
关闭selinux 配置(修改为SELINUX=permissive)
[root@Centos7~]#cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
**SELINUX=enforcing**
[root@Centos7~]#getenforce
Permissive
- 客户端yum源设置
[root@Centos6yum.repos.d]#pwd /etc/yum.repos.d [root@Centos6yum.repos.d]#vim base.repo [base] name=ftp.centos6.9 base baseurl=ftp://172.18.7.77(服务器ip地址)/pub/centos/$releasever/os/$basearch/ gpgcheck=0
建立第三方软件安装包目录,在目录下生成目前安装软件的元文件等信息。
[root@Centos7/var/ftp/pub/app3]#createrepo . ---------> 在当前目录下生成当前所有软件的元文件 Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@Centos7/var/ftp/pub/app3]#ls linux-4.13.16.tar.xz repodata ------------> repodata 为生成的元文件目录
- 系统光盘yum仓库
系统安装光盘作为本地yum仓库:
(1) 挂载光盘至某目录,例如/mnt/cdrommount /dev/cdrom /mnt/cdrom
(2) 创建配置文件
[CentOS7]
name=
baseurl=
gpgcheck=
enabled=创建yum仓库:
createrepo [options] <directory>
程序包编译
- 程序包编译安装:
- Application-VERSION-release.src.rpm --> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装
- 源代码-->预处理-->编译-->汇编-->链接-->执行
源代码组织格式:
多文件:文件中的代码之间,很可能存在跨文件依赖关系
C、C++:make 项目管理器configure脚本 --> Makefile.in --> Makefile java: maven
- 编译安装
C语言源代码编译安装三步骤:
1、./configure(1) 通过选项传递参数,指定启用特性、安装路径等;执 行时会参考用户的指定以及Makefile.in文件生成Makefile
(2) 检查依赖到的外部环境,如依赖的软件包2、make 根据Makefile文件,构建应用程序
3、make install 复制文件到相应路径
开发工具:autoconf: 生成configure脚本
automake:生成Makefile.in注意:安装前查看INSTALL,README
开源程序源代码的获取:
官方自建站点:
apache.org (ASF:Apache Software Foundation)
mariadb.org
...
代码托管:
SourceForge.net
Github.com code.google.comc/c++编译器: gcc (GNU C Complier)
编译C源代码:
准备:
提供开发工具及开发环境
开发工具:make, gcc等 开发环境:开发库,头文件
glibc:标准库实现
通过“包组”提供开发组件
Development Tools
Server Platform Developmenthttpd 软件编译安装
下载源码软件包
准备编译环境,安装包组yum groupinstall "Development Tools"
第一步:configure脚本
选项:指定安装位置、指定启用的特性
--help: 获取其支持使用的选项
选项分类:
安装路径设定:--prefix=/PATH: 指定默认安装位置,默认为/usr/local/
--sysconfdir=/PATH:配置文件安装位置
System types:支持交叉编译
Optional Features: 可选特性--disable-FEATURE
--enable-FEATURE[=ARG]Optional Packages: 可选包
--with-PACKAGE[=ARG],依赖包
--without-PACKAGE,禁用依赖关系注意:通常被编译操作依赖的程序包,需要安装此程序包的“开发”组件,其包名一般类似于name-devel-VERSION
第二步make -j 2
看提示补充安装相应的包例如:apr-devel apr-util-devel openssl-devel pcre-devel
- 第三步make install,配置运行环境
安装后的配置: 二进制程序目录导入至PATH环境变量中
编辑文件/etc/profile.d/NAME.shexport PATH=/PATH/TO/BIN:$PATH
导入库文件路径
编辑/etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录至此文件中
让系统重新生成缓存:ldconfig [-v]导入头文件 基于链接的方式实现:ln -sv
导入帮助手册编辑/etc/man.config|man_db.conf文件
添加一个MANPATH
转载于:https://blog.51cto.com/exia00linux/2056440
Linux学习之路-Linux-yum命令【8】---20171217相关推荐
- Linux学习之路(持续补充中......)
Linux学习之路 Linux的基础知识 第一章:Linux的概述以及系统安装及使用 第一节:简单了解一下Linux发展历史与历程 Linux是一种自由.开源的类UNIX操作系统. linux 的创始 ...
- linux 的基本命令格式,Linux学习之路(一)命令基本格式
据统计Linxu里面能够识别的命令超过3000个,而我们常用的Linux基本命令在60个左右.常用命令是我们必须掌握的命令,需要我们多练习才能记住,最起码要敲3遍以上. 简单的把常用命令分为以下几大类 ...
- Linux学习-59-备份还原数据命令(dump、restore、dd命令)
13.5 dump命令用法详解:备份分区.文件或目录 dump 命令使用"备份级别"来实现增量备份,它支持 0-9 共 10 个备份级别.其中,0 级别指的就是完全备份,1-9 级 ...
- linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法
linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 参考文章: (1)linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 (2)https://www. ...
- Linux学习系列五:Shell命令脚本的基本语法
这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...
- 高人指点 linux 学习之路
博客的原创之路艰辛,小女子对创作人心生崇敬,转载是为了起步,从转载开始,过渡到有胆识和见识写自己的话吧,加油! Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为 <linux_de ...
- Linux学习笔记:Linux常用命令总结
文章目录 前言 Linux学习笔记:Linux常用命令总结 1. 目录命令 1.1 Linux目录结构 1.2 cd命令 切换工作目录 1.3 ls命令 显示目录下文件 1.4 mkdir命令 创建目 ...
- 【黑马程序员新版Linux学习笔记】Linux系统实用操作命令——操作演示
[黑马程序员新版Linux学习笔记]Linux 零基础快速入门: (一)Linux基本命令--操作演示 (二)Linux用户和权限 -- 操作演示 (三)Linux 小技巧快捷键 (四)Linux系统 ...
- Linux中常用的文件目录,Linux学习笔记2——Linux中常用文件目录操作命令
ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...
- Linux学习笔记之——Linux系统内部相关介绍
Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...
最新文章
- 微信小程序showModel使用注意
- 【怎样写代码】对象克隆 -- 原型模式(一):问题案例
- corosync+pacemaker+crmsh配置高可用集群。
- 搜索引擎学习(六)Query的子类查询
- 计算机组成原理实验 组装实验报告,计算机组成原理实验一实验报告..doc
- phpcmsV9 自定义分页函数与调用 - 不影响后台SQL分页
- Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
- 学习C# 3.0语法笔记(1)
- uos命令_【持续更新】UOS个人版实用技巧集锦
- cocos2dx游戏开发简单入门视频教程 (cocos2d-x)- 第4天
- C++实现离散余弦变换(参数为二维指针)
- 很久的东西-也有价值
- 中国著名的D版和破解软件下载网站(转)
- PuttyPsftp命令行实现自动登录
- java初级程序员_为什么现在JAVA初级程序员要求这么高?
- 技术族谱:预告片的制作思路
- Salesforce: 关于Apexpages.Message类
- 深度理解GRUU-Net
- WorkFlow一:WorkFlow基础配置
- 双数据率四线外设接口(Double Transfer Rate Quad Peripheral Interface, DTR QPI)