怎么做阿里国际网站的数据分析推广一手渠道
前言
作为云计算工程师,当我们接手一个新机器的时候我们会需要为其安装一些软件包来实现更加复杂的功能。或者是是我们的工作更加简洁。为此我们需要学习如何安装程序和管理他们。在这里我会详细介绍程序的三种安装方式。
rpm的应用程序详解
应用程序与系统命令
角色 | 系统命令 | 应用程序 |
文件位置 | 一般在/bin和/sbin目录中,或为shell内部指令 | 通常在/usrlocal/bin、/usr/local/sbin两个目录里 |
主要用途 | 完成对系统的基本管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可以在图形界面运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
典型应用程序的目录结构
文件类型 | 保存目录 |
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序参考文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/local/share/man |
常见的软件包封装类型
文件类型 | 保存目录 |
RPM软件包 | 扩展名为:“.rpm” |
DEB软件包 | 扩展名为:“.deb" |
源代码软件包 | 一般为”.tar.gz、tar.bz2"等格式的压缩包 包含程序的原始代码 |
绿色免安装的软件包 | 软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用(总结一句话——执行脚本文件) |
RPM包管理工具
Red-Hat Package Manager
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件
- 详细记录软件包安装、卸载等变化信息
- 自动分析软件包依赖关系
RPM命令的格式
rpm命令能够实现几乎所有对RPM软件包的管理功能
执行“man rpm”命令可以获得关于rpm命令的详细帮助信息详细
rpm命令功能
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
查询RPM软件包信息
rpm -q[子选项] [软件名]
常用选项:qa ,qi,ql,qf,qc,qd,qr
rpm -q elinks lynx :查询elinks和lynx是否安装
[root@192 ~]# rpm -q elinks lynx
elinks-0.12-0.37.pre6.el7.0.1.x86_64
未安装软件包 lynx
[root@192 ~]#
rpm -qi elinks :显示elinks的详细信息(配置,版本,大小,日期,下载网站)
[root@192 ~]# rpm -qi elinks
Name : elinks
Version : 0.12
Release : 0.37.pre6.el7.0.1
Architecture: x86_64
Install Date: 2021年07月31日 星期六 12时05分24秒
Group : Applications/Internet
Size : 2741918
License : GPLv2
Signature : RSA/SHA256, 2019年01月11日 星期五 01时11分04秒, Key ID 24c6a8a7f4a80eb5
Source RPM : elinks-0.12-0.37.pre6.el7.0.1.src.rpm
Build Date : 2019年01月11日 星期五 01时00分55秒
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://elinks.or.cz
Summary : A text-mode Web browser
Description :
Elinks is a text-based Web browser. Elinks does not display any images,
but it does support frames, tables and most other HTML tags. Elinks'
advantage over graphical browsers is its speed--Elinks starts and exits
quickly and swiftly displays Web pages.
rpm -ql elinks :查询elinks的文件列表
[root@192 ~]# rpm -ql elinks
/etc/elinks.conf
/usr/bin/elinks
/usr/bin/links
/usr/share/doc/elinks-0.12
/usr/share/doc/elinks-0.12/COPYING
/usr/share/doc/elinks-0.12/README
/usr/share/doc/elinks-0.12/SITES
/usr/share/doc/elinks-0.12/TODO
/usr/share/locale/af/LC_MESSAGES/elinks.mo
/usr/share/locale/be/LC_MESSAGES/elinks.mo
/usr/share/locale/bg/LC_MESSAGES/elinks.mo
/usr/share/locale/ca/LC_MESSAGES/elinks.mo
/usr/share/locale/cs/LC_MESSAGES/elinks.mo
/usr/share/locale/da/LC_MESSAGES/elinks.mo
/usr/share/locale/de/LC_MESSAGES/elinks.mo
/usr/share/locale/el/LC_MESSAGES/elinks.mo
/usr/share/locale/es/LC_MESSAGES/elinks.mo
/usr/share/locale/et/LC_MESSAGES/elinks.mo
/usr/share/locale/fi/LC_MESSAGES/elinks.mo
/usr/share/locale/fr/LC_MESSAGES/elinks.mo
/usr/share/locale/gl/LC_MESSAGES/elinks.mo
/usr/share/locale/hr/LC_MESSAGES/elinks.mo
/usr/share/locale/hu/LC_MESSAGES/elinks.mo
/usr/share/locale/id/LC_MESSAGES/elinks.mo
/usr/share/locale/is/LC_MESSAGES/elinks.mo
/usr/share/locale/it/LC_MESSAGES/elinks.mo
/usr/share/locale/lt/LC_MESSAGES/elinks.mo
/usr/share/locale/nb/LC_MESSAGES/elinks.mo
/usr/share/locale/nl/LC_MESSAGES/elinks.mo
/usr/share/locale/pl/LC_MESSAGES/elinks.mo
/usr/share/locale/pt/LC_MESSAGES/elinks.mo
/usr/share/locale/pt_BR/LC_MESSAGES/elinks.mo
/usr/share/locale/ro/LC_MESSAGES/elinks.mo
/usr/share/locale/ru/LC_MESSAGES/elinks.mo
/usr/share/locale/sk/LC_MESSAGES/elinks.mo
/usr/share/locale/sr/LC_MESSAGES/elinks.mo
/usr/share/locale/sv/LC_MESSAGES/elinks.mo
/usr/share/locale/tr/LC_MESSAGES/elinks.mo
/usr/share/locale/uk/LC_MESSAGES/elinks.mo
/usr/share/man/man1/elinks.1.gz
/usr/share/man/man1/links.1.gz
/usr/share/man/man5/elinks.conf.5.gz
/usr/share/man/man5/elinkskeys.5.gz
rpm -qf /usr/bin/ls
[root@192 ghr]# rpm -qf /usr/bin/ls
coreutils-8.22-18.el7.x86_64
rpm -qc elinks :列出已安装的软件的配置文件
[root@192 ghr]# rpm -qc elinks
/etc/elinks.conf
rpm -qd elinks :软件包文档所在位置
[root@192 ghr]# rpm -qd elinks
/usr/share/doc/elinks-0.12/COPYING
/usr/share/doc/elinks-0.12/README
/usr/share/doc/elinks-0.12/SITES
/usr/share/doc/elinks-0.12/TODO
/usr/share/man/man1/elinks.1.gz
/usr/share/man/man1/links.1.gz
/usr/share/man/man5/elinks.conf.5.gz
/usr/share/man/man5/elinkskeys.5.gz
查询未安装的RPM的软件包文件中的信息
rpm -qp[子选项] 软件安装包位置
用法和查看已安装的软件一致所以我只展示部分
rpm -qpi /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm
[root@192 ghr]# rpm -qpi /mnt/Packages/elinks-0.12-0.36.pre6.el7.x86_64.rpm
Name : elinks
Version : 0.12
Release : 0.36.pre6.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/Internet
Size : 2741822
License : GPLv2
Signature : RSA/SHA256, 2014年07月04日 星期五 09时12分29秒, Key ID 24c6a8a7f4a80eb5
Source RPM : elinks-0.12-0.36.pre6.el7.src.rpm
Build Date : 2014年06月10日 星期二 12时55分01秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://elinks.or.cz
Summary : A text-mode Web browser
Description :
Elinks is a text-based Web browser. Elinks does not display any images,
but it does support frames, tables and most other HTML tags. Elinks'
advantage over graphical browsers is its speed--Elinks starts and exits
quickly and swiftly displays Web pages.
3.安装、升级、卸载 RPM软件包
格式:
rpm [选项] RPM包文件
rpm -ivh RPM软件包
-
-i
安装一个新的 RPM 软件包 -U 升级某个软件包,若未安装过,则进行安装 -F 升级某个软件包,若未安装过,则放弃安装 -h 在安装或升级软件包的过程中,以“#”号显示安装进度 -v 显示软件安装过程中的详细信息 –force 强制安装某个软件包,比如要安装版本更旧的软件包 -e 卸载指定名称的软件包 -nodeps 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 一键安装:yum
yum有三种建立仓库的方法
yum本地源
yum在线源
ftp源
yum本地源仓库配置
mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下
cd /etc/yum.repos.d/ #转移到所有在线源存放的路径
mkdir repos.bak #创建一个暂存文件夹用于移除网络源
mv *.repo repos.bak #移动所有在线源使在线源失效
vim local.repo #创建并且修改本地文件,定义yum命令使用的配置,如是否使用缓存,缓存路径[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL,访问路径为光盘中挂载目录
enabled=1 #开启此yum源,此为默认项
gpgcheck=0 #不验证软件包的签名:wqyum clean all && yum makecache #删除yum缓存并更新#至此为止我们已经成功创建了一个yum本地源仓库
yum在线源
yum源国内镜像站点:
阿里源 https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/ 清华大学https://mirror.tuna.tsinghua.edu.cn/centos/7.3.1611/os/x86_64 网易源 http://mirrors.163.com/centos/7.3.1611/os/x86_64/ 浙江大学http://mirrors.zju.edu.cn/centos/7.3.1611/os/x86_64/
yum常用命令
yum -y install 软件名 #安装升级软件包,“-y”代表自动确认
yum -y remove 软件名 #卸载软件包,可自动解决依赖关系
yum -y uodate 软件名 #升级软件包,并不常用yum list #查询软件包列表
yum list install #查询系统中已安装的软件包
yum list avaiable #查询仓库中尚未安装的软件包
yum list updates #查询可以升级版本的软件包yum info httpd #查询软件包的描述信息yum search all httpd #根据某个关键词查找相关的软件包yum whatprovides netstat #查询命令属于哪个软件包 netstat 是一个命令yum install elinks -y --downloadonly --downloaddir =/tmp/
#在使用网络源的情况下使用这条命令去收集所有的相关软件包到指定目录下
使用源代码编译安装
优点:
1获得最新的软件版本,及时修复bug
2根据用户需要,灵活定制软件功能
应用场合举例
1安装较新版本的应用程序时
2当前安装的程序无法满足需求时
3需要为应用程序添加新功能时
安装步骤
yum install -y gcc gcc-C++ make #安装编译器
yum install -y apr-devel* pkgconfig* libapr* apr-util* pcre* -y
#安装依赖包,开发包编译环境和make工具生成#我们首先需要从本机获取一个安装包,可以拖进shell或者用shell的打开功能打开,我放在home下cd /home #工作目录转移到home下tar xxvf httpd-2.4.25.tar.gz -C /usr/local/
#把httpd的依赖包解压在/usr/local文件夹下./configure --prefix=/usr/local/apache
#配置软件模块 (安装路径,开启或关闭模块功能,管理服务器进程的用户设定)make && make install #编译(make)和安装(make install)vim /usr/local/apache/conf/httpd.conf #配置文件路径/usr/local/apache/bin/apachectl/ start #启动httpd服务http://192.168.116.128 #验证方式,也可以在浏览器中直接输入虚拟机的ens33ip#其他验证方式
#curl http:// 192.168.116.128
#运行lynx 192.168.116.128 查看本机Apache运行状态
#运行elinks 192.168.116.128 查看本机Apache运行状态
总结
作为一名云计算工程师,我们必须掌握多种多样的软件安装方式来满足实际使用中出现的各种特殊情况。为此我详细的讲解了关于软件包安装的三种方式。尽管我最喜欢用yum的网络源一键安装,但实际的生产环境里往往有机器不允许联网(安全机)或者一些客户的特殊要求会让我们不得不用一些别的方式来进行程序和软件的安装。为此我们必须学会一些其他的安装方法来满足复杂多样的需求。