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 #列出本机已经安装的所有软件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章