cat /proc/version
archlinux的软件安装2.1 使用pacman -S 和yay -S进行安装,安装后,这些包都在/var/cache/pacman/pkg/文件夹下,为了避免使用pacman -Syu命令将某个软件更新,可以在/etc/pacman.conf的IgnorePkg位置加上这个软件名。
【如果想降级一个软件:可以参考https://wiki.archlinux.org/title/Arch_Linux_Archive#How_to_downgrade_one_package】
2.2 如果下载的是一个tar.gz的压缩包,使用tar -zxvf进行解压,再进入到解压后的文件夹中,执行安装,此处执行makepkg的时候不允许用root用户,必须用普通用户,makepkg -s //-s参数可以自动解决依赖,编译完成后会生成一个.pkg.tar.xz的文件,再用pacman -U执行本地安装:
pacman -U visual-studio-code-bin-1.23.1-1-x86_64.pkg.tar.xz
2.3 如果下载的是一个.pkg.tar.xz的压缩包,用pacman -U执行本地安装。
root用于登录的方法直接在命令行输入vim /usr/lib/systemd/system/getty@.service进行编辑
找到ExecStart=-/sbin/agetty --noclear %I 38400 linux
改为ExecStart=-/sbin/agetty --noclear -a root %I 38400 linux
然后重启电脑reboot即可
注意在开启ssh服务时,vim /etc/ssh/sshd_config找到PermitRootLogin prohibit-password,将prohibit-password改为yes。
pacman的常用指令:pacman -S 指令:安装sudo pacman -S #安装软件
sudo pacman -Sy #获取最新打软件情况,如果已经是最新了,直接会提示已经更新到最新了。
sudo pacman -Syy #强行更新你的应用的软件库(源)
sudo pacman -Su #更新所有软件
sudo pacman -Syu #更新软件源并更新你的软件
sudo pacman -Syyu #强行更新一遍,再更新软件
sudo pacman -Ss <pkg_name> #查询所有软件名里面带有<pkg_name>相关的软件。
sudo pacman -Sc #删除软件/var目录下的缓存
pacman -R 指令:删除sudo pacman -R <pkg_name> #删除软件
sudo pacman -Rs <pkg_name> #删除软件,并删除<pkg>所有的依赖包
sudo pacman -Rns <pkg_name> #删除软件,并删除<pkg>所有的依赖,并删掉<pkg>的全局配置文件。 推荐!!
pacman -Q 指令:查询sudo pacman -Q #显示出所有软件 sudo pacman -Q | wc -l 查询数量
sudo pacman -Qe #查询所有自己安装的软件
sudo pacman -Qeq #查询所有自己安装的软件,只显示包名,不显示版本号等
sudo pacman -Qs <pkg_name> #查询本地安装的所有带<pkg_name>的软件
sudo pacman -Qdt #查询所有孤儿软件,不再被需要的。
sudo pacman -Qdtq #查询所有不再被依赖的包名
在archlinux中配置了clash后,或者其他的工具后,可以在使用脚本的方法实现在命令行自定义快速开启或者关闭代理,这样只要clash配置成服务了,即使远程也可以开启/关闭代理了。
vim teminal_proxy.sh新建一个脚本文件,内容如下:# 开启DL
function proxy_on(){
export ALL_PROXY=socks5://127.0.0.1:1087 # 注意你的端口号可能不是1087,注意修改
export http_proxy=http://127.0.0.1:1087
export https_proxy=https://127.0.0.1:1087
echo -e "已开启代理"
}
# 关闭DL
function proxy_off(){
unset ALL_PROXY
unset http_proxy
unset https_proxy
echo -e "已关闭代理"
}
vim /etc/bash.bashrc编辑配置文件,在最后一行加上下面的内容:source /home/fuhe/Downloads/clash/teminal_proxy.sh,因为我的脚本文件放在/home/fuhe/Downloads/clash/路径下。source /etc/bash.bashrc更新一下配置文件。打开代理:proxy_on 关闭代理:proxy_off
sudo pacman -S dockersudo systemctl enable docker.servicesudo systemctl start docker.servicesudo docker infodocker pull mysql:5.7.34docker imagesdocker run --name mysql57 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.34| 指令参数 | 说明 |
|---|---|
| run | 启动Docker |
| -p 3308:3306 | 操作系统端口:Docker运行MySQL的服务端口 |
| -name mysql57 | 当前启动容器的名称 |
| -e MYSQL_ROOT_PASSWORD=123456 | 设置MySQL5.7.34的root用户密码 |
| -d mysql5.7.34 | 镜像名称 |
进入MySQL5.7.34所在的Docker中
docker exec -it mysql57 bash
登录MySQL
mysql -uroot -p
然后输入密码即可登陆成功。
修改本地root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password' PASSWORD EXPIRE NEVER;
修改本地密码后远程仍使用旧密码的解决方法
Mysql 中一个用户,对应两个密码,一个是 @localhost 的密码, 一个是 @% 的密码。
select host, user, authentication_string from mysql.user查看

更改远程登录的密码:
UPDATE user SET authentication_string= PASSWORD('654321') WHERE User = 'root';
设置mysql随docker启动而自启动
docker update mysql --restart=always
docker pull mysql:8.0.26docker imagesdocker run --name mysql80 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.26| 指令参数 | 说明 |
|---|---|
| run | 启动Docker |
| -p 3309:3306 | 操作系统端口:Docker运行MySQL的服务端口 |
| -name mysql80 | 当前启动容器的名称 |
| -e MYSQL_ROOT_PASSWORD=123456 | 设置MySQL8.0.26的root用户密码 |
| -d mysql8.0.26 | 镜像名称 |
docker exec -it mysql80 bashmysql -uroot -p#使用mysql数据库
USE mysql;
#修改'root'@'%'用户的密码规则和密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'abc123';
#刷新权限
FLUSH PRIVILEGES;
注意:
由于最新版MySQL的加密方式改变了,如果使用Navicat Premium 15等工具连接无法连接成功,我们需要对docker【mysql80】里面的MySQL8.0.26的加密方式进行修改。
输入docker exec -it mysql80 bash进入当前docker,其中mysql80是该docker的容器名字,如图所示:

#使用mysql数据库
USE mysql;
#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc123';
#刷新权限
FLUSH PRIVILEGES;
这只是对本地root用户进行的修改,如果是要远程连接,也需要对远程用户的密码规则进行修改。如6中所述。
如果仅仅是修改密码,则使用命令:alter user 'root'@'localhost' identified by 'new password';
向/etc/apt/sources.list文件中,写入源地址。
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" >/etc/apt/sources.list
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >>/etc/apt/sources.list
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >>/etc/apt/sources.list
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >>/etc/apt/sources.list
apt-get update
apt-get install vim
在MySQL中查看端口:show global variables like 'port';
找到端口对应的进程,lsof -i:3307,可通过kill PID关闭进程。
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
docker的日志,docker的日志分为两种,第一种是docker引擎的日志,第二种是docker容器运行时的服务日志。默认为json-file格式,json-file日志驱动记录从容器的 STOUT/STDERR的输出 ,用 JSON 的格式写到文件中,日志中不仅包含着输出日志,还有时间戳和输出格式。
常用的驱动是json-file,syslog ,journald 这三种,json-file 是默认的日志驱动。
docker的日志通常默认是保存在 /var/lib/docker/containers/容器名称/ 目录下,如果是默认的json-file 驱动,那么日志文件名称为 容器名称-json-log,当然,docker日志也有级别,通常级别为info,如果为debug的话,那么日志增长会非常快的。
docker日志快速增长的解决方法:
这种方法可以通过建立脚本的方法。如下:

首先在脚本路径下新建脚本文件:vim docker_log.sh,我的路径在/home/fuhe/Documents/dockerLog/下。
然后添加下面的内容:
function dockerLogSIze(){
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
}
function cleanDockerLog(){
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
}
需要添加执行权限
chmod +x docker_log.sh
完成后,在/etc/bash.bashrc文件的最后一行加上:
source /home/fuhe/Documents/dockerLog/docker_log.sh
添加后,通过命令source /etc/bash.bashrc进行更新。
然后在命令行终端就可以通过dockerLogSIze查看日志的大小,通过cleanDockerLog清理日志文件。
当然可以将脚本设为定时启动的,定期就执行一次。
另一种方法就是通过设置Docker容器日志大小,有三种实现方式。
全局限制,也就是所有的docker容器统一使用一个限定值,不管是原来已启动的镜像还是以后将要启动的镜像,统统限制日志大小。
新建daemon.json:vim /etc/docker/daemon.json,然后添加一下内容:
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
max-size=500m,意味着一个容器日志大小上限是500M,max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。使用的驱动是json-file驱动。
docker run 阶段,某一个容器单独限定日志大小。
--log-driver json-file --log-opt max-size=10m,比如,将这一段加在docker run 后面,那么以这条命令启动的容器日志将会限定在10m大小,并且使用的日志驱动是json-file。
docker run --name mysql57 -p 3308:3306 --log-driver json-file --log-opt max-size=10m -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.34
这个mysql57容器的日志将会保持在10m大小。使用的日志驱动是json-file。
docker-compose 编排启动一组容器时组内每个容器日志限制大小。
关于docker-compose 编排文件限制,参考下面的文章。
https://blog.csdn.net/yy8623977/article/details/124563135?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166374101416782391862774%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166374101416782391862774&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~pc_rank_34-2-124563135-null-null.142v48pc_rank_34_1,201v3control_1&utm_term=docker-compose%20%E7%BC%96%E6%8E%92%E6%96%87%E4%BB%B6%E9%99%90%E5%88%B6&spm=1018.2226.3001.4187