源代码安装
- 优势 : 可定制,紧跟发布,及时修正Bug
- 缺点 : 操作复杂 , 编译时间长 , 极易出现错误,大面积部署复杂且低效,安全性隐患大
源代码安装步骤
- 下载解压,阅读软件包附带的 install 文件和 readme 文件,获取软件的相关信息。
- 进入解包之后的目录,执行 “ ./configure” 命令,使用参数设置编译环境和编译模块,例如
--prefix
为编译做好关于本地环境的配置。 - 配置成功后,执行 “ make” 命令进行软件编译。
- 编译成功后,执行 “ make install” 命令完成安装。
- 最后,执行 “ make clean” 命令删除安装时产生的临时文件
卸载步骤
- 先进入软件的安装目录,然后执行卸载命令即可:
make uninstall
- 如果有的软件包不提供 uninstall 功能,则必须进行手动删除。因此你需要阅读安装目录里面的readme 文件,或者在安装的过程中指定安装目录,即在 ./configure 命令后面添加参数 —prefix ,例如:
./configure --prefix=/usr/local/dir
- 该命令将把软件安装在 /usr/local/ 路径的 dir 目录里。通常情况下,大多数软件都默认安装在 /usr/local 目录里。
MPlayer源码安装实验
下载软件包到系统某个目录下,本次演示中使用/tmp/mplayer/目录,软件包包括主程序、库函数、皮肤
wget .... |
将压缩包解压
tar -jxf |
创建目录用来存放库函数
mkdir /usr/local/lib/codes
将/tmp/mplayer/all/目录下所有文件复制到/usr/local/lib/codes
cp all-20071007/* /usr/local/lib/codes |
安装依赖包
yum install -y kernel-devel gcc zlib-devel gtk2-devel
检查安装环境
cd /tmp/mplayer/MPlayer-1.0rc2 |
编译make
make
安装
make install
装皮肤
这部分不是代码,而是程序装在了哪里 |
- 创建目录
mkdir /usr/local/share/mplayer/skins/default/
- 将皮肤文件复制到/usr/local/share/mplayer/default/目录中
cp /tmp/mplayer/Blue/* /usr/local/share/mplayer/skins/default/
从真机桌面用鼠标双击打开图形化界面的rhel6,去测试,是否安装成功。
applications--->sound&video---->mplayer
二进制安装
直接解压缩即可使用
例如 mycat 数据库代理服务器
安装 mycat ,直接解压缩即可使用
tar xf Mycat-server-1.5.1-RELEASE-20160328130228-linux.tar.gz -C /usr/local |
RPM
RPM : redhat package management
rpm 命令是 RPM 软件包的管理工具。 rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。 RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
rpm 的命名规范 : 软件名 - 版本号 - 操作系统平台
libreoffice4.1-calc-4.1.6.2-1.x86_64.rpm
zlib-1.2.3-29.el6.x86_64.rpm
语法 rpm ( 选项 )( 参数 ) |
YUM
yum 的作用
作用 : 为了解决包之间的依赖关系而存在的一种管理机制 , 基于 rpm 为前端的包管理机制 .
为了解决依赖关系 , 引入了一种仓库的机制 .
yum 仓库
仓库 : 用来存放软件和软件之间的依赖关系 , 当我们需要安装软件的时候 , 就可以通过该依赖关系 , 来将相应的依赖包都装上 .repodata 目录就是 yum 的仓库 , 存放软件和软件之间的依赖关系数据 .
[root@rhel6 dvd]# ll repodata/ -d |
依赖关系
安装系统的光盘中已经有建号的依赖关系了,即 repodata/ 目录,如果要自己手动制作 rpm 包依赖关系目录,该怎么做呢?
安装软件 createrepo
rhel7 默认已经安装[root@rhel7 ~]# yum install -y createrepo
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager
to register.
server
| 4.1 kB 00:00:00
(1/2): server/group_gz
| 134 kB 00:00:00
(2/2): server/primary_db
| 3.4 MB 00:00:00
Package createrepo-0.9.9-23.el7.noarch already installed and latest version
Nothing to do
rhel6 要自己安装
[root@rhel6 rc.d]# yum install -y createrepo |
以 rhel7 为例从学校服务器上拷贝一些软件到 /tmp/dvd7.1/ 目录下
[root@rhel7 tmp]# cp /mnt/rhel7.1/x86_64/dvd/Packages/* /tmp/dvd7.1 |
制作 rpm 包依赖关系
[root@rhel7 dvd7.1]# createrepo /tmp/dvd7.1/ |
已经成功创建
[root@rhel7 tmp]# ll dvd7.1/ |grep repodata |
配置仓库
为此 , 我们需要优先去配置一个仓库指向文件。这个文件的位置在 /etc/yum.repos.d/ 目录下 , 以 .repo 结尾
[root@rhel7 tmp]# cd /etc/yum.repos.d/ |
[ 仓库名 ] |
配置完仓库后 , 需要使用
- yum clean all 来清理缓存
- yum makecache 来重新生成缓存 .4.5 yum 安装
安装
- yum install 软件名 安装指定软件
- yum groupinstall 组名 用来安装一系列的软件包 ,
- yum reinstall 软件名 重新安装指定软件
-y 选项 , 忽略安装过程出现的 is this ok的交互信息
- yum localinstall 软件名 本地安装指定软件
查询
- yum list 用来查询所有的软件包
- yum list installed 用来查看已经安装过的软件包
- yum search 字符串 能够将说明信息里含该字符串的相关软件包罗列出来
- yum info 软件包名 用来查看软件包的详细信息
- yum grouplist 组名 用来查询系统里所有的组包
- yum groupinfo 组名 用来查询指定组的相关信息
升级
- yum update 软件名
- yum upgrade 软件名
两种写法执行效果没有区别
卸载
- yum remove 软件名
不要使用 yum 去卸载 , 会将软件的依赖关系一并卸载掉 .
Linux 软件安装课后作业
- 配置一个 yum 仓库。熟悉一下配置的几个字段内容。
- 安装 vsftpd 软件。
- 查看 vsftpd 软件的安装文件有哪些
- 查看一下 touch 命令是由哪个软件包安装出来的
- 搜索一下含 bind 字符串的软件包。
- 查询一下 httpd 软件有没有安装 , 没有则将该软件装上。
- 查看一下 httpd 软件的版本号及试用平台。
- 卸载 vsftpd 软件。
- 卸载 httpd 软件 , 不要卸载与其有依赖关系的软件包