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

来源:互联网 发布:java文本框显示换行 编辑:程序博客网 时间:2024/05/05 01:40

1.源码包的安装

1.下载源码包

源码包 后缀:.tar.gz

2.需要安装gcc

yum list gccyum install

3.解压源码包

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

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

进入解压后的文件目录中,看是否有makefile文件如果没有,运行configure文件生成makefile文件./configure --helpmkdir /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 -qarpm -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.rpmrpm -qa | grep vsftpdrpm -qc vsftpdrpm -qd vsftpdrpm -ql vsftpdrpm -qi vsftpd

.e:eraser

rpm -e vsftpdrpm -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/lsrm -rf aa.repovim 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=aaaaabaseurl=file://mnt/ #(根下面的光盘挂载点/mnt/)enabled=1gpgcheck=0 [bb]name=bbbbbbbaseurl=ftp://192.168.60.250/pub/enabled=1gpgcheck=0
yum clear all

.

yum list vsftpdyum 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\* -yyum -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 eth0df -h网络配置器 Host-Only(使网络互通)ping xxxxxiptables -L -n iptables -F (清除防火墙)ping xxxxxifconfig eth0setup(网络配置)service network restart ping xxxxxclear现在把这台新机器设置为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=0yum install vsftpd -y iptables -F services iptables stop services iptables restart ftp 192.168.60.251cp -rvf /mnt/CentOS/* /var/ftp/pub/ls /var/ftp/pub/ls /var/ftp/pub -1 | wc -l(查看一共有多少个包)ls -1 /mnt/CentOS/wc-lyum install createrepo -y(安装这个包)createrepo -v /var/ftp/pub | grp ^dyum clear allyum list gcc yum list vsftpd -y cd /var/ftp ls ll mkdir qqcd qq/ls cp ~/Desktop/linuxqq-v1.0.2-betal.i386.rpmls 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=0yum clear allyum list linuxqqpkgs.org参考网站把源码包编译成为RPM包???怎么完成!
0 0
原创粉丝点击