linux高階-Ubuntu簡介以及初始化實驗環境

文章目錄

一:Debian與Ubuntu簡介

1.1:Debian簡介

  • Debian 是從 1993 年由 Ian Murdock 發起的,受到當時 Linux 與 GNU 的⿎舞,⽬標是成爲⼀個公開的發⾏版,經過⼆⼗⼏年的迭代更新Debian 從⼀個⼩型緊密的⾃由軟件駭客(hacker)⼩組,逐漸成⻓成今⽇龐⼤且運作良好的開發者與⽤⼾社羣,Debian 的名字是由 Debian 的創始⼈ Ian Murdock 和他的愛妻 Debra 兩⼈的名字組合⽽成的。
  • Debian 是由⼤約⼀千個分佈在世界各地的開發者⽆償地利⽤他們的業餘時間開發的,⽽這些開發者實際上⼤部分都沒⻅過⾯,彼此之間的通訊⼤多是通過電⼦郵件(lists.debian.org 上的郵件列表)和 IRC(irc.debian.org 上的#debian 頻道)來完成的,⽬前Debian 提供59000多個軟件包的維護與更新。
Debian官⽹: https://www.debian.org/
官⽅鏡像地址: https://www.debian.org/mirror/list
清華⼤學下載地址: https://mirrors.tuna.tsinghua.edu.cn/debian-cd/10.1.0-live/amd64/isohybrid/

在這裏插入圖片描述

1.2:Ubuntu簡介

  • Ubuntu(友幫拓、優般圖、烏班圖)早期是⼀個開源的GNU/Linux操作系統,Ubuntu 是基於DebianGNU/Linux,⽀持x86、amd64(即x64)和ppc架構,由全球化的專業開發團隊(Canonical Ltd)打造的,其名稱來⾃⾮洲南部祖魯語或豪薩語的“ubuntu”⼀詞,類似儒家“仁愛”的思想,意思是“⼈性”、“我的存在是因爲⼤家的存在”,是⾮洲傳統的⼀種價值觀, Ubuntu基於Debian發⾏版和GNOME桌⾯環境,⽽從11.04版起,Ubuntu發⾏版放棄了Gnome桌⾯環境,改爲Unity,與Debian的不同在於它每6個⽉會發布⼀個新版本,Ubuntu的⽬標在於爲⼀般⽤⼾提供⼀個最新的、同時⼜相當穩定的主要由⾃由軟件構建⽽成的操作系統,Ubuntu具有龐⼤的社區⼒量,⽤⼾可以⽅便地從社區獲得幫助,Ubuntu對GNU/Linux的普及特別是桌⾯普及作出了巨⼤貢獻,由此使更多⼈共享開源的成果與精彩。
Canonical公司是⼀個私營公司,由南⾮的企業家⻢克·沙特爾沃思(Mark Shuttleworth)創建,主要爲了
促進開源軟件項⽬,Canonical在⻢恩島登記註冊,其僱員分佈在世界各地,其主要辦事處在倫敦,在蒙特利
爾也有辦事處,Canonical公司⽀持並創建了⼏個項⽬,主要都是⾃由/開源軟件(FOSS)或是⼀些旨在改善

⾃由軟件開發者和貢獻者的⼯具。
http://www.techweb.com.cn/business/2013-08-20/1318187.shtml #ubuntu公司⽬前並未實現盈利
  • Ubuntu是各種公有云上最受歡迎的操作系統,這是因爲Ubuntu與各⼤雲運營商密切合作,針對雲服務商的基礎架構優化內核和系統,加快安全更新速度,並最⼤限度降低⽤⼾默認需要的⽹絡或存儲成本。
https://cn.ubuntu.com/ #中⽂官⽹
https://ubuntu.com/download #英⽂官⽹

1.3:Ubuntu歷史發行版本

  • Ubuntu 沒有像其它軟件⼀樣有 1.0 版本,是因爲其第⼀個版本是發佈於 2004 年,所以Ubuntu的⽣⽇是2004年的10⽉20⽇。

  • ubuntu的版本號有個固定的特徵,其使⽤⼀個形容詞和⼀個動物名稱組成,並且形容詞和名詞的⾸字⺟都是⼀致的,Ubuntu版本的命名規則是根據正式版發佈的年⽉命名,Ubuntu 16.04 也就意味着 2016年4⽉發佈的Ubuntu,研發⼈員與⽤⼾可從版本號碼就知道正式發佈的時間。

  • 每兩年的 4 ⽉份,都會推出⼀個⻓期⽀持版本(LTS),其⽀持期⻓達五年,⽽⾮ LTS 版本的⽀持期通常只有半年。

https://baike.baidu.com/item/ubuntu #Ubuntu歷史版本⼀覽表

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

1.4:Ubuntu使用場景

Ubuntu系統在物聯⽹、桌⾯系統、雲環境、服務器系統與容器有⼴泛的使⽤場景,如下

1.4.1:Ubuntu桌面系統

Ubuntu作爲個⼈電腦既快速⼜安全、開源、免費,有數以千計的應⽤程序可供選擇。從⼯作學習、到娛樂遊戲,⽆所不能。

1.4.1.1:Ubuntu桌⾯系統簡介

在這裏插入圖片描述

1.4.1.2: 基於Ubuntu的優麒麟

Canonical,⼯業和信息化部軟件與集成電路促進中⼼(CSIP)以及國防科學技術⼤學(NUDT)攜⼿打造,
⽬前,開發團隊正在與開源社區合作打造Ubuntu的核⼼功能,以更好地適應中國⽤⼾,除了Ubuntu軟件中
⼼推出的本⼟化版本以外,優麒麟還帶最常⽤的中⽂程序。

在這裏插入圖片描述

1.4.1.3: 基於Ubuntu的Elementary OS

Elementary OS系統是⼀款基於Ubuntu精⼼打磨美化的桌⾯ Linux 發⾏版,號稱“最漂亮的Linux系統”,它
最早是Ubuntu的⼀個美化主題項⽬,後來太受歡迎演變成了獨⽴的發⾏版,Elementary OS 由設計師主導開
發,⻛格與macOS 相似,它借鑑了ChromeOS的菜單設計,系統核⼼依然是 Ubuntu並完全兼容所有Ubuntu軟
件包,elementary OS從界⾯外觀到系統設計都很精美,視覺效果很好!

在這裏插入圖片描述

1.4.1.4:基於Ubuntu的其他分⽀

  • 除了標準Ubuntu版本之外,Ubuntu官⽅還有⼏⼤主要分⽀,分別是Edubuntu、Kubuntu、Lubuntu、Mythbuntu、Ubuntu MATE,Ubuntu GNOME、Ubuntu Kylin、Ubuntu Studio和Xubuntu
Edubuntu是Ubuntu的教育發⾏版,專注於學校(教育)的需求,是由Ubuntu社區和K12-LTSP社區合作開發的,適合⼉童、學⽣、教師使⽤的基礎發⾏版,其內置了⼤量適合教學的應⽤軟件和遊戲。
Kubuntu是使⽤KDE桌⾯管理器取代GNOME桌⾯管理器作爲其默認的桌⾯管理器的版本。Kubuntu的推出,爲喜愛KDE桌⾯環境的使⽤者的安裝和使⽤帶來了很⼤的便利。
Lubuntu是⼀個後起之秀,以輕量級桌⾯環境LXDE替代Ubuntu默認的Unity。由於LXDE是⼀個輕量級桌⾯環境,所以Lubuntu所需的計算機資源很少,⼗分適合追求簡潔或速度,以及還在使⽤⽼舊硬件的朋友選⽤。
Mythbuntu是⼀個⽤來實現媒體中⼼的Ubuntu發⾏版本,其核⼼組件是MythTV,所以Mythbuntu可以視爲Ubuntu和MythTV的結合體。
Ubuntu GNOME是採⽤GNOME3作爲Ubuntu默認桌⾯管理器的發⾏版本。由於Ubuntu的默認桌⾯環境是Unity,爲了滿⾜Linux⽤⼾的不同需求和使⽤習慣,Ubuntu GNOME項⽬應運⽽⽣。
Ubuntu Kylin(優麒麟)是⼀個專⻔爲中⽂⽤⼾定製的Ubuntu版本,預置了⼤量中國⽤⼾熟悉的應⽤,是開箱即⽤的Ubuntu官⽅中國定製版本,適合中國⽤⼾使⽤。
Ubuntu Studio則是--個爲專業多媒體制作⽽打造的Ubuntu版本,可以編輯和處理⾳頻、視頻和圖形圖像等多媒體⽂件,對於多媒體專業⼈⼠⽽⾔,是⼀個⻥和熊掌兼得的好選擇。
Xubuntu採⽤了⼩巧和⾼效的Xfce作爲桌⾯環境,界⾯簡約,類似於GNOME2,功能全⾯,系統資源消耗較⼩,是追求速度和低配置計算機⽤⼾的福⾳,同時也爲⽼舊計算機提供了發揮餘熱的機會

1.4.1.5:基於debain的deepin

  • deepin:基於debain的發⾏版,Deepin原名Linux Deepin、deepin os、深度系統、深度操作系統,在2014年4⽉改名Deepin,由武漢深之度科技有限公司開發,被譽爲“最美國產操作系統”,其以桌⾯應⽤爲主的開源GNU/Linux操作系統,⽀持筆記本、臺式機和⼀體機。
深度操作系統(deepin)是中國第⼀個具備國際影響⼒的Linux發⾏版本,截⽌⾄2019年7⽉25⽇,深度操作
系統⽀持33種語⾔,⽤⼾遍佈除了南極洲的其它六⼤洲,深度桌⾯環境(deepinDDE)和⼤量的應⽤軟件被移
植到了包括Fedora、Ubuntu、Arch等⼗餘個國際Linux發⾏版和社區,在開源操作系統統計⽹站DistroWatch上,
deepin⻓期位於世界前⼗。

在這裏插入圖片描述

1.4.1.6:其他Linux發⾏版

鏈接: http://www.distrowatch.org/index.php?dataspan=2018

Manjaro是⼀款基於Arch Linux對⽤⼾友好的Linux發⾏版,使⽤pacman管理安裝包。
MX Linux是基於Debian穩定分⽀的⾯向桌⾯的Linux發⾏版本。
elementary OS是⼀個基於ubuntu的衍⽣版本,早期是⼀個主題後來衍⽣爲⼀個專⻔的發⾏版。

在這裏插入圖片描述

1.4.2:Ubuntu與雲環境

鏈接: https://cn.ubuntu.com/cloud

在這裏插入圖片描述

1.4.2.1:Ubuntu與私有云

ubuntu在私有云環境⼤量在openstack、容器與kubernetes環境使⽤。

openstack解決⽅案:

在這裏插入圖片描述

openstack客戶:

在這裏插入圖片描述

ubuntu與kubernetes:

在這裏插入圖片描述

1.4.2.2:Ubuntu與公有云

  • Ubuntu是各種公有云上最受歡迎的操作系統,這是因爲我們與各⼤雲運營商密切合作,針對他們的基礎架構優化內核和系統,加快安全更新速度,並最⼤限度降低⽤⼾默認需要的⽹絡或存儲成本。

在這裏插入圖片描述

1.4.3:Ubuntu server系統

  • Ubuntu Server 可讓您的公共或私有數據中⼼在經濟和技術上都具有出⾊的可擴展性。⽆論是部署 OpenStack雲、Hadoop 集羣還是 50,000 個節點的⼤型渲染場,Ubuntu Server 都能提供性價⽐最佳的橫向擴展能⼒。

1.4.3.1:Ubuntu Server 18.04 LTS 新增功能

鏈接: https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes/

由 Canonical 提供到 2023 年的⻓期⽀持

可在所有主流架構上運⾏ - x86、x86-64、ARM v7、ARM64、POWER8 和 IBM s390x (LinuxONE)
佔⽤空間更⼩、啓動速度更快的全新 ubuntu-minimal 映像

通過 chrony 實現快速準確的時間同步 新的默認服務器安裝程序 ISO 帶來全新界⾯和更快的安裝速度⽀持 ZFS(⾮常適合服務器和容器的新⼀代卷管理/⽂件系統)

LXD 3.0 - 提供包括集羣、Qos 和資源控制(CPU、內存、塊 I/O/ 圖形處理器和存儲配額)等在內的多種 Linux容器

更新了 LXD (v3.0)、DPDK (v17.11.1)、Postgresql (v10.3)、Libvirt (v4.0)、NGINX (v1.13)、Qemu (v2.11.1)、Docker (v17.03)、Puppet (v4.10)、MySQL (v5.7)、PHP (v7.2) 等

安裝 snap 來⽀持簡單的應⽤程序安裝和發佈管理

Linux 4.15 內核

獲得 AWS、Microsoft Azure、Joyent、IBM、Google Cloud Platform 和 Rackspace 客⼾機認證通過 netplan.io 輕鬆配置⽹絡連接

1.4.3.2:Ubuntu Server 19.10 新增功能

https://wiki.ubuntu.com/EoanErmine/ReleaseNotes?_ga=2.36184999.620886555.1573809180-329374192.15
65688951

由Canonical提供9個⽉的⽀持 Linux 5.3內核
更新爲qemu(v4.0),libvirt(v5.4),mysql(v8.0),postgresql(v11)等
新的修復程序集和對Ubuntu Server安裝程序的刷新
新的Ubuntu優勢體驗

1.4.4:Ubuntu與容器環境

  • Ubuntu是容器的⾸選平臺,從LXD到Kubernetes再到Docker,Canonical與⾏業領先的公司合作,提供全⽅位的技術和服務,幫助⽤⼾在公有云、私有云和混合雲或裸機雲上⼤規模運⾏容器。
https://github.com/moby/moby/blob/master/CHANGELOG.md #docker的歷史版本更新記錄

1.4.4.1:企業級Docker

與Docker Inc.密切合作,在Ubuntu上提供商業⽀持的集成式Docker引擎。
Docker引擎的映像以snap包的形式發佈,並會⾃動進⾏事務性更新。
Canonical爲CS Docker引擎提供1級和2級技術⽀持,Docker Inc.則負責3級⽀持。

1.4.4.2:Canonical的Kubernetes發⾏版

內置彈性擴展能⼒:
    Canonical的Kubernetes簡單易⽤,⽽且本⾝具有彈性。
規模化成本效益:
    Canonical的Kubernetes使⽤Juju進⾏建模,並擁有管理持久性集羣所需的所有操作腳本和⼯具,包括升級和彈性擴展。
隨時可⽤的分析功能:
    可輕鬆與Prometheus集成以進⾏監控,與Ceph集成以進⾏存儲,以及與Elastic Stack(包括Kibana)集成以進⾏分析和可視化。

在這裏插入圖片描述

1.5:Ubuntu鏡像下載

Ubuntu這麼好,哪⾥可以下載的到呢?

http://cdimage.ubuntu.com/releases/ #ubuntu server(服務器版)
http://releases.ubuntu.com/ #ubuntu desktop(桌⾯版)

1.5.1:系統鏡像版本區別

鏈接: https://packages.ubuntu.com/search?lang=zh-cn&arch=any&keywords=libfuse-dev

ubuntu-18.04.3-live-server-amd64.iso #帶live,ISO鏡像提供不安裝就可以試⽤系統的功能
ubuntu-18.04.3-server-amd64.iso #不帶live,不可⽤試⽤,但是可以直接進⾏系統安裝

1.5.2:不同CPU指令集的ISO鏡像

CPU架構 安裝包標識 備註 鏡像名稱⽰例
x86---------->i386 #32位,server版已不再⽀持32位 ubuntu-16.04.6-desktop-i386.iso
x86-64------->amd64 #64位 ubuntu-18.04.3-server-amd64.iso
ARM v7------->ARM64 #arm平臺 ubuntu-18.04.3-server-arm64.iso
IBM s390x-------->s390x #IBM System z ubuntu-18.04.3-server-s390x.iso
POWER------->PPC64el #PowerPC ubuntu-18.04.3-server-ppc64el.iso
preinstalled-server-arm64+raspi3 #預安裝的樹莓派系列 ubuntu-18.04.3-preinstalled-serverarm64+
raspi3.img.xz:

⼆:Ubuntu Server版安裝及使⽤

ubuntu 18.04服務器版本和桌⾯版的安裝介紹

Ubuntu Server版本安裝

ubuntu 18.04服務器版本安裝

2.1.1:選擇安裝語⾔

在這裏插入圖片描述

2.1.1:安裝界⾯傳遞內核參數

在這裏插入圖片描述

2.1.3:選擇安裝過程語⾔

在這裏插入圖片描述

2.1.4:地區設置

在這裏插入圖片描述

2.1.5:鍵盤選擇

不進行設置,手動設置

在這裏插入圖片描述

2.1.6:選擇鍵盤

選美式鍵盤

在這裏插入圖片描述

2.1.7:鍵盤確認

在這裏插入圖片描述

2.1.8:配置主機名

在這裏插入圖片描述

2.1.9:創建新的普通系統⽤⼾

在這裏插入圖片描述

2.1.10:確認新賬⼾名稱

在這裏插入圖片描述

2.1.11:設置⽤⼾密碼

在這裏插入圖片描述

2.1.12:確認賬⼾密碼

在這裏插入圖片描述

2.1.13:確認使⽤密碼

在這裏插入圖片描述

2.1.14:確認時區

在這裏插入圖片描述

2.1.15:⼿動分區

在這裏插入圖片描述

2.1.16:選擇磁盤

在這裏插入圖片描述

2.1.17:確認使⽤磁盤

在這裏插入圖片描述

2.1.18:對磁盤分區

在這裏插入圖片描述

2.1.19: 創建新分區

在這裏插入圖片描述

2.1.20:指定分區⼤⼩

在這裏插入圖片描述

2.1.21:選擇分區類型

在這裏插入圖片描述

2.1.22:分區完成

⽂件系統類型可以選擇ext4/xfs/等

在這裏插入圖片描述

2.1.23:完成分區並寫⼊數據

在這裏插入圖片描述

2.1.24:確認寫⼊磁盤

在這裏插入圖片描述

2.1.15:是否使⽤代理

在這裏插入圖片描述

2.1.26:系統安裝過程中

在這裏插入圖片描述

2.1.27:是否⾃動更新

在這裏插入圖片描述

2.1.28:選擇安裝組件

在這裏插入圖片描述

2.1.29:寫⼊grub引導

在這裏插入圖片描述

2.1.30:確認重啓服務器

在這裏插入圖片描述

2.1.31:系統登錄界⾯

在這裏插入圖片描述

2.2:Ubuntu Server系統基礎配置

鏈接: https://help.ubuntu.com

2.2.1:更改主機名

//編輯配置文件
vim /etc/hostname

//文件內容可修改
ubuntu-server.bokebi.cn
------------------------------------------------------
//使用命令修改
hostnamectl set-hostname ubuntu-server.bokebi.cn
--------------------------------------------------
//修改配置文件
vim /etc/hosts

//修改文件內容爲
127.0.0.1       localhost
127.0.1.1       bj-magedu-v-study-234-157.bokebi.cn
-------------------------------------------------
#主機名修改規範
地區-機房簡稱-虛擬機or物理機-業務名稱-IP地址後兩位-域名
#範例
bj-magedu-v-study-234-157.bokebi.cn

2.2.2:更改⽹卡名稱爲eth*

如果沒有在安裝系統之前傳遞內核參數將⽹卡名稱更改爲eth*,則可以在安裝系統之後使⽤以下⽅式修改

//編輯配置文件
sudo vim /etc/default/grub

//修改文件內容爲
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"   #修改此行參數

//跟新內核參數文件
sudo update-grub

//一定要重啓才能生效
sudo reboot

2.2.3:配置root遠程登錄

默認情況下,ubuntu不允許root⽤⼾遠程ssh,如果有實際場景需要允許root⽤⼾遠程ssh,則需要設置root密
碼,並且編輯/etc/ssh/sshd_config⽂件修改如下:

//修改配置文件
sudo vim /etc/ssh/sshd_config

//修改配置文件
32 #PermitRootLogin prohibit-password #默認爲禁⽌登錄
33 PermitRootLogin yes #改爲允許登錄

57 #PasswordAuthentication yes
58 PasswordAuthentication yes #打開密碼認證,其實默認就是允許通過密碼認證登錄
--------------------------------------------------------------------------
//切換至root用戶
sudo su - root #切換到root⽤⼾環境

//修改root密碼
passwd #設置密碼
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
-------------------------------------------------------------
//重啓ssh服務並測試root⽤⼾遠程ssh連接
systemctl restart sshd 

2.2.4:Ubuntu 18.04⽹絡配置

官方文檔: https://netplan.io/

Ubuntu 從 17.10 開始,已放棄在 /etc/network/interfaces ⾥固定IP的配置,
⽽是改成 netplan ⽅式,配置⽂件是:/etc/netplan/01-netcfg.yaml
  • ubuntu 17.04及之前的靜態IP配置⽅式:
//配置文件路徑
sudo vim /etc/network/interfaces

//可根據需要修改配置文件
auto eth0 #⽹卡⾃啓動,寫⾃⼰要配置IP的實際⽹卡名稱
iface eth0 inet static #配置靜態IP,寫⾃⼰要配置IP的實際⽹卡名稱
address 172.18.3.12 #IP地址
netmask 255.255.0.0 #掩碼
gateway 172.18.0.1 #⽹關
dns-nameservers 223.6.6.6 #DNS
dns-nameservers 223.5.5.5

//重啓⽹絡服務
/etc/init.d/networking restart
systemctl restart networking.service
  • ubuntu 18.04配置多⽹卡靜態IP以及靜態路由
//編輯網卡配置文件
vim /etc/netplan/01-netcfg.yaml

//根據需要設置對應網卡信息
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:   #橋接網卡
      dhcp4: no
      dhcp6: no                                                    
      addresses: [ 172.20.26.4/16 ]
      gateway4: 172.20.0.1
      nameservers:
        addresses: [ 233.6.6.6,180.76.76.76 ]

    eth1:   #NAT網卡
      dhcp4: no
      dhcp6: no
      addresses: [ 192.168.26.4/24 ]
      gateway4: 192.168.26.2
      nameservers:
        addresses: [ 233.6.6.6,180.76.76.76 ]
      
      routes:
        - to: 172.20.0.0/16
          via: 10.20.0.1
        - to: 10.20.0.0/16
          via: 10.20.0.1
        - to: 10.2.0.0/16
          via: 10.20.0.1
        - to: 10.8.0.0/16
          via: 10.20.0.1

//生效網卡配置信息
sudo netplan apply

2.2.6:配置阿里雲epel源

epel源地址: https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.53322f70JsXXiE

//將原文件進行改名留作備份
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

//新建配置文件
sudo vim /etc/apt/sources.list

//複製對應版本源信息,粘貼
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

//更新本地軟件包列表索引,修改了apt倉庫後必須執⾏
sudo apt update

2.2.5: Ubuntu 18.04vim 個性配置

//編輯配置文件
vim ~/.vimrc

//根據需要編輯配置文件
set ai                          " 自動縮進,新行與前面的行保持?致的自動空格
set cursorline                  " 顯示光標行 " 
set aw                          " 自動寫,轉入shell或使用:n編輯其他文件時,當前的緩衝區被寫入
set flash                       " 在出錯處閃爍但不嗚叫(缺省)
set ic                          " 在查詢及模式匹配時忽賂大小寫
set nu        
set number                      " 屏幕左邊顯示行號                  
set showmatch                   " 顯示括號配對,當鍵入“]”“)”時,高亮度顯示匹配的括號
set showmode                    " 處於文本輸入方式時加亮按鈕條中的模式指示器
 set warn                        " 對文本進行了新的修改後,離開shell時系統給出顯示(缺省)
 set ws                          " 在搜索時如到達文件尾則繞回文件頭繼續搜索
 set wrap                        " 長行顯示自動折行
 colorscheme evening             " 設定背景爲夜間模式
 filetype plugin on              " 自動識別文件類型,自動匹配對應的, “文件類型Plugin.vim”文件,使用縮進定義文件
 set autoindent                  " 設置自動縮進:即每行的縮進值與上一行相等;使用 noautoindent 取消設置
 set cindent                     " 以C/C++的模式縮進
 set noignorecase                " 默認區分大小寫
 set ruler                       " 打開狀態欄標尺
 set scrolloff=5                 " 設定光標離窗口上下邊界 5 行時窗口自動滾動
 set shiftwidth=4                " 設定 <<>> 命令移動時的寬度爲 4
 set softtabstop=4               " 使得按退格鍵時可以一次刪掉 4 個空格,不足 4 個時刪掉所有剩下的空格)
 set tabstop=4                   " 設定 tab 長度爲 4
 set wrap                        " 自動換行顯示
 syntax enable
 syntax on                       " 自動語法高亮
 set autoindent                  "自動對齊"
 set smartindent                 "智能對齊"
 set mouse=a                     "使用鼠標"
 inoremap ( ()<ESC>i             "括號自動補齊"
 inoremap [ []<ESC>i
 inoremap { {}<ESC>i     
 inoremap < <><ESC>i

2.2.7系統資源顯示在優化

//配置文件路徑
cat /etc/security/limits.conf

//文件內容追加
#root賬⼾的資源軟限制和硬限制  (Ubuntu需要添加上下兩部分)
root soft core unlimited
root hard core unlimited
root soft nproc 1000000
root hard nproc 1000000
root soft nofile 1000000
root hard nofile 1000000
root soft memlock 32000
root hard memlock 32000
root soft msgqueue 8192000
root hard msgqueue 8192000
#其他賬⼾的資源軟限制和硬限制  (centos系統只需要下面這一部分即可)
* soft core unlimited
* hard core unlimited
* soft nproc 1000000
* hard nproc 1000000
* soft nofile 1000000
* hard nofile 1000000
* soft memlock 32000
* hard memlock 32000
* soft msgqueue 8192000
* hard msgqueue 8192000

2.2.8內核參數優化

//配置文件
vim /etc/sysctl.conf

//文件內容覆蓋
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

# Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536

# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296

# TCP kernel paramater
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1

# socket buffer
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 20480
net.core.optmem_max = 81920

# TCP conn
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 15

# tcp conn reuse
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_max_tw_buckets = 20000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syncookies = 1

# keepalive conn
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.ip_local_port_range = 10001 65000

# swap
vm.overcommit_memory = 0
vm.swappiness = 10
#net.ipv4.conf.eth1.rp_filter = 0
#net.ipv4.conf.lo.arp_ignore = 1
#net.ipv4.conf.lo.arp_announce = 2
#net.ipv4.conf.all.arp_ignore = 1
#net.ipv4.conf.all.arp_announce = 2

2.3Ubuntu軟件包管理

修改軟件倉庫:
阿⾥雲倉庫地址:https://opsx.alibaba.com/
中科⼤:http://mirrors.ustc.edu.cn/help/ubuntu.html
清華⼤學:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
華爲:https://mirrors.huaweicloud.com/
apt list #apt列出倉庫軟件包,等於yum list
apt search NAME #搜索安裝包
apt show apache2 #查看某個安裝包的詳細信息
apt install apache2 #在線安裝軟件包
apt remove apache2 #卸載單個軟件包但是保留配置⽂件
apt autoremove apache2 #刪除安裝包並解決依賴關係
apt update #更新本地軟件包列表索引,修改了apt倉庫後必須執⾏
apt purge apache2 #卸載單個軟件包刪除配置⽂件
apt upgrade #升級所有已安裝且可升級到新版本的軟件包
apt full-upgrade #升級整個系統,必要時可以移除舊軟件包。
apt edit-sources #編輯source源⽂件
apt-cache madison nginx #查看倉庫中軟件包有哪些版本可以安裝
apt install nginx=1.14.0-0ubuntu1.6 #安裝軟件包的時候指定安裝具體的版本

2.4 dpkg安裝包管理

  • rpm:RPM(Red Hat Package Manager),是基於Red hat的Linux Distribution的包管理系統,同時也指rpm包本⾝,RPM⽤於rpm包的管理(諸如安裝、卸載、升級等)
  • "dpkg "是"Debian Packager "的簡寫,爲 "Debian"專⻔開發的套件管理系統,⽅便軟件的安裝、更新及移除。所有源⾃“Debian”的“Linux ”發⾏版都使⽤ “dpkg”,例如 “Ubuntu”、“Knoppix ”等。
# dpkg -i gitlab-ce_11.9.8-ce.0_amd64.deb #安裝某個軟件包
# dpkg -r gitlab-ce #刪除某個軟件包保留配置⽂件
# dpkg -r -P gitlab-ce #刪除某個軟件包不保留配置⽂件
# dpkg -I gitlab-ce_11.9.8-ce.0_amd64.deb #查看軟件包信息
# dpkg -c gitlab-ce_11.9.8-ce.0_amd64.deb #查看軟件包內的⽂件及⽬錄內容
# dpkg -l #列出本機已經安裝的所有軟件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章