linux 第七节

Linux安装软件包:

RPM包安装

RPM是Red Package Manager的缩写,本意是red hat软件包管理,顾名思义是red hat贡献出来的软件包管理;在fedora , redhat,mandriva,suse,yellowdog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;

一个rpm包中的应用程序,有时除了自身所带的附加文件保证其正常意外,还需要其他特定版本文件,这就是软件包的依赖关系;比如我们在windows系统中运行3d游戏,在安装时,会提示要安装direct9;这里linux和windows的原理是差不多的

linux 第七节_第1张图片

rpm包管理用途:

1、 可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;

2、 通过rpm包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;

3、 可以查询系统中的软件包是否安装以及其版本;

4、作为开发者可以把自己的程序打包为rpm包发布;

5、 软件包签名gpg和md5的导入、验证和签名发布;

6、 依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

实例1:查询系统已安装的rpm包:

rpm -qa | grep jdk

-q   查询是否系统安装了jdk,如果已安装会有信息输出;如果没安装,会输入没有安装的信息

-a   all,查看系统中所有已经安装的包

实例2:查询一个已经安装的文件属于哪个软件包

rpm -qf /usr/lib/libacl.la

查询/usr/lib/libacl.la属于哪个软件包(注:文件名需要是绝对路径)

实例3: 查询已安装软件包都安装到何处

rpm -ql lynx

查询lynx包安装在何处

实例4:安装一个rpm包

rpm -vih file.rpm

安装一个file.rpm软件包

实例5:升级一个rpm包

rpm -Uvh file.rpm

升级一个file.rpm软件包

备注:安装升级过程中如果有依赖关系,请解决依赖关系。其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果在软件包管理器中也找不到依赖关系的包,那只能通过编译他所依赖的包来解决依赖关系,或者强制安装。

语法结构:  rpm -ivh file.rpm --nodeps --force

                    rpm -Uvh file.rpm --nodeps --force

实例6 :由新版本降级为旧版本,要加--oldpackage参数

rpm -Uvh --oldpackage gaim-1.3.0.fc4.i386.rpm

实例7:为软件包指定安装目录:-relocate参数

rpm -ivh --relocate / = /opt/gaim gaim-1.3.0-1.fc4.i386.rpm

实例8:删除一个rpm包

rpm -e lynx    删除lynx软件包

备注:如果有依赖关系,也可以通过--nodeps忽略依赖的检查来删除。但尽可能不要这么做,最好用软件包管理器system-config-package来删除或者添加软件

源代码包安装

备注说明:先要确保GCC以及其依赖包安装

./configure:

众所周知,开始configure前应该仔细阅读源码目录下的readme或者insall文件,好多安装中的注意事项在这里都有所罗列。configure实际上是一个脚本文件,在当前目录中键入“./configure”,shell就会运行当前目录下的configure脚本。在整个configure过程,其实编译尚未进行,configure仅仅是做编译相关的准备工作,它主要对当前的工作平台做一些依赖性检查,比如编译器是否安装,连接器是否存在,如果在检测的过程中没有任何错误,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件 makefile,当然,configure支持及其丰富的命令行参数,可以键入“./configure --help”获取具体的信息,最常用的是:

./configure --prefix = /opt/xxx  它用来设置软件的安装目录

make:

makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,一般情况下,make会根据makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序

make install:

当上面两个步骤正确完成,代表着编译链接过程已经完全结束,最后要做的就是将可执行程序安装到正确的位置,在这个步骤,普通用户可能没有相关目录的操作权限,临时切换到root是一个不错的选择。“install”只是makefile文件中的一个标号,“make install”代表着make工具执行makefile文件中“install”标号下的所有相关操作,如果在configure阶段没有使用“--prefix=/opt/xxx”指定应用程序的安装目录,那么应用程序一般会被默认安装到/usr/local/bin,如果/usr/local/bin已经存在于PATH中,那么安装已经基本结束。

向导安装

绿色安装

Linux下也有很多强大的绿色软件,解压后就能直接运行。比较出名的有XAMP,tomcat等。

yum centos/RHEL/fedora/suse

yum = yellow dog updater,modified 主要功能是更方便的添加/删除/更新rpm包,它能自动解决包的依赖性问题,它能便于管理大量系统的更新问题

国内网易163的yum源比较稳定,版本和速度上都有优势,推荐

http://mirrors.163.com/.help/centos.html

yum配置:

1、 首先备份/etc/yum.repos.d/CentOS-Base.repo

如:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、 下载对应版本repo文件,放入/etc/yum.repos.d

3、 运行yum make cache 生成缓存

yum相关命令:

yum search softname 查找软件

yum list softname  列出已装软件

yum install softname  安装软件

yum remove softname  卸载软件

apt-get debian/ubuntu


Linux环境变量

Linux是一个多用户的操作系统,每个用户登录系统后,都会有一个用户特有的运行环境。通常每个用户默认的环境都是相同的,如果这个变量是每个用户都需要,可以考虑定义该环境变量参数为系统环境变量;如果这个变量只对该用户需要,可以考虑定义该变量为指定用户的环境变量;如果该变量只对这一次登录的用户生效,可以考虑定义成临时变量

用户级环境变量位置:~/.bashrc   用户家目录的这个文件

系统级环境变量位置:/etc/profile

输出全部环境变量:export

输出指定环境变量:echo $PATH

如何添加环境变量:直接文件中添加export  AAA=test123

Linux防火墙

开启:service iptables start

关闭:service iptables stop

配置文件:/etc/sysconfig/iptables

防火墙的三张表

-t table 参数

filter:这个是默认的表,包含了内建的INPUT(处理进入的包),FORWORD(通过的包)和OUTPUT(处理本地生成的包)

nat:这个表被查询时表示遇到产生新的连接的包,由三个内建的链构成:PREROUTING(修改到来的包),OUTPUT(修改路由之前本地的包),POSTROUTING(修改准备出去的包)

mangle:这个表用来对指定的包进行修改,他有两个内建规则,PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地出去的包)

端口控制:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

22端口允许通过

常用端口:22(ssh),8080(tomcat),443(https),3306(mysql)

作业1:熟悉环境的安装 rpm ,源码,yum操作

作业2:防火墙的accept reject规划 端口,ip等

你可能感兴趣的:(linux 第七节)