Ubuntu相关系列
背景
又是一个熬夜的夜晚,凌晨2点半,新晋小备机工作站基本搞定了。 Yeah!
Ubuntu安装与初始化配置
安装
机械硬盘挂载
切换数据源为阿里云
1 | 备份source.list |
通过vi/vim修改sources.list
将原有的都注释了,把下面的数据源新增在文件末尾即可:
1 | deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse |
保存之后,记得:sudo apt-get update
更新数据源即可
首次登录设置root密码
打开终端,输入sudo passwd root,
在[sudo] password for wheat:后输入当前用户的密码当前用户密码验证通过后
输入需要设置的root超级管理员账户密码Enter new UNIX password:
验证输入的密码Retype new UNIX password:出现passwd: password updated successfully字样,表示超级管理员root账户密码设置成功
验证:输入su,后输入超级管理员账户的密码,验证通过则成功切换到root账户root
安装jdk并一键切换版本
首次运行下面命令,会显示下面的内容
1 | kemi@datacenter:~$ java -version |
提示你找不到java命令,需要安装。这里就是ubuntu仓库中各个版本的代号,按需安装即可。例如我默认安装的是jdk8,即:
1 | sudo apt install openjdk-8-jre-headless |
安装多个版本jdk
通过如下命令,可以查看当前安装的jdk版本
1 | kemi@middileware:~$ sudo dpkg -l | grep 'jdk\|jre' |
通过下述命令,可以切换不同版本的jdk
1 | kemi@middileware:~$ sudo update-alternatives --config java |
如上所示:我选择了2,则前面会有一个星号,代码当前默认的版本,再次通过java -version可以确认
配置JAVA_HOME
直接
1 | sudo vim /etc/environment |
配置好之后,记得刷新
1 | source /etc/environment |
卸载jdk
- 找到JDK包:
sudo dpkg -l | grep 'jdk\|jre' - 使用以下命令卸载这些包,将包名替换为你找到的实际包名:
1
sudo apt purge default-jdk default-jdk-headless default-jre default-jre-headless openjdk-21-jdk openjdk-21-jdk-headless openjdk-21-jre openjdk-21-jre-headless
- 卸载完成后,使用以下命令清除剩余的依赖项:
1
sudo apt autoremove --purge
- 从/etc/environment文件中删除包含JAVA_HOME变量的行,并保存文件。
碰到通过useradd之后的用户问题
执行su命令之后,使用的是dash而不是bash,如下所示:
1 | 结尾是sh |
设置常见时区
1 | 中国标准时间 |
为自定义添加的用户添加sudo权限
1 | 方法A:添加到 sudo 组(推荐) |
固定IP
直接修改netplan
1 | vim /etc/netplan/50-cloud-init.yaml |
修改成如下形式,ip按照你的实际来
1 | network: |
修改之后:netplan apply 生效
在通过如下命令检查配置是否生效:
1 | ip addr show |
安装mysql
在线安装
确认ubuntu系统版本
1 | kemi@datacenter:~$ lsb_release -a |
更新国内镜像源
不然 sudo apt update 可能会失败。
- 备份原来的镜像文件
1
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/ubuntu.sources.backup
- 编辑 /etc/apt/sources.list.d/ubuntu.sources 文件
1
sudo vim /etc/apt/sources.list.d/ubuntu.sources
- 替换镜像源后的内容
1
2
3
4
5
6
7
8
9
10
11
12Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg更新软件包
1
2
3
4
5
6更新本地的“软件包索引缓存”,获取镜像源地址中最新的软件版本
sudo apt update
更新升级 apt update 得到的新版本,更新安装这些新版本到我们的服务器上
sudo apt upgrade -y
手动添加官方 MySQL APT 源
官网地址:
https://dev.mysql.com/doc/refman/8.4/en/linux-installation-apt-repo.html
下载最新的apt配置包:
文件版本号直接在下面的网址中查看即可:
https://dev.mysql.com/downloads/repo/apt/1
wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb
安装 MySQL APT 配置包
1
sudo dpkg -i mysql-apt-config_0.8.36-1_all.deb
可以确认下面的安装内容,如果需要选择特定版本:
![apt配置页面]()
一般默认即可:
![选择指定版本]()
按上下键把光标移动到 OK,按回车保存退出。
更新 APT 缓存
1
sudo apt update
重新查询本地可以用的MySQL版本
1
2
3
4
5
6
7apt-cache madison mysql-server
kemi@datacenter:~$ apt-cache madison mysql-server
mysql-server | 8.4.8-1ubuntu24.04 | http://repo.mysql.com/apt/ubuntu noble/mysql-8.4-lts amd64 Packages
mysql-server | 8.0.44-0ubuntu0.24.04.2 | http://mirrors.aliyun.com/ubuntu noble-updates/main amd64 Packages
mysql-server | 8.0.44-0ubuntu0.24.04.1 | http://mirrors.aliyun.com/ubuntu noble-security/main amd64 Packages
mysql-server | 8.0.36-2ubuntu3 | http://mirrors.aliyun.com/ubuntu noble/main amd64 Packages
mysql-community | 8.4.8-1ubuntu24.04 | http://repo.mysql.com/apt/ubuntu noble/mysql-8.4-lts Sources
安装 MySQL Server
安装指定版本的mysql
1 | sudo apt install -y mysql-server=8.4.8-1ubuntu24.04 |
如下图所示,设置好root密码即可安装:
卸载MySQL
先查询mysql所有已安装的包
1
dpkg -l | grep mysql
如下图所示:
![所有安装版本]()
使用 sudo apt-get remove 命令,卸载掉上面查询到的所有安装的包
1
sudo apt-get remove --purge -y mysql-apt-config mysql-server mysql-client mysql-common mysql-community-server mysql-community-client mysql-community-client-core mysql-community-server-core mysql-community-client-plugins
删除配置文件和数据文件
1
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql /var/log/mysql.*
清理无用依赖和缓存
1
2sudo apt-get -y autoremove
sudo apt-get -y autoclean查询是否还有mysql的包
远程连接mysql
修改 mysqld.cnf 配置文件:
1 | sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf |
修改 bind-address 属性,属性不存在就添加在[mysqld]块中(如果只需要指定的 ip 访问,使用防火墙控制)
1 | bind-address = 0.0.0.0 |
重启服务后,通过如下命令连接mysql
1 | sudo mysql -u root -p |
创建指定用户并授权
1 | # 把username换成你所需的用户名即可 |
其它MySQL相关命令
查看 MySQL 服务状态:sudo systemctl status mysql
停止 MySQL 服务:sudo systemctl stop mysql
启动 MySQL 服务:sudo systemctl start mysql
重启 MySQL 服务:sudo systemctl restart mysql
查看 MySQL 的开机自启状态:systemctl is-enabled mysql ,enable:启用,disable:禁用
启动 MySQL 开机自启动:sudo systemctl enable mysql
禁用 MySQL 开机自启动:sudo systemctl disable mysql
系列话题
在ubuntu下编译openjdk
编译方法来自于《深入理解JAVA虚拟机 第三版》,详细请参考该书中第一章,1.6小节的相关说明
准备源码包
根据书中的说明,推荐直接通过网页下载,具体方法如下:
去链接https://hg.openjdk.java.net/jdk/jdk12/ 访问,点击左侧的Browse后,在下方有个zip压缩包,直接点击下载即可。如下图所示:


