一、安装流程
1.加载光盘开始安装系统
2.默认即可回车
3.键盘设置默认回车即可
4.选择最小化安装
5.配置ip地址选择manual(或者直接跳过,让他自动分配,后续手动配置)
6.代理配置默认不填
7.配置清华atp源
https://mirrors.tuna.tsinghua.edu.cn/ubuntu
8.选择默认的lvm分区即可
默认不分配所有空间,自己手动创建分配所有空间
取消默认的分区
删除掉默认分配的lvm自己新建
创建新的LVM分区
选择继续回车
9.配置登录的普通用户和主机名
10.安装ssh
开始安装系统
安装完成重启
二、配置Root用户和命令对比
Ubuntu和CentOS7包管理工具区别
操作内容 | Centos 6/7 | Debian/Ubuntu |
---|---|---|
1.软件包后缀 | *.rpm | *.deb |
2.软件源配置文件 | /etc/yum.conf | /etc/apt/sources.list |
3.更新软件包列表 | yum makecache fast | apt update |
4.从软件仓库安装软件 | yum install package | apt install package |
5.安装本地软件包 | rpm -i pkg.rpm | dpkg -i pkg.deb |
6.删除软件包 | yum remove package | apt remove package |
7.获取某软件包的信息 | yum search package | apt search package |
创建Root用户
ubuntu默认不自带root用户,我们需要使用安装时新建的普通用户创建root用户
如果您确实需要启用Ubuntu系统中的root账户,可以通过以下步骤实现:
- 打开终端,输入命令
sudo passwd root
,按照提示输入当前用户的密码和新的root密码。 - 输入su -,按照提示输入root账户的密码,即可切换到root账户。
需要注意的是,启用root账户会增加系统的安全风险,因此建议仅在必要时启用。
三、ubuntu root用户开启ssh登录
需要设置ubuntu root密码,使用默认用户输入命令
sudo passwd
要在Ubuntu中启用root用户登录SSH,需要进行以下步骤:
1. 打开SSH配置文件
首先,我们需要打开SSH配置文件。在终端中输入以下命令:
sudo vim /etc/ssh/sshd_config
这将打开SSH配置文件。
2. 修改配置文件
1)在配置文件中,我们需要找到以下行:
#PermitRootLogin prohibit-password
将其改为:
PermitRootLogin yes
这将允许root用户登录SSH。
2)在配置文件中找到以下行:
UsePAM yes
将其改为:
UsePAM no
这将不启用PAM认证。
3. 重启SSH服务
完成修改后,我们需要重启SSH服务,以使更改生效。在终端中输入以下命令:
sudo service ssh restart
现在,您可以使用root用户登录SSH了。
四、Ubuntu一些常用命令
以下是Ubuntu中一些常用的命令,包括软件安装、服务管理、防火墙操作等:
软件安装:
- 使用
apt
包管理器安装软件:sudo apt update
:更新软件包列表。sudo apt install <package>
:安装指定软件包。sudo apt remove <package>
:移除指定软件包。
- 使用
snap
包管理器安装软件(适用于Ubuntu 16.04及更高版本):sudo snap install <package>
:安装指定软件包。sudo snap remove <package>
:移除指定软件包。
服务管理:
- 启动、停止、重启服务:
sudo systemctl start <service>
:启动指定服务。sudo systemctl stop <service>
:停止指定服务。sudo systemctl restart <service>
:重启指定服务。
- 状态查询和服务管理:
sudo systemctl status <service>
:显示指定服务的状态。sudo systemctl enable <service>
:在系统启动时自动启用指定服务。sudo systemctl disable <service>
:禁用指定服务,使其不在系统启动时自动启动。
防火墙操作:
- 使用
ufw
(Uncomplicated Firewall)进行防火墙管理:sudo ufw enable
:启用防火墙。sudo ufw disable
:禁用防火墙。sudo ufw status
:查看防火墙状态。sudo ufw allow <port>
:开放指定端口。sudo ufw deny <port>
:关闭指定端口。
以上只是一些常用的命令示例。对于特定的软件、服务或系统操作,请参考相关文档或官方资源以获取更详细的信息和正确的使用方法。
五、Ubuntu自动校验时间和修改时区
要在Ubuntu中自动校准时间并将时区设置为中国,可以按照以下步骤进行操作:
-
首先,确保系统可以访问互联网,并且已经启用了网络时间协议(NTP)服务。可以通过运行以下命令来确认:
sudo timedatectl set-ntp on
-
接下来,设置时区为中国。运行以下命令:
sudo timedatectl set-timezone Asia/Shanghai
这将将时区设置为中国上海。也可以根据需要将
Asia/Shanghai
替换为其他中国时区,例如Asia/Beijing
。 -
最后,使用以下命令检查时间和时区设置:
timedatectl status
在输出中,你应该看到正确的时间和时区设置。
通过执行以上操作,Ubuntu系统将自动从NTP服务器同步时间,并将时区设置为中国。请确保系统具有与互联网的连接,以便正确获取最新的时间信息。
出现报错:Failed to set time zone: Invalid or not installed time zone 'Asia/Beijing'
与系统配置和时区设置相关,这在程序运行和调试中是很重要的。出现这个错误的原因可能是系统中没有安装或正确配置'Asia/Beijing'这个时区。
解决这个问题的一个方法是通过tzdata
包来安装和更新你的系统的时区信息。tzdata
包包含了时区信息和一些用于操作这些数据的工具。可以使用以下步骤来解决你的问题:
- 首先,需要确认
tzdata
包是否已经安装。在Ubuntu系统中,可以使用以下命令来确认安装:
dpkg-query -l | grep tzdata
如果tzdata
已经安装,将看到一些输出信息。如果没有安装,可以使用以下命令来安装:
sudo apt-get install tzdata
- 安装或确认
tzdata
后,可以使用tzselect
命令来选择和设置时区。首先,运行以下命令:
sudo dpkg-reconfigure tzdata
然后,根据提示选择'Asia'和'Beijing'来设置你的时区。
3. 完成这些步骤后,可以再次尝试设置时区:
sudo timedatectl set-timezone Asia/Beijing
这次应该不会再出现错误了。如果仍然有问题,可能需要检查你的系统日志或者timedatectl
的配置来获取更多错误信息。也可以尝试重启你的系统来查看问题是否解决。
六、ubuntu常用工具
6.1 iputils-ping
工具
我们使用ubuntu最小安装如果使用ping命令会出现
user@ubuntu:~$ ping 192.168.136.100
-bash: ping: command not found
我们需要安装iputils-ping
即可
sudo apt update sudo apt install iputils-ping
七、设置静态IP
编辑yaml配置文件,注意这里需要sudo权限。
sudo vim /etc/netplan/00-installer-config.yaml
修改配置
network:
renderer: networkd
ethernets:
ens32:
addresses:
- 192.168.80.128/24
routes:
- to: default
via: 192.168.80.2
nameservers:
addresses:
- 114.114.114.114
- 8.8.8.8
search: []
version: 2
注释
network:
renderer: networkd # 指定网络渲染器为networkd,systemd-networkd是systemd提供的网络管理守护进程,负责将网络配置应用到实际网络设备和服务上
ethernets:
ens33: # 使用ip addr命令查看到的网卡编号有可能是ens32、eth0等,这里明确对编号为ens32的网卡进行配置,需要自行修改。
addresses:
- 192.168.80.128/24 # 给ens32网卡分配的IP地址为192.168.80.128,子网掩码采用CIDR表示法,/24表示子网掩码为255.255.255.0,该网卡所在网络段是192.168.80.0到192.168.80.255,主机地址为192.168.80.128
routes:
- to: default # 配置的目标是默认网关,即所有不在本地网络段内的流量都将通过此网关转发出去
via: 192.168.80.2 # 明确这条默认路由要通过的网关IP地址为192.168.80.2,通常可在网络环境中的路由器或网关设备(如虚拟机的NAT设置)中查看到相关信息
nameservers:
addresses:
- 114.114.114.114 # 设置为首选DNS服务器,当系统需要进行域名解析时,会首先尝试向此服务器发送请求
- 8.8.8.8 # 设置为备用DNS服务器,如果首选服务器无法响应或者解析失败,就会尝试向此服务器发送请求
search: [] # 搜索域设置,为空列表。若输入主机名未输入完整域名时,若有设置搜索域,系统会自动在后面添加搜索域来尝试解析,这里为空则不会进行此类自动添加操作
version: 2 # 表示这份网络配置文件遵循的是netplan配置文件的Version 2规范,不同版本规范在语法、支持配置项等方面可能存在差异,明确版本有助于netplan正确解析和应用配置文件中的设置
根据实际需要依次设置enp3s0网卡的静态IP地址、网关、DNS,dhcp4设置为false,最后一行添加:renderer: networkd。注意缩进对齐,并且每个冒号后面要跟一个空格,否则会有问题。设置好后保存退出。
更多详细配置请参考:https://ubuntu.com/server/docs/configuring-networks
输入命令
sudo netplan apply
使改动生效,然后reboot重启系统,就配置好了。
我遇到的问题
如果重启系统发现ip没有修改并且配置内容重置为原本的内容了
root@ubuntu:/etc/netplan# ls 50-cloud-init.yaml root@ubuntu:/etc/netplan# cat 50-cloud-init.yaml # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: ens33: dhcp4: true version: 2 root@ubuntu:/etc/netplan#
这里注意读注释
这是因为50 - cloud - init.yaml
文件在某些情况下是由cloud - init
服务自动生成和管理的。
cloud - init
服务的作用
cloud - init
是一个在云环境和系统初始化过程中广泛使用的工具。它用于在系统首次启动(例如在云虚拟机实例创建后首次启动)时进行一系列初始化配置,包括网络配置、用户创建、软件包安装等多种任务。- 当系统启动时,
cloud - init
会读取数据源(如元数据服务器提供的信息)来生成或更新配置文件。如果你的Ubuntu系统是在云环境中创建的,或者安装了与cloud - init
相关的工具来进行系统初始化,那么50 - cloud - init.yaml
文件就可能会被cloud - init
自动更新。
解决方案
- 方法一:禁用
cloud - init
的网络配置功能- 根据文件中的注释,可以通过创建一个新的配置文件
/etc/cloud/cloud.cfg.d/99 - disable - network - config.cfg
来禁用cloud - init
的网络配置功能。 - 在这个新文件中添加以下内容:
- 根据文件中的注释,可以通过创建一个新的配置文件
network: {config: disabled}
这样,cloud - init
在启动时就不会再自动更新网络配置文件了,就可以手动修改50 - cloud - init.yaml
文件并且使配置在重启后生效。
- 方法二:修改
cloud - init
的数据源(如果适用)- 如果希望
cloud - init
继续管理其他配置,但只想修改网络配置部分并使其持久化,可能需要修改cloud - init
所使用的数据源。不过这通常比较复杂,并且依赖于系统是如何部署和配置的(例如在不同的云平台上,数据源的修改方式不同)。 - 一般来说,需要查看云平台的文档或者
cloud - init
的文档,了解如何将自定义的网络配置信息提供给cloud - init
,使其在生成网络配置文件时使用想要的设置,而不是覆盖原本的修改。
- 如果希望