Linux安装软件包:
RPM包安装
RPM是Red Package Manager的缩写,本意是red hat软件包管理,顾名思义是red hat贡献出来的软件包管理;在fedora , redhat,mandriva,suse,yellowdog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;
一个rpm包中的应用程序,有时除了自身所带的附加文件保证其正常意外,还需要其他特定版本文件,这就是软件包的依赖关系;比如我们在windows系统中运行3d游戏,在安装时,会提示要安装direct9;这里linux和windows的原理是差不多的
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等