Linux軟體安裝
rpm包管理器
概述
-
rpm是RH系列Linux系統的包管理器(Red-Hat Package Manager),也是RH系列安裝的軟體包字尾名。
-
當下這套標準已經擴大成為了行業標準,不僅僅侷限於RH系列Linux系統。
-
rpm操作指的是使用rpm命令進行軟體的檢視、安裝、解除安裝。
-
rpm弊端:需要自己提前下載rpm包,手動安裝;需要解決rpm包之間的依賴。
檢視:
#查詢
[root@node1 ~]# rpm -qa | grep ssh # q代表query a 代表all
libssh2-1.8.0-3.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
[root@node1 ~]# rpm -qi openssh-clients-7.4p1-21.el7.x86_64 # q-》query i —》info
Name : openssh-clients
Version : 7.4p1
Release : 21.el7
Architecture: x86_64
Install Date: Mon 17 May 2021 11:37:29 AM CST
Group : Applications/Internet
Size : 2643176
License : BSD
Signature : RSA/SHA256, Fri 23 Aug 2019 05:37:26 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : openssh-7.4p1-21.el7.src.rpm
Build Date : Fri 09 Aug 2019 09:40:49 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.openssh.com/portable.html
Summary : An open source SSH client applications
Description :
OpenSSH is a free version of SSH (Secure SHell), a program for logging
into and executing commands on a remote machine. This package includes
the clients necessary to make encrypted connections to SSH servers.
安裝、解除安裝
#rpm安裝軟體
rpm -ivh rpm 包的全路徑
#rpm解除安裝軟體 注意 通常採用忽略依賴的方式進行解除安裝
rpm -e --nodeps 軟體包名稱
#因為在解除安裝的時候 預設會將軟體連同其依賴一起解除安裝
#為了避免影響其他軟體的正常使用 通常建議使用--nodeps引數忽略依賴的存在 只解除安裝程式自己
案例:安裝MySQL5.7
定義軟體安裝路徑
/export/server # 軟體安裝目錄
/export/software # 安裝包的目錄
/export/data # 軟體執行資料儲存的目錄
/export/logs # 軟體執行日誌
mkdir -p /export/server
mkdir -p /export/software/mysql
mkdir -p /export/data
mkdir -p /export/logs
step1:刪除Centos7自帶的mariadb
[root@node1 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@node1 ~]# rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps[root@node1 ~]# rpm -qa|grep mariadb
[root@node1 ~]#
- 這是Centos7自帶的mysql資料庫
step2:安裝MySQL
mkdir /export/software/mysql # 在這個路徑下解壓與安裝mysql
#上傳mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar 到上述資料夾下 解壓
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
#執行安裝
yum -y install libaio
[root@node1 mysql]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
warning: mysql-community-common-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-common-5.7.29-1.e################################# [ 25%]
2:mysql-community-libs-5.7.29-1.el7################################# [ 50%]
3:mysql-community-client-5.7.29-1.e################################# [ 75%]
4:mysql-community-server-5.7.29-1.e################ ( 49%)
step3:MySQL初始化設定
#初始化
mysqld --initialize
#更改所屬組
chown mysql:mysql /var/lib/mysql -R
#啟動mysql
systemctl start mysqld.service
#檢視生成的臨時root密碼
cat /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: o+TU+KDOm004 # 這就是臨時的root密碼
step4:修改root密碼、授權遠端訪問
[root@node1 ~]# mysql -u root -p
Enter password: #這裡輸入在日誌中生成的臨時密碼
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.29
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
#更新root密碼 設定為hadoop
mysql> alter user user() identified by "hadoop";
Query OK, 0 rows affected (0.00 sec)
#授權
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
step5:設定MySQL開機自啟動
#mysql的啟動和關閉 狀態檢視 (這幾個命令必須記住)
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
#建議設定為開機自啟動服務
[root@node1 ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
#檢視是否已經設定自啟動成功
[root@node1 ~]# systemctl list-unit-files | grep mysqldmysqld.service enabled
yum包管理器
概述
-
yum(Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
-
yum之所以強大原因在於有yum源,源裡面有很多rpm包和包之間的依賴關係。
-
yum源可以分為網路yum源和本地yum源。其中網路yum源在centos預設整合了映象地址,只要聯網就可以自動尋找到可用的yum源,前提是系統聯網。
-
企業中也可以自己搭建本地yum源,實現從本地下載安裝。
命令
#列出當前機器可用的yum源資訊
yum repolist all
#清楚yum源快取資訊
yum clean all
#查詢軟體
rpm list | grep 軟體包名稱
#yum安裝軟體 -y表示自動確認 否則在安裝的時候需要手動輸入y確認下載安裝
yum install -y xx軟體名
yum install -y mysql-*
#yum解除安裝軟體
yum -y remove 要解除安裝的軟體包名
案例:JDK安裝與環境變數配置
軟體安裝目錄:
/export/server #軟體安裝目錄
/export/software/JDK #安裝包的目錄
/export/data #軟體執行資料儲存的目錄
/export/logs #軟體執行日誌
mkdir -p /export/server
mkdir -p /export/software
mkdir -p /export/data
mkdir -p /export/logs
命令
#上傳安裝包到/export/server下
jdk-8u241-linux-x64.tar.gz
#解壓到當前目錄
tar zxvf jdk-8u241-linux-x64.tar.gz
#刪除紅色安裝包(可選)
rm -rf jdk-8u241-linux-x64.tar.gz
#配置環境變數
vim /etc/profile #G + o
export JAVA_HOME=/export/server/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#重新載入環境變數檔案 讓配置生效
source /etc/profile
[root@node1 ~]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
SCP同步與JDK安裝配置
#scp安裝包
cd /export/server/
scp -r jdk1.8.0_241/ root@node2:$PWD
scp -r jdk1.8.0_241/ root@node3:$PWD
#scp環境變數檔案
scp /etc/profile node2:/etc/
scp /etc/profile node3:/etc/
#別忘了 其他機器source哦
source /etc/profile
- 這個前提是設定了SSH免密登陸,並且在其他的node中建立了目錄
擴充套件
Linux上面的command not found 錯誤解決方案
# 錯誤資訊
-bash : XXXX :command not found
# 原因
1、命令寫錯了
2、命令或者對應的軟體沒有安裝
# 通用解決方案
如果是軟體沒有安裝
yum install -y XXXX
如果沒有解決,那麼需要查詢命令所屬哪個軟體,進行安裝解決