Ubuntu相关
ubuntu网络相关:
【ubuntu 16.04】
/etc/network/interfaces
增加auto ens33 iface ens33 inet static address 192.168.88.181 netmask 255.255.255.0 gateway 192.168.88.2
注: ens33为网卡名,具体要看自己的机器
修改
/etc/NetworkManager/NetworkManager.conf
,将 managed 设置为 true设置 /etc/resolvconf/resolv.conf.d/base,增加
nameserver xxx nameserver xxx
注: 机器在重启后,真正读取dns 的配置是在
/etc/resolv.conf
,/etc/resolv.conf
的数据来源于/etc/resolvconf/resolv.conf.d/base
重启网络服务
/etc/init.d/netXX restart
【ubuntu 18.04/20.04 Server】
ubuntu18.04 server之后,启用了新的网络工具netplan
,默认没有 ifconfig等网络工具
- 其网络配置文件是放在
/etc/netplan/50-cloud-init.yaml
, 缺省是用dhcp
方式,如果要配置静态地址,则需要修改,:
注:network: ethernets: ens12: dhcp4: false addresses: - 10.10.10.2/24 gateway4: 10.10.10.1 nameservers: search: [mydomain, otherdomain] addresses: [10.10.10.1, 1.1.1.1] optional: true ens3: dhcp4: false addresses: [10.229.147.60/15] routes: - to: 0.0.0.0/0 via: 10.230.128.128 metric: 202 optional: true version: 2
ens33
为网卡名,可使用ip a
命令获得 - 使其生效的方法:
sudo netplan apply
如果配置有问题会报错,如果没问题,则会新的配置会立即生效。
以下命令可查看debug信息:sudo netplan --debug apply
注意:
- yaml文件要符合yaml语言的语法格式,空格(不能用tab)缩进表示层级,每一层级要左对齐,空格位数可以随意
- 对应配置项后要跟冒号,之后要接个空格,否则netplan命令也会报错
- 该方法只针对ubuntu18.04 Server,对于18.04 desktop它缺省是使用
NetworkManger
来进行管理,可使用图形界面进行配置,其网络配置文件是保存在:/etc/NetworkManager/system-connections目录下的。 ifconfig eth0 192.168.70.234 netmask 255.255.255.0
可临时配置 IP 和掩码route add default gw 192.168.70.1
可临时配置网关
- 查看网络状态
networkctl status
其他
- 查看网卡信息:
ethtool
- 路由跟踪:
traceroute
ubuntu 设置开机启动:
添加自定义的脚本:
在/etc/init.d/
下添加自定义的脚本xxx.sh, 里面为启动的内容,可参考其他的
赋予执行权限:
sudo chmod a+x xxx.sh
将脚本添加到启动脚本:
sudo update-rc.d xxx.sh defaults 90
注: 90是你设置的启动序号,越大级别越低,执行越晚
移除开机自启脚本:
sudo update-rc.d -f xxx.sh remove
不同系统导致的文件格式问题
背景:
有时候别人在windows上开发或编辑的文件放到自己的Linux系统中经常会报以下类似问题
/bin/bash^M: bad interpreter: No such file or directory
主要是文件格式问题导致的
确认
我们用vim打开文件,在底部命令模式下, 执行:set ff查看, 结果发现fileformat=dos就是Windows的文件格式
解决:
- 方法1: vim 文件, 在底部命令模式下, 执行:set fileformat=unix后执行:x或者:wq保存修改。(亲测 OK)
- 方法2: 直接执行sed -i “s/\r//“ a.sh来转化, 然后就OK了。
编码UTF-8,GBK都可以通过VS Code或Notpad++等软件转换
软件源
更换国内源:
【中科大】
- repository file generator https://mirrors.ustc.edu.cn/repogen/
- 具体命令:
wget https://mirrors.ustc.edu.cn/repogen/conf/ubuntu-http-4-focal -O sources.list # or https wget https://mirrors.ustc.edu.cn/repogen/conf/ubuntu-https-4-focal -O sources.list sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak sudo mv sources.list /etc/apt/sources.list sudo apt update
sources.list
内容说明
关于组件:
main: 免费,Ubuntu 官方维护的自由软件
restricted: 不免费,但是正规支持的,一般是设备专有驱动
universe:免费,社区维护的自由软件
multiverse:不免费,无正规支持,非自由软件关于更新:
security:重要的安全更新
updates:非安全性更新,即不影响到系统安全的 bug 修补。
proposed:预更新,小 beta 版,过后会进入[updates]或[security]。
backports:新软件的反向导出,新软件为老系统编译的版本。
报错
sudo apt update
时,[Connecting to archive.ubuntu.com (2001:67c:1360:8001::21)]超时
原因: ubuntu默认走IPV6,但更改的源不支持ipv6.
解决: 打开/etc/gai.conf
(地址信息的配置文件),找到#precedence ::ffff:0:0/96 100
,将#
去掉保存
Ubuntu时间:
查看当前系统时间:
date -R
修改时区:
tzselect
选择Asia,再选择China,最后选择Beijingsudo timedatectl set-timezone "Asia/Shanghai"
配置
- 配置方式1:复制文件到/etc目录下
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 配置方式2:用户或者系统profile文件中添加
export TZ='Asia/Shanghai'
修改或同步时间
同步时间: sudo ntpdate pool.ntp.org
sudo date -s MM/DD/YY //修改日期
sudo date -s hh:mm:ss //修改时间
sudo hwclock --systohc //系统时钟和硬件时钟同步
硬件时间
硬件时间: hwclock
硬件时间写入到系统时间: hwclock -s
将系统时间写入到硬件时间: hwclock -w
Ubuntu 16.04将硬件时间UTC改为CST:timedatectl set-local-rtc 1 --adjust-system-clock
时间标准:
GMT (格林尼治平时)
UTC (世界标准时间),以原子时秒长为基础,零时区的时间
CST (北京时间),中国标准时间,属东八区,比世界标准时间早8小时,记为UTC+8
用户相关操作
- 授予和移除 sudo 权限:
sudo adduser username sudo
sudo deluser username sudo
- 修改用户组,所属用户,
-R
可递归:sudo chown username:groupname 目录/文件
- 新增用户
sudo adduser username
- 新增用户,并指定用户家目录 ,
useradd
只是创建了一个用户名sudo useradd -d 家目录 username
- 修改用户密码
sudo passwd username
- 添加root密码
sudo passwd root
- 删除用户
sudo userdel -r username
- 添加指定gid为1001的groupname用户组
groupadd -g 1001 groupname
- 添加uid为1001的用户xxx,并加入到groupname的组中
useradd -u 1001 -g groupname xxx
查看实时网速带宽:
sudo apt-get install nethogs
sudo nethogs
定时开关机
定时关机
- 确保时区,时间准确
使用timedatectl
查看修改 - 使用
crontab
添加定时任务
编辑/etc/crontab
添加以下配置,周一到周五的23点00分定时关机,保存# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 00 23 * * 1-5 root /sbin/shutdown -h now
- 重启服务,立即生效
/etc/init.d/cron restart