美文网首页
Linux 指令之安装软件

Linux 指令之安装软件

作者: stone_zhu | 来源:发表于2019-07-28 16:28 被阅读0次

    在 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 -edbkg -r 来删除软件。其中 -e 就是 erase,-r 就是 remove。

    4,软件管理工具 yum 和 apt

    Linux 中有自己的软件管家工具,CtenOS 中是 yum,Ubuntu 下是 apt。

    你可以根据关键词搜索,比如搜索 jdk:yum search jdkapt search jdk ,可以搜索出很多的可以安装的 jdk 版本。

    然后选中一个版本使用如下指令进行下载安装:yum install java-xxxapt 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 的配置文件,从而成为一个服务。

    相关文章

      网友评论

          本文标题:Linux 指令之安装软件

          本文链接:https://www.haomeiwen.com/subject/omlprctx.html