[TOC]
Linux应用程序基础
查询RPM软件包信息
安装、升级、卸载、RPM软件包 yum仓库,就是程序的位置
源代码编译安装
(后期 学习 java se基础语言)
一:Linux应用程序基础
1.1:应用程序与系统命令的关系
方面 | 系统命令 | 应用程序 |
---|---|---|
文件位置 | 一般在/bin和/bin目录中,或为Shell内部指令 | 通常在/usr/和/usr/local目录中 |
主要用途 | 完成对系统的基本管理工作,例如IP配置工具(ifconfig) | 完成相对独立的其他辅助任务,例如网页浏览器,腾讯QQ |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
关系 | 是独立的 | 相对独立,多个文件支撑一个任务应用程序 |
1.2:典型应用程序的目录结构
--prefix=" 自定义安装" 用手动编译安装
/var/log 日志文件是共享的
1.3:常见的软件包封装类型
rpm:自动安装包,把安装过程的各种操作编译封装到里面,适合新手使用
deb:在乌班图(ubuntu,是界面)系统中使用,不在centos中使用
题外话:1.LINUX家族,下面Redhat,红帽 三个认证(开源但是不是免费,基础服务免费)
2.因为红帽的这个原因,有人不爽,就由此产生了社区(系统开发者,都是大佬),他们设计了centos
服务器中用centos的多,政府不差钱,用的红帽的多
有一个面向客户端的linux系统的是ubuntu系统(最好用),开源,纯免费,特别适用于软件开发人群
全球中最好用,中国用不了,因为长城防火墙挡住了
3.debian,是linux的早期版本系统,是乌版图的前身,服务端和客户端都具备功能后来衍生出了乌版图和kaili
4.kaili是专用的工具,包括**
kaili占用资源很少,通常是安装在树莓派中
5.suse是德国的linux系统,被ISP运营商所使用(电信,移动,联通) 定制版
源代码软件包:原始代码,是人能看得懂的
jazz——————class,class看不懂,是机器能识别的
绿色免安装的软件包:解压后可以直接使用
1.4RPM包管理工具
yum可以解决RPM的依赖关系
红色是名字,版本号,发布次数
版本号第一个是大版本,第二个是小版本
i386,i686出现,就代表是32位系统
64位可以最大支持2t内存,瓶颈在于读写
现在已经有了内存数据库,redis
服务器只能插半高显卡
二:查询RPM软件包信息
2.1:查询已安装的RPM软件信息
rpm -q【子选项】 【软件名】
-q 查看基本信息,是否安装
常用选项
-qa 查看系统已安装的软件包
grep 过滤筛选
-qi 查看已安装的软件包的详细信息
-ql 查看软件包安装的所有的文件
-qf 根据指定的文件,去查看它属于哪个软件包
-qc 查看软件包的所有配置文件 (配置文件后缀 conf,cnf,ini;前两个看得多,PHP的文件是inin)
-qd 查看软件包的文档
2.2 查询未安装的RPM软件包文件中信息
rpm -qp 【子选项】RPM包文件
常用选项
-qpi 查看未安装的软件包的详细信息
-qpl 查看未安装软件包的所有文件
-qpc 查看未安装软件包的所有配置文件 (配置文件后缀 conf,cnf,ini;前两个看得多,PHP的文件是inin)
-qpd 查看未安装软件包的文档
三:安装、升级、卸载RPM软件包
3.1:安装或升级RPM软件包
安装或升级RPM软件
rpm 【选项】 RPM包文件
常用选项
-i install 安装
-U 更新
-F
3.2:卸载指定的RPM软件
rpm -e 软件名
-e 卸载
3.3 辅助选项
--force 强制执行
--nodeps 解决依赖性关系(但是基本上没啥用)
-h 友好显示(即以#号键显示安装进度条)
-v 显示详细过程信息
rpm -qd httpd 查看httpd的安装包的文档
yum remore httpd -y 重新安装httpd
rpm -ivh 安装
rpm -evh 卸载
windows做共享
1.用户和组配置
2.本地策略配置
开启来宾访问权限
安全选项,
4.共享文件属性
smbclient -L //192.168.100.3/ 进入主机的共享中心
最后的步骤:mount.cifs //192.168.100.3/rhel6 /mnt,把共享文件夹rhel6挂载到mnt文件夹上
查看挂载:df -h
解除挂载:umount /mnt
3.4:维护RPM数据库
init 初始化的意思,rebuild重建 database,数据库
导入验证公共密钥 --import 导入的意思,仅作校验作用,没有其他作用
点开虚拟机,此时录视频,如何把镜像文件挂载进去,在右下角cd中,虚拟机设置,
有绿色亮点代表已经运行,接下来进行挂载
之前讲的是共享文件挂载
cd /dev/
mout 设备名称 挂载点(本地目录)
mount /dev/sr0 /mnt/
RPM-GPG-KEY-CentOS-7是公钥
packages 软件包
h友好显示读条
按两下tab,显示
bind是一个dns软件包
查看软件的配置文件
yum仓库可以解决这种依赖关系
yum仓库分两种,一种是私网仓库,公网仓库(自建仓库,官方仓库),在没有网的情况下,自己搭建
今天学习搭建私网仓库
yum list,在有网的情况查看公网仓库
免交互,就是提前同意
没网络下便搭建本地yum仓库
清空yum缓存 yum clean all
cd /etc
后缀是repo yum配置文件
新建一个bak目录,把公网yum数据放进去
重新建一个yum.repos.d文件,写入信息
【abc】 描述信息
name=test 名字叫做test
baseurl=file:///mnt 软件包所在路径
enabled=1 开启软件仓库,0就是不开启
gpgcheck=0 不检查验证密钥,1就是开启,如果开启的话还需要再写入公钥,为了省事就直接关闭就可以
保存退出
安装bind,yum install bind -y
安装httpd yum install httpd -y
出现错误,可能是本地映像文件的包并不太全,或者是之前安装过不同的版本
取消本地yum仓库,思路是把之前创建的文件删掉,放到bak的文件恢复原来路径
每切换一次仓库,就需要清空一次yum缓存 yum clean all
之后再连上网络的情况下,去看公网仓库,yum list
3.5解决软件包依赖关系方法
1)安装有依赖关系的多个软件时
-
被依赖的软件包需要先安装
- 可同时指定多个.rpm包文件进行安装
2)卸载有依赖关系的多个软件时
-
依赖其他程序的软件包需要先卸载
- 可同时指定多个软件名进行卸载
3)忽略依赖关系
- 结合“--nodeps”选项,但可能导致软件异常
重点记住:
-
使用rpm命令查询RPM软件信息的常用选项
-
使用rpm命令安装、升级、卸载RPM软件包的常用选项
-
典型应用程序的目录结构
- 常见的软件包封装类型
四:源代码编译安装
4.1:源代码编译概述
1)使用源代码安装软件的优点
-
获得最新的软件版本,及时修复bug
- 根据用户需要,灵活定制软件功能
2)应用场合举例
-
安装较新版本的应用程序时
-
当前安装的程序无法满足需要时
- 需要为应用程序添加新的功能时
源代码安装模式可以视为iDIY模式,可以自定义自己的需要安装,依据官方发布的对应版本的软件手册操作
4.2:编译安装源代码包
1)Tarball封包
-
.tar.gz和.tar.bz2格式居多
- 软件素材参考:http://sourceforge.net
2)完整性校验
- md5sum 校验工具命令
除此之外还有zip压缩包, unzip 解压命令 -d 指定解压为位置
unzip 软件包名 -d 解压至指定路径
挂载mount.cifs //192.168.100.3/rhel7 /abc
yum install gcc gcc-c++ 使用yum自动安装gcc gcc-c++ 编译器
4.3:编译安装过程
4.4 手工编译安装四步骤
(1) tar解包
1)习惯上将软件包释放到/usr/src/目录
2)解包后的软代码文件位置:
- /usr/stc/软件名-版本号/
3)实例
(2)./configure 配置
1)使用源码目录中的configure脚本
2)执行“./configure 00help”可查看帮助
3)典型的配置选项
- --prefix=软件安装目录
4)示例
(3)make编译(make是转编译的过程)
执行make命令
(4)make安装
执行make install 命令
示例
安装后的测试、应用、维护软件
使用前
启动Apa'che
运行lynx 127.0.0.1查看本机Apache运行状态
httpd.conf httpd 配置文件
apachectl start
手工编译安装步骤小结
- 1:找到源码包
先挂载,在宿主机共享目录内找到要安装的压缩包(把宿主机rhel6 挂载到abc文件夹内)
- 2:解压源码包到指定位置
- 3:configure配置
先安装环境包,即编译器等相关软件
pcre作用在网页当中的语言
zlib是网页压缩处理的图片传输
中间可能会出现一些报错问题:环境包问题,配置格式问题,功能性方面问题(软件版本,是否支持功能)
- 5:make安装
make install 命令
- 安装完成后优化,即测试、应用维护软件
1:找到服务配置文件,修改功能 conf配置文件
修改IP地址(在这里每一行的前面若是有#键,则代表是注释行,不发挥功能,若要发挥功能,则要取消注释#键)
开启端口
查看对应80端口是否启用
关闭防火墙
htdocs 网页目录,包含首页index
打开之前输入的ip地址
中文显示不出来,是因为没有开启转换
2:找到服务启动脚本,启动服务 可以被systemctl或者service直接管理
例如:service network restart /etc/init.d/network
systemctl restart network.service /lib/systemd/system/network.service