在 Linux 上安装软件应该去官网下载比较好,比如去 JDK 的官网下载 JDK ,会给出这样的下载列表。
JDK 下载对于 Linux 系统来说有三个安装包可以下载,格式分别为 rpm 和 deb 和 tar.gz 。tar.gz 是安装文件的压缩包,rpm 和 deb 分别是 CentOS 体系的 Linux 系统安装包和 Ubuntu 体系的安装包。
1,安装软件
下载各自平台的安装包之后,CentOS 下面使用 rpm -i jdk-xxx.rpm
进行安装,Ubuntu 下面使用 dpkg -i jdk-xxx.deb
进行安装。其中 -i 是 install 的意思。
也可以直接下载 tar.gz 文件,然后使用 tar 工具解压,就可以了:tar xvzf jdk-xxx.tar.gz
。
2,软件列表
CentOS 中使用 rpm -qa
指令可以查看所有安装软件的列表。其中 -q 就是 query 的意思,-a 就是 all 的意思。
Ubuntu 中使用 dpkg -l
指令可以查看所有安装软件的列表。其中 -l 是 list 的意思。
如果要去搜索某个软件是否安装可以使用管道符和 grep
配合使用,比如 rpm -qa | grep jdk
可以在 CentOS 中搜索出当前电脑是否已经安装了 jdk 。
如果安装的软件很多,并且又不知道关键词,那么可以使用 rpm -qa | more
或者 rpm -qa | less
指令来分页查找。其中 more 的分页只能往后翻,翻到最后一页自动结束返回命令行,less 分页可以前后翻页,但需要输入 q 才能返回命令行,q 是 quit 的意思。
3,删除软件
如果要删除软件,可以使用 rpm -e
和 dbkg -r
来删除软件。其中 -e 就是 erase,-r 就是 remove。
4,软件管理工具 yum 和 apt
Linux 中有自己的软件管家工具,CtenOS 中是 yum,Ubuntu 下是 apt。
你可以根据关键词搜索,比如搜索 jdk:yum search jdk
和 apt search jdk
,可以搜索出很多的可以安装的 jdk 版本。
然后选中一个版本使用如下指令进行下载安装:yum install java-xxx
和 apt install openjdk-xxx
。
这两个软件管家配置下载源地址的文件分别在:/etc/yum.repos.d/CentOS-Base.repo
(CentOS)和 /etc/apt/sources.list
(Ubuntu)
分别配置如下:
# CentOS
[base]
name=CentOS-$releasever - Base - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
# Unbuntu
deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
这里的配置都用的是国内的节点。
5,配置环境变量
Linux 下配置环境变量使用 export 命令来操作。
export JAVA_HOME=/root/jdk-XXX_linux-x64
export PATH=$JAVA_HOME/bin:$PATH
export 命令仅在当前命令行的会话中起作用,一旦退出登陆进来就没用了。要想永久生效,就得配到用户默认的工作目录下的 .bashrc 文件中,然后手动通过 source .bashrc
让环境变量生效。
6,运行程序
Linux 运行程序有三种方式。
第一种:当前用户有该文件的 x 执行权限,找到文件所在的目录,然后通过 ./filename
来运行该程序。当然如果配置在 PATH 设置的路径下面,就不用 ./ 了,直接输入文件名即可,Linux 会帮我们找。
这样执行的程序可能需要和用户进行交互,例如允许让用户输入,然后输出结果也可以打印到交互命令行中。一旦交互命令行退出,程序就停止运行了。如果我们要运行一些需要 "永远" 在线的程序肯定是不行的,比如我们要运行一个博客程序,总不能一直开着交互命令行。
第二种:后台运行。使用 nohup
命令,这个命令的意思是 no hang up (不挂起),也就是说,当前交互命令行退出的时候,程序还要在。
当然,这个时候程序不能一直霸占命令行,而是应该在后台跑。最后加一个 & ,就表示后台运行。
最后还要处理的就是输出文件,原来输出都是打印在命令行里了,现在后台运行,输出到哪里是要自己配置的。
所以最终的命令形式应该是这样的:nohup command >out.file 2>&1 &
。 这里面 1 表示文件描述符 1,表述标准输出,2 表示文件描述符 2,表述标准错误输出。”2>&1“ 表示标准输出和错误输出合并了。合并输出到 out.file 中。
关闭后台运行的程序:
ps -ef |grep 关键字 |awk '{print $2}'|xargs kill -9
ps -ef
是列出所有正在运行的程序,grep 是匹配到我们要的程序,awk 工具可以对文本进行处理,这里的 awk '{print $2}' 是指第二列的内容,也就是运行程序的 ID ,然后将 ID 通过 xargs 传递给 kill -9,也就是发送给这个运行的程序一个信号,让它关闭。
第三种:以服务的方式运行。
在 Ubuntu 中我们可以使用 apt install mysql-server
来安装 MySQL,然后通过命令 systemctl start mysql
来启动 MySQL,通过 systemctl enable mysql
设置开机启动。之所以成为服务并且能够开机启动,是因为在 /lib/systemd/system
目录下会创建一个 xxx.service 的配置文件,里面定义了如何启动和如何关闭。
在 CentOS 里有点特殊,MySQL 被 Oracle 收购后,因为担心授权问题,改为使用 MariaDB,他是 MySQL 的一个分支。通过 yum install mariadb-server mariadb
进行安装。使用 systemctl start mariadb
来启动,使用 systemctl enable mariadb
设置开机启动。同理,会在 /usr/lib/systemd/system
目录下,创建一个 xxx.service 的配置文件,从而成为一个服务。
网友评论