在主目录中检查安装源代码
checkinstall source code inside home directory
我正在尝试从我的 openCV(不相关)源代码创建一个 deb
文件。源位置是 ~/software/opencv/
这是我成功执行的命令。
cd ~/software/opencv/
mkdir build
cd build
cmake ..
make
然后我使用 sudo checkinstall
代替 sudo make install
创建 deb
。但是在这个过程中,出现了这个提示。
Some of the files created by the installation are inside the home directory: /home
You probably don't want them to be included in the package.
Do you want me to list them? [n]:
当我列出文件时,它只是
/home
/home/user
/home/user/software
/home/user/software/opencv
/home/user/software/opencv/opencv-3.3.1
/home/user/software/opencv/opencv-3.3.1/build
/home/user/software/opencv/opencv-3.3.1/build/CMakeFiles
/home/user/software/opencv/opencv-3.3.1/build/install_manifest.txt
我需要知道的是这个
- 出现此提示的原因是什么?
- 使用
checkinstall
时应该包括和排除哪些目录?
- 我如何 运行
checkinstall
不遇到此提示?
为什么
不同软件的构建脚本质量可能会有所不同。 OpenCV 碰巧有一些缺陷,比如在安装文件中包含 install_manifest.txt
。 checkinstall
根本无法打包某些软件。
制作 deb 包的规范方法是使用 "Debian Maintainer Guide",用于打包 Debian OS 中的所有包。但是它太复杂了,所以它主要被真正有动力的人使用。
什么目录
取决于软件。 bin
和 lib
中的内容通常是需要的。
如何避免
使用 checkinstall --default
.
其他
不需要sudo make install
。
可以通过使用 fakeroot
来避免 sudo
(这样您就不会触及 root 帐户)。此外,最好在生成包时避免安装(通过使用 --install=no --fstrans=yes
)。所以尽可能使用这个:
fakeroot checkinstall --install=no --fstrans=yes
我正在尝试从我的 openCV(不相关)源代码创建一个 deb
文件。源位置是 ~/software/opencv/
这是我成功执行的命令。
cd ~/software/opencv/
mkdir build
cd build
cmake ..
make
然后我使用 sudo checkinstall
代替 sudo make install
创建 deb
。但是在这个过程中,出现了这个提示。
Some of the files created by the installation are inside the home directory: /home
You probably don't want them to be included in the package.
Do you want me to list them? [n]:
当我列出文件时,它只是
/home
/home/user
/home/user/software
/home/user/software/opencv
/home/user/software/opencv/opencv-3.3.1
/home/user/software/opencv/opencv-3.3.1/build
/home/user/software/opencv/opencv-3.3.1/build/CMakeFiles
/home/user/software/opencv/opencv-3.3.1/build/install_manifest.txt
我需要知道的是这个
- 出现此提示的原因是什么?
- 使用
checkinstall
时应该包括和排除哪些目录? - 我如何 运行
checkinstall
不遇到此提示?
为什么
不同软件的构建脚本质量可能会有所不同。 OpenCV 碰巧有一些缺陷,比如在安装文件中包含 install_manifest.txt
。 checkinstall
根本无法打包某些软件。
制作 deb 包的规范方法是使用 "Debian Maintainer Guide",用于打包 Debian OS 中的所有包。但是它太复杂了,所以它主要被真正有动力的人使用。
什么目录
取决于软件。 bin
和 lib
中的内容通常是需要的。
如何避免
使用 checkinstall --default
.
其他
不需要sudo make install
。
可以通过使用 fakeroot
来避免 sudo
(这样您就不会触及 root 帐户)。此外,最好在生成包时避免安装(通过使用 --install=no --fstrans=yes
)。所以尽可能使用这个:
fakeroot checkinstall --install=no --fstrans=yes