Linux 系統優化


Linux 系統優化

image

1、系統信息查看方法

  • 查看系統名稱信息:

    # cat /etc/redhat-release
    CentOS release 7.5.1804
    
  • 查看系統內核版本

    # uname -r
    3.10.0-862.el7.x86_64
    
  • 查看系統硬件位數

    # uname -m
    x86_64
    

  • 查看系統所有信息

    • 參數 :-a
    [root@localhost ~]# uname
    Linux
    [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    

2、系統基礎優化

2.1、添加系統普通用戶

  • 添加系統普通用戶:useradd [用戶名]

  • 設置用戶密碼 :passwd [用戶名]

    • 免交互模式:echo [密碼]|passwd --stdin [用戶名] (一般用在腳本文件中)
  • 切換用戶信息:susu -

    • 二者區別就是su是切換用戶,但是切換后的用戶缺少相應的文件或環境變量;su -相當於重新登錄,切換后的用戶攜帶環境變量或相應文件
    • 通過pwdecho $PATH兩個命令查看超管和普通用戶切換后的區別
    • root用戶切換到普通用戶不需要輸入密碼
    • 普通用戶切換到root用戶需要輸入密碼

用戶切換原理圖:

image


  • 查看當前登錄用戶信息:whoami命令

    [root@localhost ~]# whoami
    root
    
  • 查看當前用戶登錄系統的終端 :who命令

    [root@localhost ~]# who
    root     tty1         2021-12-15 08:50
    root     pts/0        2021-12-15 15:14 (192.168.15.1)
    root     pts/2        2021-12-15 16:52 (192.168.15.1)
    
    # tty和pts的含義
    tty ---- 代表虛擬機開的窗口
    pts ---- 代表此時Xshell開的窗口
    

2.2、命令提示信息優化

  • 通過echo $PS1命令修改顯示命令行提示符格式信息

臨時切換提示

  • 大寫方式

    [root@localhost ~]# echo $PS1
    [\u@\h \W]\$
    # 大寫方式只能顯示路徑基名,不顯示完全路徑
    [root@localhost ~]#cd /etc/sysconfig/network-scripts/
    [root@localhost network-scripts]#
    
  • 小寫方式

    [root@localhost ~]# PS1='[\u@\h \w]\$'
    # 通過小寫方式這樣就能顯示完整路徑了
    [root@localhost ~]#cd /etc/sysconfig/network-scripts/
    [root@localhost /etc/sysconfig/network-scripts]#
    

永久設置切換提示

  • 相關文件: /etc/profile
    • 在profile文件內添加export PS1='[\u@\h \w]\$ '
    • 重載文件命令:source
    • 重載文件:source /etc/profile,設置成功+

2.3、下載的源信息更新

2.3.1、 Linux中安裝軟件

  • 安裝軟件的三種方式

  • rpm安裝

  • yum安裝

  • 源代碼編譯安裝

  • 區別:

    • rpm安裝:類似於windows中的安裝包,下載下來之后直接安裝。
      • rpm缺點:不能解決依賴
    • yum安裝:基於rpm安裝,也就是在rpm安裝上增加了自動解決依賴的功能
    • 源代碼安裝:通過編譯源代碼,得到軟件包
      • 優點:可以自定制軟件包
      • 缺點:是比較復雜

注:依賴通俗理解為,如果下載wps,那么在下載的同時,wps就會自動下載了word/excel/ppt等必備軟件,這樣就是解決了依賴,如果下載了wps沒有自動下載word等軟件,就是沒有解決依賴*


2.3.2、三種安裝詳細操作


RPM安裝
  • 命令:
    • 安裝:rpm -ivh [軟件包名稱]
    • 卸載:rpm -e [軟件包名稱]
    • 升級:rpm -Uvh [軟件包名稱]
    • 查看軟件包配置文件:rpm -qc [軟件包名稱]
    • 查看是否安裝某軟件:rpm -q [軟件包名稱]
    • 查看當前系統安裝了哪些軟件:rpm -qa [軟件包名稱]
    • 查看軟件的安裝路徑內的內容:rpm -ql [軟件包名稱]

image

這樣就是從base源上下載好了lrzsz工具包!


  • 安裝、卸載、更新操作如下:

1、下載安裝包(我是用的是華為源)

  • 打開華為鏡像源網站,選擇base源下載

image

image

我的是CentOS 7,找到7/-->os/-->x86_64/Packages/,然后去搜索要下載的安裝包!(路徑顯示:/mirrors_os/centos/7/os/x86_64/Packages/)

image

下載好直接拖拽進Xshell框中即可,下載安裝包就完成了!

image

image


2、安裝

# 安裝命令
[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:zsh-5.0.2-34.el7_8.2             ################################# [100%]
[root@localhost ~]# zsh

3、卸載

# 卸載命令
[root@localhost]~# rpm -e zsh
[root@localhost]~# zsh
zsh: command not found: zsh

4、更新

# 更新命令
[root@localhost]~# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
Preparing...                          ################################# [100%]
	package zsh-5.0.2-34.el7_8.2.x86_64 is already installed
[root@localhost]~# zsh

5、軟件包名稱解釋

zsh-5.0.2-34.el7_8.2.x86_64.rpm 
軟件包名稱:zsh
版本號:5.0.2
第多少次編譯:34
適用的平台:el7_8(CentOS 7)
適用的系統位數:x86_64
擴展名:rpm

6、補充操作

# 查看軟件包的配置文件有哪些
[root@localhost]~# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc

# 查看是否安裝某軟件
# 有的話顯示軟件包信息
[root@localhost]~# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
# 沒有安裝輸出未安裝
[root@localhost]~# rpm -q asfgghl
package asfgghl is not installed

# 查看當前系統安裝了哪些軟件
[root@localhost]~# rpm -qa

#查看軟件的安裝路徑內的內容
[root@localhost ~]# rpm -ql zsh

yum安裝命令介紹
  • 格式:yum [參數][進行的操作][軟件包名稱]

  • 參數 :

    • -y,安裝,卸載,更新使用-y參數是免交互模式,不需要確認y/N
    • --nogpgcheck:忽略公鑰認證安裝
  • yum命令:

    • 安裝:yum install [軟件包的名稱]
    • 卸載:yum remove [軟件包的名稱]
    • 更新:yum update [軟件包的名稱]
    • 查看軟件源中是否有此軟件:yum list [軟件包的名稱]
    • 清空yum緩存:yum clean all
    • 生成緩存:yum makecache
    • 列出設定yum源的信息:yum repolist
    • 清除緩存目錄下的軟件包:yum clean packages
  • yum安裝的生命周期(從下載到結束):

    1. 執行yum install [軟件包名稱]

    2. /etc/yum.repos.d/目錄 找以 .repo (yum源)結尾的文件

    3. 通過 .repo 文件中的鏈接,找到對應的軟件倉庫

    4. 在對應的軟件倉庫中下載指定的軟件包

    5. 緩存到/var/cache/yum/

    6. 根據緩存,安裝軟件包

    7. 刪除軟件包(在/etc/yum.conf中有參數keepcache 代表是否保存緩存,0 代表不保存 , 1 代表保存)

    注:rpm其實就是只執行了最后一步

  • 相關文件:

    • yum的配置文件:/etc/yum.conf

    • 安裝包緩存目錄:/var/cache/yum/

    • 軟件倉庫目錄/etc/yum.repos.d/

注:如果跟具體的軟件包名稱,就會更新指定軟件包;如果沒有指定,則更新系統所有的需要更新的軟件包。


yum私有倉庫構建

私有倉庫分類:本地版、遠程版

本地版構建步驟

本地版是本機使用

  • 下載必須的軟件包

    yum install yum-utils createrepo -y
    

    注:使用'yum-utils'來維護YUM並提高其性能,[yum-utils包詳解]((29條消息) 怎么讓linux支持yum,如何安裝和使用'yum-utils'來維護Yum並提高其性能_火車合鳥子的博客-CSDN博客)

  • 創建軟件倉庫

    [root@localhost opt]# mkdir -p /opt/repos
    [root@localhost repos]# pwd
    /opt/repos
    
  • 初始化軟件倉庫

    • 命令:createrepo [軟件倉庫路徑]
    # 初始化倉庫
    [root@localhost ~]# createrepo /opt/repos/
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    
    # 切換路徑查看初始化結果,多了一個repodata目錄
    [root@localhost ~]# cd /opt/repos/
    [root@localhost repos]# ll
    total 4
    drwxr-xr-x 2 root root 4096 Dec 16 20:47 repodata
    # repodata目錄內存儲的是對應關系,不要修改
    
    
  • 初始化后創建Packages目錄,下載對應的軟件包,我用zsh做例子(華為源提前下載好的)

    [root@localhost repos]# mkdir /opt/repos/Packages
    [root@localhost repos]# ll
    total 4
    drwxr-xr-x 2 root root    6 Dec 16 20:51 Packages
    drwxr-xr-x 2 root root 4096 Dec 16 20:47 repodata
    # 此時/repos里面就有兩個目錄,Packages下存放安裝包,移動准備好的軟件安裝包(zsh舉例)
    [root@localhost repos]# mv /root/zsh-5.0.2-34.el7_8.2.x86_64.rpm Packages/
    [root@localhost repos]# ll /opt/repos/Packages/
    total 2440
    -rw-r--r-- 1 root root 2497380 Dec 16 15:37 zsh-5.0.2-34.el7_8.2.x86_64.rpm
    
    

image

  • 再次初始化嘗試驗證是否成功,不報錯為成功

    [root@localhost repos]# createrepo /opt/repos/
    Spawning worker 0 with 1 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    # 沒有報錯代表成功了
    
  • 添加yum源

    # 防止原有的源影響測試本地源結果
    # 去yum源,做備份
    [root@localhost repos]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir backup
    [root@localhost yum.repos.d]# mv *.repo backup/
    [root@localhost yum.repos.d]# ll
    total 4
    drwxr-xr-x 2 root root  237 Dec 16 21:04 backup
    
    # 添加本地yum源
    [root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
    Loaded plugins: fastestmirror
    adding repo from: file:///opt/repos
    
    [opt_repos]
    name=added from: file:///opt/repos
    baseurl=file:///opt/repos
    enabled=1
    
    # 切換目錄,查看是否添加yum源
    [root@localhost repos]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ll
    total 4
    drwxr-xr-x 2 root root 268 Dec 16 21:07 backup
    -rw-r--r-- 1 root root  85 Dec 16 21:09 opt_repos.repo
    # 成功添加opt_repos.repo
    
    # 查看,發現源下載鏈接變為本地的file://
    [root@localhost yum.repos.d]# cat opt_repos.repo 
    [opt_repos] # 源的名稱
    name=added from: file:///opt/repos # 源的簡介
    baseurl=file:///opt/repos # 源的下載地址
    enabled=1 # 是否啟用,1為啟用,0為不啟用
    
  • 清理緩存,生成緩存

    # 清理
    [root@localhost yum.repos.d]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: opt_repos
    Cleaning up list of fastest mirrors
    Other repos take up 664 M of disk space (use --verbose for details)
    
    # 生成
    [root@localhost yum.repos.d]# yum makecache
    Loaded plugins: fastestmirror
    Determining fastest mirrors
    opt_repos                                                         | 2.9 kB  00:00:00     
    (1/3): opt_repos/filelists_db                                     | 5.7 kB  00:00:00     
    (2/3): opt_repos/other_db                                         | 1.6 kB  00:00:00     
    (3/3): opt_repos/primary_db                                       | 2.5 kB  00:00:00     
    Metadata Cache Created
    
  • 測試

    [root@localhost yum.repos.d]# yum install zsh
    

    現在下載已經是本地添加的源下載,opt_repos

image

image


遠程版構建

優化本地版,其他機器可以用,接下來用克隆機嘗試使用本機的

  • 下載必須的軟件包
  • 創建軟件倉庫
  • 下載對應的軟件
  • 初始化軟件倉庫
  • 添加yum源
  • 生成緩存

上面列出這幾步和本地版完全一樣參考上面,下面步驟續上步驟

  • 獲取華為開源網站中Base源url內容

    # 本地只有一個安裝包,去華為開源網站獲取,執行以下命令
    [root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    

image

注:curl 是一種命令行工具,作用是發出網絡請求,然后獲取數據,顯示在"標准輸出"(stdout)上面。

  • 如果要把這個網頁保存下來,可以使用 -o 參數:
  • curl -o [文件名] [URL]
  • 添加yum源:

    • 命令:yum-config-manager --add-repo=[yum源url根路徑]

    • 注意:yum源根路徑為含有Packages和repodata兩個目錄

image

# 添加yum源
[root@localhost yum.repos.d]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
Loaded plugins: fastestmirror
adding repo from: https://repo.huaweicloud.com/epel/7/x86_64/

[repo.huaweicloud.com_epel_7_x86_64_]
name=added from: https://repo.huaweicloud.com/epel/7/x86_64/
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
enabled=1
  • 安裝遠程訪問軟件(Nginx)

    # 忽略公鑰安裝
    [root@localhost yum.repos.d]# yum install nginx --nogpgcheck
    
  • 修改nginx的配置文件

    [root@localhost yum.repos.d]# rpm -qc nginx
    /etc/logrotate.d/nginx
    /etc/nginx/fastcgi.conf
    /etc/nginx/fastcgi.conf.default
    /etc/nginx/fastcgi_params
    /etc/nginx/fastcgi_params.default
    /etc/nginx/koi-utf
    /etc/nginx/koi-win
    /etc/nginx/mime.types
    /etc/nginx/mime.types.default
    /etc/nginx/nginx.conf
    /etc/nginx/nginx.conf.default
    /etc/nginx/scgi_params
    /etc/nginx/scgi_params.default
    /etc/nginx/uwsgi_params
    /etc/nginx/uwsgi_params.default
    /etc/nginx/win-utf
    
    # 只修改/etc/nginx/nginx.conf文件
    注釋掉:include /etc/nginx/conf.d/*.conf;
    修改路徑: root         /opt/repos;
    添加索引:autoindex on;    ---# 作用是目錄索引
    

vim /etc/nginx/nginx.conf 文件

image

  • 測試

    • 命令:nginx -t
    [root@localhost yum.repos.d]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    # 測試成功
    
  • 啟動nginx

    [root@localhost yum.repos.d]# systemctl start nginx
    
  • 關閉selinux和firewalld

    [root@localhost ~]# systemctl disable --now firewalld
    [root@localhost ~]# setenforce 0
    
  • 瀏覽器測試

    瀏覽器查看本機http://192.168.15.100/
    

image

  • 克隆機測試

    [root@localhost ~]# cd /etc/yum.repos.d/
    # 裝yum-utils擴展
    [root@localhost yum.repos.d]# yum install yum-utils -y
    
    # 備份源
    [root@localhost yum.repos.d]# mkdir backup
    [root@localhost yum.repos.d]# mv *.repo backup/
    [root@localhost yum.repos.d]# ll
    total 0
    drwxr-xr-x. 2 root root 268 Dec 16 22:18 backup
    
    # 添加yum源
    [root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.100/
    Loaded plugins: fastestmirror
    adding repo from: http://192.168.15.100/
    
    [192.168.15.100_]
    name=added from: http://192.168.15.100/
    baseurl=http://192.168.15.100/
    enabled=1
    
    # 清理緩存、生成緩存
    [root@localhost yum.repos.d]# yum clean all
    [root@localhost yum.repos.d]# yum makecache
    
    # 測試下載
    [root@localhost yum.repos.d]# yum install zsh 
    
    

image

注.下次不能在網頁打開本機ip地址,重啟nginx服務就可!


3、系統安全優化

3.1 關閉selinux安全服務功能

  • 相關文件:/etc/selinux/conf

  • 永久關閉 :vim /etc/selinux/conf

image

  • 臨時關閉/開啟(設置立即生效):setenforce 0 /1(0代表臨時關閉,1代表開啟).
[root@localhost]~# setenforce 0
[root@localhost]~# setenforce 1

3.2關閉防火牆

  • 防火牆底層:

    • firewalld 底層 --> iptables -->系統安全框架
  • 查看防火狀態:

    • systemctl status firewalld
  • 暫時關閉防火牆

    • systemctl stop firewalld
  • 永久關閉防火牆

    • systemctl disable firewalld
  • 重啟防火牆

    • systemctl enable firewalld
  • 啟動防火牆

    • systemctl start firewalld

4、防止系統亂碼優化

4.1 出現亂碼情況設置

# 查看字符集
[root@localhost ~]# echo $LANG
en_US.UTF-8

# 設置字符集
export LANG=en.US-gb2312

# 查看字符集
[root@localhost ~]# echo $LANG
en.US-gb2312

4.2 解決亂碼 情況設置

  • 臨時修改系統字符集信息
# 查看系統當前使用字符集
echo $LANG
# 設置字符集
export LANG=en.US-gb2312

# 設置中文的
export LANG=zh_CN.UTF-8

  • 永久修改系統字符集信息
# 備份配置信息
cp /etc/locale.conf /etc/locale.conf
# 編寫配置文件
echo 'LANG="en_US.UTF-8"'  >/etc/locale.conf
source /etc/locale.conf
# 查看配置信息
echo $LANG

補充知識:

  • 什么是源?

源就是來源,就是你安裝軟件時,程序從哪里獲取軟件包(安裝程序在你的機器上,但需要安裝的東西卻在軟件源服務器上)。

什么是軟件源?

軟件源就相當於軟件庫,需要安裝什么軟件,只需要簡單使用命令來進行安裝,其實你可以把他稱為軟件倉庫。安裝軟件時,就是從倉庫里面調取數據放在你的機器上。

什么是鏡像?

鏡像,原意是光學里指的物體在鏡面中所成之像。引用到電腦網絡上,一個網站的鏡像是指對一個網站內容的拷貝。鏡像通常用於為相同信息內容提供不同的源,特別是在下載量大的時候提供了一種可靠的網絡連接。制作鏡像是一種文件同步的過程。“鏡像網站”(英文:Mirror sites [1] ),又譯作“鏡像站點” ,亦即把一個互聯網上的網站數據“拷貝”到本地服務器,並保持本地服務器數據的同步更新,因此也稱為“復制網絡站點” 。

鏡像源就是把官方的源做一個鏡像,你可以在這下載軟件。

官方源如果在國外,下載軟件可能會很慢,這時候就需要換成國內的鏡像源。


👉[源概念參考博文]((29條消息) 什么是源,什么是鏡像_xiaoxiannv666的博客-CSDN博客_鏡像源是什么意思)


image


【總結不易,頂一下吧各位老板!】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM