ubuntu 系统换华为源
不要用各种大学的镜像,如果同 ip 的人乱搞,之后访问就会 403。并且他们有可能不同步大文件,有些大包会 404。
需要注意的是,自 Ubuntu 24.04 起,ubuntu 使用 DEB822 配置源,和以前不一样了。
如有必要,使用 https 下载,但某些防火墙,或者本地 ca 证书太旧,会造成 https 握手失败。
# ubuntu24.04
sed -i 's@//.*archive.ubuntu.com@//mirrors.huaweicloud.com@g' /etc/apt/sources.list.d/ubuntu.sources
sed -i 's/security.ubuntu.com/mirrors.huaweicloud.com/g' /etc/apt/sources.list.d/ubuntu.sources
sed -i 's/http:/https:/g' /etc/apt/sources.list.d/ubuntu.sources
# 之前的版本
sed -i 's@//.*archive.ubuntu.com@//mirrors.huaweicloud.com@g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirrors.huaweicloud.com/g' /etc/apt/sources.list
sed -i 's/http:/https:/g' /etc/apt/sources.list
生成 ssh 秘钥
rsa 比较通用,现在推荐 4096 位的才能保证安全,未来可能会被量子计算机爆破。
ed25519 更快更安全,抗量子计算机攻击。
ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
linux 使用秘钥登录
把公钥写入下列文件即可
vi ~/.ssh/authorized_keys
安装 docker
对于 ubuntu,可安装 ubuntu 官方维护的 docker,可以手动带上 compose,buildx 等插件。
一般只用这个就行了,无需折腾手动安装。
apt install docker.io docker-compose-v2 docker-buildx
对于所有支持的 linux 发行版,可以用官方安装脚本,并且从华为的镜像安装。
但是脚本本身还是要访问外网。
实在要用就自己手动装。
https://mirrors.huaweicloud.com/mirrorDetail/5ea14d84b58d16ef329c5c13
export DOWNLOAD_URL="https://mirrors.huaweicloud.com/docker-ce"
# 如您使用 curl
curl -fsSL https://get.docker.com/ | sh
# 如您使用 wget
wget -O- https://get.docker.com/ | sh
偶然找到了一个安装脚本,不知道能否信任他们,生产环境别用
https://linuxmirrors.cn/other/
bash <(curl -f -s --connect-timeout 10 --retry 3 https://linuxmirrors.cn/docker.sh) --source mirrors.tencent.com/docker-ce --source-registry docker.1ms.run --protocol https --install-latested true --close-firewall false --ignore-backup-tips
docker 免 sudo
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker 镜像加速器
好用的只有 docker.1ms.run, 不过还是建议直接口口口口。
已团灭,直接口口口口
可能是因为 docker 镜像数据量太大,并且 docker 官方还会对 ip 限速,很多加速器都在服务一段时间后停服,或者停止同步,这里找到了一个项目在收集可用加速器。
https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
个人感觉 nju 的能用,但对于冷门资源速度远不如直接口口口口
echo '{"registry-mirrors":["https://docker.1ms.run"]}' | sudo tee /etc/docker/daemon.json > /dev/null
systemctl daemon-reload
systemctl restart docker
kasm 网页 linux 桌面
# 强制以 root 运行,这样可以自己用 apt 什么的装软件。# 关闭密码验证
docker run -it --user root -p 6901:6901 --rm -e VNCOPTIONS=-disableBasicAuth kasmweb/core-ubuntu-jammy:1.17.0
# 设置密码
docker run -it --user root -p 6901:6901 --rm -e VNC_PW=password kasmweb/core-ubuntu-jammy:1.17.0
User : kasm_user
Password: password
可用的镜像 https://kasmweb.com/docs/latest/guide/custom_images.html
github action self-host runner
允许以 root 配置
RUNNER_ALLOW_RUNASROOT=1 ./config.sh --token xxxxxxx
以 root 用户注册服务
sudo ./svc.sh install root
文件搜索
2>/dev/null 这是错误输出的重定向, 用于屏蔽错误信息
find / -name xxxx 2>/dev/null
添加 swap
dd if=/dev/zero of=/swapfile bs=1G count=4 # 4G
mkswap /swapfile
chmod 0600 /swapfile
swapon /swapfile
# 修改自动挂载
vi /etc/fstab
/swapfile swap swap default 0 0
修改 swap 大小
假设已经按上边添加了 swap,想换成更大的。
sudo swapoff /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1G count=8 # 8G
sudo chmod 0600 /swapfile
sudo mkswap /swapfile
swapon /swapfile
# fstab 无需修改
swap 策略
vm.swappiness 是 Linux 内核中的一个参数,用于控制系统将内存页交换到交换空间(swap)的倾向。它的取值范围是 0 到 100,0 是不用 swap,100 是最积极使用。
# 获取当前的值,一般默认 60
sysctl vm.swappiness
# 临时修改
sysctl vm.swappiness=60
# 永久修改需要改配置文件
vi /etc/sysctl.conf
vm.swappiness=60
# 重启后生效,或者用这个立即生效
sudo sysctl -p
修改时区
timedatectl set-timezone Asia/Shanghai
git 克隆
祖传代码,仓库只克隆表层, 克隆子模块, 子模块只克隆表层
git clone --recurse-submodules --shallow-submodules --depth=1 <repository-url>
创建 tar.gz 时候不记录修改时间
大量小文件压缩时显著减小体积
tar --mtime="1970-01-01" -czvf files.tar.gz files
python 切换国内源
遇到过清华源对 ip 限速,下载超大 whl 时报 403,这里用阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
anaconda 基本命令
conda create --name myenv python=3.8
conda activate myenv
conda deactivate
conda env list
conda remove --name myenv --all