Linux軟體安裝

七落安歌發表於2024-03-14

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源,實現從本地下載安裝。

image-20240312215953464

命令

#列出當前機器可用的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
	
	如果沒有解決,那麼需要查詢命令所屬哪個軟體,進行安裝解決

相關文章