[toc]

Arch Linux 基础安装

本节从安装最基础的无图形化 ArchLinux 系统开始。官方安装指南

1.禁用 reflector

2020 年新版 archliveiso 加入了 reflector 服务,它会自己更新 mirrorlist。在特定情况下,它会误删某些有用的源信息。这里启动后的第一件事就是将其禁用。也许它是一个好用的工具,但是很明显,它并不适合在安装的时候面向新手启用,尤其在中国。

1
systemctl stop reflector.service

2.再次确保是否为 UEFI 模式

在一系列的信息刷屏后,可以看到已经以 root 登陆安装系统了,此时可以执行的命令:

1
ls /sys/firmware/efi/efivars

若输出了一堆东西,即 efi 变量,则说明已在 UEFI 模式。否则请确认你的启动方式是否为 UEFI。

3.连接网络

无线连接:

无线连接使用 iwctl 进行:

1
2
3
4
5
6
iwctl                           #进入交互式命令行
device list #列出设备名,比如无线网卡看到叫 wlan0
station wlan0 scan #扫描网络
station wlan0 get-networks #列出网络 比如想连接CMCC-5AQ7这个无线
station wlan0 connect CMCC-5AQ7 #进行连接 输入密码即可
exit #成功后exit退出

有线连接

正常来说,只要插上一个已经联网的路由器分出的网线(DHCP),直接就能联网。

可以等待几秒等网络建立链接后再进行下步测试网络的操作。

4.测试网络

1
ping www.gnu.org

稍等片刻,若能看到数据返回,即说明已经联网,ctrl+c 终止退出当前命令。如果还是无法连接,使用 ip link set xxx up 命令确认你已经激活了对应的网卡,再重新继续网络链接与测试。若看到类似Operation not possible due to RF-kill的报错,继续尝试rfkill unblock wifi来解锁无线网卡。[1]

5.更新系统时钟

1
2
timedatectl set-ntp true    #将系统时间与网络时间进行同步
timedatectl status #检查服务状态

6.更换国内镜像源加快下载速度

1
vim /etc/pacman.d/mirrorlist    #不会vim的同学,此处注意视频中的vim操作步骤

放在最上面的是会使用的更新源,把中科大 ustc 的或者清华的放在最上面。

7.分区

这里总共设置三个分区,可以满足绝大多数人的需求。此步骤会清除磁盘中全部内容,请事先确认。

  • EFI 分区: /efi 800M
  • 根目录: / 100G
  • 用户主目录: /home 剩余全部 越大越好

这里根目录的大小仅为参考,一般来说个人日常使用的 linux 分配 100G 已经够用了。根目录最小建议不小于 50G,根目录过小会造成无法更新系统软件包等问题。

首先将磁盘转换为 gpt 类型

1
2
3
4
5
lsblk                       #显示分区情况
parted /dev/sdx #执行parted,进行磁盘类型变更
(parted)mktable #输入mktable
New disk label type? gpt #输入gpt 将磁盘类型转换为gpt 如磁盘有数据会警告,输入yes即可
quit #最后quit退出parted命令行交互

接下来使用 cfdisk 命令对磁盘分区

1
2
cfdisk /dev/sdx #来执行分区操作,分配各个分区大小,类型
fdisk -l #复查磁盘情况

cfdisk 分区的详细操作见视频中的操作。一般建议将 EFI 分区设置为磁盘的第一个分区,据说有些主板如果不将 EFI 设置为第一个分区,可能有不兼容的问题。

8.格式化

这里的 sdax 只是例子,具体根据你的实际情况来,请注意视频中的操作。

1
2
3
#磁盘若有数据会问 'proceed any way?' y回车 即可
mkfs.ext4 /dev/sdax #格式化根目录和home目录的两个分区
mkfs.vfat /dev/sdax #格式化efi分区

9.挂载

在挂载时,挂载是有顺序的,需要从根目录开始挂载
这里的 sdax 只是例子,具体根据你的实际情况来,请注意视频中的操作。

1
2
3
4
5
mount /dev/sdax  /mnt
mkdir /mnt/home
mount /dev/sdax /mnt/home
mkdir /mnt/efi
mount /dev/sdax /mnt/efi

10.安装系统基础包

1
pacstrap /mnt base base-devel linux linux-firmware  #base-devel在AUR包的安装是必须的

功能性软件

1
pacstrap /mnt dhcpcd iwd vim sudo bash-completion   #一个有线所需 一个无线所需 一个编辑器  一个提权工具 一个补全工具 iwd也需要dhcpcd

11.生成 fstab 文件

fstab 用来定义磁盘分区

1
genfstab -U /mnt >> /mnt/etc/fstab

复查一下 /mnt/etc/fstab 确保没有错误

1
cat /mnt/etc/fstab

12.change root

把环境切换到新系统的/mnt 下

1
arch-chroot /mnt

13.设置主机名与时区

首先在/etc/hostname设置主机名

1
vim /etc/hostname

加入你想为主机取的主机名,这里比如叫 myarch。

接下来在/etc/hosts设置与其匹配的条目。

1
vim /etc/hosts

加入如下内容

1
2
3
127.0.0.1   localhost
::1 localhost
127.0.1.1 myarch.localdomain myarch

某些情况下如不设置主机名,在 KDE 下可能会存在网络情况变更时无法启动 GUI 应用的问题,在终端中出现形如No protocol specified qt.qpa.xcb: could not connect to display的错误,这种情况较为少见。相关参考链接:[1],[2]


随后设置时区,在/etc/localtime 下用/usr 中合适的时区创建符号连接。

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

14.硬件时间设置

将系统时间同步到硬件时间

1
hwclock --systohc

15.设置 Locale

Locale 决定了软件使用的语言、书写习惯和字符集。

编辑 /etc/locale.gen,去掉 en_US.UTF-8 行以及 zh_CN.UTF-8 的注释符号(#)。

然后使用如下命令生成 locale。

1
locale-gen

向 /etc/locale.conf 输入内容

1
echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

16.为 root 用户设置密码

1
passwd root

17.安装微码

1
2
pacman -S intel-ucode   #Intel
pacman -S amd-ucode #AMD

18.安装引导程序

1
2
pacman -S grub efibootmgr   #grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB #取名为GRUB 并将grubx64.efi安装到之前的指定位置

接下来编辑/etc/default/grub 文件,去掉GRUB_CMDLINE_LINUX_DEFAULT一行中最后的 quiet 参数,同时把 log level 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错。同时加入 nowatchdog 参数,这可以显著提高开关机速度。不会 vim 的同学注意视频中的操作。

1
vim /etc/default/grub

最后生成 GRUB 所需的配置文件

1
grub-mkconfig -o /boot/grub/grub.cfg

在某些主板安装完成后,你会发现没有启动条目。这是因为某些主板的 UEFI 固件在显示 UEFI NVRAM 引导条目之前,需要在特定的位置存放可引导文件,不支持自定义存放 efi 文件(如微星 Z170-A Gaming PRO)。解决方案是在默认启动路径下安装 GRUB。重新插入安装优盘,挂载目录,chroot 到/mnt,然后你可以直接把已经生成好的 efi 文件移动到默认目录下,如下代码所示。只有安装完成后你的主板不出现启动条目才需要尝试如下命令,正常安装无需执行。官方参考文档

1
2
mkdir -p /efi/EFI/BOOT
mv /efi/EFI/GRUB/grubx64.efi /efi/EFI/BOOT/BOOTX64.EFI

19.完成安装

1
2
3
exit                # 退回安装环境#
umount -R /mnt # 卸载新分区
reboot # 重启

注意,重启前要先拔掉优盘,否则你重启后还是进安装程序而不是安装好的系统。重启后,开启 dhcp 服务,即可连接网络

1
2
systemctl start dhcpcd  #立即启动dhcp
ping www.gnu.org #测试网络连接

若为无线链接,则还需要启动 iwd 才可以使用 iwctl 连接网络

1
2
systemctl start iwd #立即启动iwd
iwctl #和之前的方式一样,连接无线网络

到此为止,一个基础的,无 UI 界面的 Arch Linux 已经安装完成了。紧接着下一节,我们来安装图形界面。

archlinux 在 2021 年 4 月在安装镜像中内置了一个安装脚本,其就是类似一个一键安装脚本,提供一些选项,即可快速安装。其和所有一键安装脚本类似,提供自动化,且不灵活的安装过程。缺陷为:只提供有限的文件系统格式、只可限定在一个磁盘、不能指定源、只提供有限的桌面选择、自动分区不可手动干预、输入错误直接崩溃退出、仅支持 UEFI 等。不建议使用这种安装脚本,除了以上各种原因,初学者也无法在这种安装过程中学到任何东西。如果你因为任何原因需要快速启动一个基础的 archlinux 环境,那么可以尝试此脚本。

桌面环境与常用应用

官方文档: 安装后的工作
本节只介绍最基本的,能使系统真正意义上可用所需的组件
相关视频链接: 安装 KDE 与常用软件 视频文字结合效果更好
注: 文档中带有 AUR 角标的软件代表是用户自行打包的第三方软件AUR,不在 Arch 官方支持范围内,可能会出现更新不及时、无法安装、使用出错等各种问题。如果不是实在没有官方支持的同类软件,则不建议使用。

1.确保系统为最新

如果你在做完上一节的内容后,重启并放置过一段时间,那需要先按照上节末尾处的方式重新连接网络,然后更新系统。

1
pacman -Syyu    #升级系统中全部包

2.准备非 root 用户

添加用户,比如新增加的用户叫 testuser

1
useradd -m -G wheel -s /bin/bash testuser  #wheel附加组可sudo进行提权 -m同时创建用户家目录

设置新用户 testuser 的密码

1
passwd testuser

编辑 sudo 文件

1
EDITOR=vim visudo

找到这样的一行,把前面的注释符号#去掉,:wq保存并退出即可。

1
#%wheel ALL=(ALL) ALL

这里稍微解释一下 %wheel 代表是 wheel 组,百分号是前缀
ALL= 代表在所有主机上都生效(如果把同样的sudoers文件下发到了多个主机上)
(ALL) 代表可以成为任意目标用户
ALL 代表可以执行任意命令
一个更详细的例子:

1
2
%mailadmin   snow,rain=(root) /usr/sbin/postfix, /usr/sbin/postsuper, /usr/bin/doveadm
nobody ALL=(root) NOPASSWD: /usr/sbin/rndc reload

组 mailadmin 可以作为 root 用户,执行一些邮件服务器控制命令。可以在 “snow” 和 “rain”这两台主机上执行
用户 nobody 可以以 root 用户执行rndc reload命令。可以在所有主机上执行。同时可以不输入密码。(正常来说 sudo 都是要求输入调用方的密码的)

3.安装 KDE Plasma 桌面环境

1
pacman -S plasma-meta konsole dolphin  #安装plasma-meta元软件包以及终端和文件管理器

4.配置 greeter sddm

1
systemctl enable sddm

5.设置交换文件 swap

在桌面环境中,交换分区或文件用来实现休眠(hibernate)的功能,即将当前环境保存在磁盘的交换文件或分区部分。除此之外,某些特定软件需要 swap 才可以正确运行。交换文件与分区性能相同,且交换文件更为灵活,可随时变更大小,增加与删除。[1]

1
2
3
4
dd if=/dev/zero of=/swapfile bs=1M count=16384 status=progress #创建16G的交换空间 大小根据需要自定
chmod 600 /swapfile #设置正确的权限
mkswap /swapfile #格式化swap文件
swapon /swapfile #启用swap文件

最后,向/etc/fstab 中追加如下内容:

1
/swapfile none swap defaults 0 0

KDE 自身提供开箱即用的睡眠功能(suspend),即将系统挂起到内存,消耗少量的电量。休眠(hibernate)会将系统挂起到交换分区或文件,几乎不消耗电量。sleep 睡眠功能已可满足绝大多数人的需求,如果你一定需要休眠功能,可以参考官方文档设置休眠相关步骤。

6.开启 32 位支持库与 ArchLinuxCN 支持库

1
vim /etc/pacman.conf

去掉[multilib]一节中两行的注释,来开启 32 位库支持。
在文档结尾处加入下面的文字,来开启 ArchLinuxCN 源。

1
2
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

上面服务器的地址是中科大的,也可用下面清华的。

1
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

此处为 archlinuxcn 全部仓库地址 可以根据自己实际情况另行选择。

最后:wq 保存退出,刷新 pacman 数据库

1
pacman -Syyu

重启电脑,即可看到欢迎界面,输入新用户的密码即可登录桌面

7.安装基础功能包

进入桌面后,搜索 konsole。它是 KDE 桌面环境默认的命令行终端。

首先先进行桌面环境中的网络设置:

1
2
3
sudo systemctl disable iwd                                                  #确保iwd开机处于关闭状态,其无线连接会与NetworkManager冲突
sudo systemctl stop iwd #同上,立即关闭iwd
sudo systemctl enable --now NetworkManager #确保先启动NetworkManager,并进行网络连接 若iwd已经与NetworkManager冲突 则执行完上一步重启一下电脑即可。

接下来安装一些基础功能包。

1
2
3
4
5
6
7
8
sudo pacman -S ntfs-3g                                                      #识别NTFS格式的硬盘
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei #安装几个开源中文字体 一般装上文泉驿就能解决大多wine应用中文方块的问题
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra #安装谷歌开源字体及表情
sudo pacman -S firefox chromium #安装常用的火狐、谷歌浏览器
sudo pacman -S ark #与dolphin同用右键解压 注意可同时安装可选解压支持项
sudo pacman -S packagekit-qt5 packagekit appstream-qt appstream #确保Discover(软件中心)可用 需重启
sudo pacman -S gwenview #图片查看器
sudo pacman -S steam #稍后看完显卡驱动再使用 专有软件

最后要安装 archlinuxcn 源的相关步骤。

1
2
sudo pacman -S archlinuxcn-keyring                                          #cn源中的签名(archlinuxcn-keyring在archLinuxCn)
sudo pacman -S yay #yay命令可以让用户安装AUR中的软件(yay在archLinuxCn)

若安装 archlinuxcn-keyring 时报错,是由于密钥环的问题,可先按照此链接执行其中的命令,再安装 archlinuxcn-keyring

8.设置系统为中文

打开 System Settings > Regional Settings > Language -> Add languages 中选择中文加入,再拖拽到第一位,Apply。

再将System Settings > Regional Settings > Formats 中的值设为中文-简体中文(zh_CN)

最后重新登陆即可。

很多人会错误的更改 System Settings > Regional Settings > Formats 中的值为中文蒙古(mn_CN),默认,或者其他值,这会导致系统中一半英文一般中文。这里的值要保持默认的 en_US 或 zh_CN,或者改为你在 locale.gen 中添加的任意一种语言。

9.安装输入法

Fcitx5 官方文档
中文及日文输入法均体验良好。

1
2
3
4
5
sudo pacman -S fcitx5-im #基础包组
sudo pacman -S fcitx5-chinese-addons #官方中文输入引擎
sudo pacman -S fcitx5-anthy #日文输入引擎
sudo pacman -S fcitx5-pinyin-moegirl #萌娘百科词库 二刺猿必备(ArchLinuxCn)
sudo pacman -S fcitx5-material-color #主题

设置环境变量 编辑文件 sudo vim /etc/environment 加入以下内容。konsole 以及 dophin 都需要这些环境变量,倒是 chrome 和 firefox 都不需要就可以输入中文

1
2
3
4
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx

打开 系统设置 > 区域设置 > _输入法_,先点击运行Fcitx即可,拼音为默认添加项。如你还需要更多输入法如五笔,则再点击添加输入法,找到简体中文下的五笔 ,点击添加即可加入五笔输入法。

接下来点击 拼音 右侧的配置按钮,点选云拼音在程序中显示预编辑文本 最后应用。

回到输入法设置,点击配置附加组件,找到 经典用户界面 在主题里选择一个你喜欢的颜色 最后应用。

注销,重新登陆,就可以发现已经可以在各个软件中输入中文了

10.配置系统默认编辑器

默认情况下,Arch Linux 在一些终端编辑场景使用 vi 编辑器,但是我们使用 vim。如果不做一个额外配置,在 git 等场景下,在终端调用编辑器会出错。编辑~/.bashrc 文件,加入如下内容,将 vim 设置为默认 EDITOR

1
export EDITOR='vim'

11.启动蓝牙(若有)

如果你有蓝牙设备,需要启用蓝牙服务。随后在系统设置中进行添加设备与连接即可。

1
sudo systemctl enable --now bluetooth

[toc]

一.MYSQL

1.MYSQL简介

​ MYSQL 是一种开源的关系型数据库产品,具有开放式的架构。MYSQL最初由瑞典MYSQL AB 公司研发,后被SUN 公司收购,最后被Oracle公司收购。

​ MYSQL 数据库是传统的关系型数据库,其开放式的架构使得用户有更多的选择。当下大多数互联网公司也比较热衷选择开源代码架构的产品。MYSQL 数据库在不断的更新和迭代发展,其功能也越来越强大,性能越爱越好,支持的平台越来越广。在实际工作中,MYSQL也是使用最多的是数据库。

2.MYSQL版本

​ MYSQL有众多版本,如下所示:

(1)Alpha版本:一般在软件开发公司内部运行,不对外公开。

(2)Beta版本:完成功能开发和所有测试工作后的产品,不会存在较大的功能或者性能Bug。

(3)PC版本:属于正式发布前的一个版本,也是最终测试版本,进一步收集Bug或者不足之处,然后进行修复和完善。

(4)GA版本:软件产品正式发布的版本,也是生产环境使用的版本。

3.MYSQL的安装方式

(1)常见的编译安装方式(适用于MYSQL 5.5前的版本)。

(2)二进制包安装的方式。

(3)RPM包的安装方式。

(4)Cmake方式安装(适用于MYSQL 5.5后的版本)。

二.MYSQL 的安装与部署(本次部署是在Centos8上面部署的,安装包和命令都是成功后的复制品,不存在失败)

1.MYSQL安装包的下载网站

1
https://downloads.mysql.com/archives/community/

在里面下载一个Linux的 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 二进制安装包

2.安装依赖包软件

1
[root@kejulin ~]# yum -y install zlib-devel gcc-c++ ncurses ncurses-devel libaio libaio-devel libncurses*

*3.用xshell上传 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz到服务器上*

1
[root@kejulin ~]# yum -y install lrzsz     #安装lrzsz 方便两设备上传下载东西

安装好 lrzsz 后即可时使用 rz 命令上传文件到服务器,使用 sz 命令下载文件到客户端

1
[root@kejulin ~]# rz

上传完成后可以用 ls 命令来看到 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 二进制安装包

4.安装MYSQL

1
2
3
4
5
[root@kejulin ~]# useradd mysql -s /sbin/nologin -M      #创建一个mysql的账号,并且定义它不能登录shell,-M参数:不要自动建立用户的主目录(意味这mysql这个用户没有家)
[root@kejulin ~]# mkdir -p /mysql/data #创建一个递归目录,-p参数:没有的目录自动创建
[root@kejulin ~]# chown -R mysql.mysql /mysql/ #递归更改目录的属主和属组为mysql,-R参数:递归地更改指定文件夹的所有权,但不更改链接指向目录
[root@kejulin ~]# tar zxf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ #指定解压 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 到/usr/local/ 目录下
[root@kejulin ~]# ln -s /usr/local/mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql #说真的。。。看到这个我tm笑死,建立软连接干嘛,怕那么点字母?
1
2
3
4
5
[root@kejulin mysql]# cd /usr/local/mysql/      
[root@kejulin mysql]# cp support-files/my-default.cnf /etc/my.cnf #修改/etc/my.cnf 里面的数据就好,my-default.cnf 这个压根不用管。。。配置文件都转移到/etc/目录下面了
[root@kejulin mysql]# cp support-files/mysql.server /etc/init.d/mysqld
# init.d目录包含许多系统各种服务的启动和停止脚本(/etc/init.d里的shell脚本能够响应start,stop,restart,reload命令来管理某个具体的应用)。
[root@kejulin mysql]# chmod +x /etc/init.d/mysqld #添加执行权限,x参数:执行权限

5.MYSQL初始化

1
[root@kejulin mysql]# ./bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/mysql/data/ --user=mysql      #初始化并且规定服务安装目录、	MYSQL服务数据存储目录、规定使用者是 mysql

初始化完成后会出现一段密码,把它保存下来,后面登录数据库需要用到它

后面这样一串就是密码: >rqiYpmT9Sh_ (注意:这里别把空格弄进去了,空格在密码也算一个位置的,密码是自动生成的,每台设备都不一样,别抄我的密码进去了,这样都弄错。。。小心我锤爆你狗头doge)

1
[root@kejulin mysql]# egrep -v "^#|^$" /etc/my.cnf    #其实刚刚看到这串鬼东西的时候,我人都傻了,我只学过grep这个命令,egrep这是什么鬼东西,后来从度娘那边查到egrep == grep -e ,秒懂!!!(废话一堆,这句话意思就是,过滤掉 my.cnf 文本里面的注释和空格,剩下的东西全部显现在屏幕上)

可以看出my.cnf 里面就两行配置信息

那么我们直接进去加点料,定义一些配置信息,让我们装逼装的更加彻底

1
[root@kejulin mysql]# vim /etc/my.cnf

进去就会看到这样的 冥场面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
~
~

对于我这个英语小白来说简直绝望

在里面写入这段配置信息,注意不要重复了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[client]
port = 3306
socket = /mysql/mysql.sock
[mysqld]
basedir = /usr/local/mysql
datadir = /mysql/data/
port = 3306
server_id = 1
socket = /mysql/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error = /mysql/mysql.log
pid-file = /mysql/mysql.pid

6.开启MYSQL服务

开启这个服务之后,然后就能看到唯一看得懂的英文 SUCCESS

1
2
[root@kejulin mysql]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!

可以使用这段代码来监听端口

1
2
3
[root@kejulin mysql]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 11932 mysql 23u IPv6 150481 0t0 TCP *:mysql (LISTEN)

7.配置环境变量

1
2
[root@kejulin mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
[root@kejulin mysql]# source /etc/profile

8.登录数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@kejulin ~]# mysql -uroot -p      
Enter password: #别告诉我你没有保存密码哦,小心狗头!!!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.16

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
mysql>
mysql>

9.修改密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567890';    #密码改成1234567890
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit #退出数据库
Bye
[root@kejulin ~]#
[root@kejulin ~]# mysql -uroot -p1234567890
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

三.结尾

虽然,CSDN 和 百度 等搜索工具里面查到的MYSQL很坑,但是作为一个先行者,我可以很负责任的说能善于用任何工具来解决自己问题对于日后的排错非常有帮助。

遇到的困难都可以自己尝试去解决的。

[toc]

kali 系统基础配置(2023版)

换源

1
sudo vim /etc/apt/sources.list

然后将原有的源全部注释掉,然后插入下面这串源地址

1
2
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

etc模式下输入这个 :set nu 可以看到行号

1
#deb 代表软件位置,deb-src 代表软件的源代码的位置

apt 命令和知识

使用apt 新的软件包获取最新的软件包列表。

**注意:apt update 的作用是从/etc/apt/sources.list 文件中定义的源中获取的最新的软件包列表。即运行apt update 并没有更新软件,而是相当于windows下面的检查更新,获取的是软件的状态。 **

Kali apt 源的软件包类型说明:

dists 区域 软件包组件标准

main 遵从Debian 自由软件指导方针(DFSG),并且不依赖 non-free

contrib 遵从Debian 自由软件指导方针(DFSG),但依赖于 non-free

non-free 不遵从Debian 自由软件指导方针(DFSG)

注意:DFSG是Debian 自由软件指导方针

1
2
3
sudo apt update   #更新列表
sudo apt upgrade #从更新列表中升级软件包,升级时软件包有相依性的问题,次软件包就不会被升级。
sudo dist-upgrade #升级时,软件包有相依性问题,会移除旧版,直接安装新版本。(所以通常dist-upgrade被认为是有风险的升级)(移除旧版升级新版容易出现A依赖B的旧版,但是B升级了新版,但是A只能用B的旧版,所以A出现问题)

1
2
sudo apt install     #安装软件包
sudo apt remove #移除软件包

网络配置(ip、子网、网关、DNS)

1
sudo vim /etc/network/interfaces

写入这个静态ip和网络信息

1
2
3
4
5
auto eth0                  #使用这块网卡,不写这个网络配置相当于没用
iface eth0 inet static #配置eth0使用静态地址
address 192.168.1.53 #配置eth0的固定ip地址
netmask 255.255.255.0 #配置子网掩码
gateway 192.168.1.1 #配置网关

配置DNS信息

1
sudo vim /etc/resolv.conf    
1
2
3
#Generated by NetworkManager
search localdmain
nameserver 8.8.8.8
1
2
3
systemctl restart networking.service    #重启网络服务
#或者用
/etc/init.d/networking restart #重启网络服务

启动ssh服务

1
sudo vim /etc/ssh/sshd_config

插入这几行配置

1
2
PermitRootLogin yes
PubkeyAuthentication yes

然后重启ssh服务,并设置开机自启

1
2
systemctl restart ssh
systemctl enable ssh

信息收集

whois查询

站长之家

万网whois

在线网站备案

天眼查

ICP备案查询网

子域名收集

1.FOFA title=“公司名称”

2.百度 intitle=“公司名称”

3.Google intitle=“公司名称”

4.钟馗之眼 site:域名

dns信息收集

KALI 的渗透软件