我想尽可能快地编译。去搞清楚。并想自动选择-j
选项后面的数字。如何以编程方式选择该值,例如在 shell 脚本中?
输出是否nproc
等于我可用于编译的线程数?
make -j1
make -j16
我正在使用 vmware fusion 在 Mac 上将 Ubuntu Desktop 14.04 作为 VM 运行。我遇到空间警告问题,现在想从 20GB 扩展到 200GB。
我关闭了虚拟机,在 vmware 端增加了分配的磁盘空间:
然后它警告我应该增加来宾 VM 中的分区大小,这很不幸,因为我希望这会是自动的。
查看 Ubuntu 内部的磁盘使用分析器,它目前只能看到原始的 20 GB。如何将其增加到我分配的 200 GB?
我正在寻找比这里发布的更好的方向。
从Disks
应用程序中,我看到:
我的解释是否错误,我应该在所有制定规则之前将其放在首位:
.PHONY: all of my rules
all:
echo "Executing all ..."
of:
echo "Executing of ..."
my:
echo "Executing my ..."
rules:
echo "Executing rules ..."
Run Code Online (Sandbox Code Playgroud)
是否有过您不想遵循这个“公式”的情况?
http://www.gnu.org/software/make/manual/make.html#Phony-Targets
我有一个要填充的文件,直到它达到 16 MiB(16777216 字节)。目前它是 16515072 字节。差异是 262144 字节。
我如何垫它?
这似乎不起作用:
cp smallfile.img largerfile.img
dd if=/dev/zero of=largerfile.img bs=1 count=262144
Run Code Online (Sandbox Code Playgroud) 如果文件名、路径、时间戳或权限发生变化,文件的哈希值是否会发生变化?
$ echo some contents > testfile
$ shasum testfile
3a2be7b07a1a19072bf54c95a8c4a3fe0cdb35d4 testfile
Run Code Online (Sandbox Code Playgroud) 我想自动化一个 Linux 构建,但最终我需要运行一个看起来非常手动的步骤:make menuconfig
. 这似乎在操作系统和内核配置之间同步配置?
cp git-tracked-config .config
make defconfig
make menuconfig # <- how to automate/script this?
make V=s
Run Code Online (Sandbox Code Playgroud)
基本上,如何删除对make menuconfig
构建脚本的调用?
顺便说一句,这是对构建错误的反应,该错误似乎在我从未调用 make menuconfig 的情况下运行时发生:
make[1]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
Run Code Online (Sandbox Code Playgroud)
似乎在 makefile 中缺少规则,可能是因为 makefile 本身不存在,或者 makefile 尚未生成/变形以包含该规则,但这是一个单独的问题。
可能有一种更聪明的方法来解决这个问题。是否还有其他我没有跟踪但应该跟踪的配置(例如 oldconfig)?
我在 makefile 规则中看到过诸如echo
, mv
, if
, 之类的东西for
。似乎可以识别某种 shell 命令。这是 bash 吗?如何确定正在使用哪个 shell 以及我可以使用的完整关键字列表?
在我把东西放进去之前,我正在清理一个输出目录。我想用一个.gitkeep
文件跟踪 git 中的输出目录,但这一直被我rm -rf "$OUT_DIR"
在 bash 脚本中的行删除。
有没有办法删除目录的内容但保留隐藏文件或以某种方式保留该.gitkeep
文件?
我知道 GNU Make 是迄今为止最常用的,但我正在寻找一种方法来验证 GNU Make 是正在使用的实际 make 程序。是否有一个特殊变量可以从 Makefile 中打印,例如:
@echo "$(MAKE_VERSION)"
Run Code Online (Sandbox Code Playgroud)
如果我同时安装了 GNU Make 和其他变体怎么办?
which make
/usr/bin/make
Run Code Online (Sandbox Code Playgroud)