企业中Linux下软件的管理(yum仓库的搭建以及软件的控制)
实验环境:
在虚拟机快照中配置网络
编辑完文件后重启网络,查看文件内容
ifconfig查看网络信息
配置好网络后将虚拟机的主机名改为software_install.westos.com
配置好之后真机链接虚拟机
ssh root@172.25.254.127
1.软件的安装
<1>先切换到cd /etc/yum.repos.d/目录下,软件仓库的指向文件yum
[root@software_install ~]# cd /etc/yum.repos.d/
<2>在该目录下创建一个文件,文件的后缀必须是.repo
[root@software_install yum.repos.d]# vim westos.repo
在文件中写入
[redhat] 软件仓库的名称
name=westos 对软件仓库的描述,写什么显示什么
baseurl=http://172.25.254.250/rhel7.3/x86_64/dvd/ baseurl 基本路径
浏览器访问172.25.254.250 复制粘贴
gpgcheck=0 gpg =1安装每个软件是都校验 =0 安装步骤取消校验
软件里设置一个key 安装时也有一个key 两者校验,校验成功即授权,
第三方软件 官方没有授权的
<3>加载资源列表yum repolist
[root@software_install yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-: manager
This system is not registered to Red Hat Subscription Management. You can u
se subscription-manager to register.
redhat | 4.1 kB 00:00
(1/2): redhat/group_gz | 136 kB 00:00
(2/2): redhat/primary_db | 3.9 MB 00:00
repo id repo name status
redhat westos 4,751
repolist: 4,751
<4>安装vnc软件 yum install vnc -y
[root@software_install yum.repos.d]# yum install vnc -y
不加-y的话系统会提示
-y 表示下载并安装(yes)
-N 表示不下载直接退出(no)
-d 表示只下载不安装(download)
<5>在虚拟机中查看,vnc已经安装
########################################################
2.用镜像挂载的方式搭建本地的yum源
<1>真机切换到超级用户,创建两个目录,一个用来存放镜像的光驱文件
一个用来挂载镜像
[root@foundation27 ~]# mkdir /iso
[root@foundation27 ~]# mkdir /westos
<2>移动桌面上的镜像光驱到新建目录/iso,查看该目录
[root@foundation27 ~]# mv /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso /iso
[root@foundation27 ~]# ls /iso
rhel-server-7.3-x86_64-dvd.iso
<3>挂载光驱文件到新建目录/westos下,查看目录,里面的内容就是镜像中的文件
[root@foundation27 ~]# mount /iso/rhel-server-7.3-x86_64-dvd.iso /westos
mount: /dev/loop0 is write-protected, mounting read-only
[root@foundation27 ~]# ls /westos
addons images Packages RPM-GPG-KEY-redhat-release
EFI isolinux release-notes TRANS.TBL
EULA LiveOS repodata
GPL media.repo RPM-GPG-KEY-redhat-beta
<4>先切换到/etc/yum.repos.d路径下
查看目录中的文件,将这些文件移到一个新的目录里
[root@foundation27 ~]# cd /etc/yum.repos.d
[root@foundation27 yum.repos.d]# ls
redhat.repo rhel-dvd.repo rht-ucf.repo
[root@foundation27 yum.repos.d]# mkdir old
[root@foundation27 yum.repos.d]# mv * old
mv: cannot move ‘old’ to a subdirectory of itself, ‘old/old’
[root@foundation27 yum.repos.d]# ls
old
<5>新建指向文件
[root@foundation27 yum.repos.d]# vim westos.repo
[root@foundation27 yum.repos.d]# cat westos.repo
[westos]
name=rhel7.3
baseurl=file:///westos
gpgcheck=0
<6>清空环境中原来的yum源,清空原来的缓存信息,重新加载新的信息
yum clean all
[root@foundation27 yum.repos.d]# yum clean all
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-: manager
This system is not registered to Red Hat Subscription Management. You can u
se subscription-manager to register.
Cleaning repos: westos
Cleaning up everything
<7>yum repolist
列出现在的
[root@foundation27 yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-: manager
This system is not registered to Red Hat Subscription Management. You can u
se subscription-manager to register.
westos | 4.1 kB 00:00
(1/2): westos/group_gz | 136 kB 00:00
(2/2): westos/primary_db | 3.9 MB 00:00
repo id repo name status
westos rhel7.3 4,751
repolist: 4,751
<8>安装httpd
[root@foundation27 yum.repos.d]# yum install httpd -y
<9>安装后开启服务,并将服务设置为开机启动,关闭火墙,将防火墙设为开机不启动
[root@foundation27 yum.repos.d]# systemctl start httpd
[root@foundation27 yum.repos.d]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.servi
ce to /usr/lib/systemd/system/httpd.service.
[root@foundation27 yum.repos.d]# systemctl stop firewalld
[root@foundation27 yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
<10>新建一个目录/var/www/html/westos
将镜像光驱文件挂载在这个目录中
[root@foundation27 yum.repos.d]# mkdir /var/www/html/westos
[root@foundation27 yum.repos.d]# mount /iso/rhel-server-7.3-x86_64-d
vd.iso /var/www/html/westos
mount: /dev/loop1 is write-protected, mounting read-only
<11>在开机子启动文件中写入挂载镜像光驱文件到目录的命令
给这个文件可执行的权限
[root@foundation27 yum.repos.d]# vim /etc/rc.d/rc.local
[root@foundation27 yum.repos.d]# ls -ld /etc/rc.d/rc.local
-rw-r--r--. 1 root root 537 Jan 19 11:35 /etc/rc.d/rc.local
[root@foundation27 yum.repos.d]# chmod +x /etc/rc.d/rc.local
[root@foundation27 yum.repos.d]# ls -ld /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 537 Jan 19 11:35 /etc/rc.d/rc.local
<12>在真机中访问本机ip下的挂载目录,出现光驱文件列表
<13>在虚拟机浏览器中访问真机ip下的挂载目录,出现同样的列表
##########################################################
3.yum命令
(1)yum命令的使用必须是在yum源搭建成功后才能正常运行
(2)yum命令的详细用法
命令 | 作用 |
---|---|
yum clean all | ##清除原有的yum缓存 |
repolist | ##列出仓库信息 |
install software | ##安装 |
update | ###更新 |
list software | ##查看软件 |
list all | ##查看有软件 |
list installed | ##列出已安装软件 |
list available | ##列出可安装的软件 |
reinstall software | ##重新安装软件 |
remove software | ##卸载 |
info software | ##查看软件信息,基本信息 |
search software信息 | ##查看软件信息 |
whatproivdes file | ##根据文件和造出包含此文件的软件 |
yum history | ##查看系统中软件管理的历史 |
yum history info id | ##查看此软件的历史中的id |
groups list | ##列出软件组 |
groups info | ##查看软件组的信息 |
groups install “groupname” | ##安装组 |
groups remove “groupname” | ##卸载组 |
<1>yum search vnc
查看vnc软件的信息
[root@software_install yum.repos.d]# yum search vnc
<2>先删除/bin/ls,再调用ls,系统提示没有这个命令
[root@software_install yum.repos.d]# rm -fr /bin/ls
[root@software_install yum.repos.d]# ls
bash: ls: command not found...
Similar command is: 'lz'
<3>yum search vnc
查找关于ls的信息,没有用
[root@software_install yum.repos.d]# yum search ls
<4>[root@software_install yum.repos.d]# yum whatprovides */ls
查看是谁提供了ls这个软件
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @anaconda/7.3
Matched from:
Filename : /bin/ls
Filename : /usr/bin/ls
<5>安装刚刚查找出来的安装包,系统提示ls软件已经安装
[root@software_install yum.repos.d]# yum install coreutils-8.22-18.el7.x86_64
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Package coreutils-8.22-18.el7.x86_64 already installed and latest version
Nothing to do
<6>重新安装这个安装包
[root@software_install yum.repos.d]# yum reinstall coreutils-8.22-18.el7.x86_64 -y
<7>安装之后使用ls,可以使用
[root@software_install yum.repos.d]# ls
redhat.repo westos.repo
<8>查看yum的历史
[root@software_install yum.repos.d]# yum history
<9>查看历史中id是2的信息
[root@software_install yum.repos.d]# yum history info 2
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use
subscription-manager to register.
Transaction ID : 2
Begin time : Sat Jan 19 10:12:07 2019
Begin rpmdb : 1256:728e410f7c5ebc000c688012b370c13c13889f60
End time : 10:12:26 2019 (19 seconds)
End rpmdb : 1259:eba73afb8d4731acc649e2154f1184ff3b1286ff
User : root <root>
Return-Code : Success
Command Line : install vnc -y
Transaction performed with:Installed rpm-4.11.3-21.el7.x86_64 @anaconda/7.3Installed subscription-manager-1.17.15-1.el7.x86_64 @anaconda/7.3Installed yum-3.4.3-150.el7.noarch @anaconda/7.3
Packages Altered:Dep-Install fltk-1.3.0-13.el7.x86_64 @redhatInstall tigervnc-1.3.1-9.el7.x86_64 @redhatDep-Install tigervnc-icons-1.3.1-9.el7.noarch @redhat
history info
<10>列出软件组
[root@software_install yum.repos.d]# yum group list
<11>查看Virtualization Tools软件组的信息
[root@software_install yum.repos.d]# yum groups info Virtualization\ Tools
<12>安装Virtualization Tools软件组
[root@software_install yum.repos.d]# yum groups install “Virtualization Tools”
<13>卸载Virtualization Tools软件组
[root@software_install yum.repos.d]# yum groups remove “Virtualization Tools”
4.用rpm 命令处理软件
命令 | 作用 |
---|---|
rpm -i | 安装 |
rpm -v | 显示过程 |
rpm -h | hash加密 |
rpm -e | 卸载 |
rpm -q | 查看 |
rpm -a | 所有 |
aq | 查看所有 |
rpm -p | 软件包 |
rpm -ql | 查看软件在系统中的安装文件路径 |
rpm -qlp | 查看看安装的软件包在系统中如果安装后产生文件的路径 |
rpm -qf | 根据某个文件找出此文件属于那个安装包 |
rpm -qc | 查看软件的配置文件的名称 |
rpm -qd | 查看软件的帮助文件 |
rpm --scritps | 查看脚本 |
rpm --nodeps | 安装软件忽略软件倚赖(当安装的几个安装包出现a需要b,b需要c,c又需要a时,并且其他的倚赖都解决后可以使用) |
rpm --force | 强行安装软件(当某个软件安装时需要的倚赖被解决完之后仍然安装不上时可以使用) |
rpm --Kv | 检测软件包是否被篡改 |
###########################################
实验准备:
<1>再虚拟机中新建一个目录,切换到该目录下
[root@software_install yum.repos.d]# mkdir /software
[root@software_install yum.repos.d]# cd /software
<2>yum install lftp -y 安装lftp
<3>与172.25.254.250这台主机建立传输链接
<4>进入后切换到pub/software/目录下,查看给目录的内容
<5>
mget FluffyMcAwesome-*
mget linuxqq-v1.0.2-beta1.i386.rpm
mget wps-office-10.1.0.5672-1.a21.x86_64.rpm
下载这几个软件的安装包
再切换到该目录的tools下
mget kolourpaint-*
下载画图软件
下载完之后quit退出
查看虚拟机目录下的文件
<6>将下载好的文件传输到真实主机备用,传输后查看真机对应目录
################################################
<1>rpm -i
在虚拟机中安装wps软件,系统提示需要libpng12.so.0这个倚赖
yum whatprovides libpng12.so.0命令查询这个倚赖的安装包并yum install安装他或者直接yum install安装这个倚赖
<2>rpm -ivh
安装倚赖之后在虚拟机中再次安装并显示过程以及加密wps软件
显示过程并且安装成功
<3>rpm -e
卸载wps
<4>rpm -q
查看wps的安装包
<5>rpm -aq
查看所有的安装包
<6>rpm -ql
查看安装后的软件在系统中的文件路径
<7>rpm -qlp
先卸载wps,再查看假如wps被安装,安装后所有文件的路径
对比可发现与上一步安装后的文件路径完全相同
<8>rpm -qf
根据wps字符串找出跟他相关的安装包
########################
画图软件的安装
<1>画图软件有两个安装包
依次安装,每个安装包都需要很多倚赖
<2>yum install依次解决两个安装包需要的倚赖
如:
找出这个倚赖需要的安装包
安装这个安装包
<3>再次安装剩下的倚赖无法解决
<4>先安装其中一个安装包,并忽略他的倚赖
安装另一个安装包时可以成功安装
<5>打开虚拟机画图软件已经安装好,打开它
#############################################################
6.软件包名称解析
如:kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint软件名称
4.10.5版本
4.el7适用系统
x86_64架构
rpm适用rpm(redhat packages manager)体系软件
7.第三方软件仓库的搭建
(1)把所有的rpm包放到一个目录里(/software)
(2)createrepo -v /目录 扫描文件,将信息采集到目录里
命令执行成功后会生成repodate目录(官方出品的软件都收录在yum里
repodata官方目录)
(3)vim /etc/yum.repos.d/yum.repo
编写yum仓库配置文件
[software]
name=software
baseurl=file:///software
gpgcheck=0
退出保存后执行yum clean all 清空原来的yum信息
yum repolist 加载新的yum源
卸载之前安装的第三方软件,再次使用yum install 安装,直接可以安装上
注:
yum上层管理工具,解决软件的依赖性,比较高效
不是所有的软件都可以用yum安装
rpm只能对软件一次性安装。有依赖性问题只会报错,不会继续
#######################################
安装qq因为版本的问题需要逐个解决倚赖的问题
(1)yum直接安装会因为版本跟系统中64位的某个文件冲突出现错误
(2)rpm -ivh 安装显示所有的倚赖
(3)yum install 逐个安装倚赖,每安装一个rpm 安装一次查看需要的倚赖
直到所有的倚赖安装完,rpm 安装qq,仍然无法安装,此时强制安装,安装成功
解决完所有倚赖之后还会提示版本原因安装不了,此时强制安装
(4)打开虚拟机,qq已经在,打开qq
#####################################
5.某一软件有32和64 两个版本想要安装32位的软件时,再配置文件中屏蔽64位的软件
软件的黑名单
(1)yum list 查看软件仓库zlib-devel有32位和64 位两个版本
(2)安装zlib-devel
yum install zlib-devel
默认安装的是64位的
(3)想要安装32位的需要屏蔽64位的软件
vim /etc/yum.conf 设置软件的黑名单
(4)设置之后,yum list 再次查看,没有了64 位的安装包
(5)再次安装zlib-devel,安装的是32位的
(6)vim /etc/yum.conf将zlib-devel写进黑名单
(7)保存退出后再次yum list 查看软件仓库,现在没有zlib-devel安装包
(8)完成实验后将所有设置还原
##############################################
6.安装包的拆分
i 输入 d目录
(1)先将/software中的所有东西移动到/mnt/下
再将linuxqq的安装包移回来备用
(2)rpm2cpio linuxqq-v1.0.2-beta1.i386.rpm
对qq的安装包进行拆分,拆分之后目录下会出现一个新的目录usr
(3)切换到usr目录下查看,有bin share两个目录
(4)切换到bin下再次查看,有qq这个文件,可以查看以下文件的内容
(5)rpm -qlp linuxqq-v1.0.2-beta1.i386.rpm
对qq的安装包的内容进行查看,对比后确认跟拆分后的内容相同
实验做完后将/mnt/下的东西移动回/software
################################################
企业中Linux下软件的管理(yum仓库的搭建以及软件的控制)相关推荐
- Linux下的C编程实战(开发平台搭建,文件系统编程,进程控制与进程通信编程,“线程”控制与“线程”通信编程,驱动程序设计,专家问答)
Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来,Linux ...
- Linux系统中软件管理(rpm命令 本地软件仓库的搭建 dnf软件管理命令 第三方软件的搭建,yum命令)
一.rpm命令 1.Linux中的软件包类型 [1]DEB 适合UBlinux DBlinux [2]RPM(安装包:无需解压,可直接安装) 适合red had centOS fc [3]ba2|ga ...
- 3 款 Linux 下的照片管理软件
Linux 下的照片管理软件大家熟悉的大致有十来个.网上搜索一下就能看到相关的文章介绍.本站以前也介绍过:六款优秀的 Linux 照片管理软件,LinuxLink 也有:7 of the Best F ...
- 让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改
第3部分 软件研发工作总结 VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改 [文章摘要] Pclint是一种C/C++软件代码静态分析工具.它是一种更加严格的编译器,能够发 ...
- linux下mysql日志管理及mysql备份还原
linux下mysql日志管理及mysql备份还原 1.SHOW GLOBAL VARIABLES LIKE '%log%'; 显示所有日志相关的选项 2.错误日志:log_error和log_wa ...
- linux分区管理,Linux下磁盘分区管理
Linux下磁盘分区管理 发布时间:2009-04-11 10:29:37来源:红联作者:lvshengming 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb, ...
- 【dubbo-2.5.x】Linux下dubbo-admin监控/管理平台部署详细教程
前言 Dubbo-Admin是Dubbo控制台管理的工具,是Dubbo组件之一,需要Dubbo-Admin管理平台来实时对服务调用情况进行调整,比如控制分布式服务的调用权重等,通过调整调整调用权重来控 ...
- 5.Linux下的权限管理
5.Linux下的权限管理 一.权限查看及读取 1.权限查看 ls -l file 查看文件权限 ls -ld dir 查看目录权限 2.权限读取 二.文件用户用户组管理 chown chown us ...
- linux下安装mysql数据库[yum install版]
原文链接:linux下安装mysql数据库[yum install版] 在CentOS7中默认安装有MariaDB,这个是MySQL的分支,yum直接覆原有MariaDB, 或安装包报错无法解决依赖问 ...
最新文章
- onInterceptTouchEvent和onTouchEvent调用时序
- 广东春运安保工作提前10天启动
- java类加载器_JAVA类加载器
- gcc / -E、-S、-c 和 -o
- java子类和父类实例_java中父类与子类之间的转换示例
- androidStudio快捷键概览
- 得到选择框句柄 怎么操作_怎么选择小前锋才能在NBA2kol2中使自己的阵容得到提升...
- 在VS Code中用插件记录写代码时间
- VMware虚拟机安装教程
- Python读取snappy后缀文件
- 物联网方面的竞赛有那些?
- Windows Azure 解决方案系列: Real World Windows Azure: 与微软杰出工程师, Sean Nolan的访谈...
- 多分类任务ovo、ovr及softmax回归
- android开发自定义相机镜像问题
- CSS中的绝对定位和相对定位
- java实现图表步骤_Java 在PPT中添加混合图表过程详解
- vscode报错ERROR in node_modules/@types/node/ts3.5/globals.global.d.ts:1:13 - error TS2403: Subsequent
- Excel两列数据去重
- ros 双wan配置_网络设备接口相关配置
- linux usb只读文件系统,linux文件系统只读
热门文章
- HTML5七夕情人节表白网页(雪花爱心表白) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白
- 如何使用 IntelliJ IDEA(2020.2)构建一个JavaWeb项目
- lterator遍历
- 申宝在线炒股北交所新股表现抢眼
- 细分市场或成为OA产品同质化的救星|企服三会系列报道
- qt 设置背景图片、背景色步骤
- Traveler 10上的新能力:支持IMSMO邮件客户机
- msi和exe安装文件有什么区别
- 奇声(IQDubbing)-- 面向影视剧的AI配音技术
- 归并排序 - 维基百科,自由的百科全书