Linux系統優化如何操作?教你學Linux優化體系

2021-02-07 老男孩Linux運維

1.1 如何選擇linux系統發行版本?

1.2 32位系統和64位系統的區別?

1.3 ssh連接不上如何排查?

1.4 linux的7種運行級別,及其應用?

1.5 linux從系統開機到登陸之前的啟動流程。

你的系統是什麼版本的?

[root@oldboyedu ~]

CentOS release 6.7 (Final) ç這是系統版本信息

[root@oldboyedu ~]

2.6.32-573.el6.x86_64     ç這是內核kernel的版本號

[root@oldboyedu ~]
x86_64 這表示為64位系統

linux/unix是一個多用戶、多任務的作業系統。

超級管理員(root): root默認在unix/linux作業系統中擁有最高的管理權限。

普通用戶:管理員或者具備管理權限的用戶創建的。權限:系統管理僅可以讀、看,不能增、刪、改。

權限越大,責任越大。

可使用如下命令添加一個普通用戶帳號,並為其設置口令:

[root@oldboyedu ~]

[root@oldboyedu ~]

Changing password for user oldboy.

New password:

BAD PASSWORD: it is too simplistic/systematic **

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

提示:

echo "123456"|passwd --stdin oldboy && history -c

嘗試切換用戶角色,命令如下:

[root@oldboyedu ~]

[oldboy@oldboyedu ~]$ whoami <==查看當前用戶是什麼

oldboy

[oldboy@oldboyedu ~]$ su - root <==切回到root用戶

Password:

說明:

1)超級用戶root切換到普通用戶下面,無需輸入對應用戶密碼,這相當於「皇帝」去「大臣」家裡。

2)普通用戶切換到root或其他普通用戶下,需要輸入切換的對應用戶密碼。

3)普通用戶的權限比較小,只能進行基本的系統信息查看等操作,無法更改系統配置和管理服務。

4)$符號是普通用戶的命令行提示符,#符號是超級管理員的提示符。示例如下:

[oldboy@oldboyedu ~]$ 

[root@oldboyedu ~]

5)提示符@前面的字符代表當前用戶(可用whoami查詢),後面的為主機名(可用hostname查詢),~所在的位置是窗口當前用戶所在的路徑。示例如下:

6)Linux命令提示符由PS1環境變量控制。示例如下:

[root@oldboyedu ~]# echo $PS1

[\u@\h \W]$

這裡的PS1='[\u@\h \W]$ ',可以通過全局變量配置/etc/profile文件調整PS1='[\u@\h \W\t]$ '。

注意:PS1必須大寫的。

PS1---變量的名字-藏經閣裡面的武功秘籍(葵花寶典)  秘籍名字(書名)

$PS1---查看變量裡面的內容---手端著書(葵花寶典)  看書的內容(讀書)

PS1=新的內容 ---向變量裡面放入東西----修改書的內容(升級書)

欲練此功,必先自宮,若不自宮,也能成功。

linux變量名字(書名)大寫的一般是自己用(linux環境變量),在哪裡都可以用的變量。

默認國外的yum源(軟體倉庫)比較慢,所以換成國內的。

[root@oldboyedu ~]# cd /etc/yum.repos.d/

[root@oldboyedu yum.repos.d]# ls

CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo

[root@oldboyedu yum.repos.d]#cp CentOS-Base.repo CentOS-Base.repo.ori #改配置文件要備份

[root@oldboyedu yum.repos.d]# wget -O CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-6.repo](http://mirrors.aliyun.com/repo/Centos-6.repo)

安裝必要的軟體包

補充yum命令



yum install -y tree lrzsz

SELinux(Security-Enhanced  Linux)是美國國家安全局(NSA)對於強制訪問控制的實現,這個功能讓系統管理員又愛又恨,這裡我們還是把它給關閉了吧,至於安全問題,後面通過其他手段來解決,這也是大多數生產環境的做法,如果非要開啟也是可以的。關閉方式如下。

第一個腳印-永久關閉selinux第一個裡程碑-操作前備份

[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]

第二個裡程碑-sed修改,看看結果,不加-i第三個裡程碑-確認並使用 sed -i 修改文件內容第四個裡程碑-檢查結果

[root@oldboyedu  ~]

SELINUX=disabled

第二個腳印-臨時關閉selinux

臨時關閉SElinux,可在命令行執行如下命令: ###****命令行修改,重啟失效

[root@oldboyedu ~]

usage: setenforce [ Enforcing | Permissive | 1 | 0 ]

ç數字0表示Permissive,即給出警告提示,但不會阻止操作,相當於disabled。

數字1表示Enforcing,即表示SElinux為開啟狀態。

[root@oldboyedu ~]

[root@oldboyedu ~]

Permissive

命令說明:

提示:修改配置SElinux後,要想使其生效,必須要重啟系統。因此,可配合使用setenforce 0這個臨時使其關閉的命令,這樣在重啟前後都可以使得SElinux關閉生效了,也就是說無須立刻重啟伺服器了,在生產場景下Linux機器是不能隨意重啟的(不要給自己找任何理由重啟)。

總結selinux關閉:

第一個裡程碑-操作前備份cat,cp,sed -i.bak

第二個裡程碑-永久的修改

a) cat/vim 先看一眼-找目標

b) sed 's#SELINUX=enforcing#SELINUX=disabled#g'  /etc/selinux/config

c) 執行成功了 再加上-i參數

d) 再查看,cat /grep

第三個裡程碑-臨時生效

a) setenforce

設定運行級別(runlevel)為3,即表示使用文本命令行模式管理Linux,如果按照前面要求完成的系統安裝,則無需設置,檢查一下即可。檢查命令如下:

[root@web01 ~]# cat /etc/inittab

# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
**#linux不同狀態,用不同數字表示。**
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode    
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 
# 3 - Full multiuser mode 
# 4 - unused                   
# 5 - X11                   
# 6 - reboot (Do NOT set initdefault to this) 

#

id:3:initdefault:

[root@oldboyedu ~]# runlevel #<==查看當前系統運行級別

N 3

切換運行級別:

init 6 ##重啟電腦

init 0 ##關機

id:3:initdefault: <==這裡的3就是Linux默認的運行級別,如果有需求可以將其修改為其他級別。工作中常用3級別,即文本模式。

[root@oldboyedu ~]# init 5 <==切換運行級別為5,只有在安裝了桌面程序時才可以執行startx命令切換。

命令說明:

q runlevel:查看當前系統運行級別。

q init:切換運行級別,後面接對應級別的數字,例如:init 6就是重啟linux伺服器了。

關機命令

shutdown -h now

halt

重啟

shutdown -r now

reboot

關閉防火牆的目的是為了讓初學者學習更方便,將來在學了iptables****技術後可再統一開啟。

在企業環境中,一般只有配置外網****IP的linux伺服器才需要開啟防火牆,但即使是有外網IP,對於高並發高流量的業務伺服器仍是不能開的,因為會有較大性能損失,導致網站訪問很慢,這種情況下只能在前端加更好的硬體防火牆了。

關閉防火牆的具體操作過程如下:

臨時關閉

[root@oldboyedu ~]

[root@oldboyedu ~]

[root@oldboyedu ~]

徹底的讓一個服務,不再運行

關閉當前正在運行的進程(服務)=====>/etc/init.d/iptables stop

讓他在開機不啟動======>chkconfig iptables off

[root@oldboyedu37 ~]
iptables  0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@oldboyedu37 ~]
[root@oldboyedu37 ~]
[root@oldboyedu37 ~]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules:                       [ OK ]
iptables: Unloading modules: [ OK ]
[root@oldboyedu37 ~]
[root@oldboyedu37 ~]

八、Linux中文顯示設置(如何防止顯示中文亂碼)

此項優化為可選項,即調整Linux系統的字符集設置,那麼,什麼是字符集呢?

簡單的說,<u>字符集就是一套文字符號及其編碼</u>。目前Linux下常用的字符集有:

GBK:定長,雙字節,不是國際標準,支持的系統不少,實際企業用的不多。

UTF-8:非定長,1~4位元組,廣泛支持,MYSQL也使用UTF-8,企業廣泛使用。

可通過快捷的命令方式在/etc/sysconfig/i18n中添加如下內容,使其支持中文顯示:

[root@oldboyedu ~]
en_US.UTF-8
[root@oldboyedu ~]
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@oldboyedu ~]
[root@oldboyedu ~]

→相當於用vi /etc/sysconfig/i18n 添加LANG="zh_CN.UTF-8"內容

[root@oldboyedu ~]

[root@oldboyedu ~]

zh_CN.UTF-8

提示:

q 亂碼的核心解決方法:

系統字符集(utf-8)

xshell軟體的字符集保持一致(utf-8)

文件使用的字符集一致

zh_CN.GBK

q 注意「zh_CN.UTF-8」的大小寫字母。

q 這個中文顯示配置要跟你自己的SSH客戶端的配置一致。

q 調整SSH客戶端CRT的字符集,使其和Linux服務端一致(UTF-8)。

查看字符集設置的結果。

[root@oldboyedu ~]

LANG="zh_CN.UTF-8"

登錄Linux系統查看中文字符正常顯示的步驟如下:

1)將伺服器端字符集(/etc/sysconfig/i18n)改為LANG="zh_CN.UTF-8"。

2)將客戶端字符集(CRT)調整為UTF-8。

3)命令行執行setup命令看到原來中文亂碼的窗口不亂了,正確顯示中文字符了(如圖所示)。

九、linux特殊變量===調整歷史記錄以及終端超時

9.1 命令行臨時生效:

export TMOUT=300      
export TMOUT=3      
export HISTSIZE=5 
export HISTFILESIZE=5  

9.2 永久生效:

放入到/etc/profile

source 生效

了解如何配置即可,我們學習環境可以不配置。

270 shutdown -h 10
271 tree
272 history
273 history -d 270
274 history
[root@oldboyedu-30 ~]# !271
tree
.
├── anaconda-ks.cfg
├── a.txt
├── ett.txt
├── install.log
├── install.log.syslog
└── test.txt
0 directories, 6 files

<v:shape id="圖片_x0020_7" o:spid="_x0000_i1025" type="#_x0000_t75" style="width:294.6pt;
height:53.4pt;visibility:visible;mso-wrap-style:square"><v:imagedata src="file:///C:/Users/lee/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png" o:title=""></v:imagedata></v:shape>

在登錄到Linux主機本地(非CRT連接的窗口)前,會顯示系統的版本和內核,如圖所示。

登錄後執行如下命令上產上述登錄Linux前的終端內容顯示的實際存放文件。

[root@oldboyedu ~]
CentOS release 6.7 (Final)
Kernel \r on an \m
[root@oldboyedu ~]
CentOS release 6.7 (Final)
Kernel \r on an \m

執行如下命令清除Linux系統版本及內核信息

[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]


老男孩教育作為率先開展Linux和Python培訓的領跑者,
Linux雲計算&&安全運維工程師2019重磅升級,持續領跑高端IT教育:
課程更新7大亮點:
1、增加Python自動化CMDB平臺實戰項目(約4-10天);
2、增加大量網絡安全課程(約10-20天);
3、增加阿里雲企業級雲服務實戰環境項目實踐(約2-4天);
4、增加個人成長、職場高薪、成為管理者職場思想課(約10-20天);
5、增加Docker、K8S企業級實戰實戰項目(約5-10天);
6、增加ELK日誌收集項目實戰(約2天);
7、全程提供教學教材、習題、考試,學生人手多本;
將Linux運維工程師、網絡安全工程師、雲計算工程師、運維開發、高級架構師、資料庫管理員全運維類技術崗位一網打盡。


老男孩IT教育【Linux雲計算運維&網絡安全】課程,開設有全日制脫產班、周末班和網絡在線班,以幫助更多有需要的盆友們提升技能。了解更多課程內容及資料,請點擊本文左下方「閱讀原文」~


看完本文有收穫?那就分享給更多朋友吧~

長按下方二維碼,關注我喲

我知道你【在看】

相關焦點

  • 談談如何通過linux系統RHCE考試
    大學過後基本上也就把老師教給自己的都還給老師了,所以偶爾還是會感覺到自己知識體系的匱乏,對於遇到的故障不能用自己的體系來合理的進行排障,每次處理故障都是無頭蒼蠅,一方面對於自己的技術沒有提升,另一方面也對客戶的效率有了一定的影響。
  • GCC:優化 Linux、網際網路和一切 | Linux 中國
    GNU 編譯器集合(GNU Compiler Collection)(GCC)提供了一個健壯、成熟和高性能的工具,以幫助你充分發揮你代碼的潛能。經過數十年成千上萬人的開發,GCC 成為了世界上最受尊敬的編譯器之一。如果你在構建應用程式是沒有使用 GCC,那麼你可能錯過了最佳解決方案。
  • 為什麼程式設計師一定要學 Linux?
    其次,Linux 內核優化的好,運行效率比Windows要高,你沒見過哪個Linux 版本需要右鍵去刷新吧,因為Linux 沒有像Windows那樣複雜的系統。雖然Linux 在桌面上的佔有率不高,但是在程式設計師的世界中Linux 要佔用一席之地的,因為主流的網際網路應用都是部署在基於Linux 平臺的,例如:網站、資料庫、網路遊戲、即時通訊,主流的伺服器作業系統都在採用Linux 。
  • Linux+Apache+Mysql+PHP優化技巧
    [檢測工具]為了得到完整的調試結果,建議你採用 ApacheBench 或者 httperf之類的軟體。如果你對非 LAMP 架構的伺服器測試有興趣的話,建議你採用微軟的免費軟體: Web Application Stress Tool(需要 NT 或者 2000)。
  • 嵌入式 Linux 的一切,看這一篇就夠了!
    我們常說的嵌入式linux系統,其實與電腦端運行的linux系統本質上是一樣的,都是使用的linux內核,相同的文件系統目錄結構。區別在於嵌入式linux系統多少經過裁剪的,可能在操作時你會發現,有些命令不支持,或者有些命令的個別參數不支持!還有就是內核的功能也有裁剪。
  • 技術乾貨 怎樣優化Linux運行速度
    實際上,在使用桌面Linux系統時,你必須記住一個關鍵的問題:桌面端Linux的快慢主要取決於系統響應速度,而不是硬體配置。在使用伺服器端Linux時,你確實可以通過提高硬體性能獲取更快的系統運行速度,這是Linux得以在伺服器端壓倒眾多競爭對手的最重要原因,通過優化調整硬體配置獲得最佳的系統性能。
  • 工程師乾貨:優化嵌入式Linux的啟動時間的秘密
    此時如何加快Linux的啟動,將成為一個挑戰,對於大多數應用開發人員而言,由於Linux系統的複雜性,對於如何提高啟動速度,往往無從下手。那麼閱讀完本文,將獲得清晰完整的解決思路。應用軟體優化4.1 測量stracestrace允許跟蹤應用程式及其子級進行的所有系統調用。
  • Redis之Linux作業系統優化小結
    , 然而事實證明優化後的作業系統配置能夠為Redis服務的運行提供更好的支持.在Linux中, 並不是要等到所有物理內存都使用完才會使用到swap, 系統參數swppiness會決定作業系統使用swap的傾向程度. swappiness的取值範圍是0~100, swappiness的值越大, 說明作業系統可能使用swap的概率越高, swappiness值越低, 表示作業系統更加傾向於使用物理內存. swap的默認值是60, 了解這個值的含義後, 有利於Redis的性能優化.
  • Linux系統入門學習:教你在VirtualBox 安裝 Ubuntu 15.04
    因為 Ubuntu 近幾年用戶群的增加,多了很多對於新手有用的資料,因此不用擔心遇到問題無法解決,善用搜索和提問,將使你更快速地成長。更多 Ubuntu 的介紹請移步:Ubuntu 15.04 (Vivid Vervet) http://www.linuxidc.com/Linux/2015-04/116634.htm 。
  • 使用 GNOME 優化工具自定義 Linux 桌面的 10 種方法
    linux中國-lujun9972,作者:Abhishek Prakashhttps://linux.cn/article-11523-1.html你可以通過多種方法來調整 Ubuntu,以自定義其外觀和行為。
  • 雙系統如何安裝linux 怎麼安裝linux雙系統
    很多朋友都想體驗一下linux系統,但是又怕把Windows系統上的數據刪除,無奈之下只能放棄。
  • 深度剖析Linux與Windows系統的區別,新手必讀!
    其實從上述可以看到,windows早於linux出世,相當於兄長,但因為Linux的開源讓他顯得更加有活力,Linux的爸爸也是很勵志的,大學期間就能寫出這麼棒的系統內核,著實鼓勵著一大批程式設計師和系統管理員。Linux的性能是非常出色的,可以完全針對機器的配置有針對性的優化,而且Linux對於x86_64的支持領先Windows 不是一點半點。
  • 如何安裝windows和linux雙作業系統?
    如何安裝windows和linux雙作業系統?一、win壓縮卷:二、下載復刻工具和iso光碟映像文件:三、開始安裝linux系統:四、問題:wifi無法使用,已解決。目標:在已經安裝了windows作業系統的情況下,安裝一個ubuntu桌面版,以便每次在開機時可以選擇要使用的作業系統。
  • Linux 系統結構,你真的了解嗎
    這個接口依賴於體系結構,甚至在相同的處理器家族內也是如此。SCI 實際上是一個非常有用的函數調用多路復用和多路分解服務。在 ./linux/kernel 中您可以找到 SCI 的實現,並在 ./linux/arch 中找到依賴於體系結構的部分。
  • linux運維工程師的定義
    負責維護並確保整個服務的高可用性,同時不斷優化系統架構、提升部署效率、優化資源利用率提高整體的ROI。運維工程師面對的最大挑戰是大規模集群的管理問題,如何管理好幾十萬臺伺服器上的服務,同時保障服務的高可用性,是運維工程師面臨的最大挑戰。
  • Linux系統的優缺點,Linux與windows的區別
    :你可以在一個Linux主機上規劃出不同等級的用戶,而且每個用戶登錄系統時工作環境可以不同,此外你還可以允許不同用戶在同一時間登陸主機以使用主機的資源用戶和用戶組的規劃 :在linux的機器上,文件可分為可讀可寫可執行三類(windows上也可以設置這些屬性,在命令行裡,會在以後的windows博客裡寫出來)此外,這些屬性還可以分為三類:分別是文件擁有者、文件所屬用戶組
  • 帶你真正認識 Linux 系統結構
    /linux/kernel 中您可以找到 SCI 的實現,並在 ./linux/arch 中找到依賴於體系結構的部分。在 VFS 下面是文件系統抽象,它定義了上層函數的實現方式。它們是給定文件系統(超過 50 個)的插件。文件系統的原始碼可以在 ./linux/fs 中找到。文件系統層之下是緩衝區緩存,它為文件系統層提供了一個通用函數集(與具體文件系統無關)。這個緩存層通過將數據保留一段時間(或者隨即預先讀取數據以便在需要時就可用)優化了對物理設備的訪問。
  • Ubuntu(Linux)操作入門
    其中linux系統的使用,在我看來就是不可或缺的技能之一。雖然Linux系統的整體運維優化也是一門很深的學問,但是我們的重點是數據挖掘的話,只需要了解日常運維和使用就可以滿足工作中95%的需求。下面會分為三部分對Linux進行介紹:Linux系統簡介數據挖掘方面的優勢Linux的常用代碼和操作1.1.
  • Linux系統結構詳解
    這個接口依賴於體系結構,甚至在相同的處理器家族內也是如此。SCI 實際上是一個非常有用的函數調用多路復用和多路分解服務。在 ./linux/kernel 中您可以找到 SCI 的實現,並在 ./linux/arch 中找到依賴於體系結構的部分。1、內存管理 對任何一臺計算機而言,其內存以及其它資源都是有限的。
  • Linux 系統結構詳解
    這個接口依賴於體系結構,甚至在相同的處理器家族內也是如此。SCI 實際上是一個非常有用的函數調用多路復用和多路分解服務。在 ./linux/kernel 中您可以找到 SCI 的實現,並在 ./linux/arch 中找到依賴於體系結構的部分。1、內存管理 對任何一臺計算機而言,其內存以及其它資源都是有限的。