FreeSoftwareUser 发布的文章

如果你需要管理web服务器,你一定遇到过这样的问题:

  1. 新建了一个目录给新网站用,可是Nginx/PHP应用部署后 你发现没权限写入这个目录。
  2. root账户操作时复制进/var/www的文件不能用Web应用删掉
  3. 自己新建的账户上传的应用总是没法运行

还有诸多类似的错误,本质上都是权限不规范导致的。
让我们看看一个正常的网站目录权限是怎么样的:

xfox@racknerd-14a7c8:~$ ls -l /var/www/xfox.fun/
total 100
drwxrwxr-x 5 www-data www-data  4096 Jul  4  2023 admin
-rwxrwxr-x 1 www-data www-data  1667 Jul  4  2023 config.inc.php
-rwxrwxr-x 1 www-data www-data   708 Jun  7  2023 index.php
drwxrwxr-x 4 www-data www-data  4096 Jul  4  2023 tools
drwxrwxr-x 6 www-data www-data  4096 Jul  4  2023 usr
drwxrwxr-x 6 www-data www-data  4096 Jul  4  2023 var

我们可以发现,如上的一个用Nginx+PHP 部署的Typecho 站点目录是归www-data这个用户及同名用户组所有的。
实际上:www-data就是Nginx/Apache等常用Web服务使用的特定user/group,目的是给予网站尽可能低的权限。

正确的操作方式既不是粗暴的的用root用户往里站点路径硬写,也不是sudo 提权强行操作。
你应该将自己当前使用的管理账户(例如xfox )添加到 www-data 用户组中。
我们可以执行如下命令完成这一操作:
sudo usermod -aG www-data $USER
接着重新登录服务器使用groups命令即可确定当前用户所在的用户组

xfox@racknerd-14a7c8:~$ groups
xfox sudo www-data

确认无误就可以愉快的玩耍了!

从本周起,硬核观察复刻栏目将正式更名为《内核视界》并在绝大多数情况下维持每周一刊的状态,如有特别新闻需要放送,将另开出特刊。

联发科在Linux 6.15 中添加 MT8365 “Genio 350 ”DRM 驱动程序支持

联发科 Genio 350 (MT8365) SoC 14nm制程专为AIoT设计,拥有四个 Cortex-A53 内核(最大频率2Ghz)、Mali-52 GPU 内置内置机器视觉和自然语言处理的APU和HiFI DSP。

本周除了英特尔图形驱动程序代码和新的 AMD 硬件支持以及最初的 NOVA 驱动程序桩等 Linux 6.15 的重要功能外,较小的直接渲染管理器(DRM)驱动程序也在为下一个内核版本进行更改。Linux 6.15 的联发科 DRM 驱动程序将添加 MT8365 SoC 支持,也就是我们熟知的 Genio 350。

- 阅读剩余部分 -

今天是2025年3月8日,欢迎来到Linux用户站,以下是本期硬核观察复刻的主要内容。

Wine 10.3 改进了 Wayland 驱动程序的剪贴板处理,在 WineD3D 中实现了 Vulkan 视频解码

Wine 10.3 刚刚发布,这是这款开源软件的最新双周开发版本,用于在 Linux 和其他平台下运行 Windows 应用程序和游戏。
Wine 10.3 继续增强对 Wayland 驱动程序的支持,以便在 Wayland 下原生使用 Wine,而不是通过 XWayland 或依赖 X11 会话。目前,Wayland 驱动程序的最新功能是支持剪贴板的复制/粘贴处理。该代码自一月份以来一直在审核中,而现在已在 Wine 10.3 中准备就绪。
Wine 10.3 中另一项值得注意的功能是在 WineD3D 代码中的 Vulkan Video 上实现 Direct3D 视频解码。这是改进使用 Direct3D 视频接口的游戏/应用程序视频播放的一个步骤。
同样值得注意的是,Wine 10.3 在蓝牙驱动程序方面的工作也在继续进行,在过去几个月中已经取得了一些进展。
Wine 10.3 还捆绑了用于 ARM 构建的 Compiler-RT 库和 Winelib C++ 支持的头文件修复。
在过去两周中,Wine 10.3 共修复了 18 个已知错误,修复项目包括 Steam、虚幻引擎和 Windows 7 Card Games。

Me:Wayland已经逐渐成为各大Linux生态成员认可的主流标准。希望国内的信创产品也能及时跟进。

GNOME 48 候选发布版带来晚期 Mutter 功能及其他更改

随着两周后 GNOME 48 桌面稳定版的临近,GNOME 48 候选发布版 “48.rc ”已于7日晚发布。
在今天的 GNOME 48 候选发布版中,我们可以发现许多在最后关头进行的功能修改和其他值得注意的改动。一些最引人注目的 GNOME 48.rc 变动包括

  • Epiphany (GNOME Web) 现在将默认协议从 HTTP 更改为 HTTPS。
  • Evince 文档查看器改进了对 Adobe PDF 打开参数的支持。
  • GNOME 背景已改回使用 JPEG 而非 JPEG-XL 作为默认壁纸。恢复使用 JPEG 是出于性能方面的考虑。
  • GNOME 控制中心添加了 HDR 亮度设置用户界面。
  • 继续改进 GNOME 控制中心的 “数字福祉 ”选项。
  • GNOME 远程桌面现在支持硬件编码的 AVC444。
  • GNOME Shell 现在可按应用程序对通知进行分组。
  • GNOME 软件对更新页面的用户界面进行了小幅改进,同时还进行了一些性能改进和崩溃修复。
  • 许多 GNOME Mutter 的最后改进,包括 Wayland 颜色管理协议支持、动态三重缓冲、光标形状协议支持和演示时间 v2 支持。
  • GTK 带来了对 Wayland 光标形状协议的支持、使用新的 GNOME 默认字体的更好的字体渲染,以及对新的 Android 后端的修复。
  • Nautilus 文件管理器重新设计并加快了添加文件查看的速度。
  • XDG 桌面门户 GNOME 代码添加了全局快捷方式门户。

​Vulkan Video 的VP9解码计划于2025年实现

  1. Vulkan Video正在推进对VP9编解码器的支持,通过开发VK_KHR_video_decode_vp9扩展补充现有H.264/AV1编解码能力。该扩展将允许开发者利用GPU硬件加速VP9视频解码,预计2025年完成开发。
    ​2. 帧内刷新支持(Intra-Refresh)​
    Vulkan Video正在开发VK_KHR_video_encode_intra_refresh扩展,该功能可提升视频流传输的稳定性和效率,尤其适用于实时通信场景。通过分块刷新机制减少延迟,增强抗网络波动能力。
  2. ​维护性改进与跨平台兼容性
    ​VK_KHR_video_maintenance2扩展:优化视频处理流程的底层细节,提升API的长期可维护性。
    ​Mesa驱动支持:Igalia团队计划在2025年底前实现完整的AV1编码支持,并推动Linux平台的应用程序适配,例如GStreamer和FFmpeg。
  3. ​生态与工具链整合
    ​一致性测试套件:Khronos持续完善Vulkan Video的测试框架,确保跨厂商硬件(如NVIDIA、AMD、ARM)的兼容性。
    ​开源示例与SDK支持:提供标准化代码示例和验证层,降低开发门槛,加速高质量视频应用的落地。

Me: Vulkan 现在正在逐渐取代OpenGL(甚至包括部分Direct3D的工作)成为事实上的新标准,我们可以在AI推理加速,视频编解码,游戏底层图形驱动看到Vulkan的身影

Ubuntu 恢复“-O3 ”优化,继续寻求更简便的 ARM64 安装程序

Canonical工程师Matthieu Clemenceau代表Ubuntu Foundations工程师发布了Ubuntu 25.04开发周期的最新进展。目前,Ubuntu 25.04的开发周期已经过半,许多值得关注的软件包更新已经发布,同时,在更好地支持ARM64和“-O3 ”优化软件包方面的工作也在继续进行。
说到 Ubuntu 25.04 的一些值得注意的软件更新,Canonical 工程师已经发布了 Glibc 2.41、systemd 257.2 和 OpenSSL 3.4.1 等值得注意的版本升级。Ubuntu 25.04默认继续使用GCC 14,而其他一些值得注意的工具链版本包括Ubuntu 25.04的Python 3.13和OpenJDK Java 21。此外还有 Golang 1.24、Rust 1.84、Microsoft .NET 9 和 LLVM 20。
如前所述,Ubuntu 25.04将支持Dracut作为initramfs-tools的替代品,但Ubuntu Linux默认情况下不会使用Dracut,直到10月份的Ubuntu 25.10。
Canonical的工程师们还在继续开发crypto-config,用于系统范围内的密码学设置配置文件。
Ubuntu 25.04 在 ARM64 方面也做了更多工作,尤其是 Ubuntu Linux 对高通 Snapdragon X1 笔记本电脑的支持。对 Snapdragon X1 的支持有了更多改进,而且他们还在继续努力,希望能有一个 Ubuntu ARM64 ISO,从这些新的笔记本电脑到 ARM64 服务器等都能使用:

“我们将继续致力于实现Ubuntu对初学者友好、人人都能使用的目标,因此我们将继续努力。“

Me: 虽然我不是特别喜欢,但是我完全赞同Ubuntu是一个很适合Linux初学者的发行版。

Microsoft Edge 准备淘汰 Manifest V2 扩展开始禁用 uBlock Origin

在 Google Chrome 之后,Microsoft Edge 准备淘汰 Manifest V2 扩展开始禁用 uBlock Origin。最新的 Edge Canary 版本禁用了 Manifest V2 扩展,并显示信息称该扩展不再被支持,Microsoft Edge 建议将其移除。对于被自动禁用的扩展如 uBlock Origin,用户目前暂时还可以在扩展管理中手动启用。

Me:是安全还是广告商利益?或许都有。

DeepSeek 开发 Linux 文件系统以实现更好的 AI 训练和推理性能

DeepSeek 本周以MIT许可协议发布了 3FS,这是一个基于 Linux FUSE 的文件系统,旨在实现更好的 AI 训练和推理性能。
3FS Fire-Flyer 文件系统是一种分布式文件系统,旨在利用现代SSD和 RDMA 网络来获得更好的 AI 训练和推理体验。3FS 依靠 FUSE 提供基于用户空间的文件系统支持,旨在使使用共享存储部署大规模 AI 训练/推理集群变得更加容易。DeepSeek的 Fire-Flyer 文件系统具有分解架构、强一致性和其他以 AI 性能和可用性为目的的优化。
除了利用 FUSE 之外,这个 Linux 文件系统还依赖于 Rust 编程语言、Apple 的 FoundationDB 分布式数据库和其他现代依赖项。
Me:3FS本质上是尽可能绕过操作系统的各个IO流程瓶颈以压榨出存储设备极限性能。

EA 开源《命令与征服:红色警戒》

EA在上个月27号宣布,他们已根据 GPL 许可开源了《命令与征服:红色警戒》以及《命令与征服:泰伯利亚黎明》和《叛徒》和《将军:零时》。游戏源代码现已获得 GPL 许可,可供粉丝社区修改和扩展,并允许这些游戏在未来的平台上构建。在过去的一年里,EA 一直在努力从 Perforce 档案中恢复这些经典 C&C 游戏的源代码。
除了开放旧源代码外,EA 还为更多《命令与征服》游戏启用了 Steam Workshop 支持。有关
EA 此次令人意外的开源公告的更多详情,请访问SteamPowered.com。这些游戏的源代码可通过GitHub 上的 ElectronicArts获取。

《命令与征服:红色警戒》于 1996 年发布,因此需要针对 Microsoft DirectX 5 SDK 和其他旧组件进行构建。此外还需要 Wacom C/C++ 和 Borland Turbo Assembler。要运行这些游戏,您仍然需要拥有游戏的所有游戏资产。看看《命令与征服》粉丝社区如何处理开源代码,以及最终是否会有任何现代的 Linux 或类似移植版本,将会很有趣。

Me:今天先不骂EA了,红警用户在不久的将来会有机会获得更好的体验。

NetworkManager 1.52 带来 IPVLAN 接口支持、Ethtool FEC 模式

Linux 网络NetworkManager 1.52 昨天发布,这是 Linux 系统上广泛使用的系统网络服务和网络配置工具套件的最新版本。NetworkManager

1.52 增加了 IPVLAN 接口支持,现在允许手动配置 LTE 初始 EPS Bearer 的身份验证,支持仅 IPv6 首选 DHCPv4 选项,支持通过新属性自动向 DNS 服务器添加路由,支持 nm-cloud-setup 中的 OCI,并增加了对 ethtool FEC 模式的支持。

==================================================
NetworkManager-1.52

自 NetworkManager-1.50 以来的变更概览

  • 将交互历史记录存储在 $XDG_CACHE_HOME/nmcli-history 中,而不是 ~/.nmcli-history
  • 添加新的 ipv4.link-local=fallback 以在未设置其他 IPv4 时设置 IPv4 链路本地地址。
  • 删除使用 Autotools 构建的支持
  • 添加 IPVLAN 接口支持
  • 允许手动配置 LTE 初始 EPS Bearer 的身份验证。
  • 添加对“仅 IPv6 优先”DHCPv4 选项 (RFC 8925) 的支持,用于指示主机支持仅 IPv6 模式,并且如果网络提供 IPv6 连接,则愿意放弃获取 IPv4 地址。
  • 支持通过 ipv4.routed-dns 和 ipv6.routed-dns 属性自动将路由添加到 DNS 服务器;启用后,每个名称服务器只能通过指定它的设备访问。
  • 在 nm-cloud-setup 中支持 OCI
  • 增加了对 ethtool FEC 模式的支持
  • 添加新的 ipv4.shared-dhcp-range 和 ipv4.shared-dhcp-lease-time,允许您自定义 DHCP 服务器在“共享”连接方法中提供的 DHCP 范围和租用时间。
  • 现在可以使用支持 DNS over TLS 名称服务器的类似 URI 的语法指定 DNS 服务器。
  • initrd-generator 理解“rd.net.dns”选项以配置全局名称服务器。
  • 放弃对“dhcpcanon”DHCP 客户端的支持。
  • global-dns 配置部分现在有 2 个附加键:“resolve-mode”和“certification-authority”。
  • Dnsconfd 插件现在可用于配置系统范围的 DNS 缓存解析器。如果启用了 dnsconfd 插件并将 ipvX.routed-dns 设置为 -1,则默认启用添加路由。
  • 在 nmtui 中向 IPv6 配置选项添加“共享”方法。

AMD 准备在 Linux 6.15 中为其内核图形驱动程序提供新的 GPU 支持

作者:Michael Larabel
AMD 正在为 Linux 6.15 内核引入大量新硬件支持和功能优化,涵盖 GPU、APU 和计算驱动,进一步提升开源驱动的兼容性和性能。
其中最值得注意的是大量的新GPU硬件支持,其中包括在 Linux 6.15 中添加新的 GC 11.5.2 和 GC 11.5.3 支持。GC 11.5 适用于 RDNA3.5,因此除了已经支持的硬件之外,可能还会有一些额外的 AMD APU 配备 RDNA3.5 图形……也许是一些新的定制 APU 或类似的东西。另外RDNA4也获得了主线内核。
完整更新列表:

amd-drm-next-6.15-2025-02-21:
amdgpu:
- 添加对 RGB 灯等的 OEM i2c 支持
- 添加对 GC 11.5.3 的支持
- 添加对 GC 11.5.2 的支持
- 添加对 SDMA 6.1.3 的支持
- 添加对
NBIO 7.11.2 的支持 - 添加对 NBIO 7.9.1 的支持
- 添加对 MMHUB 3.3.2 的支持
- 添加对 MMHUB 1.8.1 的支持
- 添加对 SMU 14.0.5 的支持
- 添加对 SMUIO 13.0.11 的支持
- 添加对 PSP 14.0.5 的支持
- 添加对 UMC 12.5.0 的支持
- 添加对 DCN 3.6.0 的支持
- JPEG 4.0.3 更新
- 为 GC 10-12 添加动态工作负载配置文件切换
- 支持更大的 vbios 大小
- GC 9.5.0 更新
- SMU 13.0.12 更新
- SMU 13.0.6 更新
- IP 发现更新
- GC 10 队列重置更新
- DCN 4.0.1 更新
- UHBR 链路速率修复
- 中止暂停修复
- 将 gttsize 参数标记为已弃用
- GC 10 清洁器着色器更新
- PSR-SU 修复
- 清理 PM4 标头
- 光标修复
- 为 JPEG 启用 devcoredump
- 杂项清理
- Runpm 清理
- MES 更新
- GC 9 gfxoff 修复
- Vbios 获取清理
- 文档更新
- 更新辅助平面处理
- DML2 更新
- MI 的 SDMA 修复
- GC 11/12 的清洁器着色器修复
- ACA 更新
- 初始 JPEG 队列重置支持
- RAS 更新
- 初始 RAS CPER 支持
- DCN/DCE 恐慌屏幕处理清理
- BT2020 修复
- SR-IOV 修复

amdkfd:
- 在 KGD 之间同步 pasid 值和 KFD
- 杂项清理
- 改进 APU 的 GTT/VRAM 处理
- 拓扑更新
- 修复 GC 7/8

UAPI 上的用户队列验证:
- 启用“广播 RGB” drm 属性
- 为虚拟化模式添加 INFO IOCTL 查询

本周的 pull 请求中还值得注意的是,某些 AIB 显卡型号启用了 OEM i2c 对自定义 RGB 灯和其他功能的支持。具体可以看补丁 00/10 添加额外的 i2c 总线
看上去继Intel去年净亏损达188亿美元后AMD继续YES.

OneXPlayer Linux 驱动程序正在追赶 Windows 监控驱动程序

OneXPlayer公司生产一系列采用 AMD 或 Intel SoC 的手持式游戏机​​。这些设备出厂时预装了 Windows,但由于它们是 x86_64 架构,因此可以很好地与 Linux 配合使用,并且有一个OneXPlayer Linux 驱动程序,用于支持这些手持式设备的传感器读数和其他设备特定信息。在本周末的大型补丁系列中,该 OneXPlayer Linux 驱动程序正在赶上其官方 Windows 对应驱动程序。Antheas Kapenekakis 发布了“onexpsensors”硬件监控 (HWMON) 驱动程序的最新补丁集,以帮助其赶上 Windows 驱动程序支持。
Me:掌机用户最感谢开源社区的一集。

Valve 将联想 Legion Go S 控制器支持偷偷嵌入 Linux 内核

Valve 为联想的Legion Go S 游戏掌机提供支持,该掌机运行基于 Arch Linux 的 SteamOS 。除了在 CES 上的大张旗鼓之外,Valve 还与联想合作提供工程资源,以确保 Legion Go S 能够与 SteamOS 以及主流 Linux 内核良好运行。事实证明,从最近的一个秘密补丁中,Valve 悄悄地为 Linux 内核添加了支持,最终成为联想 Legion Go S 控制器/输入处理。

Me:不要联想

SVT-AV1 3.0 发布,具有更快的基于 CPU 的 AV1 编码

SVT-AV1 是一款基于 CPU 的开源 AV1 编码器,由英特尔软件工程师发起,目前由开放媒体联盟领导,本周发布了 SVT-AV1 3.0 重大版本。以下是有关 SVT-AV1 3.0 的一些详细信息以及这款高速 AV1 编码器的一些初始性能基准,特别是在现代英特尔和 AMD 处理器上。SVT-AV1 3.0 对其 API 进行了改进,因此版本号大幅提升。API 已更新,以消除未使用的字段和其他改进。

除了破坏向后兼容性的 API 更改之外,SVT-AV1 3.0 还重新设计了一些编码预设。在 AV1 编码器方面,也有许多新的性能优化:

- 改进了快速解码 2 模式的中高质量预设质量与速度权衡:
- 在相同质量水平下,M3-M10 加速约 15-25%
- 预设 M0-M2 的 BD 速率提高约 1%
- 重新定位快速解码 1 模式,与快速解码 0 相比,解码器周期减少约 10%,同时将 BD 速率损失降低至约 1%
- 进一步对 Arm Neon 和 SVE2 进行优化,使 480p-1080p 分辨率的高位深度编码平均提高 10-25%,超越了自 v2.3.0 以来与架构无关的算法改进
- 从 SVT-AV1-SPY fork 移植了多项功能,以进一步提高调谐 0 模式的感知质量
- 添加了 avif 模式以减少编码静止图像时的资源利用率

Me:AV1是目前我最看好的视频编码,希望能早日普及。

Mesa 的 Venus 现已支持 Vulkan 1.4

Mesa Venus 驱动程序代码与 VirtIO-GPU 配合使用,用于在虚拟化环境 (VM) 中公开加速的 Vulkan API 支持,现在正在宣传 Vulkan 1.4 API 支持。Mesa25.1-devel 中的 VirtIO-GPU Venus 驱动程序代码将加入英特尔 ANV、Lavapipe、NVIDIA NVK、RADV 和 Adreno TURNIP 驱动程序,公开 Vulkan 1.4 API 支持。Vulkan 1.4于 12 月初首次亮相,但很快就得到了开源 Mesa Vulkan 驱动程序的支持。
Vulkan 1.4要求使用各种较新的扩展,改进了 8K 渲染,并增强了Vulkan 1.3 规范的其他功能。周六,此合并在 Mesa 25.1 Git 上添加了 Vulkan 1.4 核心扩展支持的其余部分、功能以及公开 Vulkan 1.4 的其他要求。在 Vulkan 1.4 主机渲染器位的 Virglrenderer 方面,此合并使 Vulkan 1.4 凭借 virglrenderer 越过了终点线。
Me:也许未来你的云游戏服务就依赖它。