Linux debian 包管理器更新 $PATH

Linux debian 包管理器更新 $PATH

我目前正在使用 dpkg 来管理我们软件的安装,并希望安装到 /usr/bin/ 下的文件夹中,因为我认为将我们系统的所有软件放在单独的子文件夹中很方便,这会立即与 /usr/bin/ 中的其他软件不同。

我想知道如何配置 debian 包管理器来更新路径以包含这个新的子文件夹,例如 /usr/bin/mysystem/。

有人可以帮忙吗?

谢谢。

答案1

我目前正在使用 dpkg 来管理我们软件的安装,并希望安装到 /usr/bin/ 下的文件夹中,因为我认为将我们系统的所有软件放在单独的子文件夹中很方便,这会立即与 /usr/bin/ 中的其他软件不同。

这是一个坏主意,并且违反了惯例文件系统层次结构标准。至少,在/usr/local/bin/or内部添加符号链接/usr/bin/(另请参阅更新替代方案(1)

尝试让您的软件由某个单一命令驱动(例如git)或至少有一个公共目录/opt/Foo/(例如/opt/Foo/bin/用于可执行文件,并要求您的用户添加/opt/Foo/bin/到他/她的$PATH

我想知道如何配置 debian 包管理器来更新路径以包含这个新的子文件夹,例如 /usr/bin/mysystem/。

/bin/zsh这是不可能的,黑客攻击取决于您用户的登录 shell(与和不同/bin/bash)。请参阅chsh(1)命令和环境(7)执行(3)或者执行(2)(由 shell 使用)。用户可以设置自己的交互的$PATH例如在~/.bashrc(如果他的登录 shell 是 /bin/bash)或~/.zshrc(如果他的登录 shell 是/bin/zsh)等......

阅读更多关于Unix shell并且至少重击(1)。查看现有 shell 的源代码,例如GNUbash或者桀骜或者英语或者,了解更多。他们经常自由软件(或者至少是开源的)。使用跟踪(1)在你自己的 shell 上了解更多系统调用(看系统调用(2)) 被它调用。

读一些有关操作系统的教科书

或许可以从中汲取灵感ssh-代理(1)。有时,我的一些 shell 脚本中有eval $(ssh-agent -s),例如使用 startx

相关内容