Linux 指令之安装软件

在 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 的配置文件,从而成为一个服务。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,306评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,657评论 2 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,928评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,688评论 0 220
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,105评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,024评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,159评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,937评论 0 212
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,689评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,851评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,325评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,651评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,364评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,192评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,985评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,154评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,955评论 2 279

推荐阅读更多精彩内容