🌱 🦤 🌱

前言

  • 最早接触Linux或许是MT管理器Termux(应该称为终端模拟器)了
  • 然后用TermuxUbuntu(本质上是把Ubuntu跑在容器里)等发行版
  • 然后wsl(Windows Subsystem for Linux)来了(ms官方虚拟机?)
  • 还有把一些发行版跑在VMware Workstation Pro虚拟机上
  • 最后物理机(12600kf+4060, 12450H+4060) 一步到位
  • 安装arch移动固态硬盘(200多r的rc20,固态最低价)上
  • 备份策略采取timeshift自动备份根目录
  • 手动使用rsync备份home目录

安装arch系统

连接网络及更改镜像

  • 禁用 reflector 服务
1
systemctl stop reflector.service
  • 编辑镜像文件
1
vim /etc/pacman.d/mirrorlist
  • 挑选镜像
1
2
3
4
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
  • 如果是无线网络,则需要通过命令连接WIFE
1
2
3
4
5
6
iwctl # 进入交互式命令行
device list # 列出无线网卡设备名,比如无线网卡看到叫 wlan0
station wlan0 scan # 扫描网络
station wlan0 get-networks # 列出所有 wifi 网络
station wlan0 connect wifi-name # 进行连接,注意这里无法输入中文。回车后输入密码即可
exit # 连接成功后退出

分区

  • 分区大小
1
2
3
4
sda1     EFI分区 /efi       /dev/nvme0n1p1   1GiB       EFI System
sda2 根目录 / /dev/nvme0n1p2 99GiB Linux filesystem
sda3 主目录 /home /dev/nvme0n1p3 520GiB Linux filesystem
sda4 交换分区 swap /dev/nvme0n1p4 32GiB Linux swap
  • 查看磁盘分区
1
fdisk -l
  • 新建EFI分区,交换分区,根目录分区,用户主目录
1
cfdisk /dev/sda
  • 格式化根分区
1
mkfs.ext4 /dev/sda2 -L RTL9220_99GIB
  • 格式化home分区
1
mkfs.ext4  /dev/sda3 -L RTL9220_520GIB
  • 格式化EFI系统分区
1
mkfs.fat -F 32 /dev/sda1
  • 格式化交换空间分区
1
mkswap /dev/sda4
  • 挂载根分区
1
mount /dev/sda2 /mnt
  • 挂载EFI系统分区
1
mount --mkdir /dev/sda1 /mnt/boot
  • 挂载home分区
1
mount --mkdir /dev/sda3 /mnt/home
  • 启用交换分区
1
swapon /dev/sda4
  • 复查挂载情况
1
df -h
  • 复查 Swap 分区挂载情况
1
free -h

安装必须软件包

  • 安装软件包
1
pacstrap /mnt base linux-zen linux-firmware linux-zen-headers base-devel sudo vim networkmanager bash-completion

fstab 文件

  • 生成 fstab 文件
1
genfstab -U /mnt > /mnt/etc/fstab
  • 复查一下 /mnt/etc/fstab 确保没有错误
1
cat /mnt/etc/fstab

arch-chroot配置

  • chroot 到新安装的系统
1
arch-chroot /mnt
  • 设置时区
1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 对准时间
1
hwclock --systohc
  • 取消掉 en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8 前的注释
1
vim /etc/locale.gen
1
2
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
  • 生成 locale 信息
1
locale-gen
  • 生成 locale.conf 文件
1
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
  • 主机名
1
echo 'miniarch' > /etc/hostname
  • 设置 root 密码
1
passwd
  • 新建用户
1
useradd -m admin
  • 设置用户密码
1
passwd admin
  • 添加权限
1
vim /etc/sudoers
1
2
root ALL=(ALL:ALL) ALL
admin ALL=(ALL:ALL) ALL
  • 安装引导程序
1
pacman -S grub efibootmgr os-prober
  • 取消注释GRUB_DISABLE_OS_PROBER=false,修改 GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog nvidia_drm.modeset=1"
1
vim /etc/default/grub
1
2
3
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog nvidia_drm.modeset=1"

GRUB_DISABLE_OS_PROBER=false
  • 将GRUB安装到你的硬盘上
  • 安装引导时添加--removable, 否则装有arch的移动固态硬盘插入新主机不显示引导
1
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --removable
  • 生成主配置文件
1
grub-mkconfig -o /boot/grub/grub.cfg
  • 离开
1
exit
  • 卸载新分区
1
umount -R /mnt

重启

1
reboot

安装kde桌面

安装前的准备

  • 连接网络
1
sudo systemctl enable --now NetworkManager
  • 如果是无线网络
1
2
nmcli dev wifi list # 显示附近的 Wi-Fi 网络
nmcli dev wifi connect "Wi-Fi名(SSID)" password "网络密码" # 连接指定的无线网络
1
nmtui
  • 编辑 /etc/profile 文件, 写入export EDITOR='vim'
1
sudo vim /etc/profile
1
export EDITOR='vim'
  • 去掉[multilib]一节中两行的注释, ParallelDownloads 设置成正整数5
1
sudo vim /etc/pacman.conf
1
2
3
4
ParallelDownloads = 9

[multilib]
Include = /etc/pacman.d/mirrorlist
1
sudo pacman -Syu

安装显卡驱动

  • 独显4060
1
sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils
  • R5 4600H 核显 vega6 GCN5.0
1
sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon

安装kde桌面

1
sudo pacman -S plasma-meta konsole dolphin kate
1
sudo systemctl enable --now sddm

设置中文字体

  • 采用全局是等宽字体的配置,等宽字体为: maple-font
  • 下载好字体后双击安装
  • 打开系统设置文字和字体区域与语言,设置字体为maple-font
  • 在系统设置里找到登入屏幕(SDDM)设置,点击应用Plasma设置
  • 打开终端设置,新建方案里设置字体为maple-font

12311

12312

12313

1
sudo systemctl restart sddm

安装输入法

1
sudo pacman -S fcitx5-im fcitx5-rime fcitx5-chinese-addons
  • 添加环境变量,否则输入时字母会上屏
1
sudo vim /etc/environment
1
2
3
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

12315

安装蓝牙

1
sudo pacman -S bluez bluez-utils bluez-obex
1
modprobe btusb
1
sudo systemctl enable --now bluetooth
  • 设置开机自动启用蓝牙设备,编辑/etc/bluetooth/main.conf文件,将AutoEnableFastConnectable设置为 true 即可
1
sudo vim /etc/bluetooth/main.conf
1
2
AutoEnable=true
FastConnectable = true

手动连接蓝牙设备

1
2
3
4
5
bluetoothctl
power on
agent on
default-agent
scan on
1
pair 相应的MAC地址
1
trust 相应的MAC地址
1
connect 相应的MAC地址
1
exit

添加非官方源

1
sudo vim /etc/pacman.conf
  • 添加非官方源
1
2
3
4
5
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
  • 更新并导入archlinuxcn-keyring
1
sudo pacman -Sy archlinuxcn-keyring
  • 安装yay
1
sudo pacman -S yay

添加localhost

  • 不添加的话,搭建webdav服务器时可能因未设置localhost报错
1
sudo vim /etc/hosts
1
2
127.0.0.1   localhost
::1 localhost

安装应用

补全包

  • 安装微码
1
sudo pacman -S intel-ucode
1
sudo pacman -S amd-ucode
1
2
3
4
5
6
7
8
9
10
11
12
sudo pacman -S --needed zsh man-db man-pages tldr tree git curl wget npm openssh \
konsole dolphin kate ark okular kdialog kio-admin plasma-applets-weather-widget-3 lib32-gtk2 \
ntfs-3g cpupower proxychains-ng tlp tlp-rdw xclip kernel-modules-hook \
s-tui sysstat iotop nvtop btop smartmontools cpu-x dmidecode \
zip unzip 7zip unrar-free unarchiver pandoc-cli pandoc-crossref \
docker docker-compose ollama ollama-cuda python jdk21-openjdk \
dialog freerdp freerdp2 iproute2 libnotify gnu-netcat \
timeshift firefox chromium vlc vlc-plugins-all telegram-desktop \
gamemode lib32-gamemode gamescope mangohud lib32-mangohud \
wine wine-gecko wine-mono winetricks lutris umu-launcher \
openmpi openmotif gnuplot tk \
cowsay figlet toilet
1
2
3
4
5
6
7
8
sudo pacman -S --asdeps --needed giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \
sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama \
ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 \
lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs \
ocl-icd lib32-ocl-icd sdl2-compat lib32-sdl2-compat \
vkd3d lib32-vkd3d vulkan-icd-loader lib32-vulkan-icd-loader
1
2
yay -S zotero wechat-appimage linuxqq \
wps-office-cn wps-office-mui-zh-cn ttf-wps-fonts
1
sudo systemctl enable --now sshd
  • blog
1
sudo npm install -g hexo@6.3.0

安装vpn

1743334791745

终端使用代理

  • 终端设置代理
1
vim ~/.bashrc
1
2
3
export https_proxy="http://127.0.0.1:10809"
export http_proxy="http://127.0.0.1:10809"
export all_proxy="http://127.0.0.1:10809"
  • 或者使用proxychains-ng
1
sudo pacman -S proxychains-ng
1
sudo vim /etc/proxychains.conf
1
2
3
[ProxyList]
http 127.0.0.1 10809
socks5 127.0.0.1 10808
  • git
1
2
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy https://127.0.0.1:10809
1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

安装常用应用

  • firefox
1
sudo pacman -S firefox
  • 浏览器扩展需要
1
yay -S vdhcoapp
  • ms vscode (打便携版)
1
yay -S visual-studio-code-bin
  • tg
1
sudo pacman -S telegram-desktop
1
yay -S wechat-appimage
  • QQ
1
yay -S linuxqq
  • 腾讯会议
1
yay -S wemeet-wayland-screenshare-git
  • 向日葵远程控制
1
yay -S sunloginclient
1
systemctl enable --now runsunloginclient
  • wps
1
yay -S wps-office-cn wps-office-mui-zh-cn ttf-wps-fonts
  • 文献管理
1
yay -S zotero

系统美化

更换桌面主题

天气挂件

1
sudo pacman -S plasma-applets-weather-widget-3

grub主题美化

1
cd sleek
1
sudo cp . /usr/share/grub/themes/sleek -rf
1
sudo vim /etc/default/grub
1
GRUB_THEME="/usr/share/grub/themes/sleek/theme.txt"
1
sudo grub-mkconfig -o /boot/grub/grub.cfg

终端美化

1
sudo pacman -S zsh
1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
1
vim ~/.zshrc
1
ZSH_THEME="powerlevel10k/powerlevel10k"
1
chsh -s $(which zsh)
1
p10k configure
  • 打开 ~/.p10k.zsh 。在文件顶部附近,您可以看到最重要的参数,它们定义了提示符中显示哪些段。所有常用的提示符段都列在其中。其中一些已启用,另一些则被注释掉了。其中一个是您感兴趣的。
1
vim ~/.p10k.zsh
1
2
3
4
5
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
...
context # user@hostname
...
)
  • 搜索 context 以在配置中找到列出此提示段特定参数的部分。您应该看到以下几行:
1
2
3
# Don't show context unless running with privileges or in SSH.
# Tip: Remove the next line to always show context.
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
  • 如果你按照提示删除(或注释掉)最后一行,你就会一直看到 提示符中输入 username@hostname 。您可以通过调整附近参数的值,将格式更改为仅 username ,或更改颜色。有大量注释可供您浏览。

zsh插件配置

1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
1
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
1
vim ~/.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
plugins=(
git
z
zsh-syntax-highlighting
zsh-autosuggestions
)

source $ZSH/oh-my-zsh.sh


bindkey '^ ' forward-word
bindkey ',' autosuggest-accept
export ZSH_AUTOSUGGEST_STRATEGY=(history completion)

系统优化

修改密码错误重试次数

  • 修改为deny = 6

  • 如果超过最大重试次数,则会发生输入正确的密码显示错误

1
sudo vim /etc/security/faillock.conf

缩短关机时间

1
sudo vim /etc/systemd/system.conf
1
DefaultTimeoutStopSec=30s
1
sudo systemctl daemon-reload
1
sudo systemctl edit user@.service
1
2
[Service]
TimeoutStopSec=10s

禁用coredump

1
sudo vim /etc/sysctl.d/50-coredump.conf
1
kernel.core_pattern=|/bin/false
1
sudo sysctl -p /etc/sysctl.d/50-coredump.conf

关闭baloo

  • 不关闭有时会发生磁盘读取过高
1
sudo balooctl6 suspend
1
sudo balooctl6 disable
1
sudo balooctl6 status

更改cpu频率方案

  • 查看cpu频率
1
cat /proc/cpuinfo | egrep '(processor|cpu MHz)'
  • powersave会导致跑不到更高的频率
1
2
performance
powersave
1
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
1
sudo echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
  • 这样重启后的修改会消失,使用cpupower
1
sudo pacman -S cpupower
1
sudo vim /etc/default/cpupower
1
governor='performance'
1
sudo systemctl enable --now cpupower.service

合理管理系统

关于python开发环境

  • 不要直接 pip install

  • 不要默认启用 anaconda 环境

  • 一定在 venv(或类似的虚拟环境)中运行

  • 有时候一些 Python 程序会依赖一些重量级库,如果在 venv 这样的隔离环境中安装,这通常无法与系统上的其它软件良好集成。这种时候,你可以用 python -m venv --system-site-packages 来创建 venv 并在其中安装你需要的软件包。这样创建的 venv 不是与系统环境完全隔离的,venv 之内的 Python 能够导入系统范围安装的包,而系统环境的包则看不到 venv 内的包,因此不会干扰系统软件包正常工作

1
python -m venv --system-site-packages
  • 创建虚拟环境
1
sudo pacman -S python
1
python -m venv env_test
1
source env_test/bin/activate
1
deactivate
  • 例如
1
python3.9 -m venv py39
1
pip install numpy scipy matplotlib py4vasp ase

小心类似make install

  • pacman 包管理通过统一的方式管理系统软件及其文件,但 make install、ninja install 等安装的文件不受 pacman 管理,且可能与 pacman 管理的文件相冲突。同样,如果需要卸载由这些命令安装的文件,也需要花费一番功夫。

设置Timeshift 快照

1
sudo pacman -S timeshift
1
sudo systemctl enable --now cronie.service
  • 进入tty还原系统

    1
    2
    sudo timeshift --list # 获取快照列表
    sudo timeshift --restore --snapshot '20XX-XX-XX_XX-XX-XX' --skip-grub # 选择一个快照进行还原,并跳过 GRUB 安装,一般来说 GRUB 不需要重新安装
  • 若无法进入系统,需要首先设置原来快照存储的位置

    1
    sudo timeshift --restore --snapshot-device /dev/sdbx

延长电池寿命

  • TLP 作为一款自由开源的高级电源管理工具提供开箱即用的默认配置。同时也可以高度定制化,以满足特定需求
1
sudo pacman -S tlp tlp-rdw
  • Smartmontools 通过使用自我监控(Self-Monitoring)、分析(Analysis)和报告(Reporting)三种技术(缩写为 S. M. A. R. T 或 SMART)来管理和监控存储硬件
1
sudo pacman -S smartmontools
  • 查看磁盘信息
1
2
sudo smartctl -A /dev/sdx # 硬盘
sudo smartctl -d sat -A /dev/sdx # USB 设备
  • 相关服务设置
1
2
3
4
sudo systemctl enable tlp.service
sudo systemctl enable NetworkManager-dispatcher.service
sudo systemctl mask systemd-rfkill.service # 屏蔽以下服务以避免冲突,确保 TLP 无线设备的开关选项可以正确运行
sudo systemctl mask systemd-rfkill.socket
  • 安装后,TLP 将在开机时自动启动。为了避免第一次重启系统,可以使用以下命令手动启动
1
sudo tlp start
  • 使用 TLP 显示相关系统信息
1
2
3
4
5
6
sudo tlp-stat -b # 显示电池信息
sudo tlp-stat -d # 显示磁盘信息
sudo tlp-stat -e # 显示 PCI 设备信息
sudo tlp-stat -g # 显示 GPU 信息
sudo tlp-stat -p # 显示 CPU 信息
tlp-stat -s # 显示系统数据信息 / 验证 TLP 服务运行状况

使用conda

1
bash Miniforge3-Linux-x86_64.sh
1
conda init --reverse $SHELL
1
conda config --set auto_activate_base false
1
vim ~/.condarc
1
conda clean -i
1
conda create --no-default-packages --name chem_py39 python=3.9
1
conda install -n chem_py39 numpy scipy matplotlib py4vasp ase
1
conda env list
1
conda remove --name chem_py39 --all

使用docker安装其它常用应用

docker更改存储位置

1
sudo docker info | grep "Docker Root Dir"
1
docker stop $(docker ps -aq)
1
systemctl stop docker
1
sudo mv /var/lib/docker /$HOME/app/docker -f
1
sudo ln -sf /$HOME/app/docker /var/lib/docker
1
sudo ls -alF /var/lib/
1
sudo docker info | grep "Docker Root Dir"
1
systemctl start docker

docker部署windows子系统

  • 检查 KVM 支持, 在bios里开启cpu虚拟化
1
grep -E --color=auto 'vmx|svm|0xc0f' /proc/cpuinfo
  • 检查内核中是否已包含必要的模块
1
lsmod | grep ip_tables
1
lsmod | grep iptable_nat
  • 检查 lsmod | grep ip_tableslsmod | grep iptable_nat 不是空的, 空的运行
1
echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf
1
sudo pacman -S docker docker-compose
1
sudo systemctl enable --now docker.service
  • 开始安装windows
1
2
mkdir windows
cd windows
1
vim compose.yaml
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
name: "win11" # Docker Compose Project Name.
volumes:
data:
services:
windows:
image: ghcr.io/dockur/windows:latest
container_name: win11 # Created Docker VM Name.
environment:
VERSION: "11"
RAM_SIZE: "4G" # RAM allocated to the Windows VM.
CPU_CORES: "4" # CPU cores allocated to the Windows VM.
DISK_SIZE: "39G" # Size of the primary hard disk.
USERNAME: "admin" # Edit here to set a custom Windows username. The default is 'MyWindowsUser'.
PASSWORD: "admin" # Edit here to set a password for the Windows user. The default is 'MyWindowsPassword'.
HOME: "${HOME}" # Set path to Linux user home folder.
ports:
- 8006:8006 # Map '8006' on Linux host to '8006' on Windows VM --> For VNC Web Interface @ http://127.0.0.1:8006.
- 3389:3389/tcp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
- 3389:3389/udp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
cap_add:
- NET_ADMIN # Add network permission
stop_grace_period: 120s # Wait 120 seconds before sending SIGTERM when attempting to shut down the Windows VM.
restart: on-failure # Restart the Windows VM if the exit code indicates an error.
volumes:
- data:/storage # Mount volume 'data' to use as Windows 'C:' drive.
- ${HOME}:/shared # Mount Linux user home directory @ '\\host.lan\Data'.
devices:
- /dev/kvm # Enable KVM.
- /dev/net/tun # Enable tuntap
1
sudo usermod -aG docker admin
1
newgrp docker
1
docker compose --file ~/app/windows/compose.yaml up
  • 安装依赖
1
sudo pacman -Syu --needed -y curl dialog freerdp freerdp2 git iproute2 libnotify gnu-netcat
  • 测试
1
docker compose --file ~/app/windows/compose.yaml start
1
xfreerdp /u:"admin" /p:"admin" /v:127.0.0.1 /dynamic-resolution /clipboard /sound /scale:140
1
cd windows
1
vim windows.sh
1
2
3
#!/bin/bash

xfreerdp /u:"admin" /p:"admin" /v:127.0.0.1 /dynamic-resolution /clipboard /sound /scale:140
1
vim windows.desktop
1
2
3
4
5
6
7
8
[Desktop Entry]
Name=Windows
Exec=/home/admin/app/windows/windows.sh %F
Terminal=false
Type=Application
Icon=/home/admin/app/windows/windows.svg
StartupWMClass=Microsoft Windows
Comment=Microsoft Windows RDP Session
1
cp windows.desktop ~/.local/share/applications/

  • 如果要撤消所有更改并从头开始,请运行以下内容
1
docker compose down --volumes
1
docker compose down --rmi=all --volumes

  • windows11 config
1
irm https://massgrave.dev/get | iex
1
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"
  • regedit, 关闭自动更新
1
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings
1
FlightSettingsMaxPauseDays

ollama部署大语言模型

1
sudo pacman -S ollama ollama-cuda
1
nvidia-smi
1
sudo systemctl enable --now ollama.service
1
ollama run deepseek-r1:8b
1
ollama run qwen2.5:7b
  • 如何将模型保持在内存中加载或使其立即卸载
1
sudo vim /usr/lib/systemd/system/ollama.service
1
2
[Service]
Environment="OLLAMA_KEEP_ALIVE=8"
1
systemctl daemon-reload
1
systemctl restart ollama

  • 常用命令
1
2
3
4
ollama list
ollama rm deepseek-r1:1.5b
ollama stop deepseek-r1:1.5b
ollama ps

docker部署gpt_academic

1
2
mkdir gpt_academic
cd gpt_academic
1
vim docker-compose.yml
  • 采取方案0

  • 修改LLM_MODELollama-deepseek-r1:8b

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
35
36
37
38
39
40
41
42
43
44
45
46
version: '3'
services:
gpt_academic_full_capability:
image: ghcr.io/binary-husky/gpt_academic_with_all_capacity:master
environment:
# 请查阅 `config.py`或者 github wiki 以查看所有的配置信息
API_KEY: ' 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 '
# USE_PROXY: ' True '
# proxies: ' { "http": "http://localhost:10881", "https": "http://localhost:10881", } '
LLM_MODEL: ' ollama-qwen2.5:7b '
AVAIL_LLM_MODELS: ' ["ollama-qwen2.5:7b", "ollama-deepseek-r1:8b", "gpt-3.5-turbo", "gpt-4", "qianfan", "sparkv2", "spark", "chatglm"] '
BAIDU_CLOUD_API_KEY : ' bTUtwEAveBrQipEowUvDwYWq '
BAIDU_CLOUD_SECRET_KEY : ' jqXtLvXiVw6UNdjliATTS61rllG8Iuni '
XFYUN_APPID: ' 53a8d816 '
XFYUN_API_SECRET: ' MjMxNDQ4NDE4MzM0OSNlNjQ2NTlhMTkx '
XFYUN_API_KEY: ' 95ccdec285364869d17b33e75ee96447 '
ENABLE_AUDIO: ' False '
DEFAULT_WORKER_NUM: ' 20 '
WEB_PORT: ' 12345 '
ADD_WAIFU: ' False '
ALIYUN_APPKEY: ' RxPlZrM88DnAFkZK '
THEME: ' Chuanhu-Small-and-Beautiful '
ALIYUN_ACCESSKEY: ' LTAI5t6BrFUzxRXVGUWnekh1 '
ALIYUN_SECRET: ' eHmI20SVWIwQZxCiTD2bGQVspP9i68 '
# LOCAL_MODEL_DEVICE: ' cuda '

# 加载英伟达显卡运行时
# runtime: nvidia
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]

# 「WEB_PORT暴露方法1: 适用于Linux」与宿主的网络融合
network_mode: "host"

# 「WEB_PORT暴露方法2: 适用于所有系统」端口映射
# ports:
# - "12345:12345" # 12345必须与WEB_PORT相互对应

# 启动容器后,运行main.py主程序
command: >
bash -c "python3 -u main.py"
1
docker-compose up
1
docker-compose start
  • 更新docker-compose.yml文件
1
docker-compose up -d

docker部署stirling_pdf

1
2
mkdir stirling_pdf
cd stirling_pdf
1
vim docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3.3'
services:
stirling-pdf:
image: ghcr.io/stirling-tools/stirling-pdf:latest
ports:
- '8080:8080'
volumes:
- ./StirlingPDF/trainingData:/usr/share/tessdata # Required for extra OCR languages
- ./StirlingPDF/extraConfigs:/configs
- ./StirlingPDF/customFiles:/customFiles/
- ./StirlingPDF/logs:/logs/
- ./StirlingPDF/pipeline:/pipeline/
environment:
- DOCKER_ENABLE_SECURITY=false
- LANGS=zh_GB
1
docker-compose up

关于游戏

1
sudo pacman -S gamemode lib32-gamemode gamescope mangohud lib32-mangohud
1
sudo groupadd gamemode
1
sudo gpasswd -a $USER gamemode
1
newgrp gamemode
  • gamescope 启动拉伸缩放
1
-S stretch

MC

1
sudo pacman -S jdk21-openjdk

wine

1
sudo pacman -S wine wine-gecko wine-mono winetricks
1
winecfg
  • 复制windows字体
1
2
3
4
5
6
7
8
sudo pacman -S --asdeps giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \
sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama \
ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 \
lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs \
ocl-icd lib32-ocl-icd sdl2-compat lib32-sdl2-compat \
vkd3d lib32-vkd3d vulkan-icd-loader lib32-vulkan-icd-loader
  • 4060显卡驱动
1
sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils
  • 禁用 GUI 崩溃对话框
1
sh winetricks nocrashdialog
  • 这样一些游戏就能成功运行了,如图

1

lutris

1
sudo pacman -S lutris umu-launcher
1
./ProtonUp-Qt.AppImage
  • 安装GE-Proton
1
sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils
1
2
3
4
5
6
7
8
sudo pacman -S --asdeps giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \
sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama \
ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 \
lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs \
ocl-icd lib32-ocl-icd sdl2-compat lib32-sdl2-compat \
vkd3d lib32-vkd3d vulkan-icd-loader lib32-vulkan-icd-loader
  • 先在终端启动
1
lutris -d

1753713784194

1753713867272