Linux程序安装包及管理方式

Linux软件包分类

源码包

源码包能直接看到源码,安装时需要人为手工设置安装位置,一般是/usr/local/软件名/,源码包的升级版–脚本安装包,人为的改动源码使其有安装界面。
优点
1、开源
2、安装时可以自由选择所需功能
3、软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
4、卸载方便,直接删了你安装软件的那个目录就好了
缺点
1、安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误
2、编译时间过长
3、因为是编译安装,安装过程中一旦报错新手很难解决

二进制包

这里的二进制包要包括centos中的rpm包,rpm包有默认的安装位置。/etc/配置文件安装目录;/usr/bin/可执行的命令安装目录;/usr/lib/程序所使用的函数库保存位置;/usr/share/doc/基本的软件使用手册保存位置;/usr/share/man/帮助文件保存位置。
优点
1、包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
2、安装速度比源码包快很多
缺点
1、已经经过编译了,看不到源码
2、功能选择不如源代码包灵活
3、安装过程中有很多依赖包,依赖性不好解决

yum安装方式

yum是一个在Fedora和RedHat以及SUSE中的Shell前段软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐的一次次下载,安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁又好记。

从上面解释我们可以看到yum管理是从指定的服务器(网络yum源)下载,所以必须要有网络或者自己手动配置一个本地yum源,而且最关键的是yum能帮助我们解除依赖关系。
点击:yum源配置方法

yum相关命令


显示配置的仓库
yum repolist
yum repolist all(显示所有)
yum repolist enabled (显示可用)
显示所有软件包
yum list或者yum list all
yum list|grep 包名
yum list installed | grep 包名(查看是否已安装某包)
yum list available(显示可安装的包)
yum list updates (显示已更新的包)
yum list recent (显示最近增加的包)
安装
yum install 包名
yum install -y 包名 (对所有的Y/N选择Y)
升级
yum update 包名
卸载
yum remove 包名
创建和清理缓存
yum makecache (构建缓存)
yum clean all (清理)
搜索
yum search 包名
显示软件包信息
yum info 包名
列出软件包提供哪些文件
yum provides 包名
【例1】过滤出gzip包,查看是否已安装zip包,前面有@表示已安装。

[root@localhost ~]# yum list |grep "gzip"
gzip.x86_64                                1.5-10.el7                 @anaconda 
[root@localhost ~]# yum list installed |grep "zip"
bzip2.x86_64                          1.0.6-13.el7                    @mylinux  
bzip2-libs.x86_64                     1.0.6-13.el7                    @anaconda 
gzip.x86_64                           1.5-10.el7                      @anaconda 
unzip.x86_64                          6.0-19.el7                      @mylinux  
zip.x86_64                            3.0-11.el7                      @mylinux  

配置的yum不能使用

一般情况下是以下四种问题:
(一)检查网络是否畅通
ping本机

[root@localhost ~]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=1.72 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=1.77 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=1.43 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=128 time=1.82 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=128 time=2.45 ms
...

ping外网

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=42.2 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=42.5 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 time=42.3 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 time=42.0 ms

(二)缓存问题:重新清理然后生成一下缓存
yum clean all
yum makecache
(三)配置源和系统版本不匹配:换一个yum源
(四)配置文件问题:检查配置文件

建立yum服务器(待修改)

安装配置ftp服务

[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# mkdir /var/ftp/{centos6u8,centos7u4}
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpb #重启时被系统自动拉起来

配置防火墙

[root@localhost ~]# firewall-cmd --permanent --add-service=ftp #让ftp通过防火墙
[root@localhost ~]# firewall-cmd --reload #重载防火墙

关闭SELinux(也是防火墙)

[root@localhost ~]# setenforce 0
SELINUX=disabled

挂载centos镜像

rpm安装方式

将光驱挂载在/media下,切换到此目录中我们会看到有一个Package目录,在这个目录中是我们系统自带的编译好的rpm程序包。

yum-plugin-verify-1.1.31-50.el7.noarch.rpm
yum-plugin-versionlock-1.1.31-50.el7.noarch.rpm
yum-rhn-plugin-2.0.1-10.el7.noarch.rpm
yum-updateonboot-1.1.31-50.el7.noarch.rpm
yum-utils-1.1.31-50.el7.noarch.rpm
zenity-3.28.1-1.el7.x86_64.rpm
zip-3.0-11.el7.x86_64.rpm
zlib-1.2.7-18.el7.i686.rpm
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.i686.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm

以zip-3.0-11.el7.x86_64.rpm为例,
zip:软件包名
3.0:主版本号.次版本号
11:发布版本号,表示第几次编译生成的
el7:表示RHEL 7.x平台下
x86:CPU架构
64:支持系统位数
rpm:rpm包,可用rpm命令直接安装
noarch:表示任何平台都可以安装

找rpm包https://www.rpmfind.net/

rpm相关命令

rmp包安装

-iinstall 安装
-vverbose 显示安装详细信息
-hhash marks输出进度条;每个#表示%2的进度
- -nodeps不检测依赖
- -replacepkgs重新安装

注意:这种方式和源码安装一样需要先安装依赖

【例2】安装wget并且显示详细信息及进度(须在Package目录下)

[root@localhost Packages]# rpm -ihv wget-1.14-18.el7.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:wget-1.14-18.el7                 ################################# [100%]

rpm包升级

-uupgrade 升级或安装
-F升级

rpm包卸载(不能解除依赖)

-e卸载
- -nodeps不检查依赖
- -test测试卸载

查询rpm包

-q查询
-a所有
-qa查询已安装的rpm包
-i查询软件信息
-p查询未安装包信息
-qi查询详细信息
-ql查询安装路径
-qf查询系统文件属于哪个软件包
-qR查找依赖性

源码安装方式

编译安装软件程序包源码编译安装三步走:./configure、make、make install

./configure

  • 指定安装路径,例如 --prefix=/usr/local/apache
  • 启用或禁用某项功能,例如 --enable-ssl,–disable-filter
  • 和其他软件关联,例如 --with-pcre
  • 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求
  • 最终生成:Makefile

以安装memcache为例
第一步:下载源码包
(直接复制粘贴)
memcached1.6.6包
libevent-2.1.8包

[root@localhost ~]# wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz

第二步:解压
将这两个包解压到usr/local/src下

tar xf libevent-2.1.8-stable.tar.gz -C /usr/local/src/
tar xf memcached-1.5.6.tar.gz -C /usr/local/src/

第三步:预编译libevent
首先下载c编译工具

yum install  gcc-c++ gcc make

进入 /usr/local/src/libevent-2.1.8-stable目录中进行预编译

cd /usr/local/src/libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent

编译完成后查看是否成功

echo $?
0

预编译mencache
(由于memcache依赖于libevent包,因此等libevent安装好之后再对mecache进行预编译以往下的步骤)

cd /usr/local/src/memcached-1.5.6/
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
echo $?
0

第四步:编译

make
echo $?
0

第五步:安装

make install
echo $?
0

将windows上的包传输到Linux上:lrzsz

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值