问题标签 [fhs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在 Debian 中,守护进程在文件系统的哪个位置提供动态测量结果?
对于毕业论文,我正在开发一个在 Debian 上运行的 Linux 守护程序,它也被 Debian 打包以便于管理。它通过 I²C 读取各种测量结果。结果应显示在网站上。
在 Debian 中,守护进程会在文件系统的哪个位置输出这些测量数据以定期更新并从其他应用程序或用户读取?为了清楚起见,日志记录是单独完成的,我只需要几个包含当前值的文件(就像您可以在 /proc 中读取 CPU 温度一样)。
从FHS来看,这些似乎是最合适的:
/var/lib
或者/var/spool
/srv
/tmp
它应该去哪里?
linux - 适用于 Windows 的 XDG Basedir 目录
为了方便访问XDG Basedir 目录,我制作了一个 Racket库。因为我希望该库也可以在 Windows 上使用(对于跨平台程序),所以当未设置 XDG 环境变量时,我让它使用标准 Windows 目录作为默认值。
我目前正在使用以下内容:
$XDG_DATA_HOME
=%LOCALAPPDATA%
$XDG_DATA_DIRS
=%APPDATA%
$XDG_CONFIG_HOME
=%LOCALAPPDATA%
$XDG_CONFIG_DIRS
=%APPDATA%
$XDG_CACHE_HOME
=%TEMP%
$XDG_RUNTIME_DIR
=%TEMP%
我的问题是是否有比这些更好的默认值。我知道这%TEMP%
是$XDG_RUNTIME_DIR
错误的,因为它确实应该在 ramfs 上/tmp
,但我不知道 Windows 上有任何这样的目录。在 Windows 中,似乎没有很好的选择将数据和配置目录分开,所以我为它们使用相同的目录。我的直觉是,对于可写变量和在要读取且通常不会被覆盖的列表中具有“漫游”配置,这%LOCALAPPDATA%
是一个更好的选择。但是,具有漫游配置的企业 Windows 用户会觉得这很奇怪并且不同意吗?$XDG_*_HOME
$XDG_*_DIRS
docker - Docker 会杀死 FHS 吗?
我见过很多忽略文件系统层次标准(FHS)的 Docker 镜像。大多数示例(一些官方)忽略了 FHS。例如,有些人可能会选择将他们的二进制文件/app
和数据放在 中/data
,entrypoint.sh
在根目录中放置一个等等。
FHS 的目的是更好地实现分发和应用程序的互操作性。Dockerfile 的 FHS 合规性允许将 Linux 基础映像更改为另一个版本或发行版。例如,可能需要这样的升级来解决分发包的错误修复。
编写不符合 FHS 的 Dockerfile 似乎是一种常见的做法。这会使维护变得更加复杂吗?
linux - “本地”是什么意思?
Linux 有/usr/local
and ~/.local
(用于 gnome 和 Ubuntu)。那么“本地”是什么意思呢?与这个“本地”形成对比的“远程”是什么?
它与所有计算机共享相同系统文件的网络有关吗?
linux - “安装”目录是否有 Linux 标准结构?
我想发布一个小软件包,但我不确定如何构建发布目录。
是否有一个 Linux 标准指定如何命名我的发布文件夹中的每个目录以及在其中放入(或不放入)什么?
例如,我希望编译的库/lib
和头文件在/include
- 等等。我在发行版中有一些其他文件,我不清楚将它们放在哪个目录中。
asp.net-core - 平台无关目录
ASP.NET Core 是否提供任何独立于平台的方式来访问标准路径,例如应该保存数据或配置文件的位置?Qt 的 QStandardPaths等模块对于准备 Qt 应用程序以独立于平台的方式部署非常有帮助,但遗憾的是我在 ASP.NET Core 中没有找到任何类似的服务。有谁知道 .Net core 或 ASP.NET Core 平台中是否存在类似的东西?
scheme - 使用自动工具制作可执行的 Guile 程序?
最近开始学习使用自动工具,并一直在尝试用它制作一个简单的Guile程序。按照本教程,我成功编译了程序,将 .go 文件放入%site-ccache-dir
,将 .scm 文件放入%site-dir
. 但是,本教程旨在制作模块而不是制作可执行文件。只需创建一个指向 .scm 文件的链接%site-dir
并将其放入/usr/bin
就足够了吗?使用自动工具执行此操作的最佳方法是什么?以下是我目前的设置...
guile.am:
引导程序:
生成文件.am:
配置.ac:
pre-inst-env.in:
示例程序.scm:
python - 在 ubuntu 18.04.1 LTS 上保存 jupyter notebook/python 文件
我有一个带有 python 代码的 jupyter 笔记本,我想知道它是否需要转到 Ubuntu 中的特定文件位置?有没有关于把它放在哪里的最佳实践?没关系吗?
例如,我将我的 html/css 代码/var/www/html
放在 ubuntu 中。
谢谢!
cmake - 说服 CPack 在 /usr/share 下正确安装共享只读数据
我正在配置 CMake/CPack 以安装一个附带一些只读共享数据文件的应用程序。我的理解是,根据FHS,此类文件应存储在/usr/share
理想情况下应存储在特定于应用程序的目录(例如 /usr/share/my_project
)中,而不是直接存储在/usr/share
. 我GNUInstallDirs
试图通过以下方式保持在 FHS 的期望范围内(我的理解):
一切都按照记录进行;我的问题是:
- 我是否正确理解 FHS(理想情况下)我应该将我的应用程序的共享只读数据放在下面
/usr/share/my_project
? - 如果是这样的话,我是不是用
TYPE DATA
错了INSTALL(DIRECTORY ...)
?也就是说,我应该复制所有数据${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}
然后使用INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME} TYPE DATA)
. 这似乎是一种浪费。 - 否则,如果我误解了这种类型的数据应该安装在哪里,它应该放在哪里,并且是
TYPE DATA
正确的使用方式install(DIRECTORY ...)
?还是我还需要使用明确指定的DESTINATION
?
我想这是询问是否适合用途并与 FHS 兼容GNUInstallDirs
的好方法。TYPE DATA
我的主要目标是让 CMake/CPack将东西放在它们应该存在的地方,而无需为每个平台的安装程序明确指定正确的位置。
linux - 存储脚本及其输出的合适目录是什么?
在 linux 操作系统上存储脚本及其输出(一些 txt 文件)的最合适的文件夹是什么?脚本及其目录需要有 755 权限。
是否有一个已经存在的适当目录用于该目的,或者我应该在哪里创建一个?