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 的配置文件,從而成爲一個服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章