是从1993 年由lan Murdockk(伊恩·默多克) 发起的,受到当时 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/iso-hybrid/
1.2:Ubuntu简介:Ubuntu (友帮拓、优般图、乌班图) 早期是⼀个开源的GNU/Linux操作系统,Ubuntu 是基于Debian GNU/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历史版本⼀览表
Ubuntu系统在物联网、桌面系统、云环境、服务器系统与容器有广泛使用场景,如下:
1.4.1:Ubuntu 桌面系统:Ubuntu 作为个人电脑即快速又安全、开源、免费、有数以千计的应用程序可供选择。从工作学习、到娱乐游戏,无所不能。
1.4.1.1:Ubuntu 桌面系统简介: 1.4.1.2: 基于Ubuntu的优麒麟:1.4.1.3:基于Ubuntu的Elementary OS:canonical,工业和信息化部软件与集成电路促进中心(cSIP)以及国防科学技术大学(NUDT)携手打造,目前,开发团队正在与开源社区合作打造ubuntu的核心功能,以更好地适应中国用户,除了ubuntu软件中心推出的本土化版本以外,优麒麟还带最常用的中文程序。
1.4.1.4:基于Ubuntu的其他分支:Elementary os系统是一款基于ubuntu精心打磨美化的桌面Linux发行版,号称“最漂亮的Linux系统”,它最早是ubuntu的一个美化主题项目,后来太受欢迎演变成了独立的发行版,Elementary oS由设计师主导开发,风格与macos相似,它借鉴了chromeos的菜单设计,系统核心依然是ubuntu并完全兼容所有ubuntu软件包,elementary OS从界面外观到系统设计都很精美,视觉效果很好!
除了标准Ubuntu版本之外,Ubuntu官方还有几大主要分支,分别是Edubuntu、Kubuntu、Lubuntu、Mythbuntu、Ubuntu MATE,UbuntuGNOME、Ubuntu Kylin、Ubuntu Studio和Xubuntu。
1.4.1.5:基于debian的deepin:
Edubuntu 是ubuntu的教育发行版,专注于学校(教育)的需求,是由ubuntu社区K12-LTSP社区合作开发的,适合儿童、学生、教师使用的基础发行版,其内置了大量适合教学的应用软件瞭游。
Kubuntu是使用KDE桌面管理器取代GNOME桌面管理器作为其默认的桌面管理器的版本。Kubuntu的推出,为喜爱KDE桌面环境的使用者的安装使用带来了很大的便利。
Lubuntu是一个后起之秀,以轻量级桌面环境LXDE替代ubuntu默认的unityo由于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,功能全惇,系统资源消耗较小,是追求速度和低配置计算机用户的福音,同时也为老旧计算机提供了发挥余热的机会。
deepin:基于debain的发行版,Deepin原名Linux Deepin、deepin os、深度系统、深度操作系统,在2014年4月改名Deepin,由武汉深之度科技有限公司开发,被誉为"最美国产操作系统",其以桌面应用为主的开源GNU/Linux操作系统,支持笔记本、台式机和一体机。
http://www.distrowatch.org/index.php?dataspan=2018
https://cn.ubuntu.com/cloud
1.4.2.1:Ubuntu与私有云ubuntu在私有云环境⼤量在openstack、容器与kubernetes环境使用。
openstack解决方案:
openstack客户:
ubuntu与kubernetes:
Ubuntu是各种公有云上最受欢迎的操作系统,这是因为我们与各大云运营
商密切合作,针对他们的基础架构优化内核和系统,加快安全更新速度,
并最大限度降低用户默认需要的网络或存储成本。
Ubuntu Server 可让您的公共或私有数据中心在经济和技术上都具有出色的可扩展性。无论是部署 OpenStack 云、Hadoop 集群还是 50,000 个节点的大型渲染场,Ubuntu Server 都能提供性价比最佳的横向扩展能力。
1.4.3.1:Ubuntu Server 18.04 LTS 新增功能:https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes/
1.4.3.2:Ubuntu Server 19.10 新增功能:由 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 轻松配置网络连接
https://wiki.ubuntu.com/EoanErmine/ReleaseNotes?_ga=2.36184999.620886555.1573809180-329374192.1565688951
1.4.4:Ubuntu与容器环境:由canonical提供9个月的支持Linux 5.3内核
更新为qemu (v4.0), libvirt (v5.4) , mysql (v8.0),
postgresql (v11)等
新的修复程序集和对ubuntu server安装程序的刷新
新的Ubuntu优势体验
Ubuntu是容器的首选平台,从LXD到Kubernetes再到Docker,Canonical
与行业领先的公司合作,提供全方位的技术和服务,帮助用户在公有云、 私有云和混合云或裸机云上大规模运行容器。
https://github.com/moby/moby/blob/master/CHANGELOG.md #docker的历史版本更新记录
1.4.4.1:企业级Docker:1.4.4.2:Canonical的Kubernetes发行版:与Docker Inc.密切合作,在Ubuntu上提供商业支持的集成式Docker引擎。
Docker引擎的映像以snap包的形式发布,并会自动进行事务性更新。
Canonical为CS Docker引擎提供1级和2级技术支持,Docker Inc.则负责3
级支持。
1.5:Ubuntu镜像下载:内置弹性扩展能力:
Canonical的Kubernetes简单易用,而且本身具有弹性。规模化成本效益:
Canonical的Kubernetes使用Juju进行建模,并拥有管理持久性集群所需的所有操作脚本和工具,包括升级和弹性扩展。
随时可用的分析功能:
可轻松与Prometheus集成以进行监控,与ceph集成以进行存储,以及与Elastic Stack(包括Kibana)集成以进行分析和可视化。
把Ubuntu说的这么好,倒是在哪里可以下载到呢?
http://cdimage.ubuntu.com/releases/ #ubuntu server(服务器版)http://releases.ubuntu.com/ #ubuntu desktop(桌⾯版)http://cdimage.ubuntu.com/daily-live/current/ #20.04每日构建
1.5.1:系统镜像版本区别:https://packages.ubuntu.com/search?lang=zh-cn&arch=any&keywords=libfuse-devubuntu-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.isox86-64------->amd64 #64位ubuntu-18.04.3-server-amd64.isoARM v7------->ARM64 #arm平台ubuntu-18.04.3-server-arm64.isoIBM s390x-------->s390x #IBM System zubuntu-18.04.3-server-s390x.isoPOWER------->PPC64el #PowerPCubuntu-18.04.3-server-ppc64el.isopreinstalled-server-arm64+raspi3 #预安装的树莓派系列ubuntu-18.04.3-preinstalled-server-arm64+raspi3.img.xz:
二、Ubuntu Server版安装及使用
Ubuntu 18.04 server版本与Desktop版的安装介绍
https://help.ubuntu.com/ #官方文档
2.1:Ubuntu server 版本安装这里 ubuntu 18.04服务器版本安装
2.1.1:选择安装语言: 2.1.2:安装界面传递内核参数: F6选项
Hong kong香港(中国)
不进行探测,手动设置
建议美式键盘
以下自定义,可自行设置
分区类型为主分区
文件系统类型可以选择ext4/xfs/等
官方使用文档:https://help.ubuntu.com
2.2.1:更改主机名:~$ cat /etc/hostname ubuntu-node.example.com
2.2.2:更改网卡名称为eth*:如果在安装系统之前没有传递内核参数将网卡名称更改为eth*,则可以在安装系统之后使用以下方式修改:
~$ sudo vim /etc/default/grubGRUB_DEFAULT=0GRUB_TIMEOUT_STYLE=hiddenGRUB_TIMEOUT=2GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
~$ sudo update-grubSourcing file `/etc/default/grub'Generating grub configuration file ...Found linux image: /boot/vmlinuz-4.15.0-55-generic Found initrd image: /boot/initrd.img-4.15.0-55-generic done
~$ 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 #打开密码认证,其实默认就是允许通过密码认证登录~$ sudo su - root #切换到root⽤⼾环境~# passwd #设置密码Enter new UNIX password:Retype new UNIX password:passwd: password updated successfully~# systemctl restart sshd #重启ssh服务并测试root⽤⼾远程ssh连接
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配置方式:
~# cat /etc/network/interfacesroot@qiudaoyu:~# cat /etc/network/interfaces# interfaces(5) file used by ifup(8) and ifdown(8) auto loiface lo inet loopbackauto 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 #阿里云DNSdns-nameservers 223.5.5.5#重启⽹络服务~# /etc/init.d/networking restart~# systemctl restart networking.service
2.2.4.1:单网卡静态IP地址:ubuntu 18.04配置静态IP地址
~#sudo vim /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available on your system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6]# sudo netplan apply
# vim ~/.vimrc #取消vim ⾃动缩进功能 set paste
2.2.4.2:配置多网卡静态IP:ubuntu 18.04配置多网卡静态IP以及静态路由
~# sudo vim /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available on your system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6] eth1: dhcp4: no dhcp6: no addresses: [10.20.3.18/16] 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.4.3:单网卡桥接:ubuntu 18.04的单网卡桥接配置
root@s1:~# cat /etc/netplan/01-netcfg.yaml~# sudo cat /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available on your system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no bridges: br0: dhcp4: no dhcp6: no addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6] interfaces: - eth0~# sudo netplan apply
2.2.4.4:多网卡桥接:ubuntu 18.04多⽹卡的桥接配置,将br0和br1分别桥接到eth0和eth1。
~# sudo cat /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available on your system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no bridges: br0: dhcp4: no dhcp6: no addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6] interfaces: - eth0 br1: dhcp4: no dhcp6: no addresses: [10.20.3.18/16] 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 interfaces: - eth1
2.2.4.4:双网卡绑定:七种bond模式说明:
第⼀种模式:mod=0,即:(balance-rr) Round-robin policy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包⾛eth0,下⼀个包就⾛eth1….⼀直循环下去,直到最后⼀个传输完毕),此模式提供负载平衡和容错能⼒。第⼆种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)特点:只有⼀个设备处于活动状态,当⼀个宕掉另⼀个⻢上由备份转换为主设备。mac地址是外部可⻅得,从外⾯看来,bond的MAC地址是唯⼀的,以避免switch(交换机)发⽣混乱。此模式只提供了容错能⼒;由此可⻅此算法的优点是可以提供⾼⽹络连接的可⽤性,但是它的资源利⽤率较低,只有⼀个接⼝处于⼯作状态,在有 N 个⽹络接⼝的情况下,资源利⽤率为1/N。第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略)特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR⽬标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能⼒。第四种模式:mod=3,即:broadcast(⼴播策略)特点:在每个slave接⼝上传输每个数据包,此模式提供了容错能⼒。第五种模式:mod=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态链接聚合)特点:创建⼀个聚合组,它们共享同样的速率和双⼯设定。根据802.3ad规范将多个slave⼯作在同⼀个激活的聚合体下。必要条件:条件1:ethtool⽀持获取每个slave的速率和双⼯设定。条件2:switch(交换机)⽀持IEEE 802.3ad Dynamic link aggregation。条件3:⼤多数switch(交换机)需要经过特定配置才能⽀持802.3ad模式。第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)特点:不需要任何特别的switch(交换机)⽀持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另⼀个slave接管失败的slave的MAC地址。该模式的必要条件:ethtool⽀持获取每个slave的速率第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),⽽且不需要任何switch(交换机)的⽀持。
ubuntu 18.04的双网卡绑定配置。
需要提前安装好bridge命令~# sudo vim /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available onyour system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no bonds: bond0: interfaces: - eth0 - eth1 addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6,223.5.5.5] parameters: mode: active-backup mii-monitor-interval: 100~# sudo netplan apply
2.2.4.5:双网卡绑定+桥接:网卡绑定用于提供网卡接口冗余以及高可用和端口聚合功能,桥接网卡再给需要桥接设备的服务使用。
~# sudo cat /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available onyour system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no bonds: bond0: interfaces: - eth0 - eth1 #addresses: [172.18.3.18/16] #gateway4: 172.18.0.1 #nameservers: # addresses: [223.6.6.6,223.5.5.5] parameters: mode: active-backup mii-monitor-interval: 100 bridges: br0: dhcp4: no dhcp6: no addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6,223.5.5.5] interfaces: - bond0~#reboot
2.2.4.6:内外多网卡绑定:多网络情况下实现网卡绑定。
~# sudo cat /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available on your system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no eth2: dhcp4: no dhcp6: no eth3: dhcp4: no dhcp6: no bonds: bond0: interfaces: - eth0 - eth1 addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6,223.5.5.5] parameters: mode: active-backup mii-monitor-interval: 100 bond1: interfaces: - eth2 - eth3 addresses: [10.20.3.18/16] parameters: mode: active-backup mii-monitor-interval: 100 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
2.2.4.7:内网多网卡绑定+桥接:~# sudo cat /etc/netplan/01-netcfg.yaml# This file describes the network interfaces available on your system# For more information, see netplan(5).network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no eth2: dhcp4: no dhcp6: no eth3: dhcp4: no dhcp6: no bonds: bond0: interfaces: - eth0 - eth1 parameters: mode: active-backup mii-monitor-interval: 100 bond1: interfaces: - eth2 - eth3 parameters: mode: active-backup mii-monitor-interval: 100 bridges: br0: dhcp4: no dhcp6: no addresses: [172.18.3.18/16] gateway4: 172.18.0.1 nameservers: addresses: [223.6.6.6,223.5.5.5] interfaces: - bond0 br1: dhcp4: no dhcp6: no interfaces: - bond1 addresses: [10.20.3.18/16] 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
2.3:Ubuntu软件包管理:在ubuntu安装、升级、卸载软件包等常规操作。
2.3.1:修改软件仓库: 阿里云仓库地址:https://opsx.alibaba.com/mirror
华为:https://mirrors.huaweicloud.com/
中科大:http://mirrors.ustc.edu.cn/help/ubuntu.html
清华:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
# 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.3.3:设置oracle JDK环境:# pwd/usr/local/src解压⼆进制⽂件并设置软连接:# tar xf jdk-8u212-linux-x64.tar.gz# ln -sv /usr/local/src/jdk1.8.0_212 /usr/local/jdk配置环境变量:# vim /etc/profileexport JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar重新导⼊环境变量并验证:# source /etc/profile# java -versionjava version "1.8.0_212"Java(TM) SE Runtime Environment (build 1.8.0_212-b10)Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixedmode)
2.3.4:安装OpenJDK:# apt install openjdk-8-jdk
2.3.5:安装常用系统命令:# apt purge ufw lxd lxd-client lxcfs lxc-common# apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute gcc openssh-server lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip
2.3.6:系统资源限制优化:#cat /etc/security/limits.conf#root账⼾的资源软限制和硬限制root soft core unlimitedroot hard core unlimitedroot soft nproc 1000000root hard nproc 1000000root soft nofile 1000000root hard nofile 1000000root soft memlock 32000root hard memlock 32000root soft msgqueue 8192000root hard msgqueue 8192000#其他账⼾的资源软限制和硬限制* 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.3.7:内核参数优化:# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1net.ipv4.ip_nonlocal_bind = 1net.ipv4.ip_forward = 1# Do not accept source routingnet.ipv4.conf.default.accept_source_route = 0# Controls the System Request debugging functionality ofthe kernelkernel.sysrq = 0# Controls whether core dumps will append the PID to thecore filename.# Useful for debugging multi-threaded applications.kernel.core_uses_pid = 1# Controls the use of TCP syncookiesnet.ipv4.tcp_syncookies = 1# Disable netfilter on bridges.net.bridge.bridge-nf-call-ip6tables = 0net.bridge.bridge-nf-call-iptables = 0net.bridge.bridge-nf-call-arptables = 0# Controls the default maxmimum size of a mesage queuekernel.msgmnb = 65536# # Controls the maximum size of a message, in byteskernel.msgmax = 65536# Controls the maximum shared segment size, in byteskernel.shmmax = 68719476736# # Controls the maximum number of shared memory segments,in pageskernel.shmall = 4294967296# TCP kernel paramaternet.ipv4.tcp_mem = 786432 1048576 1572864net.ipv4.tcp_rmem = 4096 87380 4194304net.ipv4.tcp_wmem = 4096 16384 4194304net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_sack = 1# socket buffernet.core.wmem_default = 8388608net.core.rmem_default = 8388608net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.netdev_max_backlog = 262144net.core.somaxconn = 20480net.core.optmem_max = 81920# TCP connnet.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_syn_retries = 3net.ipv4.tcp_retries1 = 3net.ipv4.tcp_retries2 = 15# tcp conn reusenet.ipv4.tcp_timestamps = 0net.ipv4.tcp_tw_reuse = 0net.ipv4.tcp_tw_recycle = 0net.ipv4.tcp_fin_timeout = 1net.ipv4.tcp_max_tw_buckets = 20000net.ipv4.tcp_max_orphans = 3276800net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_syncookies = 1# keepalive connnet.ipv4.tcp_keepalive_time = 300net.ipv4.tcp_keepalive_intvl = 30net.ipv4.tcp_keepalive_probes = 3net.ipv4.ip_local_port_range = 10001 65000# swapvm.overcommit_memory = 0vm.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.3.8: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 #列出本机已经安装的所有软件
2.3.9:apt安装Nginx:~$ sudo apt install nginx=1.14.0-0ubuntu1.6~$ systemctl start nginx
三、Ubuntu Dsektop版本安装及使用 3.1:安装过程:参考server版安装过程
3.2:环境配置:1、设置软件源及安装常⽤命令: https://opsx.alibaba.com/mirror2、系统更新及配置中⽂语⾔环境sudo apt-get install build-essential cmake pkg-config qt4-qmake libqt4-dev desktop-file-utils libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libasound2-dev libpulse-dev libjack-jackd2-dev libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxfixes-dev libxext-dev libxi-dev libxinerama-dev3、安装搜狗拼⾳输⼊法 https://pinyin.sogou.com/linux/?r=pinyin4、安装转码器ffmpeg: 多媒体视频处理⼯具FFmpeg有⾮常强⼤的功能包括视频采集功能、视频格式转换、视频抓图、给视频加⽔印等。 sudo apt-get install ffmpeg5、安装视频播放器: smplayer https://www.jianshu.com/p/f24252c632d0sudo apt-get install smplayer6、办公软件WPS: https://www.wps.cn/product/wpslinux7、单机VNC⼯具: x11vnc server8、RealVNC v6.6:⽀持多个⽤⼾同时连接 https://www.realvnc.com/en/connect/download/vnc/linux/9、⽂本编辑器: visual studio code10、markdown⼯具: https://www.typora.io/#linuxsudo apt-get install typora=0.9.60-111、Ubuntu 桌⾯3D特效:sudo apt-get install compiz-plugins compizconfig-settings-manager12、左侧菜单在底栏显⽰:~$ gsettings set com.canonical.Unity.Launcher launcher-position Bottom13、VMware workstion桥接⽹卡设置 https://kb.vmware.com/s/article/287?lang=zh_CN chmod a+rw /dev/vmnet0 #解决⽹卡桥接不通问题14、远程⼯具: SecureCRT/Xshell15、python开发: pycharm16、java开发: Eclipse Intellij IDEA17、vmware workstation:#⽹卡开启混杂模式 https://kb.vmware.com/s/article/287? lang=zh_CN$ sudo vim /etc/init.d/vmware126 # Start the virtual ethernet kernel service127 vmwareStartVmnet() {128 vmwareLoadModule $vnet129 "$BINDIR"/vmware-networks --start >> $VNETLIB_LOG 2>&1130 chgrp magedu /dev/vmnet*131 chown magedu /dev/vmnet*132 chmod a+rwx /dev/vmnet*133 }