shell下 创建一个目录:cd /usr/src/redhat/SOURCES
在这个目录下shell里下载工具:wget http://www.acme.com/software/mini_httpd/mini_httpd-1.21.tar.gz
下载后tar -xvf 解压
进入生成的mini_httpd-xxx目录, make
问题来了,make提示:mini_httpd.c:102:19:error:conflicting types for int64_t
百度,谷歌了下,有类似的问题,都是头文件定义冲突,这样把有类型冲突检测的头文件放在包含前面就好了,但是仔细看了我这边的代码,出问题的是头文件和代码内容处的定义冲突了。代码也不懂,索性直接将带出问题的类型定义代码注掉,用//还不行,后来换了/**/注掉。make通过
接下来make install,看了下make install过程的bash,觉得还挺简单的:
rm -f /usr/local/sbin/mini_httpd /usr/local/sbin/htpasswd ---强制移除这两个目录下的两个工具(应该是旧版本),事实上,make也确实生成了这两个东西
mkdir -p /usr/local/sbin ---递归创建这些目录,如果没有的话(其实都有)
cp mini_httpd htpasswd /usr/local/sbin ---把新生成工具拷贝到这个文件夹
rm -f /usr/local/man/man8/mini_httpd.8 /usr/local/man/man1/htpasswd.1 ---移除原有的关于这两个工工具的man文件
mkdir -p /usr/local/man/man8 ---如果man8也没有了就创建一个
cp mini_httpd.8 /usr/local/man/man8 --- 把mini_httpd的man文件拷贝到这
mkdir -p /usr/local/man/man1 ---如果man1也没有,就创建一个
cp htpasswd.1 /usr/local/man/man1 ---把htpasswd的man文件拷贝到这
从这里也知道,把对应的man.x放文件放到/usr/local/man/manx的文件夹中。然后man就可以读出来