首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在为util-linux运行make时拒绝权限。

在为util-linux运行make时拒绝权限。
EN

Stack Overflow用户
提问于 2017-05-23 16:15:37
回答 3查看 1.6K关注 0票数 1

我正在试图在一台没有根访问权限的机器上安装util-linux。我运行的命令:

代码语言:javascript
复制
cd util-linux-2.29
./configure --prefix=$( pwd ) --disable-use-tty-group
make
make install

在运行make后,我得到以下错误(我截断了输出):

代码语言:javascript
复制
chmod 4755 /athena/elementolab/scratch/chm2059/from_dat02/chm2059/lib/util-linux-2.29/bin/mount
chmod 4755 /athena/elementolab/scratch/chm2059/from_dat02/chm2059/lib/util-linux-2.29/bin/umount
make[4]: Leaving directory `/athena/elementolab/scratch/chm2059/from_dat02/chm2059/lib/util-linux-2.29'
/usr/bin/mkdir -p '/usr/share/bash-completion/completions'
/usr/bin/install -c -m 644 bash-completion/blkid bash-completion/cal bash-completion/col bash-completion/colcrt bash-completion/colrm bash-completion/column bash-completion/findmnt bash-completion/flock bash-completion/getopt bash-completion/hexdump bash-completion/ipcmk bash-completion/ipcrm bash-completion/ipcs bash-completion/isosize bash-completion/logger bash-completion/look bash-completion/lsipc bash-completion/lsns bash-completion/mcookie bash-completion/mkfs bash-completion/mkswap bash-completion/namei bash-completion/prlimit bash-completion/readprofile bash-completion/renice bash-completion/rev bash-completion/script bash-completion/scriptreplay bash-completion/setsid bash-completion/tailf bash-completion/whereis bash-completion/wipefs bash-completion/fsck bash-completion/mkfs.bfs bash-completion/fsck.minix bash-completion/mkfs.minix bash-completion/fsck.cramfs bash-completion/mkfs.cramfs bash-completion/addpart bash-completion/delpart '/usr/share/bash-completion/completions'
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/blkid’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/cal’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/col’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/colcrt’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/colrm’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/column’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/findmnt’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/flock’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/getopt’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/hexdump’: Permission denied
/usr/bin/install: cannot create regular file ‘/usr/share/bash-completion/completions/ipcmk’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/ipcrm’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/ipcs’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/isosize’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/logger’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/look’: Permission denied
/usr/bin/install: cannot create regular file ‘/usr/share/bash-completion/completions/lsipc’: Permission denied
/usr/bin/install: cannot create regular file ‘/usr/share/bash-completion/completions/lsns’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/mcookie’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/mkfs’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/mkswap’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/namei’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/prlimit’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/readprofile’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/renice’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/rev’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/script’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/scriptreplay’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/setsid’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/tailf’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/whereis’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/wipefs’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/fsck’: Permission denied
/usr/bin/install: cannot create regular file ‘/usr/share/bash-completion/completions/mkfs.bfs’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/fsck.minix’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/mkfs.minix’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/fsck.cramfs’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/mkfs.cramfs’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/addpart’: Permission denied
/usr/bin/install: cannot remove ‘/usr/share/bash-completion/completions/delpart’: Permission denied

我不知道该怎么做。运行配置后,它确实确认前缀设置为我设置的前缀。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-23 16:35:26

在查看make文件时,我发现了以下注释:

代码语言:javascript
复制
#
# Don't rely on configure.ac AC_CONFIG_FILES for install paths.
#
# The paths should be expanded at make time rather than configure:
#  - to support 'make install prefix=/foo DESTDIR=/foo'
#  - to recursively expands the paths (e.g. AC_CONFIG_FILES expands
#    '${exec_prefix}/sbin' to ${exec_prefix}/sbin')
#

所以我跑了:

代码语言:javascript
复制
make install prefix=$( pwd ) DESTDIR=$( pwd )

起作用了!

票数 2
EN

Stack Overflow用户

发布于 2017-05-23 16:20:06

安装需要su权限。

试试sudo make install

票数 0
EN

Stack Overflow用户

发布于 2017-05-23 16:36:46

没有根权限的make install总是很棘手的。您几乎总是会失去一些功能。

在这种情况下,方法是遍历配置文件。

代码语言:javascript
复制
./configure --prefix=$( pwd ) --disable-use-tty-group --disable-bash-completion

应该消除这些信息,而牺牲不再能够完成bash完成。您还可以通过Makefile查看是否需要更改某些内容(例如:应该有一行

代码语言:javascript
复制
bashcompletiondir = /usr/share/bash-completion

或者类似的东西。您可以尝试更改该目录。但是,除非这是一次性测试,否则我不会建议你这么做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44140106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档