跳至主要內容

ubuntu系统安装配置

wangdx大约 22 分钟

ubuntu

unbuntu-server 安装

详情
  • 1.语言选择 默认选择英文,避免后续麻烦

  • 2.常规配置提醒

  • 3.键盘布局配置,默认

  • 4.UBuntu 本身是一个系统,但是只有存在了操作系统,才可以构建各种组件,如果现在选择完整版(默认),那么除了会进行系统的安装之外,也会进行一些额外的组件配置,而如果现在选择的是最小化,本身不具备任何的软件工具, 仅仅是一个操作系统,甚至你使用一个记事本之前也都进行手工安装。

  • 5.随后要进行网络环境的配置,都选择默认环境。
    1. 如果你现在的系统里面需要进行一些代理服务的配置,则需要在此处进行填写。
    1. 配置 UBuntu 仓库镜像源(后期肯定要修改其他镜像)
    1. 配置当前要使用的磁盘,本地现在只配置了一块 100G 磁盘。
    1. 随后要询问采用的存储的配置。
    1. 在进行系统安装的时候,要配置一个管理员的账户,本次的账户的名称为 yix,密码为 root

此时仅仅是配置了里面的一个普通的账户信息,但是这个账户在每次使用的时候都要加上 sudo 前缀,不方便,所以本次的配置仅仅是为了可以进行系统登录:

    1. 随后会询问安装时是否要进行 OpenSSH 服务的安装,为了以后的远程管理方便,本次选择安装。
    1. 询问是否要进行一些额外的服务的配置,一般都可以通过手工的方式进行部署。

ubuntu root 配置

##### 字体设置
sudo dpkg-reconfigure console-setup
##### 用户设置
sudo passwd root
##### 注销当前用户
logout

ssh 配置

#获取系统配置
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

#1.如果要想使用 SSH 前端工具进行服务的配置,那么首先一定要知道服务器的 IP 地址:
#当前给定的 IPV4 的地址内容为:192.168.16.8,所以后续要通过 SSH 工具连接此操作即可
ip addr
#2. 如果要想使用 SSH 客户端连接,那么一定要保证 UBuntu 系统里面安装了 OpenSSH 工具,
#这个工具已经随着最初的系统安装自动配置上了,可以查看一下端口的占用情况:
apt-get install openssh-server
apt-get -y install openssh-server
ps -ef l grep ssh

#3.Linux 系统里面 root 为最高的用户权限,所以在配置的时候 OpenSSH 不允许 Root 账户访问,于是打开 SSH 工具的配置文件,并进行修改。
vim /etc/ssh/sshd_config

PermitRootLogin yes
#4. 此时修改了 SSH 配置项之后,还需要对服务进行重新启动:
##### 重启ssh
/etc/init.d/ssh stop
/etc/init.d/ssh start
ps -ef|grep sshd
#5.【MobaXTerm 工具】在实际的工作之中肯定要使用到前端工具,而像常用的 XShell 工具属于收费,
#如果是土豪级的公司可以购买授权,如果是普通的公司或者个人不建议进行“国产版本的处理了”,本次使用一个可以免费用的 SSH 工具,

#6.【MobaXTerm 工具】那么随后使用该工具观察一下当前的系统版本信息

详情

配置使用环境

虽然现在的 Linux 系统是安装完成了,但是在实际的使用环节之中有可能也会存在一系列的其他需要,例如:在后期讲解各种课程的时候需要进行 ℃ 语言编译环境搭建,或者还需要进行一些外的工具包下载,那么如果此时全部的下载都是通过 UBuntu 官方仓库进行下载,那么速度有可能不如人意。 http://cn.archive.ubuntu.com/ubuntu jammy/main 实际上我个人觉得如果速度还可以接收的话,其实没有必要进行国内仓库源的更换(但是很多人都认为需要更换),之所以会存在有速度问题,主要是伟大的防火墙的原因,这个时候的常规的做法就是在国内使用国内镜像源。

#1.【UBuntu 系统】查看当前的镜像源列表:

root@yix:~# more /etc/apt/sources.list

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu jammy main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu jammy main restricted
....


#2.【UBuntu 系统】在配置其他的国内镜像源之前一般都需要保存当前已有的下载源信息
cp /etc/apt/sources.list /etc/apt/sources.list.bak
#3.【UBuntu 系统】对于国内的镜像源推选两个,一个是清华镜像源,
#另外一个就是阿里云的镜像(没有这么快,但是有一个好处,阿里云的镜像源可以被外网访问)
sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb 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 multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF"
#4. 【UBuntu 系统】当镜像配置完成之后,往往都需要进行系统的更新
apt update && apt upgrade -y && apt dist-upgrade -y && apt full-upgrade -y && apt autoremove -y

#6.【UBuntu 系统】进行一些系统基础工具包的安装,这些工具包会直接影响到后续系统服务配置的环节。
apt-get -y install make g++ gcc libpcre3 libpcrecpp* libpcre3-dev libssl-dev autoconf automake libtool libncurses5-dev libaio.dev iputils-ping net-tools libncurses5 tree zlib1g zlib1g-dev libnl-genl-3-dev libnl-route-3-dev unzip zip

每个人对于 linux 配置都有不同的习惯,所以考虑到大家的常规使用,将本系列图书里面的基础环境以及开发包配置完成.

国内镜像地址集

阿里云镜像
sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb 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 multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF"

中科大镜像
sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
EOF"

清华大学镜像
sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
EOF"

配置系统时区时间

电脑上使用虚拟机安装 UBuntu 系统,最重要的一点是可以轻松的实现服务集群的搭建,各种的集群服务都能够直接在虚拟机下进行配置。所以为了保证集群服务的正确性,那么首先就一定要有统一的时区和时间。

# 1. 【UBuntu 系统】必须保证当前的时区统一性,进行时区的配置。
root@yix:~# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa                                                            7) Europe
。。。
#? 4
Please select a country whose clocks agree with yours.
 1) Afghanistan              15) French S. Terr.          29) Kyrgyzstan               43) Russia
 2) Antarctica               16) Georgia                  30) Laos                     44) Saudi Arabia
 3) Armenia                  17) Hong Kong                31) Lebanon                  45) Seychelles
。。。
#? 10
Please select one of the following timezones.
1) Beijing Time
2) Xinjiang Time
#? 1
Therefore TZ='Asia/Shanghai' will be used.
Selected time is now:   Mon Jan 29 08:39:18 CST 2024.
Universal Time is now:  Mon Jan 29 00:39:18 UTC 2024.
Is the above information OK?
1) Yes
2) No
#? 1

。。。
#2.【UBuntu 系统】为了防止后续的还原问题,所以将时区文件复制到本地的时间文件夹之中。
cp /usr/share/zoneinfo/Asia//Shanghai /etc/localtime
#3.【UBuntu 系统】查看当前的系统日期
date
#4.【UBuntu 系统】如果说此时给出的日期时间不正确或者有偏差,那么可以与一个具体的时间服务器进行同步处理,
#则此时首先要在系统之中安装 NTP 组件
apt-get -y install ntp ntpdate
#5.【UBuntu 系统】如果要进行时间同步则需要指定时间服务器,本次还是使用阿里云的时间服务器进行配置同步。
ntpdate -u ntp1.aliyun.com

29 Jan 08:46:19 ntpdate[48214]: adjust time server 120.25.115.20 offset +0.004164 sec

#6.【UBuntu 系统】将当前的日期时间写入到系统硬件之中
hwclock --systohc

时间同步地址

ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com

配置静态 Ip

当前的虚拟机所使用的是 NAT 网络模式,其实本质上就相当于是一个 DHCP 服务,可以自动的进行 IP 地址的分配,但是此时会存在有一个问题,如果说在进行集群服务搭建的时候,会因为不同的虚拟机的 IP 一样,而自动的进行 IP 地址的修改,而一旦修改了,对于后面的集群配置就非常不利了。

对于现在的 UBuntu 系统来讲,本身支持有 IPV4 和 IPV6 两个服务地址。

#1、【UBuntu 系统】首先查看一下当前的网络地址信息 ifconfig
ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.16.8  netmask 255.255.255.0  broadcast 192.168.16.255
        inet6 fe80::20c:29ff:fe83:1cc0  prefixlen 64  scopeid 0x20<link>
。。。
#2、【UBuntu 系统】打开 UBuntu 之中的网卡配置文件
vim /etc/netplan/00-installer-config.yaml

network: # 网络配置
  ethernets: # 以太网配置
    ens33: # 网卡编号
      dhcp4: false # 不使用DHCP进行IPV4的配置
      dhcp6: false # 不使用DHCP进行IPV6的配置
      addresses:
        - 192.168.16.8/24
        - fe80::20c:29ff:fe92:a2f5/64
      routes:
        - to: default
          via: 192.168.16.2 #网关地址
      nameservers:
        addresses: [223.5.5.5, 180.76.76.76, 114.114.114.114, 8.8.8.8]
  version: 2
  renderer: networkd

#3.【UBuntu 系统】配置的重新启用
chmod 600 /etc/netplan/00-installer-config.yaml
apt install openvswitch-switch -y
systemctl start ovsdb-server
systemctl enable ovsdb-server
netplan apply
#4.【UBuntu 系统】做一个网络的检测,看能否与 URL 地址进行互相访问:

##虚拟机启动时间2min
vim /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
#然后在 [service] 后添加一行

TimeoutStartSec=2sec

扩展数据存储

在一个主机里面一般都会分为系统盘与数据盘,系统盘主要是进行系统的构建,而数据盘主要是进行数据信息的存储,当前的主机里面仅仅只存在有系统盘,所以为了后续的扩展方便,将在此处通过虚拟机的方式配置一个数据盘。

#1.【VMWare 虚拟机】编辑当前虚拟机的硬件配置,添加一块 40G 的硬盘;

#2【UBuntu 系统】首先需要确认当前的硬盘已经加入到了主机之中,输入:
fdisk -l

...
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
...
#3. 【UBuntu 系统】为新挂载的“/dev/sdb”磁盘进行分区处理
## 创建新分区Created a new DOS disklabel with disk identifier 0x44281d76.
n
##分区类型Partition type
p
##分区数量
1
##数据块
enter
##分区配置写入
wq
#4. 查看系统盘
fdisk -l
fdisk /dev/sdb
#5 【UBuntu 系统】对当前给定的分区进行磁盘格式化

mkfs.ext3 /dev/sdb1
#6.【UBuntu 系统】现在已经有了一个正常使用的磁盘,随后在系统之中添加分区信息
#以后如果要访问此磁盘使用的路径为“/mnt”",这个路径就代表了数据盘。
echo '/dev/sdb1 /mnt ext3 defaults 0 0'>>/etc/fstab
#7、【UBuntu 系统】挂载新分区
mount -a
#8.【UBuntu 系统】查看当前磁盘信息
df -lh
#此时已经发现了当前新出现的磁盘分区,后续的所有服务的数据存储都在此分区之中。
详情
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x44281d76.
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039):
Created a new partition 1 of type 'Linux' and of size 20 GiB.
Command (m for help): wq
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
fdisk -l

Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x44281d76

Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 41943039 41940992  20G 83 Linux

系统防火墙

Linux 系统服务肯定是运行在网络上,而后对于网络之中肯定要不断考虑到各类安全的威胁,如果你要是很土豪的服务商肯定要使用各种硬件防火墙,同时还需要精通网络安全技术(这是一种学科,咱们不可能面面具到)

现阶段只要公布的服务一旦启动了外部就可以正常进行访问,但是如果说考虑到安全应该添加一些防火墙的服务规则,所以这个时候就需要进行额外的组件配置

#1、【UBuntu 系统】安装防火墙组件
apt-get -y install firewalld
#2、【UBuntu 系统】为了系统的安全应该将防火墙的组件设置为自启动的状态,只要服务器运行了,防火墙也要随之同步运行。
systemctl enable firewalld.service
#不自启动
systemctl diabled firewalld.service
#3、【UBuntu 系统】增加 FTP 服务的访问配置
firewall-cmd --zone=public --add-service=ftp --permanent
#4、【UBuntu 系统】此时的新规则虽然配置了但是却依然无法正常使用,所以要重新加载防火墙的配置。
firewall-cmd --reload
#5.【UBuntu 系统】如果此时发现 FTP 协议访问不再需要,也可以进行配置删除:
firewall-cmd --zone=public --remove-service=ftp --permanent

只要是你在线上使用的 Linux 系统,都建议添加上这样的防火墙规则,如果是云服务器的话,一般都会在控制台上提供专属 的端口配置,只要放开了某些端口才允许客户端进行访问。

JDK 安装配置

如果要进行 Java 系统开发以及环境部署,肯定都需要 JDK 支持,如果说现在是在 UBuntu 系统之中可以直接通过 apt-get 命令进行 JDK 自动下载与安装,但是这里面会存在有一个小的问题。

可以发现 UBuntu 所提供的 JDK 都属于 OpenJDK 版本,如果说你现在的开发体系里面是基于了 Oracle 的 JDK 那么就需要手工进行配置了,如果要进行 JDK 的配置肯定首先要选择一个 LTS 版本,截止到我们现在所讲解的课程,最有用处的 LTS 版本为 JDK-17(下一个版本为“JDK-21")。将 Linux 版本的 JDK 通过 FTP 上传到系统之中,此时组件的完整路径:

#源查询 下载 jdk通过ftp上传文件
apt-cache search openjdk
#查看ftp目录
ll /srv/ftp/
#创建jdk
mkdir /usr/local/jdk
#解压文件
tar xzvf /srv/ftp/jdk-17 linux-x64 bin.tar.gz -C /usr/local/jdk
#更改名称
mv /usr/local/jdk-17/ /usr/local/jdk/jdk17
# 修改一下 profiles 配置文件
vim /etc/profile

....
#java enviroment
export JAVA_HOME=/usr/local/jdk/jdk17
#export JAVA_HOME=/usr/local/jdk/jdk21
#export JAVA_HOME=/usr/local/jdk/jdk8

#切换jdk修改下面配置
#jdk17
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib
#jdk8
#export JRE_HOME=.:$JAVA_HOME/jre
#export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
#export PATH=$PATH:$JAVA_HOME/bin
...

source /etc/profile
#检测是否配置成功
java -version

多版本

  • 修改配置文件
  • 直接覆盖当前文件目录

tomcat 安装和配置

#1.【UBuntu 系统】进入到“/srv/ftp”目录:
cd /srv/ftp
#2、 【UBuntu 系统】下载 Tomcat 服务组件:
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.18/bin/apache-tomcat-10.1.18.tar.gz
#3.【UBuntu 系统】下载得到的 Tomcat 是一个压缩包程序文件,需要进行此压缩包的解压缩。
tar xzvf apache-tomcat-10.0.27.targz -C /usr/local/
#4.【UBuntu 系统】为解压缩后的 Tomcat 目录进行更名处理:
mv /usr/local/apache-tomcat-10.1.18/ /usr/local/tomcat10
#【UBuntu 系统】Tomcat 本身需要JDK的支持,修改Tomcat 配置文件,追加JDK相关的参数
vim /usr/local/tomcat10/bin/catalina.sh
#配置 JDK 路径:JAVA_HOME=/usr/local/jdk
#配置 JVM 参数:JAVA_OPS='-Xmx2g -Xms2g'

JAVA_HOME=/usr/local/jdk/jdk17
JAVA_OPS='-Xmx2g -Xms2g'

#【UBuntu 系统】修改 Tomcat 服务端口:
vim /usr/local/tomcat10/conf/server.xml
#启动tomcat
/usr/local/tomcat/bin/catalina.sh start
#关闭tomcat
/usr/local/tomcat/bin/catalina.sh stop

netstat -nptl

#10、【UBuntu 系统】此时的 Tomcat 服务还无法被外部所访问,需要添加防火墙的配置规则,开放 80 端口。
firewall-cmd --zone=public --add-port=80/tcp --permanent

#11、【UBuntu 系统】重新加载防火墙规则
firewall-cmd --reload
#13、(UBuntu 系统】此时的 Tomcat都是通过命令方式进行配置管理的,如果一旦服务器重新启动之后,进程必须手工进行恢复
#这样的做法实在是太痛苦了,所以可以考虑为Tomcat 添加进系统服务
vim /etc/systemd/system/tomcat.service

#13、【UBuntu 系统】重新加载系统控制单元:
systemctl daemon-reload

systemctl enable --now tomcat
#重新加载服务单元
systemctl daemon-reload
#启动Tomcat服务:
systemctl enable--now tomcat
#服务控制命令:
#启动Tomcat服务:
systemctl start tomcat
#关闭Tomcat服务:
systemctl stop tomcat
#重启Tomcat服务:
systemctl restart tomcat
#查看Tomcat状态:
systemctl status tomcat
#开启Tomcat自启动:
systemctl enable tomcat.service
#关闭Tomcat自启动:
systemctl disable tomcat.service

tomcat.service

[Unit]
Description=yix Tomcat 10 servlet container
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk"
Environment="CATALINA_BASE=/usr/local/tomcat10"
Environment="CATALINA_HOME=/usr/local/tomcat10"
Environment="CATALINA_PID=/usr/local/tomcat10/tomcat.pid"
Environment="CATALINA_OPTS=-Xms2G -Xmx2G -server"
ExecStart=/usr/local/tomcat10/bin/catalina.sh start
ExecStop=/usr/local/tomcat10/bin/catalina.sh stop
[Install]
WantedBy=multi-user.target

mysql 安装和配置

#【本地系统】将 MySQL开发包上传到 Linux 系统之中,保存路径“/srv/ftp”,此时的完整路径:
/srv/ftp/mysq1-8.0.30-linux-glibc2.12-x86 64.tar.xz
#2【UBuntu 系统】当前的 MySQL 采用的是 XZ 压缩包的形式保存的,所以首先需要进行解压缩处理,解压缩为 tar 文件。
#程序执行结果:得到“mysql-8.0.36-linux-glibc2.28-x86_64.tar”文件
xz -d mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
#【UBuntu 系统】将 mysql-8.0.36-linux-glibc2.28-x86_64.tar 文件解压缩到“/usr/local”目录之中:
tar xvf /srv/ftp/mysql-8.0.30-linux-glibc2.12-x86 64.tar -C /usr/local/
#【UBuntu 系统】为了后续的配置方便进行目录更名处理:
mv /usr/local/mysql-8.0.30-linux-glibc2.12-x86/ /usr/local/mysql
#【UBuntu 系统】如果要想在系统中使用 MySQL数据库,需要创建一个名称为 mysql 的用户组。
groupadd mysql
#【UBuntu 系统】在“mysql”用户组里面创建“mysql”用户。
useradd -r -g mysql -s /bin/false mysql
#【UBuntu 系统】设置 mysql用户组下的 mysql 用户对目录的所有权:
chown -R mysql:mysql ./
#【UBuntu 系统】MySQL里面是需要提供有数据目录的,而这个数据目录建议放在“/mnt”(数据盘)
mkdir -p /mnt/data/mysql/{db,logs}
#【UBuntu 系统】查看 MySQL数据目录结构
tree /mnt/data/
#10、【UBuntu 系统】对 MySQL的数据目录进行授权
chmod -R 777 /mnt/data/mysql/
#10、my.cnf配置文件
vim /etc/my.cnf
#12、【UBuntu 系统】进行 MySQL数据库的安装
/usr/local/mysql/bin/mysqld --user=mysql --initialize --console

[Server] A temporary password is generated for root@localhost: U=-;u6stZ%.h
[Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
#13、【UBuntu 系统】考虑到后续的处理方便,执行几条基本命令
#MySQL 授权:
chmod -R 777 /usr/local/mysql/
#创建日志文件:
echo "">/mnt/data/mysql/logs/mysql.log
#创建进程标记:
echo "">/mnt/data/mysql/mysql.pid
#日志文件授权:
chown -R mysql:mysql /mnt/data/mysql/logs/mysql.log
#14、【UBuntu 系统】以后台服务的方式,启动 MySQL服务进程:
/usr/local/mysql/bin/mysqld_safe --user=root > /dev/null 2>&1 &

119003

#15、【UBuntu 系统】查看当前的 MySQL 进程端口占用情况:
netstat -nptl
#16、【UBuntu 系统】在防火墙中配置 3306 访问规则:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

#17、【UBuntu 系统】为了后续的访问方便,将密码进行修改,首先使用 MySQL客户端进行服务登录:
/usr/local/mysql/bin/mysql -uroot -p'U=-;u6stZ%.h'

#18、【MySQL客户端】此时的 root 账户密码不是自己的,所以需要修改为“root”
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
程序执行结果:
Query OK,0 rows affected (0.01 sec)
#19、【MySQL客户端】此时的 root 账户只能够在本地登录,无法在远程登录,所以需要做一个权限的配置。
#切换数据库:
USE mysql;
#设置远程访问:
UPDATE user SET user.host='%' WHERE user.User='root';
#配置立即生效:
FLUSH PRIVILEGES;
#21、【UBuntu 系统】为了保证数据的安全性,可以为 MySQL的数据目录进行加密处理:
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/mnt/data/mysql/db
#22、【UBuntu 系统】此时的 MySQL 已经配置成功了,但是这样的服务启动过于繁琐了,所以可以考虑将其加入到系统服务之中幸运的是,
#MySQL内部提供了这样的配置支持,直接做出拷贝即可。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#22、【UBuntu 系统】打开 mysqld 系统服务配置文件:
vim /etc/init.d/mysqld

...start
$bindir/mysqld_safe --user=root --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
...
#23、【UBuntu 系统】重新加载系统的控制单元:
systemctl daemon-reload

#服务启动
service mysqld start
#服务停止
service mysqld start
#服务重启
service mysqld restart
#服务状态
service mysqld status
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mmysql数据库的数据的存放目录
datadir=/mnt/data/mysql/db
# 设置进程编号文件保存路径
pid-file=/mnt/data/mysql/mysql.pid
# mysqlsock存储目录
socket=/mnt/data/mysql/db/mysql.sock
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用"mysql_native_password"播件认证
authentication_policy=mysql_native_password
# 设置MySQL数据库时区
default-time_zone ='+8:00'
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
# mysqlsock存储目录
socket=/mnt/data/mysql/db/mysql.sock
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
[mysqld_safe]
log-error=/mnt/data/mysql/logs/mysql.log
pid-file=/mnt/data/mysql/mysql.pid
# mysqlsock存储目录
socket=/mnt/data/mysql/db/mysql.sock

依赖包和工具安装

##### vim下载
apt-get -y install vim
##### 用户设置
##### 注销当前用户

Ubuntu20.04 查看开机自启动及其设置开机自启(设置 rc.local)

Ubuntu systemctl 查看系统启动项

#列出所有启动项
sudo systemctl list-unit-files

#vendor preset:表示服务默认的启动状态
#STATE:表示服务当前的启动状态,有以下几种情况:

#启动状态	含义
#inactive	服务关闭
#disable	服务开机不启动
#enabled	服务开机启动
#static	服务开机启动项被管理
#failed	服务配置错误

#使用grep过滤一下开启的grep enabled
sudo systemctl list-unit-files | grep enabled
#查看.service文件的路径,及内容
sudo systemctl status docker.service
#禁用开机启动:
sudo systemctl disable nginx.service
#停止已经开启的服务:
sudo systemctl stop nginx.service

开机自动启动脚本设置

#由于ubuntu20.04LST没有/etc/rc.local,需要创建一个rc.local的可执行文件
sudo vim /etc/rc.local

#!/bin/sh -e
cmd
exit 0

#如果脚本内的cmd需要sudo权限执行,则命令格式为
echo 'passward' |sudo -S cmd
#给脚本赋权限
sudo chmod +x /etc/rc.local
#完成脚本编写后需要启动rc.local.service,命令如下
sudo vim /lib/systemd/system/rc-local.service
#做完这一步,还需要最后一步 前面我们说 systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/

[Unit]:服务的说明
Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置
Type=forking            是后台运行的形式
ExecStart               为服务的具体运行命令
ExecReload              为服务的重启命令
ExecStop                为服务的停止命令
PrivateTmp=True         表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

在文件下面添加如下内容,并且修改ExecStart

[Service]
ExecStart=/etc/rc.local start
[Install]
WantedBy=multi-user.target
Alias=rc-local.service

然后把你需要启动脚本写入 /etc/rc.local ,我们不妨写一些测试的脚本放在里面,以便验证脚本是否生效.

#!/bin/sh -e
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0

执行

systemctl enable rc-local
systemctl start rc-local.service  #启动服务
systemctl stop rc-local.service  #暂停服务
systemctl status rc-local.service #查看状态
systemctl daemon-reload # 重新加载自启服务

已有磁盘创建新磁盘

以下是 lvcreate 命令中最常用的几个选项:

-L:后面跟逻辑卷的大小。例如,-L 10G 表示创建一个大小为 10GB 的逻辑卷。

-n:后面跟逻辑卷的名称。例如,-n myVolume 表示创建名为 myVolume 的逻辑卷。

https://blog.csdn.net/u014237598/article/details/83026286

# 以下是一个lvcreate命令的实例,它在名为vg01的卷组中创建了一个大小为10GB、名为lv01的逻辑卷:
lvcreate -n minio -L 2G ubuntu-vg
#格式化
mkfs.ext4 /dev/ubuntu-vg/minio
#磁盘定义
echo /dev/ubuntu-vg/minio /mnt/data/minio/data/ ext4 defaults 0 0 >> /etc/fstab
#创建文件
mkdir -p /mnt/data/minio/data
#逻辑卷挂在
mount -a

笔记本关闭盖子不休眠

https://blog.csdn.net/qq_31635851/article/details/124627990

/etc/systemd/logind.conf HandlePowerKey: 按下电源键后的行为,默认 power off HandleSleepKey: 按下挂起键后的行为,默认 suspend HandleHibernateKey: 按下休眠键后的行为,默认 hibernate HandleLidSwitch: 合上笔记本盖后的行为,默认 suspend

service systemd-logind restart

开机等待长

cd /etc/systemd/system/network-online.target.wants/

vim systemd-networkd-wait-online.service
#在[Service]下添加 TimeoutStartSec=2sec,(设置超时时间为2秒)如下:
TimeoutStartSec=2sec

命名


root@wyix-vm8:~# hostnamectl set-hostname wyix-k8s
root@wyix-vm8:~# bash

问题汇总

解决 Linux 下编译.sh 文件报错 “: unexpected operator”open in new window

sudo dpkg-reconfigure dash
#选择no 即可!

ubuntu 系统更改 crontab 的默认编辑器open in new window

Ubuntu 查看 crontab 运行日志open in new window

上次编辑于: