华子目录
- 什么是ubuntu
- 概述
 
- ubuntu版本简介
- 桌面版
- 服务器版
 
- 安装部署
- 部署后的设置
- 设置root密码
- 关闭防火墙
- 启用允许root进行ssh登录
- 更改apt源
- 安装所需软件
 
- 网络配置
- Netplan概述
- 配置详解
- 配置文件
- DHCP
- 静态IP设置
- 设置
 
 
 
- 软件安装
- 方法
- apt安装软件
- 作用
- 常用命令
- 配置apt源
 
- deb软件包安装
- 概念
- `dpkg`命令
 
 
什么是ubuntu
概述
- ubuntu(乌班图)属于- debian系列,debian是社区类Linux的典范,是迄今为止最遵循- GNU规范的- Linux系统
 
- debian最早由- lan Murdock于1993年创建,分为三个版本分支(branch):- stable,testing和unstable
- debian最具特色的是- apt-get / dpkg包管理方式,其实- redhat的- yum也是在模仿- debian的- apt方式,但在二进制文件发行方式中,- apt应该是最好的了。
- ubuntu server是- Ubuntu操作系统的一个版本,是- Ubuntu家族的一员,被工程设计作为互联网的骨干系统,- Ubuntu server为公共或私有数据中心带来经济和技术上的可扩展性。
ubuntu版本简介
桌面版
- 网址:https://cn.ubuntu.com/download
 
- 桌面版是带有GUI界面,面向普通用户使用的操作系统,预装了可帮助用户执行日常基本活动的软件,如:视频,浏览器,文本处理,电子邮件和多媒体等,对标Windows10操作系统
 
服务器版
- 服务器版本用于托管网络服务器和数据库等应用程序,是专业人员使用的服务器操作系统
 
- 注意: - 一般选择LTS长期更新版,LTS为“长期支持”版本每两年在4月发布一次,LTS版本是Ubuntu的“企业级”版本,使用得最多。估计95%的Ubuntu安装得都是LTS版
- 可以在开源镜像站点下载,如阿里开源镜像站
 
 
- 一般选择
安装部署
- 这里博主后期有时间再写,博主这里主要写Ubuntu在redhat系列中的不同之处
部署后的设置
设置root密码
- 由于默认的root用户没有固定的密码,则可以通过下列方法更改并切换账户
- 第一种:
huazi@ubuntu:~$ sudo passwd root    #以普通账户登录后执行命令修改root初始密码
[sudo] huazi 的密码:               #普通账户的密码
新的密码:                          #新的root密码
无效的密码: 密码少于 8 个字符
重新输入新的密码:                  #再输入一遍
passwd:已成功更新密码
huazi@ubuntu:~$ su -l root       #切换到root账户
密码:
root@ubuntu:~#
关闭防火墙
root@ubuntu:~# systemctl status firewalld         #查看ufw防火墙状态
Unit firewalld.service could not be found.
root@ubuntu:~# systemctl status ufw
● ufw.service - Uncomplicated firewallLoaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: >Active: active (exited) since Thu 2024-05-02 18:46:06 CST; 35min agoDocs: man:ufw(8)Main PID: 436 (code=exited, status=0/SUCCESS)CPU: 5ms5月 02 18:46:06 ubuntu systemd[1]: Starting Uncomplicated firewall...
5月 02 18:46:06 ubuntu systemd[1]: Finished Uncomplicated firewall.root@ubuntu:~# systemctl stop ufw    #关闭防火墙
root@ubuntu:~# systemctl disable ufw    #设置开机不启动
Synchronizing state of ufw.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable ufw
Removed /etc/systemd/system/multi-user.target.wants/ufw.service.
启用允许root进行ssh登录
root@ubuntu:~# vim /etc/ssh/sshd_config
PermitRootLogin yes   #将PermitRootLogin的参数设置为yesroot@ubuntu:~# systemctl restart ssh    #重启ssh服务
更改apt源
- 先确定Ubuntu的时间版本,我这里是ubuntu 22.04 LTS
- 然后到阿里云镜像开源站的Ubuntu中选择对应的apt源
 
root@ubuntu:~# vim /etc/apt/sources.listdeb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverseroot@ubuntu:~# apt update      #配置完需要更新apt源
安装所需软件
root@ubuntu:~# apt install tree gcc make net-tools openvswitch-switch -yroot@ubuntu:~# apt list tree        #检查是否已安装
正在列表... 完成
tree/jammy,now 2.0.2-1 amd64 [已安装]
root@ubuntu:~# apt list gcc
正在列表... 完成
gcc/jammy,now 4:11.2.0-1ubuntu1 amd64 [已安装]
gcc/jammy 4:11.2.0-1ubuntu1 i386
root@ubuntu:~# apt list make
正在列表... 完成
make/jammy,now 4.3-4.1build1 amd64 [已安装]
make/jammy 4.3-4.1build1 i386
root@ubuntu:~# apt list net-tools
正在列表... 完成
net-tools/jammy,now 1.60+git20181103.0eebece-1ubuntu5 amd64 [已安装]
net-tools/jammy 1.60+git20181103.0eebece-1ubuntu5 i386
root@ubuntu:~# apt list openvswitch-switch
正在列表... 完成
openvswitch-switch/jammy-security,jammy-updates,now 2.17.9-0ubuntu0.22.04.1 amd64 [已安装]
N: 还有 1 个版本。请使用 -a 选项来查看它(它们)。root@ubuntu:~# apt list nginx      #未安装
正在列表... 完成
nginx/jammy-updates 1.18.0-6ubuntu14.4 amd64
N: 还有 2 个版本。请使用 -a 选项来查看它(它们)。
网络配置
Netplan概述
- Netplan:抽象网络配置生成器,是一个用于配置Linux网络的简单工具
- 通过Netplan,你只需用一个YAML文件描述每个网络接口需要配置成啥样即可,根据这个配置描述,Netplan便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥,都可以生成
- Netplan的特点和功能:- YAML语法:- Netplan使用- YAML文件格式来描述网络配置信息,- YAML格式旨在使文件易于编写,阅读和理解。您可以再每行结束时添加注释以方便自己和其他管理员查看文件
- 多种网络选项:Netplan支持多种网络选项,包括IP地址,子网掩码,网关,DNS设置,静态路由和DHCP客户端等。您可以根据需要选择所需的选项并将其添加到配置文件中。
- 支持多个网络接口:Netplan支持管理多个网络接口。无论您使用有线或无线网络,或者使用虚拟网络接口,都可以在配置文件中指定各个接口的设置。
- 自动应用配置:当您修改Netplan配置文件后,Netplan会自动将其应用到相应的网络接口上。这意味着您无需手动执行命令即可生效所做的更改。
- 兼容性:Netplan可以与旧版网络管理工具共存,并且可以在Ubuntu16.04及更高版本上运行。如果您已经使用ifupdown或NetworkManager进行网络配置,您可以继续使用这些工具,或者将其与Netplan配置文件结合使用。
 
- Netplan目前支持一下- 两种网络管理工具:- NetworkManager
- Systemd-networkd
 
- 一言以蔽之,从前你需要根据不同的管理工具编写网络配置,现在 Netplan将管理工具差异性给屏蔽了。 你只需按照Netplan规范编写YAML 配置,不管底层管理工具是啥,一份配置走天下
配置详解
配置文件
#默认配置文件:/etc/netplan/*.yaml#本机
root@ubuntu:/etc/netplan# ls
01-network-manager-all.yaml
DHCP
network:ethernets:ens33:dhcp4: trueversion: 2renderer: networkd
静态IP设置
- 注意:netplan说明文件格式存储在下列路径下,该目录下有各种样例文件,可以提供帮助
root@ubuntu:~# cd /usr/share/doc/netplan/examples/
root@ubuntu:/usr/share/doc/netplan/examples# ls
bonding_router.yaml               route_metric.yaml
bonding.yaml                      source_routing.yaml
bridge_vlan.yaml                  sriov_vlan.yaml
bridge.yaml                       sriov.yaml
dhcp_wired8021x.yaml              static_multiaddress.yaml
dhcp.yaml                         static_singlenic_multiip_multigateway.yaml
direct_connect_gateway_ipv6.yaml  static.yaml
direct_connect_gateway.yaml       vlan.yaml
infiniband.yaml                   vrf.yaml
ipv6_tunnel.yaml                  vxlan.yaml
loopback_interface.yaml           windows_dhcp_server.yaml
modem.yaml                        wireguard.yaml
network_manager.yaml              wireless.yaml
offload.yaml                      wpa_enterprise.yaml
openvswitch.yaml
#静态IP范例
root@ubuntu:/usr/share/doc/netplan/examples# cat static.yaml
network:version: 2renderer: networkdethernets:enp3s0:        #网卡名addresses:- 10.10.10.2/24    #静态IP地址/子网掩码nameservers:search: [mydomain, otherdomain]  #域名addresses: [10.10.10.1, 1.1.1.1]  #dns解析地址1,dns解析地址2routes:- to: defaultvia: 10.10.10.1   #网关地址
- 查看本机IP信息
root@ubuntu:~# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.80.137  netmask 255.255.255.0  broadcast 192.168.80.255inet6 fe80::d15c:c612:1728:5292  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:7b:35:87  txqueuelen 1000  (以太网)RX packets 143547  bytes 207998539 (207.9 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 30913  bytes 2101187 (2.1 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (本地环回)RX packets 265  bytes 28871 (28.8 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 265  bytes 28871 (28.8 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0root@ubuntu:~# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.80.137  netmask 255.255.255.0  broadcast 192.168.80.255inet6 fe80::d15c:c612:1728:5292  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:7b:35:87  txqueuelen 1000  (以太网)RX packets 143581  bytes 208001089 (208.0 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 30932  bytes 2103313 (2.1 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
- 查看网关
root@ubuntu:~# route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         192.168.80.2    0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
192.168.80.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
设置
root@ubuntu:~# vim /etc/netplan/01-network-manager-all.yaml
#清除已有内容,将静态IP范例文件内容拷贝到当前配置中,再修改,注意缩进格式network:version: 2renderer: networkdethernets:ens33:addresses:- 192.168.80.138/24nameservers:search: [mydomain, otherdomain]addresses: [114.114.114.114]routes:- to: defaultvia: 192.168.80.2root@ubuntu:~# netplan apply   #重新应用#然后需要用新配置的IP地址进行ssh连接:ssh root@192.168.80.138
#或者使用nmtui进行设置静态IP地址
root@ubuntu:~# nmtui
#或者使用nmcli命令修改静态IP地址
root@ubuntu:~# nmcli connection
NAME        UUID                                  TYPE      DEVICE
有线连接 1  08ae1107-7a71-328c-8f61-fb3e8abf7e95  ethernet  ens33
root@ubuntu:~# nmcli connection modify 有线连接\ 1 +ipv4.addresses 192.168.80.137/24
软件安装
方法
- 使用apt工具安装
- deb软件包安装(dpkg)
- 自己下载程序源码编译安装
apt安装软件
作用
- apt(advanced package tool)是一个命令行包管理工具,适用于- Ubuntu / DebianLinux
- apt用于在- Ubuntu / Debian系统中从命令行安装,删除,更新和升级- Debian包,- apt克服了在- apt-get命令中注意到的问题和错误,使用- apt命令时,用户必须具有- sudo权限
常用命令
root@ubuntu:~# apt update  #更新软件仓库信息,建议在安装或升级包之前执行该命令root@ubuntu:~# apt list   #列出所有可用的软件包root@ubuntu:~# apt list 包名   #检查该包名有没有安装root@ubuntu:~# apt list --installed  #只列出已安装的包root@ubuntu:~# apt list --upgradeable   #只列出可升级的包root@ubuntu:~# apt install 包名 -y   #安装软件包root@ubuntu:~# apt download 包名    #下载软件包但不安装root@ubuntu:~# apt remove 包名   #删除软件包root@ubuntu:~# apt upgrade   #升级所有软件包root@ubuntu:~# apt install 包名 --only-upgrade    #要升级特定的安装包root@ubuntu:~# apt full-upgrade    #全面系统升级,请务必小心,因为它可能会删除已安装的软件包并安装更新的软件包root@ubuntu:~# apt search 包名    #搜索软件包root@ubuntu:~# apt show 包名     #查看软件包信息root@ubuntu:~# apt clean    #清除apt缓存
配置apt源
- 配置文件
root@ubuntu:~# vim /etc/apt/sources.list
-  推荐的apt源 
-  修改: - 打开文件:vim /etc/apt/sources.list
- 将默认的源进行替换
- 最后需要更新软件列表 root@ubuntu:~# apt update
 
- 打开文件:
deb软件包安装
概念
- deb包时- Debian,Ubuntu等- Linux发行版的软件安装包,扩展名为- .deb,是类似于- rpm的软件包
dpkg命令
 
- 格式
root@ubuntu:~# dpkg [选项] 包名
- 常用命令
root@ubuntu:~# dpkg -i 包名      #安装软件包root@ubuntu:~# dpkg -I 包名      #查看软件包的详细信息root@ubuntu:~# dpkg -c 包名      #查看软件包结构root@ubuntu:~# dpkg -r 包名      #卸载软件包
- 注意:不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦
