编译coreutils-8.28

时光怂恿深爱的人放手 提交于 2019-12-28 16:06:02

    刚刚看完apue,但是要达到熟练运用书中的API,还是要多读多写代码。之前就比较好奇像linux中的ls、cat等基本命令的实现,在网上查得linux有个coreutils包专门实现这些基本的命令,详见coreutils介绍

比如,对于我的ubuntu:

$ which ls

/bin/ls

$ dpkg -S /bin/ls

coreutils: /bin/ls

$ ls --version

ls (GNU coreutils) 8.28
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard M. Stallman and David MacKenzie.

    从以上命令可以看出,我的ubuntu上安装的是coreutils-8.28。为了编译能够正常通过而不出现编译环境版本不兼容问题,先现在coreutils-8.28的源码包进行编译,下载地址:https://ftp.gnu.org/gnu/coreutils/,我下载的是coreutils-8.28.tar.xz

解压tar.xz文件:

$ xz -d coreutils-8.28.tar.xz

$ tar -xvf coreutils-8.28.tar

得到coreutils-8.28的源码文件夹,然后进行编译:

coreutils-8.28$ ./configure --prefix=/home/ubuntu/project/build

coreutils-8.28$ make

在coreutils-8.28/src下即可看到编译出的基本命令的可执行文件。

如果想自己单独编译某个命令,则把命令的源码移到一个单独的目录中,如下:

参考:

https://blog.csdn.net/endoresu/article/details/6967435

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!