lesson - 9 Linux系统软件包管理
1. rpm工具
rpm Redhat Package Manager, 设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的。
rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm,abrt-cli是包名,2.0.8-15是版本号,el6指的是redhat企业版6,centos指的是这是在centos上用的,i686指的是平台类型。有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。
安装一个包:rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm
-i 表示安装,-v 可视化,-h显示安装进度
--force : 强制安装,即使覆盖属于其他包的文件也要安装
--nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
升级:rpm -Uvh filename.rpm
-U 就是升级的意思
rpm的卸载:
rpm -e filename //这里的filename是通过rpm的查询功能所查询到的
rpm -qa |grep libjpeg-turbo-devel
rpm -e libjpeg-turbo-devel
查询一个包是否安装
rpm -q 包名 (不带有平台信息以及后缀名 )
查询当前系统所有安装过的rpm包
rpm -qa
查询rpm包的相关信息 :
rpm -qi 包名
列出一个rpm所安装的文件:
rpm -ql 包名
某个文件属于哪个rpm包:
rpm -qf filename //这里可以结合反引号一起使用,比如 rpm -qf `which ls`
2. yum工具
yum list 列出所有可用rpm包资源
搜索某个包: yum search ‘keywords’ or yum list |grep ‘keywords’
yum 安装包: yum install -y filename(包名)
yum 卸载包: yum remove -y filename (包名)
yum升级包: yum update -y filename(包名)yum查找包: yum provides "*/vim" //这里用通配,可以查找一个命令由哪个包安装来的
yum grouplist 列出所有的套件
yum groupinstall 安装套件
yum groupremove 卸载套件
创建本地的yum源
mount /dev/cdrom /mnt
cp -r /etc/yum.repos.d /etc/yum.repos.d.bak //先备份一下
rm -f /etc/yum.repos.d/*
vim /etc/yum.repos.d/dvd.repo #加入如下内容:
[dvd]
name=install dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum list //看是否有dvd的标志出现
安装yum扩展源 rpm -ivh www.lishiming.net/data/attachmen ... e-6-8_32.noarch.rpm (其他地址http://www.aminglinux.com/bbs/thread-6721-1-1.html)也可以这样安装: yum install -y epel-release
利用yum下载一个rpm包
yum install -y yum-plugin-downloadonly.noarch #首先需要安装一个插件来支持只下载不安装
yum install 包名 -y --downloadonly #这样就已经下载,默认在 /var/cache/yum/base/packages/
yum install 包名 -y --downloadonly --downloaddir=/usr/local/src #指定一个下载目录,如果是已经安装过的rpm包这样不成功,需要使用reinstall: yum reinstall 包名 -y --downloadonly --downloaddir=/usr/local/src
3. 源码包安装
源码包是开源的可自行更改的程序包,大多用C语音开发,不能直接使用,需要编译成二进制的可执行文件
编译源码包的必须有gcc支持,如果没有需要安装 yum install -y gcc
通常情况编译三步曲: ./configure 配置各种编译参数; make 根据指定的编译参数进行编译;make install 安装到指定目录
实例:
下载源码包 cd /usr/local/src/ #约定目录;
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.27.tar.bz2
解压
tar jxvf httpd-2.2.27.tar.bz2 //查看README或者INSTALL说明文件
指定编译参数 ./configure --help
echo $? 验证是否成功
make
make install
扩展:
1. 使yum保留安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml
2. 使用网易yum源 http://www.aminglinux.com/bbs/thread-7475-1-1.html
3. 搭建局域网yum源 http://www.aminglinux.com/bbs/thread-7627-1-1.html
4. yum源优先级 http://www.aminglinux.com/bbs/thread-7168-1-1.html
lesson - 9 Linux系统软件包管理的更多相关文章
- lesson - 12 Linux系统日常管理1
监控系统状态 – w, vmstat命令w, uptimesystem load averages 单位时间段内活动的进程数 查看cpu的个数和核数vmstat 1vmstat 1 10vmstat各 ...
- lesson - 14 linux系统日常管理3
1. Linux系统服务管理工具ntsysv 类似图形界面管理工具,如果没有该命令使用 yum install -y ntsysv 安装常用服务:crond, iptables, network, s ...
- lesson - 13 Linux系统日常管理2
内容概要: 1. Linux抓包工具 tcpdump 系统自带抓包工具tcpdump -nn -i eth0 tcp and host 192.168.0.1 and port 80tcpdump - ...
- lesson - 15 Linux系统日常管理4
内容概要:1. rsync 命令格式rsync [OPTION]... SRC DESTrsync [OPTION]... SRC [USER@]HOST:DESTrsync [OPTION].. ...
- 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍
目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...
- linux RPM软件包管理
linux RPM软件包管理 目录 1.软件包的介绍 2.rpm包管理 3.rpm包管理前端工具 1.软件包的介绍 在我们在对软件包管理前,先对软件包有个很好的了解,这样更方便我们来对其进行管理. 软 ...
- centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof ,pidof 第十四节课
centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ...
- centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides "*/vim" 第十节课
centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides "*/vim" 第十节课 你不能保证可逆化操 ...
- Linux系统软件包之---Apache
当前互联网主流web服务说明 静态服务: apache 中小型静态web服务的主流,web服务器中的老大哥 nginx 大型新兴网站静态web服务主流,web服务器中的初生牛犊 lighttpd 静态 ...
随机推荐
- 比ngx_http_substitutions_filter_module 更强大的替换模块sregex的replace-filter-nginx-module
之前写过nginx反代替换的教程(传送门),使用了ngx_http_substitutions_filter_module模块.不过这货只能替换同一行,具有局限性-_-# 现在一个更强大的替换模块来了 ...
- 【Mysql知识补充】
一.子查询 1.定义 子查询是将一个查询语句嵌套在另一个查询语句中.内层查询语句的查询结果,可以为外层查询语句提供查询条件.子查询中可以包含:IN.NOT IN.ANY.ALL.EXISTS 和 NO ...
- JavaWeb框架_Struts2_(六)----->Struts2的输入校验
1. 输入校验章节目录 输入校验概述 客户端校验 服务器端校验 手动编程校验 重写validate方法 重写validateXxx()方法 输入校验流程 校验框架校验 Struts2 内置的校验器 常 ...
- PHP入门怎么选?大学生适合学习吗?
大学毕业,面对竞争激烈的社会,理想总是很丰满,现实却很残酷.在硕士.博士都随处可见的今天,本科和大专文凭就显得苍白无力,在面试官问你"有没有工作经验"的时候,你是不是只想起实习期间 ...
- liunx
一键安装地址:https://lnmp.org/install.html
- MySQL 性能优化的最佳20多条经验分享(二)(转)
11. 尽可能的使用 NOT NULL 除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL.这看起来好像有点争议,请往下看. 首先,问问你自己"Empt ...
- 来个Button看一看
0.目录 1.前言 2.基本属性与方法 3.点点更健康 4.我的Button有点多 5.震惊!TextView竟然... 1.前言 每次写代码总会忘记一些东西,又要重新Goooooooooogle,好 ...
- SQL Server学习之路(三):“增删改查”之“增”
0.目录 1.前言 2.通过SSMS添加数据 3.通过SQL语句添加数据 3.1 添加单条数据 3.2 添加多条数据 4.通过其他表导入数据 4.1 通过数据库中的其他表导入数据 4.2 通过exce ...
- java变量和作用域以及成员变量的默认初始化
Java中的变量有成员变量和局部变量,定义在类中方法之外的变量成为成员变量或者成员字段(域),表示一个类所具有的属性,定义为类的成员变量的变量的作用于是整个类,该变量在定义的时候不需要初始化,在使用前 ...
- Ajax异步交互 [异步对象连接服务器]
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>X ...