1.软件包管理 #

1.1 软件包的分类 #

1.2 RPM命令管理 #

mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
cd /mnt/cdrom/Packages

1.3 RPM包命名原则 #

1.4 RPM包依赖性 #

rpm -ivh mysql-connector-odbc-5.1.5r1144-7.el6.i686.rpm 
rpm -ivh unixODBC-2.2.14-11.el6.i686.rpm 
rpm -ivh mysql-connector-odbc-5.1.5r1144-7.el6.i686.rpm 

1.5 包全名 #

1.6 RPM安装 #

1.7 RPM安装 #

rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh httpd-manual-2.2.15-15.el6.centos.1.noarch.rpm 
rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh apr-util-ldap-1.3.9-3.el6_0.1.i686.rpm 
rpm -ivh apr-util-1.3.9-3.el6_0.1.i686.rpm 

rpm -ivh apr-1.3.9-3.el6_1.2.i686.rpm 
rpm -ivh apr-util-1.3.9-3.el6_0.1.i686.rpm 
rpm -ivh apr-util-ldap-1.3.9-3.el6_0.1.i686.rpm 
rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm 

rpm -ivh httpd-tools-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm 

rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh httpd-manual-2.2.15-15.el6.centos.1.noarch.rpm 
rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh apr-devel-1.3.9-3.el6_1.2.i686.rpm 
rpm -ivh apr-util-devel-1.3.9-3.el6_0.1.i686.rpm 
rpm -ivh expat-devel-2.0.1-11.el6_2.i686.rpm 
rpm -ivh openldap-devel-2.4.23-26.el6.i686.rpm 
rpm -ivh cyrus-sasl-devel-2.1.23-13.el6.i686.rpm 
rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh apr-util-devel-1.3.9-3.el6_0.1.i686.rpm 
rpm -ivh openldap-devel-2.4.23-26.el6.i686.rpm 
rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm 
rpm -ivh apr-util-devel-1.3.9-3.el6_0.1.i686.rpm 
rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm 

1.8 RPM包升级 #

rpm -ivh httpd-devel-2.2.15-15.el6.centos.1.i686.rpm

1.9 卸载 #

rpm -e httpd

1.10 查询 #

命令 参数 含义
rpm -q 包名 -q(query) 查询 查询包是否安装
rpm -qa 包名 -a(all) 查询 查询所有已经安装的RPM包
rpm -qi 包名 -i(information) 查询软件信息
rpm -qip 包名 -p(package) 查询未安装包的信息
rpm -ql 包名 -l(list) -p(package) 查询安装包都安装了哪些文件
rpm -qf 文件名 -f(file) 查询某个文件属于哪个包
rpm -qR 包名 -R(requires) -p(package) 查询软件名的依赖性

默认安装位置

命令 参数
/etc/ 配置文件的安装目录
/usr/bin 可执行的命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置

1.11 校验 #

命令 参数
rpm -V 包名

/etc/httpd/conf/httpd.conf

验证信息内容

参数 含义
S(Size) 文件大小是否改变
M(Mode) 文件的类型或者文件的权限(rwx)是否被改变
5(Md5) 文件MD5校验和是否改变(文件内容是否改变)
D(Device) 设备的主从代码是否改变
L(Location) 文件路径是否改变
U(User) 文件的属主(所有者)是否改变
G(Group) 文件的属组是否改变
T(Time) 文件的修改时间是否改变

每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备

# ll /dev | grep sda
brw-rw----. 1 root disk      8,   0 4月   6 17:50 sda
brw-rw----. 1 root disk      8,   1 4月   6 17:50 sda1
brw-rw----. 1 root disk      8,   2 4月   6 17:50 sda2
参数 含义
c(config file) 配置文件
d(documentation) 普通文档
g(ghost file) 文件根本不应该属于这个软件包
L(license file) 授权文件
r(readme) 描述文件

1.12 文件提取 #

rpm2cpio httpd-2.2.15-15.el6.centos.1.i686.rpm | cpio -idv /etc/httpd/conf/httpd.conf
rpm2cpio /mnt/cdrom/Packages/httpd-2.2.15-15.el6.centos.1.i686.rpm | cpio -idv ./etc/httpd/conf/httpd.conf
cp ./etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf

3. YUM在线管理 #

3.1 CentOS-Base.repo #

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
字段 含义
base 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,可以注释掉
baseurl YUM源服务器的地址,默认是CentOS官方的YUM源
enable 此容器是否生效 不写或者写成enable=1表示生效,写成enable=0表示不生效
gpgcheck 如果是1就是指 RPM的数字证书生效,如果是0则表示不生效
gpgkey 数字证书的公钥文件保存位置,不用改

4. 光盘搭建YUM源 #

4.1 挂载光盘 #

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

4.2 失效在线yum源 #

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak

查看YUM源里有哪些安装包

yum list

CentOS-Media.repo

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

5. YUM命令 #

命令 含义
yum list 查询所有可用软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包
yum -y install 包名 -y 自动回答yes install安装
yum -y update 包名 -y 自动回答yes update升级
yum -y remove 包名 -y 自动回答yes remove 卸载,卸载有依赖性,所以尽量不要卸载
yum grouplist 列出所有可用的软件组列表
yum groupinstall 软件组名 安装指定的组,组名可以用grouplist查询
yum groupremove 软件组名 卸载指定软件组
yum -y install gcc  安装C语言安装包
yum install update httpd 升级httpd
LANG=en_US
yum grouplist
yum groupinstall "Chinese Support"
LANG=zh_CN.UTF-8

4. 源码包管理 #

4.1 安装方式不同 #

service httpd start
/etc/init.d/httpd start

4.2 安装源码包 #

4.2.1 安装准备 #

4.2.2 安装注意事项 #

4.2.3 安装过程 #

4.2.3.1 下载 #

下载 镜像下载

wget http://archive.apache.org/dist/httpd/httpd-2.2.11.tar.gz
4.2.3.2 解压 #
tar -xzvf httpd-2.2.11.tar.gz
4.2.3.3 进入解压目录 #
cd httpd-2.2.11.tar.gz
4.2.3.4 configure #

软件配置与检查

./configure --prefix=/usr/local/httpd
4.2.3.5 编译和安装 #
make
make install 

安装帮助文件位置

cat /usr/local/src/httpd-2.2.11/INSTALL 这里可以查看安装说明
cat /var/www/html/index.html 这是用YUM或者说rpm安装的httpd
cat /usr/local/httpd/htdocs/index.html  这是用源码安装的httpd
4.2.3.6 源码包的卸载 #

5. 脚本安装包 #

5.1 nginx #

功能 Apache/httpd Nginx
Proxy代理 非常好 非常好
Rewriter 非常好
Fcgi 不好
热部署 不支持 支持
系统压力比较 很大 很小
稳定性 非常好
安全性 一般
技术支持 非常好 很少
静态文件处理 一般 非常好
Vhosts虚拟主机 支持 不支持
反向代理 一般 非常好
Session sticky 支持 不支持

5.2 安装lnmp #

下载安装脚本

wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp