文章目录
8.linux常用软件的安装
8.1 复制与粘贴
8.1.1 在终端下:
复制命令:Ctrl + Shift + C 组合键.
粘贴命令:Ctrl + Shift + V 组合键.
8.1.2 在控制台下:
复制命令:Ctrl + Insert 组合键 或 用鼠标选中即是复制。
粘贴命令:Shift + Insert 组合键 或 单击鼠标滚轮即为粘贴。
8.2 RPM
linux软件的中央仓库
RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。 (linux app store)
RPM 是以一种数据库记录的方式(/var/lib/rpm/ 目录下)来将你所需要的软件安装到你的 Linux 系统的一套管理机制。
目前 Fedora, CentOS, SuSE 等等知名的开发商都是用RPM。
没有RPM之前
在没有rpm之前如果想安装某个软件是非常困难的,因为软件之间是有依赖关系的先安装哪个后安装哪个是有严格限定的,所以程序员为了记录这些依赖关系时长搞的十分头疼,所以后来
RetHat研发了像maven一样的软件中央仓库,并且软件与软件之间的依赖关系也是自动配置不用我们关注,这样大大的简化了我们安装软件的难度;
优点:
1)RPM 内含已经编译过的程序与配置文件等数据,可以让使用者免除重新编译的困扰;
2)RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
3)RPM 文件本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含文件等信息,便于了解软件;
4)由于软件的信息都已经记录在 Linux 主机的数据库上,很方便查询、升级与卸载;
缺点:
1) 软件文件安装的环境必须与打包时的环境需求一致或相当;
2) 需要满足软件的相依属性需求;
3)卸载时需要特别小心,最底层的软件不可先移除,否则可能造成整个系统的问题!
题外话 压缩包也是安装软件的方式 它就没有这么多内部细节 但是必须要配置环境变量
由于RPM只是记录依赖关系信息,但不是自动安装依赖软件的YUM 可以自动安装依赖软件。
yum 命令 来进行rpm包的安装 --> ****.rpm
本地的rpm --> rpm -ivh ****.rpm JDK
安装线上的rpm包 我们采用的是 yum命令来进行安装 yum是管理你的rpm的一个统一命令 --> 只要是网络的rpm yum 如果是本地 rpm -ivh
8.3 用yum安装常用软件
8.3.1 yum 简介
yum 是一个在Fedora 和RedHat 以及SUSE 中的Shell 前端软件包管理器。
基于RPM 包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum 在线安装 rpm软件包 yum 如果想要正常执行 你的电脑必须联网 而且网速还不能慢;
8.3.2 机制:
1)将RPM 里面的所有的软件信息都拽过去, 软件仓库。
2)根据提供的软件信息,配置好依赖关系,并将每个软件放库里
3)将要装的软件,生成个清单列表, 拿着清单列表去 软件库里拿安装文件,进行安装。
安装过程: D → B → C → A
8.3.3 yum命令格式:
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。
8.3.4 yum 常用命令:
1)列出所有可更新的软件清单命令:yum check-update
2)更新所有软件命令:yum update
3)仅安装指定的软件命令:yum install <package_name>
4)仅更新指定的软件命令:yum update <package_name>
5)列出所有可安裝的软件清单命令:yum list
6)删除(卸载)软件包命令:yum remove <package_name>
7)查找软件包 命令:yum search <keyword>
8)清除缓存命令: yum clean all
8.4 配置阿里云 yum 源
1)安装sz rz工具,用于以后用rz sz上传下载文件
yum install lrzsz
yum install -y lrzsz
2)下载 repo 文件 --> yum 要安装软件的地址 yum --> 在线的rpm包的时候 --> 外国的网站 --> 阿里云
文件下载地址: http://mirrors.aliyun.com/repo/Centos-7.repo
3)用 rz 将下载的 Centos-7.repo 文件上传到Linux系统的某个目录下
4)备份并替换系统的repo文件
cp Centos-7.repo /etc/yum.repos.d/
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo
5)执行yum源更新命令
yum clean all #清空国外源的
yum makecache #缓存阿里云的
yum update -y #从阿里云更新
配置完毕。
8.5 安装常用软件
yum install -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd
openssh:SSH协议 --依赖–> openssl:加密软件
curl :利用URL语法在命令行方式下工作的开源文件传输工具
wget :下载工具
zlib、snappy-devel、unzip、zip:压缩工具
autoconf、automake、cmake、fuse-devel:源代码编译相关
libtool:动态库
如果安装失败,可以尝试用 yum -reinstall 覆盖安装
yum reinstall -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd
8.6 YUM案例 : 安装JDK与TOMCAT
8.6.1 安装JDK
此处我们选用 jdk1.8_144这个版本作为我们的基础JDK,此处要切记一点的是1.8的不同版本JDK在配置上会有很大的出入,所以请不要随便更换基础的JDK版本,否则你会很尴尬!
使用 rz 上传jdk到root的家目录
[root@localhost ~]# rz
使用rpm命令安装jdk
[root@localhost ~]# rpm -ivh jdk-8u144-linux-x64.rpm
配置jdk的环境变量
[root@localhost ~]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新环境变量
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_144/bin
[root@localhost ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
到此 JDK安装完成
8.6.2 安装TOMCAT
使用 rz 命令上传tomcat的压缩包
[root@localhost ~]# rz
注意我们上传的gzip压缩的tomcat压缩包,所以解压的时候需要使用 tar -zxvf 命令操作
[root@localhost ~]# tar -zxvf apache-tomcat-8.0.53.tar.gz -C /usr/local
重新修改tomcat的文件目录名称
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-8.0.53 tomcat
8.7 Linux压缩软件操作
8.7.1 tar 命令
tar命令作用:
-
打包:将一大堆文件或目录变成一个总的文件【tar命令】
-
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
tar 命令格式:
tar [必要参数] [选项参数] 文档名
常用必要参数:
-c 建立新的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
选项参数:
-C 切换到指定目录
-f 指定压缩文件
–help 显示帮助信息
压缩实例 :
习惯上以 .tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
将目标目录打包成一个打包文件并不压缩
[root@localhost ~]# tar -cvf etc.tar etc
[root@localhost ~]# ll
总用量 27464
-rw-------. 1 root root 1293 5月 30 12:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 31 02:46 d1
drwxrwx---. 74 root group1 8192 5月 31 01:46 etc
-rw-r--r--. 1 root root 28098560 5月 31 02:47 etc.tar
-rwxr-xr--. 1 user4 group1 1304 5月 31 01:37 file1
-rwxr-xr-x. 1 root user4 1304 5月 31 01:37 file2
将打包好的tar文件进行压缩
文件压缩算法1 : GZIP
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。
现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。
这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.
一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。
操作 :
[root@localhost ~]# tar -zcvf etc.tar.gz etc
......压缩细节略
[root@localhost ~]# ll
总用量 36992
-rw-------. 1 root root 1293 5月 30 12:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 31 02:46 d1
drwxrwx---. 74 root group1 8192 5月 31 01:46 etc
-rw-r--r--. 1 root root 28098560 5月 31 02:49 etc.tar
-rw-r--r--. 1 root root 9754562 5月 31 02:51 etc.tar.gz
-rwxr-xr--. 1 user4 group1 1304 5月 31 01:37 file1
-rwxr-xr-x. 1 root user4 1304 5月 31 01:37 file2
再换一种压缩方式 以bzip2来压缩
文件压缩算法2 : GZIP2
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的LZ77/LZ78压缩算法来得好。
它是一款免费软件。可以自由分发免费使用。
它广泛存在于UNIX && LINUX的许多发行版本中。
bzip2能够进行高质量的数据压缩。它利用先进的压缩技术,能够把普通的数据文件压缩10%至15%,压缩的速度和解压的效率都非常高!支持大多数压缩格式,包括tar、gzip 等等。
先安装bzip2
[hadoop@nn1 ~]$ su root <== 切换root用户安装
[root@nn1 hadoop]# yum install -y bzip2 <=== 安装bzip2
开始压缩
[root@localhost ~]# tar -jcvf etc.tar.bz2 etc
[root@localhost ~]# ll
总用量 45372
-rw-------. 1 root root 1293 5月 30 12:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 31 02:46 d1
drwxrwx---. 74 root group1 8192 5月 31 01:46 etc
-rw-r--r--. 1 root root 28098560 5月 31 02:49 etc.tar
-rw-r--r--. 1 root root 8577097 5月 31 02:55 etc.tar.bz2
-rw-r--r--. 1 root root 9754562 5月 31 02:51 etc.tar.gz
-rwxr-xr--. 1 user4 group1 1304 5月 31 01:37 file1
-rwxr-xr-x. 1 root user4 1304 5月 31 01:37 file2
查看实例 :
查看etc.tar中的所有内容
[root@localhost ~]# tar -tf etc.tar
hadoop_base_op/
hadoop_base_op/exe.sh
hadoop_base_op/ips
hadoop_base_op/scp_all.sh
hadoop_base_op/ssh_all.sh
hadoop_base_op/ssh_root.sh
hadoop_zookeeper_op/
hadoop_zookeeper_op/ips_zookeeper
hadoop_zookeeper_op/scp_all_zookeeper.sh
hadoop_zookeeper_op/ssh_all_zookeeper.sh
hadoop_zookeeper_op/ssh_root_zookeeper.sh
加-v参数查看详细信息,-z可有可无
[root@localhost ~]# tar -ztvf etc.tar.gz
.....显示略
查看img.tar.bz2内容
加-v参数查看详细信息,-j可有可无
[root@localhost ~]# tar jtf etc.tar.bz2
----显示略
解压缩实例
将etc.tar解压到temp目录
[root@localhost ~]# tar -zxvf etc.tar.gz -C /usr/temp
-C 参数 解压到指定目录下
-C(大C参数很有用,改变文件目录,多层时用) -C, --directory=DIR change to directory DIR
使用了-C参数改变目录为-C后面 目录,不管是在打包还是解压都很有用。
用法:tar temp.tar file -C fileDir
举个例子: 在 ~ 目录下 解压 op.tar 到/tmp下
[hadoop@nn1 ~]$ tar -xf op.tar -C /tmp/
解压各种压缩文件
1、.tar 用 tar –xvf 解压
2、.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar –xzf 解压
4、.bz2 用 bzip2 -d或者用bunzip2 解压
5、.tar.bz2用tar –xjf 解压
6、.Z 用 uncompress 解压
7、.tar.Z 用tar –xZf 解压
8、.rar 用 unrar x 解压
9、.zip 用 unzip 解压
8.7.2 zip 命令
算法介绍
ZIP,是一个文件的压缩的算法,原名Deflate(真空),发明者为菲利普·卡兹(Phil Katz)),他于1989年1月公布了该格式的资料。
ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。
目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。
从性能上比较,RAR格式较ZIP格式压缩率较高,但是它的压缩时间远远高于Zip。而7-Zip(7z)由于提供了免费的压缩工具而逐渐在更多的领域得到应用。
语法
zip [参数] [打包后的文件名] [打包的目录路径]
使用 :
先安装zip
[root@localhost ~]# yum install -y zip
常用参数 :
1.参数:-r ,将指定的目录下的所有子目录以及文件一起处理
[root@localhost ~]# zip -r etc.zip etc >> log
2.参数:-q,安静模式,在压缩的时候不显示指令的执行过程
[root@localhost ~]# zip -r -q etc.zip etc
8.7.3 unzip 命令
解压zip包的命令
安装
[root@localhost ~]# yum install -y unzip
语法 :
unzip [参数] <压缩文件> [压缩包中将被释放的文件]
参数:-d,解压到制定的目录,该目录可以是不存在的
[root@localhost ~]# unzip -q etc.zip -d /tmp/
replace /tmp/etc/fstab? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
因为我们之前已经解压过一个了 所以此处询问是否替换 选择A 代表全部替换