Linux下的软件安装

转别人的文章,忘记出处了,非常抱歉!

 

一.  源码安装

1.       解压源码软件

2.       进入到软件所在目录

3.       ./configure    执行编译前的准备,参数为默认,若改变参数可用./configure –help查看;

4.       make         开始编译;

5.       make install    安装软件。

6.       若要卸载软件,可执行   make uninstall  。

二.  RPM安装

1.     安装

*这里以  foo-1.0-1.i386.rpm  为例说明,先说明一下软件参数:foo 为软件名,1.0 为版本号,1 为发行号,i386 为硬件平台;

*命令格式:

               rpmi【v】【h】 【option】 file1.rpm … fileN.rpm     可同时安装多个软件包

*【】中的内容为可选项:

                      i 表示安装;   v 表示显示状态;   h 表示以 # 输出显示进度;

*【option】包含的参数有:

 

--test=-t          只对安装进行测试,并不实际安装

--percent=-p     以百分比的形式输出安装的进度

--replacepkgs   强制重新安装已经安装的软件包

--replacefiles   替换属于其它软件包的文件

--nodeps       不检查依赖性关系

       --excludedocs   不安装软件包中的文档文件

--force         忽略软件包及文件的冲突

2.     升级

*命令格式:

             rpm -【U|F】【v】【h】【option】 file1.rpm … fileN.rpm

*说明:

             U 表示升级;F 表示更新;

*【option】包含的参数有:

              --prefix           将软件包安装到由 指定的路径下

--oldpackage      允许"升级"到一个老版本

              其它参数和安装选择的参数相同;

3.     查询

*命令格式     rpm –q 【option】

*【option】包含的参数有:

 

             -a 查询所有已安装的软件包

             -all 查询所有已安装的软件包数据

             -i 查询软件的信息

             -l 查询软件包里的内容

             -f 查询属于哪个软件包

             -p 查询软件包文件名为。。。的软件包

例:

1)   查询一个包是否被安装:rpm –q *

2)   查看软件包里的内容:rpm –qpi *

3)   查看软件包将会在系统里安装哪些部分:rpm –qpl *

4)   快速判定某个文件属于哪个软件包:rpm –qf *

5)   列出所有被安装的rpm软件包:rpm –qa

6)   查询已安装软件包都安装到何处:rpm –ql

7)   查看一下已安装软件所依赖的软件包及文件:rpm -qR 软件名

8)   查看一下已安装软件的配置文件:rpm -qc 软件名

9)   查看一个已经安装软件的文档安装位置:rpm -qd 软件名

*对未安装的软件进行查询:

1) 查看一个软件包的用途、版本等信息:rpm -qpi file.rpm

     2) 查看一件软件包所包含的文件:rpm -qpl file.rpm

     3) 查看软件包的文档所在的位置:rpm -qpd file.rpm

     4) 查看一个软件包的配置文件:rpm -qpc file.rpm

     5) 查看一个软件包的依赖关系:rpm -qpR file.rpm

4.     验证

*命令格式:

             rpm –V file.rmp

*软件包状态标签:

             5 -- MD5 校验和
S -- 文件长度
L -- 符号链接
T -- 文件修改日期
D -- 设备
U -- 用户
G -- 用户组
M -- 模式 (包含许可和文件类型)
? -- 不可读文件

5.     卸载

*命令格式:     rpm –e 软件包名

三.  YUM安装

建立YUM下载源的步骤:

1)    将所有RPM文件放入同一个目录中;

2)    在该目录中建立YUM下载源数据,执行createrepo  +  软件包绝对路径

3)    通过本地file、HTTP、FTP分享这个目录

 

&  yum的配置一般有两种方式:

Ø  其一是直接配置/etc目录下的yum.conf文件,

&  /etc/yum.conf文件说明:

[main]
cachedir=/var/cache/yum       #yum下载的RPM包的缓存目录
keepcache=0                   #缓存是否保存,1保存,0不保存
debuglevel=2                   #调试级别(0-10),默认为2
logfile=/var/log/yum.log         #yum的日志文件所在的位置
exactarch=1                    #在更新的时候,是否允许更新不同版本的RPM包
obsoletes=1                    #update参数,允许更新陈旧的RPM包
gpgcheck=1                    #是否检查GPG(GNU Private Guard),一种密钥方式签名
plugins=1                      #是否允许使用插件,默认是0不允许
installonly_limit=3             #允许保留多少个内核包。
exclude=selinux*             #屏蔽不想更新的RPM包,多个RPM包之间使用空格分离
#   This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE or IN separate files named file.repo
# in /etc/yum.repos.d

Ø  其二是在/etc/yum.repos.d目录下增加.repo文件。

&  /etc/yum.repos.d目录下 *.repo文件详解:

[Fedora]                 #方括号里面的是软件源的名称,将被yum取得并识别

name=Fedora $releasever - $basearch   #这里也定义了 软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择
exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os

enabled=1        #这个选项表示这个repo中定义的源是启用的,0为禁用
gpgcheck=1      #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm  包的来源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥

 

Ø  Yum 选项及命令:

check-update      列出所有可更新的软件清单

update              更新一个或多个包在你的系统,或不加包名以安装所有更新软件

    clean                删除缓存数据
deplist              列出包依赖相关
erase                移除一个或多个包从你的系统
groupinfo           显示关于包组的细节
groupinstall       从组里安装软件包到你的系统
grouplist           列出当前的组
groupremove      在一个组中移除包从您的系统
help                 显示帮助用法信息
info                  显示关于包或一组包的细节信息
install               安装一个或多个软件包在你的系统
list                  列出一个包或某组的包

all     列出所有的软件包

installed 仅列出已安装的软件包

available 仅显示可安装的软件包

updates 仅显示可以更新的软件包

recent 仅显示近期的软件包
localinstall        安装本地 RPM
makecache        生成原数据缓存
provides           Find what packagee provides the given value
reinstall           重新安装一个包

remove         删除软件包
repolist            显示软件仓库的配置
resolvedep        决定哪个包提供了给定的依赖
search             查找软件包
shell                运行交互式的yum shell
update              更新一个或多个包在你的系统
upgrade            Update packages taking obsoletes into account

    -R [minutes]         最大化的命令等待时间

-y                       回答所有的问题为是

Ø  &  清除YUM缓存:

yum  clean  packages:清除缓存目录 /var/cache/yum下的软件包;

yum  clean  headers :清除缓存目录 /var/cache/yum下的headers;

yum  clean  oldheaders :清除缓存目录 /var/cache/yum下旧的headers;

yum  clean  all  :清除所有缓存信息。

 

1.列出所有可更新的软件清单
命令:yum check-update
2.安装所有更新软件
命令:yum update
3.仅安装指定的软件
命令:yum install
4.仅更新指定的软件
命令:yum update
5.列出所有可安裝的软件清单
命令:yum list
用YUM安装删除软件
装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
1.用YUM安装软件包
命令:yum install
2.用YUM删除软件包
命令:yum remove
用YUM查询软件信息

们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用
yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用
yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于
是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
1.使用YUM查找软件包
命令:yum search
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list
7.使用YUM获取软件包信息
命令:yum info
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides
清除YUM缓存
yum
会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确
的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一
股脑儿端
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean
oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean
all (= yum clean packages; yum clean oldheaders)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值