Linux软件安装:源码、RPM、SRPM、YUM功能

1.源码包的安装

1.下载源码包

源码包 后缀:.tar.gz

2.需要安装gcc

yum list gcc
yum install

3.解压源码包

cd Desktop/
ls 
tar zxvf ......

4.生成makefile文件(如果没有)

进入解压后的文件目录中,看是否有makefile文件
如果没有,运行configure文件生成makefile文件
./configure --help
mkdir /opt/xx
./configure --prefix=/opt/xx/
如果不指明安装目录的话,默认安装在/usr/local/apache2/的目录下

5.编译

make(当前目录直接运行)

6.安装

make install (安装到/opt/xx里面)

注:安装Apache软件源码包httpd.tar.gz
安装wine.tar.gz,作用是:在Linux下运行windows软件(需要安装3-4个小时)


2.使用RPM包(RedHat Package Management)

  • 把已有的源码包,编译成为RPM包,去掉了源码包部分功能,只是源码包功能的一个子集
  • RPM包自带的功能无法取消,可能出现冗余功能,也可能因此出现漏洞;而源码包功能可以根据需要进行使用,可以取消无关的功能。因而源码包的定制性很强,RPM包的定制性不强,但是安装起来非常方便
  • RPM包后缀:.rpm
  • 可以实现软件的安装,查询,卸载,更新。。。
  • rpm功能由第一个选项决定的,如果第一个选项是i的话,代表install
rpm -ivh
-i:install
-v:安装进度
-h:数字签名

.

rpm -ivh linuxqq-v1.2-betal.i386.rpm
                版本    系统    后缀

.

qq

.

q:查询    a:所有
rpm -qa
rpm -qa | grep linuxqq

rpm包安装路径已经指定好默认路径
查询路径:

rpm -ql linuxqq

查询配置文件:

rpm -qc linuxqq

查询帮助文档:

rpm -qd linuxqq

查询安装信息:

rpm -qi linuxqq

查看某个文件是由那个软件安装出来的:

rpm -qf /etc/passwd

验证数字签名(用公钥,没有的话为not OK):

rpm -K vsftpd-2.0.5-16.e15_4.1.i386.rpm

所以要导入CentOS的公钥:

rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

验证(有公钥,验证通过为OK)

rpm -K vsftpd-2.0.5-16.e15_4.1.i386.rpm

查看软件包(p:package)

rpm -qlp linuxqq-v1.0.2-betal.i386.rpm

安装新的软件包:

rpm -ivh /mnt/CentOS/vsftpd-2.0.5-15.e15_4.1.i386.rpm
rpm -qa | grep vsftpd
rpm -qc vsftpd
rpm -qd vsftpd
rpm -ql vsftpd
rpm -qi vsftpd

.e:eraser

rpm -e vsftpd
rpm -qa | grep vsftpd

.UUpdate

rpm -Uvh vsftpd-2.0.5-16.e15_4.1.i386.rpm

如果没有此元件,就直接安装所需软件;
如果已经安装了此软件,就先卸载,再安装此软件。

如果要是更新内核的话,就需要使用:
rpm -ivh kernel......
这样可以保证防止因为新版本内核不稳定造成的安全问题,因为这个命令没有删除旧版本的内核

(rpm)
问题:假如安装A软件包,提示需要先安装B软件包,然后安装B软件包,提示需要先安装C软件包。。。。。。
解决:

rpm -ivh --force xxxxxxx
(但是不推荐使用这种方式)

推荐使用yum安装解决这个问题!


3.YUM安装

原理:
yum服务器:提供发送要安装以及相互依赖的安装包
yum客户端:接收到所有安装包,存于内存中,安装完成后删除

问题:
1.为什么服务器可以知道哪些安装包之间有依赖关系?
2.为什么客户端知道去哪个服务器下载所需要的安装包?

1yum

.Yum

cd /etc/yum.repos.d/
ls
rm -rf aa.repo
vim xx.repo
    [aa](这里是yum源,随便写)
    name=aaaaa #(随便写,注意name后面不能出现空格,name必须要出现)
    #baseurl=ftp://192.168.50.250/pub/
    baseurl=file://mnt/ #(根下面的光盘挂载点/mnt/)
    enabled=1 #(enabled:代表是否启用这个yum源,0代表不起用)
    gpgcheck=0 #(0代表不对软件包进行密钥验证,1代表对软件包进行密钥验证,如果是1,需要将CentOS公钥导入过来)
yum clear all (清除缓存)
yum list gcc

xx.repo文件可以写入多个源,如果一个源没有找到,会自动跳入下一个源:

[aa]
name=aaaaa
baseurl=file://mnt/ #(根下面的光盘挂载点/mnt/)
enabled=1
gpgcheck=0 


[bb]
name=bbbbbb
baseurl=ftp://192.168.60.250/pub/
enabled=1
gpgcheck=0
yum clear all

.

yum list vsftpd
yum list vsftpd\*(如果忘记后面那个是什么单词,可以使用 “转义*”)
yum list vsftpd* (如果是*,那么代表前面只要是vsftp后面包含任意个字符的相似文件,不够准确)

还可以使用search查找
yum search vsftp(将包含vsftp的文件包全部找到)

.

yum remove vsftpd(后面提示是否卸载,键入y)
yum remove vsftpd -y(不需要提示的话,可以先直接加入 -y 选项)
yum -y remove vsftpd

.

yum install vsftpd\*
yum install vsftpd\* -y
yum -y install vsftpd\*

想知道某个包是由那个命令产生的可以使用

yum whatprovides */
yum whatprovides */iostat(查看iostat命令是由什么包产生的)

这个命令原理类似查找命令:
rpm -qld /mnt/CentOS/*:找每个安装文件下可能产生的安装目录

yum groplist(列出组别)
system-config-packages &

列出组别
yum grouplist 'KDE*'
安装组别
yum groupinstall 'KDE (K 桌面环境)'
删除组别:
yum groupremove 'KDE (K 桌面环境)'

2)yum

ifconfig eth0
df -h
网络配置器 Host-Only(使网络互通)
ping xxxxx
iptables -L -n 
iptables -F (清除防火墙)
ping xxxxx
ifconfig eth0
setup(网络配置)
service network restart 
ping xxxxx
clear

现在把这台新机器设置为yum源
CD/DVD(IDE)浏览IOS镜像,把光盘挂载上来
选择已连接

mount /dev/cdrom/mnt(进行挂载)
ls /mnt/
vim /etc/yum.repos.d/xx.repo
    [aa]
    name=aaa
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0
yum install vsftpd -y 
iptables -F 
services iptables stop 

services iptables restart 
ftp 192.168.60.251

cp -rvf /mnt/CentOS/* /var/ftp/pub/
ls /var/ftp/pub/

ls /var/ftp/pub -1 | wc -l(查看一共有多少个包)
ls -1 /mnt/CentOS/wc-l

yum install createrepo -y(安装这个包)
createrepo -v /var/ftp/pub | grp ^d

yum clear all
yum list gcc 
yum list vsftpd -y 

cd /var/ftp 
ls 
ll 
mkdir qq
cd qq/
ls 
cp ~/Desktop/linuxqq-v1.0.2-betal.i386.rpm
ls 
cd ..
createrepo -v qq/

vim /etc/yum.repose.d/aa.repo
    [aa]
    name=aaaaa
    baseurl=ftp://192.168.60.251/pub
    enabled=1
    gpgcheck=0

    [bb]
    name=bbb
    baseurl=ftp://192.168.60.251/pub
    enabled=1
    gpgcheck=0

yum clear all
yum list linuxqq

pkgs.org参考网站
把源码包编译成为RPM包???怎么完成!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值