软件管理
软件包的管理
1.让光盘文件出现在系统
[root@A ~]# mkdir /rhel7
[root@A ~]# mount /dev/cdrom /rhel7
mount: /dev/sr0 写保护,将以只读方式挂载
验证:
[root@A ~]# ls /rhel7
[root@A ~]# ls /rhel7/P(tab)
-
RHEL7当中RPM包,方便快捷
RPM包将装机位置写死
rpm -q 软件名 //查询是否安装
rpm -ivh 软件名 //安装 原来有会被保留
rpm -uvh 软件名 //升级软件 原来有会被替换
rpm -e 软件名 //卸载
例:[root@A ~]# rpm -q firefox
firefox-38.3.0-2.el7_1.x86_64
[root@A ~]# rpm -q haha
未安装软件包 haha
[root@A ~]# rpm -q bash
bash-4.2.46-19.el7.x86_64
[root@A ~]# rpm -q vsftpd #查询软件包是否安装
[root@A ~]# rpm -ivh /rhel7/Packages/ #安装软件包
vsftpd-3.0.2-10.el7.x86_64.rpm
[root@A ~]# rpm -q vsftpd #查询软件包是否安装成功
[root@A ~]# rpm -e vsftpd #卸载软件包
[root@A ~]# rpm -q vsftpd #查询软件包是否卸载成功
RPM 数据库 记录安装和卸载
rpm --import /rhel7/RPM-GPG-KEY-redhat-release 导入RPM签名 作用是安装是不会警告 关系不大
Yum软件包管理,基于RPM的包管理工具,自动解决依赖关系
1.服务端,挂载光驱设备,让系统出现光盘内容即可
2.本地客户端,修改配置文件,指定本地为服务器
路径 /etc/yum.repos.d/*.repo
用户可自定义任意可以使用的YUM源,文件扩展名必须是.repo
[ ] //指明仓库名称 填写YUM源唯一的ID,可添加任意字符
name //仓库描述信息 指定YUM源名称,可以为任意字符串
baseurl //指定本地服务器 指定YUM源的URL地址(可以是HTTP,FTP或本地地址)
baseurl=file://文件目录
baseurl=http://
baseurl=ftp://
enabled // 是否激活该YUM源(0代表禁用,1代表激活)
gpgcheck //安装软件时是否检查签名(0代表禁用,1代表激活)
mirrorlist //指定镜像站点目录
gpgkey //检测签名的密钥文件
3.YUM仓库的使用
yum repolist //列仓库
yum clean all //清空YUM缓存
yum -y install 软件名 //安装软件
yum -y remove 软件名 //卸载软件
yum -y update 软件名 //升级软件
选项 -y //免交互 不需要输入yes来确认安装
网络型:搭建Yum仓库,服务端和客户端分离
1.服务端,已经完成。server搭建Web服务,光盘所有内容
server共享真机光盘文件 开启了Web 服务
2.在desktop上虚拟机,指定Yum仓库服务器
这是我自己shell 写的一个自动搭建本地 yum源 的一个脚本(用光盘进行挂载)
#!/bin/bash
Date=(date +%F)
creatyum(){
mkdir /mnt/$Date &> /dev/null
echo '/dev/cdrom /mnt/$Date iso9660 defaults 0 0' >> /etc/fstab
mount -a
n=ls /mnt/$Date | wc -l
if [ $n -eq 0 ];then
echo '请挂载光盘文件!!!'
exit
fi
rm -rf /etc/yum.repos.d/*
echo "[dvd]
name=dvd
baseurl=file:///mnt/$Date
gpgcheck=0
" > /etc/yum.repos.d/dvd.repo
yum clean all &> /dev/null
}
yum repolist &> ${Date}.txt
a=cat ${Date}.txt | tail -1 | sed 's/[,]//' | awk '{print $2}'
rm -rf ${Date}.txt
if [ -z echo "$a" | grep -e 's/[^0-9]//'
];then
creatyum
elif [ $a -eq 0 ];then
creatyum
fi
echo -en "yum 源..."
echo -e "\e[32;1m[OK]\e[0m"
这是我用python 写的一个配置本地yum源的一个脚本 可能没有上一面的那个shell脚本考虑的全面
#coding:utf-8
import sys
import subprocess
import time
def mytime():
return time.strftime("%Y-%m-%d",time.localtime(time.time()))
def cdyum():
time=mytime()
subprocess.call('mkdir /mnt/%s &> /dev/null'%time,shell=True)
subprocess.call('mount /dev/cdrom /mnt/%s &> /dev/null'%time,shell=True)
subprocess.call('rm -rf /etc/yum.repos.d/*',shell=True)
with open('/etc/yum.repos.d/dvd.repo','w') as fobj:
fobj.write("[dvd]\n")
fobj.write("name=dvd\n")
fobj.write("baseurl=file:///mnt/%s\n"%time)
fobj.write("gpgcheck=0\n")
if __name__ == '__main__':
cdyum()
源码编译安装软件
1.将软件源码的压缩包解压缩
2.运行configure脚本,通过特定的选项修改软件设置与功能。(有些软件没有提供configure脚本,则可以直接执行make编译步骤)
3.运行make命令将软件源代码编译为计算机可以直接时别的机器语言。由于需要相应的编译软件才可以进行编译,所以在执行configure脚本时会检查对应的开发工具是否安装,常用的开放工具有:gcc,python,perl,make,automake等,
4.通过make install 根据配置阶段指定的路径和功能将软件以特定的方式安装到指定位置
使用wget 下载工具
wget 软件包URL网址
wget 软件包的URL网址 -O /目录路径/新文件名