8 April 2020
Linux(2) -- Linux软件安装管理
by Jerry Zhang
软件包管理简介
源码包
.tar.gz那些压缩包里面都是源代码,所有的软件全都是开源的。但是需要自己编译,一旦出错非常麻烦。
二进制包
RPM包、系统默认包
安装:
rpm -ivh 包名
i: install; v: verbol; h: hash 显示进度
升级:
rpm -Uvh 包全名
卸载:
rpm -e 包名
e: erase
rpm包查询
查询软件包是否安装
rpm -q 包名
rpm -qa | grep 包名
| grep: globally search a regular expression and print
查询软件包的详细信息
rpm -qi 包名
rpm -qip 包名
rpm -ql 包名
-i: information; -p: 查询未安装包信息; -l: list; -f: file 查询系统文件属于哪个软件包; -R: requires查询软件包的依赖性
etc是配置文件, usr/lib是函数库的位置,.so结尾的是库文件, usr/sbin超级用户才能用的脚本或程序.
rpm包的安装位置是默认的,是作者定义的
常规的:
- /etc/: 配置文件
- /usr/bin/: 可执行的命令安装目录
- /usr/lib/: 程序所使用的函数库保存位置
- /usr/share/doc/: 基本的软件使用手册
- /usr/share/man/: 帮助文件
rpm包的校验
rpm -V 包名
V: Verify
yum是rpm包的在线安装管理工具
yum不能查询和校验(视频是2015年的,现在能不能不知道)
挂载光盘:
mkdir /mnt/cdrom
# 建立挂载点
mount /dev/cdrom /mnt/cdrom
# 挂载光盘
常用的yum命令
yum list # 查询所有可用软件包列表
yum search <关键字> # 搜索服务器上所有和关键字相关的包
yum -y install <包名> # 安装某个包,并自动回答yes
yum -y install gcc # 安装c语言的编译器gcc
yum -y update <包名> # 一定要加包名,否则将升级所有程序
yum -y remove <包名> # 服务器使用最小化安装,用什么软件安装什么,尽量不卸载
Linux需要优先考虑稳定和安全,升级软件包如果不是必须的,应该慎重。
软件组管理:
yum grouplist # 列出所有可用的软件组列表
yum groupinstall <软件组名> # 安装指定软件组,组名可以由grouplist查询出来
yum groupremove <软件组名> # 卸载指定软件组
源码包安装
rpm包不要指定安装位置,让它自动安装在默认的路径下。
源码包一般安装在/usr/local/软件包/
rpm包一般可以通过service命令启动,比如service httpd start
启动apache。而源码包是不能用service命令启动的。
service命令会自动找/etc/rc.d/init.d/
这个目录。
安装源码包要指定安装位置
先解压缩并进入解压缩目录:
tar -zxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
配置:
./configure --prefix=/usr/local/apache2
编译:
make
make clean # 清除缓存,临时文件,重新安装,如果报错,用这条命令
make install # 安装
启动:
/usr/local/apache2/bin/apachectl start
停止rpm包的apache
service httpd stop
rpm包的apache,网页的保存位置在/var/www/html/
源码包的apache,网页的保存位置在/usr/local/apache2/htdocs/
Nginx
官方建议并发量就有5万.
视频里用了lnmp.org的网站。
tags: Linux