Jerry's Blog

Recording what I learned everyday

View on GitHub


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包的安装位置是默认的,是作者定义的

常规的:

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