Linux學習之Linux系統優化進階都需要掌握哪些知識?

2020-12-23 老男孩教育

 一.基礎必備優化:

1.關閉SElinux

2.Firewalld CenetOS7 Iptables (C6) 安全組(阿里雲)

3.網絡管理服務

NetworkManagernetwork

相同地方管理網絡管理網絡

區別通過nmcli命令修改配置文件 重啟網卡

4.添加普通用戶 配置sudo

1oldboy ALL=(ALL) NOPASSWD: ALL

5.hosts文件 解析當前的主機名

6.鎖定關鍵文件系統 chattr lsattr

7.系統字符集:UTF-8

1#en_US.UTF8

2#zh_CN.UTF8

8.調整用戶登錄提示信息 /etc/motd

9.清空 /etc/issue /etc/issue.net

二.基礎服務優化:

10.ssh優化 :

Port 22 #修改默認的埠號

PermitRootLogin no #禁止root遠程登陸

#ssh遠程連接慢

UseDNS no #禁止系統把ip解析對應域名

GSSAPIAuthentication no

配置內外網監聽不同埠

ListenAddress 10.0.0.7:52113

ListenAddress 172.16.1.7:22

11.yum源: 修改系統默認的yum源 增加epel源

12.軟體包默認的源+epel

必須安裝的工具 tree vim wget bash-completion (默認源) bash-completion-extras(epel) lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc

命令作用

tree以樹形顯示目錄結構

psmiscpstree 等命令

vimvi升級版

wget下載工具

bash-completion(默認源)自動補全增強工具,可以補全命令參數

bash-completion-extras(epel)自動補全超級增強工具,可以補全命令參數

lrzsz上傳下載工具 rz和sz

net-toolsifconfig route命令屬於的軟體包

sysstatsar iostat 屬於的軟體包

iotop查詢系統每個進程的io讀寫情況 swap寫入情況

iftop查詢網絡流量情況

nethogs顯示每個進程的流量情況

htoptop升級版

unzip解壓

ncncat 類似telnet

nmap網絡掃描工具

telnet檢查埠是否開啟

bc基礎計算器

lsof顯示所有被打開的文件

13.時間同步:定時任務+ ntpdate / chrony

14.文件描述符 每個進程可以打開的最大文件數量

11)臨時 ulimit -n65535

22)永久 /etc/security/limits.conf

echo '* - nofile 65535 ' >>/etc/security/limits.conf

15.開機自啟動crond sysstat network rsyslog sshd (c6)

16.修改歷史命令環境變量

export TMOUT=300 #timeout linux不進行任何操作 300s之後自動登出

export HISTFILE=1000 history 命令最多記錄幾條

export HISTFILESIZE=1000 history 歷史記錄的文件裡面最多記錄幾條

export HISTCONTROL=ignorespace #控制history 命令如何記錄 歷史命令

#只要以空格開頭的命令 history不記錄

三.內核優化:

17.禁止被ping

1 echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf

2 sysctl -p

1[root@web01 ~]# ip a

21: lo:

3 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

4 inet 127.0.0.1/8 scope host lo

5 valid_lft forever preferred_lft forever

6 inet6 ::1/128 scope host

7 valid_lft forever preferred_lft forever

82: eth0:

9 link/ether 00:0c:29:82:a5:bb brd ff:ff:ff:ff:ff:ff

10 inet 10.0.0.7/24 brd 10.0.0.255 scope global eth0

11 valid_lft forever preferred_lft forever

12 inet6 fe80::20c:29ff:fe82:a5bb/64 scope link

13 valid_lft forever preferred_lft forever

143: eth1:

15 link/ether 00:0c:29:82:a5:c5 brd ff:ff:ff:ff:ff:ff

16 inet 172.16.1.7/24 brd 172.16.1.255 scope global eth1

17 valid_lft forever preferred_lft forever

18 inet6 fe80::20c:29ff:fe82:a5c5/64 scope link

19 valid_lft forever preferred_lft forever

20

21[root@web01 ~]# echo ' net.ipv4.icmp_echo_ignore_all=1' >> /etc/sysctl.conf

22[root@web01 ~]# sysctl -p

23net.ipv4.icmp_echo_ignore_all = 1

24[root@web01 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all

251

26[root@web01 ~]# ping 10.0.0.7

27PING 10.0.0.7 (10.0.0.7) 56(84) bytes of data.

28^C

29--- 10.0.0.7 ping statistics ---

306 packets transmitted, 0 received, 100% packet loss, time 5000ms

31

32[root@web01 ~]# ping 172.16.1.7

33PING 172.16.1.7 (172.16.1.7) 56(84) bytes of data.

34^C

35--- 172.16.1.7 ping statistics ---

362 packets transmitted, 0 received, 100% packet loss, time 999ms

18.內核

開啟內核轉發功能(內網伺服器,上外網的時候需要用到)

1echo 'net.ipv4.ip_forward=1 ' >>/etc/sysctl.conf

2sysctl -p

/proc/sys/net/ipv4/ip_forward

time_wait過多

1 echo 'net.ipv4.tcp_tw_recycle=1 ' >>/etc/sysctl.conf

2 echo 'net.ipv4.tcp_tw_reuse=1 ' >>/etc/sysctl.conf

/proc/sys/net/ipv4/tcp_tw_recycle #開啟tcp回收功能

/proc/sys/net/ipv4/tcp_tw_reuse #開啟tcp重複使用功能

java程序 故障 導致大量佔用swap 而不佔用物理內存

vm.swappiness #控制系統是否優先使用swap 數字越大越優先使用swap 越小越優先使用物理內存

相關焦點

  • Linux Shell命令快捷獲得系統幫助
    久而久之,對學習linux的熱情被怠慢下來了。 其實,這也是學習linux的最大困難。linux命令幫助,一般有2種,命令自身代碼裡面帶有使用幫助說明,這種一般很精簡,太長了,程序自身的大小以及日常維護不方便。還有一種,就是帶有幫助文件,類似windows的chm格式文件。下面我說下這2種怎麼樣查閱。
  • Linux是什麼作業系統?發展歷史介紹
    對於了解它的人,都知道Linux對我們是至關重要的,它涵蓋了我們生活的方方面面,我們的手機,汽車,冰箱都依賴於它,可以不誇張地說如果沒有Linux我們許多人的生活都難以繼續。 我剛開始學習linux作業系統的時候內心真的很激動,畢竟感覺自己只要學會了就會獲得各種技能一樣了。
  • Linux 基金會發布 2017 最佳 Linux 發行名單
    原文來自:  http://www.linuxeden.com/html/news/20170110/167701.html本文地址:  http://www.linuxprobe.com/linux-word.html
  • linux系統中update和upgrade命令區別
    linux系統中update和upgrade命令區別在linux作業系統中update和upgrade都是更新命令:yum upgrade和yum update。兩個命令在linux系統中都是更新所有包,但是兩個命令的側重點不一樣。
  • Linux下文件及文件夾的操作與處理
    前言在Linux中,對文件或文件夾的操作一般包括:創建、改名、移動、刪除,這些都是比較基本的操作,大家應該掌握。在這裡面,有些命令和Windows下的DOS命令是相似的,如果以前了解過DOS,對學習也會有一定的幫助。
  • 從串口驅動到Linux驅動模型,想轉Linux的必會!
    到作業系統系統調用層的封裝。再到tty子系統的核心。再到一系列線路規程。再到最底層的硬體操作。對Linux中的tty子系統進行簡要的說明。從理論到實踐。以便讀者能對OS原理有更深入的了解和更具體的掌握。在具體分析之前。我們必須對串口。驅動。和Linux作業系統有一定的了解。這一階段我們有三個問題需要解決:1.什麼是Linux作業系統。
  • Intel「真愛」AMD 自家Linux神優化Zen3
    大家都知道Linux有太多發行版了,選擇合適的Linux系統很傷腦筋。Phoronix日前統計了多個Linux發行版的性能問題,對比了主要的幾款——包括Ubuntu、Fedora、Debian、Majaro、openSUSE、Cleare Linux等。
  • 10個優秀的Linux發行版本,這份指南幫你挑選屬於你的linux~
    它不需要太多的資源,而且對於更新也很保守,這意味著安裝一個損壞或不穩定的更新,需要冗長的系統回歸的可能性很小。由於Linux對專有媒體文件的更好支持,因此Mint用戶還可以立即播放CD,MP3和視頻中的媒體。Linux Mint通過使用更新管理器進一步減輕了用戶的頭痛。
  • Linux之父如何定義Linux!主要想讓黑客、計算機學生使用和學習!
    Tanenbaum編寫的學習工具,已經在大學中作為教學工具使用了很多年了。 LINUX與Minix是最相似的,由於它很小而且不是非常複雜,因此易於理解(嗯…)。 LINUX是基於Minix編寫的,因此有相當多的相同點,任何Minix黑客在使用LINUX的時候都感覺非常熟悉。
  • 玩轉嵌入式之如何在Linux系統中搭建tftp伺服器·圖文視頻
    嵌入式linux最常用到tftp命令來完成開發板和Linux系統之間的的文件傳輸,避免了頻繁的U盤拷貝過程。我們知道,Windows下使用「tftpd32.exe」這款軟體可以很方便地在Windows下搭建的tftp伺服器。
  • 最受歡迎 Linux 發行版,上榜的都有誰?
    >那麼,哪些發行版是最受開發者青睞的呢?包含的應用程式列表(如Abiword、Gnumeric和Firefox)都非常快,而且用戶友好。Lubntu可以為10年之久的硬體完成一些簡單輕鬆的工作最好的桌面發行版連續兩年來,我都認為Elementary OS是最好的桌面發行版,對於許多人來說,桌面版的佼佼者者是Linux Mint(這也是一種非常棒的選擇)。
  • Linux環境下的USB攝像頭驅動開發
    摘要:嵌入式環境下的USB攝像頭驅動需要充分利用USB總線與內核中的USB核心密切配合併且保證數據流的高速與穩定。本文引用地址:http://www.eepw.com.cn/article/130629.htmlinux作業系統文章專題:linux作業系統詳解(linux不再難懂)引言  嵌入式圖像處理的應用範圍隨著嵌入式技術的不斷發展而不斷擴大
  • Linux input子系統編程、分析與模板
    輸入設備都有共性:中斷驅動+字符IO,基於分層的思想,Linux內核將這些設備的公有的部分提取出來,基於cdev提供接口,設計了輸入子系統,所有使用輸入子系統構建的設備都使用主設備號13,同時輸入子系統也支持自動創建設備文件,這些文件採用阻塞的IO讀寫方式
  • 我正在運行的 Linux 是什麼版本? | Linux 中國
    編譯自 | https://opensource.com/article/18/6/linux-version  作者 | Joshua Allen Holm 譯者 | MjSeven 🌟 🌟 🌟 🌟 共計翻譯:49 篇 貢獻時間:139 天掌握這些快捷命令以找出你正在運行的 Linux 系統的內核版本和發行版。「什麼版本的 Linux ?」
  • Windows 10 可直接訪問 Linux 文件
    Windows、Linux雖然看似兩套對立的系統,但也一直在努力嘗試互通,比如微軟這邊,Windows 10此前就增加了WSL Linux子系統,接下來還會持續改進、升級。從今年4月份的Windows 10 v1903更新版開始,Windows 10將加入一項新技能,可以直接在默認的文件資源管理器中訪問Linux系統下的文件。
  • 最受歡迎 Linux 發行版,來看看都有誰?
    包含的應用程式列表(如Abiword、Gnumeric和Firefox)都非常快,而且用戶友好。Lubntu可以為10年之久的硬體完成一些簡單輕鬆的工作最好的桌面發行版連續兩年來,我都認為Elementary OS是最好的桌面發行版,對於許多人來說,桌面版的佼佼者者是Linux Mint(這也是一種非常棒的選擇)。
  • 基於MX Linux 的 AV Linux 新版發布,此AV非彼AV
    作者:Linux迷連結:https://www.linuxmi.com/av-linux-2020-11-23-mx-linux-19-
  • 網易雲音樂正式登陸Linux平臺
    建立完善的生態系統,打造更多的原生應用,給用戶更好的體驗,一直都是我們前進的方向。此次和網易雲音樂合作,給Linux平臺下的用戶也帶來高品質的在線音樂享受,而後續我們將不斷努力開拓更多更好的應用。非常感謝您一如既往的關注LinuxProbe社區,相信會一直為你提供更有價值的開源資訊,讓您迅速掌握業內動態; 在學習本書中如若遇到任何問題,可以掃碼添加劉老師好友,向劉老師提出問題,互動起來,快速解決疑惑!
  • Chrome OS 更新新版本可讓Linux訪問USB連接的Android設備
    目前系統可以在任務管理器中顯示服務工作人員,並且在設置中新增專門的頁面用於管理安全密鑰。在安全方面,Chrome OS 75還引入了針對Microarchitectural Data Sampling的緩解補丁。
  • 在Linux作業系統裡使用xargs命令
    linux作業系統專題文章:linux作業系統詳解(linux不再難懂)xargs命令有兩個要點。第一,你必須列出目標文件。第二,你必須指定對每個文件需要執行的命令或腳本。然後我們需要第二個要素,就是需要執行的命令。我們使用帶有-l選項的wc命令來計算每個文件包含的換行符數目(會在輸出的每一行的前面列印出來):