如何判断checkinstall
只创建 deb 包文件而不安装?
对于checkinstall --install=no
,它最终失败,因为没有权限做某事。是否真的需要 root 来创建 deb 文件而无需安装?
$ checkinstall --install=no
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ tim@admin ]
1 - Summary: [ wine 1.6.2 built from source Oct 3, 2014 ]
2 - Name: [ wine ]
3 - Version: [ 1.6.2 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ wine-1.6.2 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ wine ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
Enter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
make[1]: Entering directory `/tmp/wine-1.6.2/tools'
make[1]: `makedep' is up to date.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools'
make[1]: Entering directory `/tmp/wine-1.6.2/libs/port'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/libs/port'
make[1]: Entering directory `/tmp/wine-1.6.2/libs/wine'
version=`(GIT_DIR=../../.git git describe HEAD 2>/dev/null || echo "wine-1.6.2") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
make[1]: Leaving directory `/tmp/wine-1.6.2/libs/wine'
make[1]: Entering directory `/tmp/wine-1.6.2/libs/wpp'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/libs/wpp'
make[1]: Entering directory `/tmp/wine-1.6.2/tools'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/widl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/widl'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/winebuild'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/winebuild'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/winedump'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/winedump'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/winegcc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/winegcc'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/wmc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/wmc'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/wrc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/wrc'
make[1]: Entering directory `/tmp/wine-1.6.2/include'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/include'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/adsiid'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/adsiid'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: `libdinput.def' is up to date.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: `libdinput.def.a' is up to date.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dxerr8'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dxerr8'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dxerr9'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dxerr9'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dxguid'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dxguid'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/strmbase'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/strmbase'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/strmiids'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/strmiids'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/uuid'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/uuid'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/winecrt0'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/winecrt0'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/acledit'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/acledit'
./tools/mkinstalldirs -m 755 /usr/local/lib/wine
mkdir /usr/local/lib/wine
mkdir: cannot create directory `/usr/local/lib/wine': Permission denied
make: *** [/usr/local/lib/wine] Error 1
**** Installation failed. Aborting package creation.
Cleaning up...OK
Bye.
,fakeroot checkinstall
也因权限问题而失败。
答案1
尝试使用checkinstall --install=no --fstrans=yes
.它启用文件系统转换,因此包不会接触您的实际文件系统。因此它不需要 root 权限来存储文件。
答案2
您应该能够通过它--install=no
来获得所需的行为。