Manjaro/Linux使用常见问题
一.双系统时区问题
1.1 问题描述
当安装了 Windows 和 Manjaro 双系统后,发现出现了 Windows 系统时间比 Manjaro 系统时间慢 8 小时的情况。
1.2 问题分析
在电脑中会有两个时间,一个是硬件时间,一个是系统时间。
- 硬件时间:这个时间信息存储在电脑主板中,因此没有夏令时以及时区等概念。
- 系统时间:这个时间信息由系统管理,通常是通过网络时间同步(Network Time Synchronization,NTS),有夏令时以及时区等概念。
注:
系统时间提供了两种管理思路:
- localtime:本地时间,Windows 系统采用此种方法。
- UTC:世界标准时间,在众多 Linux 系统中广泛使用。这种方法只需将 UTC 时间加减时区便得到本地时间。
Linux 认为硬件时间是 UTC 标准时间,Linux 时间同步后会把“正确”的时间做减 8 操作作为标准 UTC 标准时间写入主板。
Windows 系统会认为硬件时间就是本地时间,所以直接把主板中的时间信息拿来当做当前的时间。设置或同步时间后也会把“正确”时间写入主板。
这样操作就会出现双系统时间不同步的情况。
1.3 解决方法
解决的思路就是让 Manjaro 系统使用 localtime 或者让 Windows 系统使用 UTC 时间。具体操作是:
- 在 Manjaro 系统中设置本地时间
1 |
|
- 在 Windows 系统中使用 UTC 时间
1 |
|
注:
本问题参照 ArchLinux Wiki 关于时间问题的处理:ArchLinux Wiki —- Time
二.GitHub 443错误
2.1问题描述
当从Git远程仓库 pull、push 或者 clone 时会出现如下错误:
1 |
|
2.2 解决方法
2.2.1 由代理引起
- 若是由于代理引起的,则使用如下命令关闭代理:
1 |
|
注:
重新开启 git 全局代理的方法:
1
2
3添加全局代理:
git config --global http.proxy
git config --global https.proxy
2.2.2 由 DNS 解析异常导致
若是由于 DNS 解析异常导致的,则使用如下方式解决:
- 首先在 ipaddress.com 网站搜索获取 GitHub 域名对应的 IP 地址。
注:
- 修改hosts文件,就修改了IP 地址和域名之间的映射关系。修改 hosts 文件域名解析就会访问 hosts 文件中的 IP和域名的映射关系以访问指定网站。
- 如果想要更加完整的 GitHub DNS 解析列表可在 Gitee 上查询相关仓库并将其更新到本地的 Hosts 文件当中。
- 然后将 IP 地址和域名的映射关系写入系统的 hosts 文件中。
1 |
|
三.签名更新出错
3.1 问题描述
当 Manjaro 更新系统时,会出现如下签名失败的情况并导致软件更新失败
1 |
|
3.2 解决方法
这儿可能会有两种情况出现
- 第一种原因呢,是
archlinux-keyring
滚不动了。根本原因呢就是升级到了gnupg-2.1
,pacman 上游更新了密钥环的格式,这使得本地的主密钥无法签署其它密钥。。解决的思路是初始化 keyring 亦或者是将其更换为archlinuxcn-keyring
。本节参考的如下链接:GnuPG-2.1 与 pacman 密钥环
1 |
|
然后再更新系统和软件,发现问题解决。
- 第二种情况呢,是 archlinuxcn 社区源的 keyring 包 archlinuxcn-keyring 由
farseerfc
的 key 签署验证,而 Arch Linux 官方 keyring 中包含了farseerfc
的 key 。解决思路呢就是使用如下命令在本地信任farseerfc
的 key。本节参照的如下链接:手动信任 farseerfc 的 key
1 |
|
然后再更新系统和软件,发现问题解决。
Manjaro/Linux使用常见问题
http://example.com/2024/01/31/Manjaro使用常见问题汇总/