用习惯了redhat系列,记录ubuntu与redhat不同的一些地方
防火墙
防火墙:ufw vs firewalld
systemctl status ufw.service
selinux
ubuntu默认不安装selinux
关机与重启
ubuntu关机
halt 物理机会卡在 System halted 黑屏界面,需要手动按电源按钮断电
halt -p 强制切断电源,等价poweroff
shutdown -h now 优雅关机 ******
init 0 不能关机
init 6 不能重启,重启用reboot
网络配置
两种渲染器
systemd-networkd(服务器版默认,内存占用小)
NetworkManager(桌面版默认)
netplan get renderer 查看使用的渲染器,输出null时结合OS版本判断
networkctl
networkctl down ens33 链路down
network up ens33 链路up
网络配置文件
/etc/netplan/00-installer-config.yaml
cat /etc/netplan/00-installer-config.yaml
network:
version: 2
ethernets:
ens33:
match:
macaddress: "00:0c:29:24:79:1b"
dhcp4: true
dhcp6: true
set-name: "ens33"
ens34:
dhcp4: true
dhcp6: true
accept-ra: true
查看IP地址
netplan status
能够获取IP、网关、DNS等信息,ip address只能看到IP地址
服务器版
默认使用systemd-networkd管理网络,使用netplan进行配置

netplan get renderer 输出为null,默认为systemd-networkd管理网络
设置固定IP
netplan get可获取配置文件内容
通过配置文件修改IP地址
cat /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33:
match:
macaddress: "00:0c:29:24:79:1b"
optional: true 网卡状态不会阻塞开机过程
**addresses:
- "192.168.3.113/24"
nameservers:
addresses: - 223.5.5.5
- 223.6.6.6**
dhcp4: false
dhcp6: true
set-name: "ens33"
**routes:
- to: "default"
via: "192.168.3.1"**
ens34:
dhcp4: true
dhcp6: true
accept-ra: true
通过netplan命令修改
设置静态IP
按照yaml定义层级逐级写
netplan set ethernets.ens33.addresses="192.168.3.113/24" 添加静态IP地址,但不删除原IP
netplan set ethernets.ens33.addresses=null 要想只设置一个IP,需先设置为空后再添加
netplan set ethernets.ens33.routes='{"to":"default","via":"192.168.3.1"}' 设置默认路由(网关)
netplan set ethernets.ens33.nameservers.addresses="223.5.5.5,8.8.8.8" 添加而不删除
所有命令均需在执行netplan apply后生效
切换回dhcp
netplan set ethernets.ens33.addresses=null 先清除所有IP
netplan set ethernets.ens33.dhcp4=true 再设置为dhcp, 之后netplan apply生效
netplan set ethernets.ens33.gateway4=null 将某参数设置为空,删除此参数
设置双网卡绑定
modprobe bonding
echo "bonding" | sudo tee -a /etc/modules
测试时拔网线,不要使用networkctl或ip link set控制
802.3ad模式
cat /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33: {}
ens34: {}
bonds:
bond0:
interfaces:
-
ens33
-
ens34
addresses:
- "192.168.3.113/24"
routes:
- to: "default"
via: "192.168.3.1"
nameservers:
addresses:
-
223.5.5.5
-
223.6.6.6
parameters:
mode: "802.3ad"
mii-monitor-interval: 100
transmit-hash-policy: "lay3+4"
如果交换机没有配置聚合组,则会收到报错信息

active-backup模式
cat /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33: {}
ens34: {}
bonds:
bond0:
interfaces:
-
ens33
-
ens34
addresses:
- "192.168.3.113/24"
routes:
- to: "default"
via: "192.168.3.1"
nameservers:
addresses:
-
223.5.5.5
-
223.6.6.6
parameters:
mode: "active-backup"
primary: ens33
mii-monitor-interval: 100
balance-alb模式
cat /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33: {}
ens34: {}
bonds:
bond0:
interfaces:
-
ens33
-
ens34
addresses:
- "192.168.3.113/24"
routes:
- to: "default"
via: "192.168.3.1"
nameservers:
addresses:
-
223.5.5.5
-
223.6.6.6
parameters:
mode: "balance-alb"
primary: ens33
mii-monitor-interval: 100
服务器版切换renderer
将systemd-networkd切换为NetworkManager
apt install network-manager
systemctl disable --now systemd-networkd
systemctl enable --now NetworkManager
修改配置文件,加入下图红框设置 vim /etc/netplan/00-installer-config.yaml
之后netplan apply
systemctl restart NetworkManager

如果要切换回netplan,设置renderer为networkd
桌面版
默认使用Network-Manager管理网络,使用nmcli进行配置

可以使用nmcli及nmtui设置IP地址,与redhat系列配置一样
nmtui设置网卡绑定参考:
软件包管理
apt
apt 相当于yum 或 dnf
apt install net-tools
apt install -d xxx 只下载,不安装
apt search nginx 查找nginx
apt show nginx 显示nginx属性信息
apt list --all-versions nginx 查看nginx所有版本
apt list --installed 查看本机已安装软件
apt list --upgradable 仅查看可升级的包,不执行升级
apt remove 删除软件,不删除配置文件
apt purge 彻底删除软件,移除配置文件
apt clean 清理缓存
apt-mark hold nginx 锁定nginx版本,防止升级(生产实用)
apt-mark unhold nginx 解除锁定
apt-mark showhold 显示所有锁定
dpkg
dpkg相当于rpm
dpkg -i xx.deb 安装
dpkg -r xx.deb 卸载,保留配置文件
dpkg -P xx.deb 卸载,移除配置文件
dpkg -l 列出所有
dpkg -l | grep openssl 过滤
dpkg -S /usr/bin/nmcli 查询文件属于哪个包
dpkg -L openssl-server 查询包安装了哪些文件
软件仓库配置
cat /etc/apt/sources.list.d/ubuntu.sources
替换为阿里仓库源
DNS
resolvectl 查看dns
日志
/var/log/syslog # 综合系统日志(日常排错首选,替代messages)
/var/log/kern.log # 内核日志(网卡、bond、驱动、硬件报错重点看这里)
/var/log/auth.log # SSH登录、sudo、认证安全日志
/var/log/dmesg # 开机内核缓冲区日志
/var/log/ufw.log # 防火墙日志
/var/log/dpkg.log # apt/dpkg软件安装日志
/var/log/boot.log # 系统启动日志
journalctl -f # 实时跟踪所有日志
journalctl -k # 只看内核日志(等同于kern.log)
journalctl --since "1 hour ago"
journalctl -u systemd-networkd # 只看网络服务日志
设置时区
timedatectl list-timezones | grep -i shanghai
timedatectl set-timezone Asia/Shanghai
systemctl restart systemd-timedated.service