What does the Laplace Transform really tell us? A visual explanation (plus applications)
如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧
What does the Laplace Transform really tell us? A visual explanation (plus applications)
如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧
一个 用户组 代表使用 docker 将镜像推送至 容器服务 的开发者们(需要推送至镜像服务的权限),我这里是 orreos
另外一个 用户组 代表需要从 容器服务 下载镜像的服务器集群们(只需要从镜像服务拉取的权限),我这里是 servers
服务器集群组给一个 SWR ReadOnlyAccess
容器镜像仓库只读权限
开发者组给一个 SWR FullAccess
容器镜像仓库所有权限
添加的时候不要忘记下载访问密钥,稍等会有用!
在这里导入刚才的访问密钥,点生成指令即可获取到密钥!
使用示例:
cd $HOME
mkdir dotfiles #这个文件夹存放你的配置文件
mv .bashrc .bash_profile dotfiles #将这两个配置文件移入dotfiles中
cd dotfiles
stow .
看看效果:
cd $HOME
ll .bashrc .bash_profile
lrwxrwxrwx orreo orreo 22 B Sun Apr 13 15:00:37 2025 .bash_profile ⇒ dotfiles/.bash_profile
lrwxrwxrwx orreo orreo 16 B Sun Apr 13 15:00:37 2025 .bashrc ⇒ dotfiles/.bashrc
迁移系统时,只需要备份dotfiles即可。
在新系统上把 dotfiles 放到 $HOME 下,然后
cd dotfiles
stow .
即可“还原”配置文件
stow .
的作用是将当前目录(.
)下的软件包(指一组按照特定目录结构组织的文件)通过符号链接(symlink)的方式安装到目标目录(通常是系统的 /usr/local
或 ~/.local
),从而方便管理用户或系统级的软件安装。
组织文件结构:
Stow 假设当前目录(比如 ./package-name
)下的文件结构是目标目录(如 /usr/local
)的镜像。例如:
./package-name/
├── bin/
│ └── myapp
├── lib/
│ └── libmylib.so
└── share/
└── doc/
└── README
运行 stow package-name
后,这些文件会通过符号链接映射到 /usr/local/bin/myapp
、/usr/local/lib/libmylib.so
等位置。
适用于当前目录(.
):
如果直接运行 stow .
,Stow 会处理当前目录下的所有子目录(每个子目录视为一个独立的软件包)。例如:
./
├── pkg1/
├── pkg2/
└── pkg3/
stow .
会同时处理 pkg1
、pkg2
、pkg3
,将它们链接到目标目录。
-d DIR
:指定 Stow 的根目录(默认为当前目录)。-t TARGET
:指定目标目录(默认为上级目录,比如 /usr/local
或 ~/.local
)。-n
:模拟运行(不实际操作,仅显示将要执行的动作)。-v
: verbose 模式(显示详细操作)。# 假设当前目录是 ~/stow-packages,包含一个子目录 myapp/
cd ~/stow-packages
stow -t /usr/local . # 将当前目录下所有包(如 myapp)链接到 /usr/local
/usr/local
)有写入权限。stow -D .
删除所有符号链接。--override
或手动解决冲突。了解更多:https://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html
[root@CT102 ~]# pacman -S sudo
resolving dependencies...
looking for conflicting packages...
Packages (1) sudo-1.9.16.p2-2
Total Installed Size: 7.76 MiB
:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring [################################################################] 100%
warning: Public keyring not found; have you run 'pacman-key --init'?
downloading required keys...
error: keyring is not writable
error: required key missing from keyring
error: failed to commit transaction (could not find or read file)
Errors occurred, no packages were upgraded.
上面提示我们运行 pacman-key --init,运行个看看
[root@CT102 ~]# pacman-key --init
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/etc/pacman.d/gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
==> Generating pacman master key. This may take some time.
gpg: Generating pacman keyring master key...
gpg: directory '/etc/pacman.d/gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/etc/pacman.d/gnupg/openpgp-revocs.d/53F21CFED766961EE6CC5B23078548EEE0862396.rev'
gpg: Done
==> Updating trust database...
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
[root@CT102 ~]# pacman -S sudo
resolving dependencies...
looking for conflicting packages...
Packages (1) sudo-1.9.16.p2-2
Total Installed Size: 7.76 MiB
:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring [################################################################] 100%
downloading required keys...
:: Import PGP key C06086337C50773E, "Jelle van der Waa <jelle@archlinux.org>"? [Y/n] Y
(1/1) checking package integrity [################################################################] 100%
error: sudo: signature from "Jelle van der Waa <jelle@archlinux.org>" is unknown trust
:: File /var/cache/pacman/pkg/sudo-1.9.16.p2-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] Y
error: failed to commit transaction (invalid or corrupted package (PGP signature))
Errors occurred, no packages were upgraded.
这个时候我们 pacman-key --populate
即可。
[root@CT102 ~]# pacman-key --populate
==> Appending keys from archlinux.gpg...
==> Locally signing trusted keys in keyring...
-> Locally signed 5 keys.
==> Importing owner trust values...
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: inserting ownertrust of 4
gpg: setting ownertrust to 4
==> Disabling revoked keys in keyring...
-> Disabled 45 keys.
==> Updating trust database...
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 5 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 5 signed: 96 trust: 0-, 0q, 0n, 5m, 0f, 0u
gpg: Note: third-party key signatures using the SHA1 algorithm are rejected
gpg: (use option "--allow-weak-key-signatures" to override)
gpg: depth: 2 valid: 73 signed: 20 trust: 73-, 0q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2025-06-16
[root@CT102 ~]# pacman -S sudo
resolving dependencies...
looking for conflicting packages...
Packages (1) sudo-1.9.16.p2-2
Total Download Size: 1.88 MiB
Total Installed Size: 7.76 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
sudo-1.9.16.p2-2-x86_64 1923.0 KiB 2.05 MiB/s 00:01 [################################################################] 100%
(1/1) checking keys in keyring [################################################################] 100%
(1/1) checking package integrity [################################################################] 100%
(1/1) loading package files [################################################################] 100%
(1/1) checking for file conflicts [################################################################] 100%
(1/1) checking available disk space [################################################################] 100%
:: Processing package changes...
(1/1) installing sudo [################################################################] 100%
:: Running post-transaction hooks...
(1/3) Reloading system manager configuration...
(2/3) Creating temporary files...
(3/3) Arming ConditionNeedsUpdate...
最后不要忘了 pacman -Sy --needed archlinux-keyring
更新密钥环。
相关文档:https://wiki.archlinux.org/title/Pacman/Package_signing