我如何以非 root 用户身份安装 csh?

我如何以非 root 用户身份安装 csh?

我需要 csh 来安装包,但我不是 root 用户...我想为我的用户安装它。

我安装了 csh_20070713.orig.tar.gz、csh_20070713.diff.gz 和 csh_20070713-2ubuntu1.dsc,但没有 dpkg-source 命令...

然后我执行了以下步骤:

untar *.tar.gz
mv csh_20070713.orig csh_20070713
mkdir csh_20070713/debian
gunzip csh_20070713.diff.gz
patch -p0 < csh_20070713.diff
chmod +x csh_20070713/debian/rules

我不知道下一步该做什么!我在 csh_20070713 目录和 debian 目录中使用了 make 和 make install 命令,但什么也没发生……

答案1

似乎源包Makefile提供的csh使用了 不支持的一些功能(可能是 BSD 衍生的)GNU make,这使得在 Ubuntu 系统上构建它变得具有挑战性。更简单的替代方案可能是构建tcsh

DESCRIPTION
       tcsh  is an enhanced but completely compatible version of the Berkeley UNIX
       C shell, csh(1).  

如果你的系统管理员已启用必要的源存储库,则可能你可以使用以下方式自动下载并修补源代码

apt-get source tcsh

这不需要,sudo因为它将下载到当前目录中。如果这不可能,那么应该可以通过以下方式tcsh获取包的源代码:gitgit://git.debian.org/git/collab-maint/tcsh.git

获得修补后的源代码后,进入顶级目录并将其配置为在主目录中构建,例如

./configure --prefix=$HOME

这将导致tcsh二进制文件安装在 中$HOME/bin,该目录可能已位于您的 PATH 中。您可以根据需要指定 $HOME 下的子目录,或者您有写入和执行权限的任何其他地方,但您需要确保该目录也添加到您的 PATH 中。如果一切顺利,那么

make install

最后,您可能需要创建一个从tcsh到的符号链接csh,以便其他程序可以找到它作为默认csh实现,例如假设您安装到$HOME/bin

ln -s tcsh ~/bin/csh

答案2

我注意到了你所做的事情。有一种更简单的方法来安装它。你可以简单地通过进入终端来安装 csh。然后sudo apt-get install csh 在终端中输入要使 csh 成为启动时的默认选项,请输入which csh

要进入 csh 终端,只需转到常规终端并输入csh

来自“如何做”网站。

相关内容