當一臺伺服器或者虛擬機器器裝完系統之後,需要進行基礎的環境搭建,調整硬碟,邏輯卷,yum源,時鐘同步等等,本篇文章的目的就是用最基本的操作步驟,用最簡單的命令,不用動腦直接複製貼上,根據需求挑選自己需要的進行操作快速完成環境搭建。
本篇基於centos7,6版本的請相應調整命令
防火牆記得關,防火牆記得關,防火牆記得關,防火牆記得關,防火牆記得關,防火牆記得關!!!
部署的時候如果開著就會因為它,有的服務就奇奇怪怪的不好使了。
[root@zzxt ~]# systemctl stop firewalld
[root@zzxt ~]# systemctl disable firewalld
[root@zzxt ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
部署的時候會更改系統檔案,selinux會保護系統檔案,關掉selinux以便部署。
[root@zzxt ~]# setenforce 0 ##臨時關閉selinux
[root@zzxt ~]# getenforce ##獲取selinux狀態
Permissive
[root@zzxt ~]# vi /etc/selinux/config ##永久關閉selinux
##enforcing是強制模式會限制檔案,permissive是寬容模式不限制檔案,desabled關閉模式
SELINUX=disabled
過程:分割區-格式化-掛載
須知:
MBR:MBR分割區表(即主開機記錄)大家都很熟悉。所支援的最大卷:2T,而且對分割區有限制:最多4個主分割區或3個主分割區加一個擴充套件分割區
GPT: GPT(即GUID分割區表)。是源自EFI標準的一種較新的磁碟分割區表結構的標準,是未來磁碟分割區的主要形式。與MBR分割區方式相比,具有如下優點。突破MBR 4個主分割區限制,每個磁碟最多支援128個分割區。支援大於2T的分割區,最大卷可達18EB。
需登入root使用者。
輸入 fdisk -l 檢視分割區情況。
輸入 fdisk /dev/sdb 建立分割區(通過fdisk -l獲取)。
[root@zzxt ~]# fdisk -l
磁碟 /dev/sda:21.5 GB, 21474836480 位元組,41943040 個磁區
Units = 磁區 of 1 * 512 = 512 bytes
磁區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x000a3a13
裝置 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
磁碟 /dev/sdb:1073 MB, 1073741824 位元組,2097152 個磁區
Units = 磁區 of 1 * 512 = 512 bytes
磁區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
[root@zzxt ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在記憶體中,直到您決定將更改寫入磁碟。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁碟識別符號 0x3398f95d 建立新的 DOS 磁碟標籤。
命令(輸入 m 獲取幫助):n # 新建分割區
Partition type: # 回車預設是主分割區
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p # 回車預設
分割區號 (1-4,預設 1): # 回車預設
起始 磁區 (2048-2097151,預設為 2048): # 回車預設
將使用預設值 2048
Last 磁區, +磁區 or +size{K,M,G} (2048-2097151,預設為 2097151): # 回車預設
將使用預設值 2097151
分割區 1 已設定為 Linux 型別,大小設為 1023 MiB
命令(輸入 m 獲取幫助):p # 列印裝置情況
磁碟 /dev/sdb:1073 MB, 1073741824 位元組,2097152 個磁區
Units = 磁區 of 1 * 512 = 512 bytes
磁區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x3398f95d
裝置 Boot Start End Blocks Id System
/dev/sdb1 2048 2097151 1047552 83 Linux
命令(輸入 m 獲取幫助):w # 儲存設定
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁碟。
parted命令可以劃分單個分割區大於2T的GPT格式的分割區,也可以劃分普通的MBR分割區,fdisk命令對於大於2T的分割區無法劃分。
parted是一個可以分割區並進行分割區調整的工具,他可以建立,破壞,移動,複製,調整ext2 linux-swap fat fat32 reiserfs型別的分割區,可以建立,調整,移動Macintosh的HFS分割區,檢測jfs,ntfs,ufs,xfs分割區。
需登入root使用者。
輸入 fdisk -l 檢視分割區情況。
輸入 parted /dev/sdb 建立分割區(通過fdisk -l獲取)。
[root@zzxt ~]# fdisk -l
**
磁碟 /dev/sdb:1073 MB, 1073741824 位元組,2097152 個磁區
Units = 磁區 of 1 * 512 = 512 bytes
磁區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
**
[root@zzxt ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt #選擇分割區表格式
(parted) print #列印資訊
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標誌
(parted) mkpart primary 0KB 1074MB #確定分割區型別大小
警告: You requested a partition from 0.00B to 1074MB (sectors 0..2097151).
The closest location we can manage is 17.4kB to 1074MB (sectors 34..2097118).
Is this still acceptable to you?
是/Yes/否/No? y
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放棄/Cancel? i
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標誌
1 17.4kB 1074MB 1074MB primary
(parted) quit #儲存退出
資訊: You may need to update /etc/fstab.
[root@zzxt ~]# fdisk -l
磁碟 /dev/sdb:1073 MB, 1073741824 位元組,2097152 個磁區
Units = 磁區 of 1 * 512 = 512 bytes
磁區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:gpt
Disk identifier: B2CBB080-88F0-45AD-A57F-181297FDC883
# Start End Size Type Name
1 34 2097118 1024M Microsoft basic primary
[root@zzxt ~]# ls /dev/sd
sda sda1 sda2 sdb sdb1
建立檔案系統
mkfs.ext4 /dev/sdb1
建立掛載路徑:
mkdir -p /data
掛在LV到使用者路徑:
mount -t ext4 /dev/sdb1 /data
永久掛載:vi /etc/fstab,在最後一行新增如下內容(下列內容均為範例,根據實際情況修改引數):
/dev/sdb1 /data ext4 defaults 0 0
multipath常用命令
multipath -r (修改multipath.conf組態檔之後重新載入)
multipath -ll (檢視多路徑狀態)
multipath -v2 (格式化路徑,檢測路徑,合併路徑)
multipath -v3 (檢視多路徑詳情blacklist、whitelist和裝置wwid)
multipath -F (刪除現有鏈路)
檢視對映的儲存檔
fdisk-l 可以看到很多塊盤,都是沒有進行聚合的物理盤。
下載依賴包
[root@zzxt ~]# yum install device-mapper
檢查安裝包情況
[root@zzxt ~]# rpm -aq|grep multipath
device-mapper-multipath-libs-0.4.9-111.el7.x86_64
device-mapper-multipath-0.4.9-111.el7.x86_64
重新啟動系統
[root@zzxt ~]# reboot
將多路徑模組新增至核心模組中
[root@zzxt ~]# modprobe dm-multipath
[root@zzxt ~]# modprobe dm-round-robin
檢查核心新增情況
[root@zzxt ~]# lsmod |grep multipath
dm_multipath 27427 1 dm_round_robin
dm_mod 123303 10 dm_round_robin,dm_multipath,dm_log,dm_mirror
啟動multipath服務
[root@zzxt ~]# systemctl start multipathd.service
設定開機自啟動
[root@zzxt ~]# systemctl enable multipathd
檢視需要設定多路徑磁碟的wwid
[root@zzxt ~]# more /etc/multipath/wwids
如果查詢不到,則需要一個個查詢
[root@zzxt ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb
建立multipath組態檔
[root@zzxt ~]# /sbin/mpathconf --enable
編輯multipath組態檔
[root@zzxt ~]# vim /etc/multipath.conf
defaults { #全域性屬性的預設設定。
find_multipaths yes #預設值no,這將為黑名單外的所有裝置建立多路徑裝置。如置為yes,則將為3種場景建立多路徑裝置:不在黑名單的兩個路徑的wwid相同;使用者手動強制建立;一個路徑的wwid與之前已經建立的多路徑裝置相同。
user_friendly_names no #預設值為no
}
blacklist { #黑名單,multipath會忽略黑名單中的裝置
wwid 3600508b1001c5ae72efe1fea025cd2e5 #不使用多路徑的本地盤wwid號
devnode "^sda" #不使用多路徑的本地盤名稱,跟裝置名稱的正規表示式
}
#blacklist_exceptions{} #免除黑名單,加入黑名單內,但包含在這裡的裝置不會被忽略,是多路徑管理的裝置列表。
multipaths { #多路徑相關設定
multipath { #單塊儲存檔設定,如有多塊儲存檔,如多個multipath{}設定
wwid 36000144000000010b0363b427faacc91 #---使用多路徑的儲存檔wwid號
alias zzx01 #裝置別名
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000144000000010b0363b427faacc92
alias zzx02
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
}
devices { #儲存裝置相關設定,每個device子節用於描述一個裝置
device {
vendor "EMC" #儲存廠家名稱可通過multipath –v3獲取到(必填)
product "unity400" #儲存產品型號
path_grouping_policy multibus #預設的路徑組策略
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" #獲得唯一裝置號使用的預設程式
path_checker readsector0 #決定路徑狀態的方法
path_selector "round-robin 0" #選擇那條路徑進行下一個IO操作的方法
hardware_handler "0"
failback 15
rr_weight priorities
no_path_retry queue
}
}
儲存檔案後退出.
啟動multipath
[root@zzxt ~]# multipath -v2
[root@zzxt ~]# systemctl restart multipathd.service
檢視多路徑設定情況
[root@zzxt ~]# multipath -ll
Oct 26 14:59:27 | /etc/multipath.conf line 100, invalid keyword: devices
Oct 26 14:59:27 | /etc/multipath.conf line 101, invalid keyword: device
Oct 26 14:59:27 | /etc/multipath.conf line 102, invalid keyword: vendor
Oct 26 14:59:27 | /etc/multipath.conf line 103, invalid keyword: product
Oct 26 14:59:27 | /etc/multipath.conf line 104, invalid keyword: path_grouping_policy
Oct 26 14:59:27 | /etc/multipath.conf line 105, invalid keyword: getuid_callout
Oct 26 14:59:27 | /etc/multipath.conf line 106, invalid keyword: path_checker
Oct 26 14:59:27 | /etc/multipath.conf line 107, invalid keyword: path_selector
Oct 26 14:59:27 | /etc/multipath.conf line 108, invalid keyword: hardware_handler
Oct 26 14:59:27 | /etc/multipath.conf line 109, invalid keyword: failback
Oct 26 14:59:27 | /etc/multipath.conf line 110, invalid keyword: rr_weight
Oct 26 14:59:27 | /etc/multipath.conf line 111, invalid keyword: no_path_retry
Oct 26 14:59:27 | unmatched '}' at line 114 of /etc/multipath.conf
Oct 26 14:59:27 | /etc/multipath.conf line 114, invalid keyword: }
zzx02 (36000144000000010b0363b427faacc92) dm-7 EMC ,Invista
size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 7:0:0:5 sdg 8:96 active ready running
|- 8:0:0:5 sdaq 66:160 active ready running
|- 7:0:1:5 sdp 8:240 active ready running
|- 8:0:1:5 sdaz 67:48 active ready running
|- 7:0:2:5 sdy 65:128 active ready running
|- 8:0:2:5 sdbi 67:192 active ready running
|- 7:0:3:5 sdah 66:16 active ready running
`- 8:0:3:5 sdbr 68:80 active ready running
zzx01 (36000144000000010b0363b427faacc91) dm-5 EMC ,Invista
size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 7:0:0:4 sdf 8:80 active ready running
|- 8:0:0:4 sdap 66:144 active ready running
|- 7:0:1:4 sdo 8:224 active ready running
|- 8:0:1:4 sday 67:32 active ready running
|- 7:0:2:4 sdx 65:112 active ready running
|- 8:0:2:4 sdbh 67:176 active ready running
|- 7:0:3:4 sdag 66:0 active ready running
`- 8:0:3:4 sdbq 68:64 active ready running
如果設定正確的話就會在/dev/mapper/目錄下多出mpath0、mpath1(自動分配的名稱)等之類裝置,不過如果在設定的時候起了別名,會使用別名來代替自動分配的名稱
[root@zzxt ~]# ll /dev/mapper/
lrwxrwxrwx 1 root root 7 Oct 26 14:59 zzx01 -> ../dm-5
lrwxrwxrwx 1 root root 7 Oct 26 14:27 zzx02 -> ../dm-7
用fdisk -l命令可以看到多路徑軟體建立的磁碟
[root@zzxt ~]# fdisk -l
Disk /dev/mapper/zzx01: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/zzx02: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
之後再進行分割區格式化操作,參考3.1
NAS儲存我們用nfs檔案共用的方式進行掛載,方法很簡單
#建立掛載點
mkdir /nas
#新增自動掛載
echo 「192.168.3.2:/nas /nas nfs defaults 0 0」 >>/etc/fstab
#執行掛載
mount -a
#檢視掛載情況:
df -h
掛載後不需要自己建立檔案系統,因為nfs伺服器端已經建立過檔案系統,直接進行使用就好。
做邏輯卷應該在硬碟分割區之後在格式化之前
需登入root使用者。
建立系統PV輸入命令:pvcreate dev/sdb1。
檢視系統PV輸入命令pvscan。
[root@zzxt dev]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@zzxt dev]# pvscan
PV /dev/sda2 VG centos_zzxt lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb1 lvm2 [1023.00 MiB]
Total: 2 [<20.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [1023.00 MiB]
vgcreate vg00 /dev/sdb1。
vgdisplay檢視系統VG。
[root@zzxt dev]# vgcreate vg00 /dev/sdb1
Volume group "vg00" successfully created
[root@zzxt dev]# vgdisplay
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 1020.00 MiB
PE Size 4.00 MiB
Total PE 255
Alloc PE / Size 0 / 0
Free PE / Size 255 / 1020.00 MiB
VG UUID yUSuXi-bz56-Xd3C-Zps6-e4Fn-yuGD-Pfr0j4
lvcreate --name lv01 --size 1020m /dev/vg00
[root@zzxt dev]# lvcreate --name lv01 --size 1020m /dev/vg00
Logical volume "lv01" created.
[root@zzxt dev]# lvscan
ACTIVE '/dev/vg00/lv01' [1020.00 MiB] inherit
之後進行分割區格式化掛載
[root@zzxt rpm-gpg]# mkfs.ext4 /dev/vg00/lv01
mke2fs 1.42.9 (28-Dec-2013)
檔案系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65280 inodes, 261120 blocks
13056 blocks (5.00%) reserved for the super user
第一個資料塊=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@zzxt rpm-gpg]# mkdir /home/lvnew
[root@zzxt rpm-gpg]# mount -t ext4 /dev/vg00/lv01 /home/lvnew/
[root@zzxt rpm-gpg]# vi /etc/fstab
/dev/vg00/lv01 /home/lvnew ext4 defaults 0 0
硬碟新分割區-分割區格式化-建立pv-加入vg-擴容lv-擴容掛載點的檔案系統
mkfs -t ext4 /dev/sdb2
pvcreate /dev/sdb2
vgextend vg00 /dev/sdb2
lvdisplay
lvextend -L 2G /dev/vg_test/lv_root #擴充套件LV 2G為總大小 如果是增加4G 可寫為 +4G
resize2fs /dev/vg_test/lv_root 2G
df -h
解除安裝檔案系統-檢查壞塊-縮小檔案系統-縮小lv-重新掛載
umount /home/lvnew
e2fsck -f /dev/vg00/lv01
resize2fs /dev/vg00/lv01 500M #縮小到500m
lvreduce -L 500M /dev/vg00/lv01 #縮小到500m,如果是減少,可以是lvreduce -L -500M
mount -t ext4 /home/lvnew
使用命令 nm-connection-editor 命令可以進入圖形介面設定,以下是命令列介面的設定
動態ip
修改eth0的檔案
[root@zzxt ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #裝置名
ONBOOT=yes #網路自啟動
BOOTPROTO=dhcp # dhcp協定獲取ip地址
DNSPEER=yes # 不使用dhcp獲取的dns地址,自己可以在/etc/resolv.conf中指定
靜態ip
修改eth0的檔案
[root@zzxt ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #裝置名稱
ONBOOT=yes #是否開機自動啟動
BOOTPROTO=static #ip分配方式:none:不使用啟動地址協定,bootp:BOOTP協定,dhcp:DHCP動態地址協定,static:靜態地址協定
TYPE=Ethernet #裝置型別乙太網
IPADDR=192.168.1.55
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
USERCTL=no #非root使用者不執行控制該網路介面
修改完成後重新啟動網路服務
systemctl restart network
輸入ifconfig檢視網路狀態
ping閘道器看網路是否通暢
1、修改網路卡設定
a、新建檔案ifcfg-bond0
新建檔案ifcfg-bond0
[root@zzxt ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
USERCTL=no
IPADDR=192.168.1.55
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
b、修改eth0的檔案
[root@zzxt ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
USERCTL=no
c、修改eth1的檔案
[root@zzxt ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
USERCTL=no
2、載入bonding模組
vi /etc/modprobe.d/dist.conf 在檔案的末尾加入
alias bond0 bonding
options bond0 mode=1 miimon=100
mode模式
0負載分擔round-robin,需要接入交換機做埠聚合
1表示主備模式,即同時只有1塊網路卡在工作
2-6可以自行了解
miimon鏈路檢查時間為100ms
3、將bond0設定為開機自動載入
vi /etc/rc.d/rc.local
在倒數第2行,增加一句
Ifenslave bond0 eth0 eth1
4、重新啟動網路卡
systemctl restart network
5、驗證網路卡繫結是否成功
輸入ifconfig ,檢視bond0,eth0,eth1三塊網路卡的MAC地址是否一樣,如果一致,基本可以確定雙網路卡繫結已生效。
1.備份並刪除原本的倉庫檔案
cd /etc/yum.repos.d/
mkdir allbak
mv ./* allbak
此時 /etc/yum.repos.d/底下就沒有repo檔案,此時無法使用yum工具,必須設定yum源,生成新的.repo檔案
2.下載阿里雲倉庫檔案
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.清空原本yum快取
yum clean all
4.生成新的阿里雲的yum快取,加速下載預熱資料
yum makecache
使用光碟做本地yum源
mount -o loop /dev/sr0 /mnt
vi /etc/yum.repos.d/mnt.repo
[mnt]
name=mnt
baseurl=file:///mnt
enabled=1
yum list |wc -l
匯入key,不執行可能會報錯
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*
這裡使用的是chrony服務
chrony 是網路時間協定(NTP)的通用實現。
chrony 包含兩個程式:chronyd 是一個可以在啟動時啟動的守護程式。chronyc 是一個命令列介面程式,用於監視 chronyd 的效能並在執行時更改各種操作引數。
安裝啟動chrony
yum -y install chrony
systemctl enable chronyd
systemctl start chronyd
修改服務組態檔,注意兩個地方
vim /etc/chrony.conf
server 0.centos.pool.ntp.org iburst #修改自己想設定的時鐘同步伺服器
allow 192.168.0.0/16 #允許該網段向自己進行同步時間,如果本機想設定成為時鐘同步伺服器,請取消註釋並設定
修改後生效
修改後重新啟動服務
systemctl restart chronyd
檢視時間同步狀態
timedatectl status
檢視時間同步源
chronyc sources -v
時間同步源狀態
chronyc sourcestats -v
正常如果沒有特殊要求的話useradd就可以滿足,以下介紹一種非常穩妥的新增使用者的方式,可以指定使用者id使用者組名和id,根據需求自己修改,個人很推薦這樣新增使用者。
需要登陸root使用者,以下命令中的username為例子,根據實際情況修改username即可:
groupadd -g 500 username
useradd -d /home/username -u 2000 -g username username
/bin/echo "username"|/usr/bin/passwd --stdin username
/bin/cp /etc/skel/.bash*/home/username -r
cd /home
chown username: username /home/username
chmod 755 /home/username
有時需要手動安裝指定版本的jdk,需要自行下載
jdk下載地址
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
以1.8.0_144版本為例,其他版本請相應修改版本號。
登陸使用者:root,解壓jdk-8u144-linux-x64.tar.gz到/usr/local目錄,執行以下命令:
cd /usr/local
tar xvf jdk-8u144-linux-x64.tar.gz
chown -R root:root /usr/local/jdk1.8.0_144
登陸使用者:root,編輯/etc/profile檔案
輸入 vi /etc/profile 編輯環境變數控制檔案
Shift+g跳轉到檔案末尾
按o在此檔案末尾新增一下內容:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
輸入 :wq 儲存並退出
生效環境變數 source /etc/profile
普通使用者如設定變數
登入普通使用者
vi ~/.bash_profile
最後新增兩句:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
儲存退出後生效:
source ~/.bash_profile
登陸相應使用者,執行java –version,檢查版本為1.8.0_144即可。