FAQ (简体中文)

From ParabolaWiki
Jump to: navigation, search

这篇文章的目的是为了解答那些从 Arch 和其他非自由的 GNU/Linux 发行版转到 Parabola 的用户经常提出的问题。它讨论了系统完全自由所带来的问题。关于系统的技术细节,请参考 Arch FAQ

1 软件包

1.1 为什么在 Arch 中可以使用某软件包,在这里却不见了?

这通常意味着该软件包不是自由的,或是有一些其他与自由相关的问题。因为 Parabola 遵循 GNU FSDG,所以我们不得包含专有软件,您无法从官方的软件库中获取。要确认该软件包是否在 Parabola 中被删除,您可以查看黑名单。

 $ grep package_name /usr/share/doc/your-freedom/blacklist.txt

1.2 某软件包与 Arch 中的对应包有何不同?

软件包被修改通常是因为其包含专有部件、推荐非自由软件或包含专有商标等。要了解具体的软件包的具体修改情况,请查看黑名单。

 $ grep package_name /usr/share/doc/your-freedom/blacklist.txt

如果您想了解更多细节,您需要克隆 abslibre.git 仓库,仓库中包含有 PKGBUILD 文件,用于在 [libre] 中构建软件包。从 Arch 网站上获取相应的 PKGBUILD,然后运行 diff

1.3 为什么会出现共享库丢失或依赖不满足的错误信息?

本节介绍的方案适用于在启动程序时出现的以下形式的错误信息:

/usr/lib/qtcreator/plugins/libQbsProjectManager.so: Cannot load library
/usr/lib/qtcreator/plugins/libQbsProjectManager.so: (libqbscore.so.1.14: cannot open shared object file: No such file or directory)

……同时,在安装软件包或使用 pacman 升级时,出现以下形式错误信息:

error: failed to prepare transaction (could not satisfy dependencies)
:: installing clang (10.0.0-2) breaks dependency 'clang=9.0.1' required by qtcreator

多数程序会使用安装在系统上的外部库。有些程序只能与某些库的某一特定版本一起工作,在编译它们的系统上就会这些库。如果一个库在 Arch 中接收到升级时,它会在一段时间后拉入 Parabola 的仓库,依赖新版本库的程序可能会停止工作。通常,解决问题的方案很明确:安装新库后重新编译程序。

对于个人用户来说,解决问题的最简方法是降级收到升级的依赖。或者,您可以从 AbsLibre tree 中获取损坏包的构建方案,并使用 `makepkg-irs` 重新生成包。无论是哪一种情况,请通过 issue tracker 向 Parabola 开发者报告这个问题(如果还没有任何报告),以便该问题可以对每个人及时修复。

1.4 迁移到 Parabola 后,非自由的 AUR 包会被移除吗?

不。Parabola 不支持识别 AUR。迁移到 Parabola 后,您必须自己验证已安装的 AUR 包,并手动移除非自由的 AUR 包。因为 AUR 包通常是由用户自己建立和安装的,所以您可以通过运行以下命令来识别它们:

 $ pacman -Qm

一些 AUR 包可以在 Parabola 的 [pcr] 官方版本库中找到。如果您在那里找不到您需要的包,可以在"assist" 邮件列表"package request" section of the bug tracker 上请开发者把他添加到 parabola 中,他们可以帮助您确定它是否符合 FSDG 标准。

一些用户提出了 AUR 黑名单的要求,但显然工该项作不怎么顺利。详情请看 bug report 和未完成的 blacklist


1.5 为什么 Parabola 不直接使用一切在自由软件许可下发布的 AUR 和 Arch Linux 软件包?

Parabola 完全遵循自由系统发布指南(GNU FSDG)

指南的要求远远超出了 100% 由自由软件组成的发行版的要求。

一些不符合要求的例子:

  • 完全自由的软件,但仅为安装非自由图形驱动程序存在。
  • 一些软件包可能包含有非自由固件,但该软件包却报告符合自由软件许可。
  • 有时,即使是不与硬件交互的模糊包也可能含有非自由组件,如非自由的 FAT 实现。

Parabola 和 FSDG 指南通过限制发行版应该做什么来有明确界限的防止这种威胁。

一些例子:

  • 发行版提供的所有软件包都必须是自由软件,且不得强迫用户安装非自由软件。
  • Parabola 及它的软件包使用的所有软件仓库均须遵循 FSDG 指南。

如果没有上述的界限,会有用户被误导,他们会误认为使用 100% 的自由软件发行版就足以避免从发行版中获取非自由软件,并最终可能意外地安装非自由软件。

例如,Parabola 不会阻止用户使用网络浏览器下载和安装非自由软件。但由于许多网络浏览器都有一个包含自由和非自由插件的插件库,因此它们被修补为指向完全自由的插件库。

自动化该过程会变得非常复杂,因为制作一个能够理解软件包目标的程序会很复杂。它还需要了解许多文件格式,以了解源代码中可能存在何种二进制文件。

即使 Parabola 本身就是完全自由的软件,也没有鼓励用户安装非自由软件,但它并不能阻止已经在您的计算机上的非自由软件,这是不是 Parabola 所能处理的。例如,大多数计算机的 BIOS 或 UEFI 都是非自由的,Parabola 无法保护您不受此影响。为了防止这种威胁,FSF 有一个名为 Respects Your Freedom 的硬件认证服务。如果您想得到这样的硬件,也请先确保它能与您想要使用的发行版一起工作。

Parabola 还支持多个 init 系统(systemd 和 OpenRC),因此我们还需要修补 PKGBUILD,以便尽可能地支持 OpenRC。

1.6 LaTeX 会输出关于字体丢失的错误信息。这种情况下我该如何编译我的文档?

由于一些字体存在自由问题和不兼容的许可证,它们被我们从自己的 TeX Live 发行版中删除了。解决这个问题的办法是使用不同的字体和/或不同的 TeX 引擎。更多详情,请查看 TeXLive (简体中文)

1.7 如何解压一个 RAR 压缩文件?

Parabola 没有 unrar 命令,因为它是专有软件。您可以使用 bsdtar -xf 命令来完成这项工作。Pacman 依赖于 libarchive,因此它应该是被默认安装在您的系统中的。很不幸,它不能处理 RAR 压缩文件的一些额外功能,如果您确实需要这些额外功能,可以尝试 unarchiver

1.8 为什么我无法升级软件包?

参见 Pacman_troubleshooting

2 硬件

2.1 为什么我的英伟达显卡不工作了?

如果您有一张较新的 Nvidia 显卡,可能就会出现这种情况。Nouveau 可能还不支持您的显卡。要检查您的显卡是否被 Nouveau 支持,请先在输出中寻找您的卡的代码名称:

 $ lspci | grep VGA

接下来,请参见 CodeNames 进行进一步解码。最后,您可以在 FeatureMatrix 上查看您的显卡的支持情况。

2.2 为什么我的 ATI/AMD 显卡无法在 radeon 或 amdgpu 驱动程序上正常工作?

如果您的 ATI 或 AMD 卡在 Linux-libre 中尚不受支持,则可能出现此种情况。

有关支持状态的详细信息,请参阅 Libreplanet wiki 中的 Group:Hardware/research/gpu/radeon 页面

当该显卡受到支持时,您将能够驱动多个显示器并具有不同的分辨率,但是 3D 加速和视频硬件解码将无法工作。这是因为它还缺少一个自由的固件才能工作。

2.3 为什么我的 Wi-Fi 适配器在迁移后停止工作了?

常见的情况是,Wi-Fi 卡需要在卡内加载固件。如果缺少了固件,很多网卡根本无法使用。因为其固件往往是专有的,所以我们不对外发布。这是内部 Wi-Fi 卡的常见情况。

通常解决这个问题的方法是更换内部卡,或者使用外部 USB Wi-Fi 接收器,并提供自由固件,例如:

Atheros 芯片组:

RTL818x 芯片组:

您也可以在 h-node 数据库中搜索来查找已知的与自由软件或 scripts/deblob-$ver 兼容的 Wi-Fi 适配器,以便检查从 Wi-Fi 设备黑名单中包含已知的不能与自由软件一起正常工作的 Wi-Fi 适配器,其中包含了 Linux 内核源码树内的 blobs。也可以检查 Respect Your Freedom Hardware List,其中包含了许多与免费软件兼容的外部和内部 Wi-Fi 适配器。

该表格列出了 Parabola 中各种 WiFi 驱动程序和固件的状态:

启动 可用性 标准 状态
ath5k PCI, PCIe, PCMCIA 2.4GHz, a/b/g
ath9k PCI, PCI-E, PCMCIA, or integrated in WiFi access point chips. 2.4GHz, 5GHz, a/b/g/n
carl9170 USB 2.4GHz, no 5GHz?, a/b/g/n
b43, b43-legacy PCI, PCI-E, PCMCMIA, or integrated in WiFi access point chips. a/b/g/n
  • linux-libre-firmware 有提供自由固件,但仅对旧版芯片
  • 需要在 b43 驱动下测试(或许需要一些内核因素)
rtl818x, rtl8xxxu PCI, USB
  • 集成固件?
  • linux-libre 下应该能正常工作
rt2400pci, rt2500pci PCI
  • 集成固件?
  • linux-libre 下应该能正常工作
rt2500usb USB
  • 集成固件?
  • linux-libre 下应该能正常工作
airo b
  • 集成固件?
  • linux-libre 下应该能正常工作

测试最充分的驱动应该就是 ath9k,ath9k_htc 和 ath5k 了。