original in de Mario M. Knopf
en to zh_CN.GB Wang Jun
Mario ϲ����Linux������ͼ������ȫ����صĹ�����
�����������������⣺��������õij���ֻ�� tar.gz��Դ������ã�û���ṩ rpm ���� Debian��������������ֻ�����ػ�Դ���룬��ѹ��Ȼ���ֶ����롣��ĿǰΪֹ��һ��������Ȼ����������ɾ������ʱ���أ�
Makefile�ļ�ֻ�����˺�������µ�ж�����̡���Ȼ������ѳ���װ����ʱ�ļ��У�Ȼ����������ɳ������ɻ��ĵ��ļ������ɾ�����ǡ���������������Ҫ�������±��룬�������Ƿdz�ʹ��ģ�������Ҳ���൱��ġ� Felipe Eduardo��д�� CheckInstall [1] Sánchez Díaz Durán ������������������ġ�
һ��˵�������DZ��밲 װһ����GNU Autoconf���õij����Dz������µIJ��裺
./configure && make && make
install.
��� configure �ű��ļ����������¡���һϵ��ϵͳ��صı�������Щ�������ں���ı������Ҫ�õ��ġ��������ϵͳ����ֵ�Ƿ��������Ҫ��Ȼ��ʹ����Щ�����ڳ������ÿ���ļ��������� Makefile �����⣬configure �ű��������������ļ��������ǣ�
configure�ű��ļ��ɹ�����֮��, �������make��������õ�����Ҫ�Ŀ�ִ���ļ�����Ҳ������make֮������ʹ��make check�����в��ԡ�������ֻ�ǿ�ѡ�IJ��裬��Ϊ����Ҫ����������֧�֡���� make�ɹ�������ˣ������ʹ��make install����װ��������ˡ��������ԣ�����ⲽ����ҪһЩ���Ȩ�ޡ�����װ���ˣ��������Դ������ļ���������make clean�������Щ���ɵĿ�ִ���ļ���Ŀ���ļ�������㻹��ɾ����configure���ɵ��ļ�����ô���� then typemake distclean��������ͬmake checkһ�����ǿ�ѡ�ģ�������ͨ���ǿ������ڿ����Ͳ��Խ���ʹ�ã�Ҳ���Ա�һ��ʹ����������ʡӲ�̿ռ���߱����ļ��еĽṹ������졣����make distcleanʹ�������ڲ�ͬ���͵ĵ����ϱ�������Ϊ���ܡ�
����GNU Autoconf����ϸ���Ͽ����������ĵ�[2]���ҵ����ڻ�������֮�⣬�����ͨ��д���Լ���configure�ű�����M4��̺ʹ����Լ��ĺ�ȷ�ʽ��ѧϰ�����й�GNU Build System��֪ʶ��
ǰ���ᵽ�����Dz���GNU Autoconfͨ��һϵ������ָ�����������
./configure && make && make install
���ڸ��ǻ�һ�ַ�ʽ��ʱ���ˣ������ʹ��CheckInstall���������Լ���ָ��checkinstall������make install����������ָ�����������ǰһ������ˣ��������ָ������ʹ�� CheckInstall����ˣ�
./configure && make && checkinstall
ָ��checkinstall����Ĭ��������make install�����һ�������а�װ�����е�д������Ϊ�ˣ�CheckInstallʹ����Pancrazio de Mauro ��д�ij���Installwatch [3]����make install�ɹ����֮��CheckInstall�����һ��Slackware-, Debian- ��RPM- ��װ����Ȼ������������Ĭ�����ð�װ�����ڵ�ǰĿ¼�������װ���洢Ŀ¼������һ�����ɵİ�װ��������,�����ͨ���ı���PAK_DIR���ı������Ŀ¼���������ɵİ�װ����װ�����������϶��������±��롪����Ȼ�����ÿ�����������������ԡ�
CheckInstall����ֻ��ʹ��make install,����������������װָ����Э�������磬�����װָ��Ϊsetup.sh����ô��װָ�����б��:
./configure && make && checkinstall setup.sh
���ǻ�������CheckInstall���źܶ�������С������������ʾ���п��õ��Ӳ�������Щ�Ӳ������·�Ϊ����װѡ�Install options��, �ű�����ѡ�Scripting options��, ��Ϣ��ʾѡ�Info display options��,��װ��ѡ�Package tuning options��,���ѡ�Cleanup options��������CheckInstall��About CheckInstall���ȡ�
# checkinstall -h
���CheckInstall������Щ�������У�����ʹ����Щ����ֵ�����������ļ�checkinstallrc����Ӧ��ֵ��
CheckInstallҲ���Լ��ľ���֮���������ܴ�����̬���ӵij�����Ϊ����Installwatch�Ͳ��ܼ���װ�������Ĺ��ļ��ˡ�����˵�������������ӿ⣺��̬�ĺ;�̬�ġ���Щ���ӿ�ͨ��include-ָ�����ϵ������С���̬���ӹ��ij����Ѿ�������������Ҫ�Ŀ��ļ�������ʱҲ�Ͳ���Ҫ�ٽ���Щ�������ڴ��С����ֳ����밲װ��ϵͳ�е����ӿ��أ���Ϊ��ν����������Linker���Ѿ��ڱ���ʱ����Щ�����õ���ִ�г������ˡ�
CheckInstall�Ѿ��ڴ�һЩ�ķ��а�ġ�����ء�(software pools)�д��ںܳ���ʱ���ˣ�����ͨ�����а�����ṩ�İ�װ��ʽ��װ����Ҳ��������ҳ[4]�����ظ���Ԥ����õİ�װ�����ߺ��ʵ�Դ�����
CheckInstall�İ�װ�dz���ֻ��Ҫ���ٵIJ��衪����Ҫ�ɹ��İ�װCheckInstall���ƺ���Ҫ CheckInstall���ڱ�Ҫ��make install֮��������checkinstall���ͻ�ӱ���õij������ɺ��ʵĶ����ư�װ�������ڣ������ʹ����İ�װ���������������ɾ��ġ���װ����ж���ˡ���CheckInstall������װ��֮ǰ���㻹�ñ���ش�һ�����ڳ���װ�������������⣬���һ�Ҫ��������Ϣ����ȷ�ԡ���Щ��Ϣ����������Ժ����ɵİ�װ����ͷ����
���潫չʾ��װcheckinstall-1.6.0beta4.tgz��ȫ���̡���ᰲװ��CheckInstall��Installwatch��makepak������makepak��makepkg���İ档�������°汾�ĸĽ�����Ȥ����ο�Release Notes [5] ��/�� Changelog [6].
$ tar xzf checkinstall-1.6.0beta4.tgz $ cd checkinstall-1.6.0beta4 checkinstall-1.6.0beta4 $ make [...] checkinstall-1.6.0beta4 $ su Password: checkinstall-1.6.0beta4 # make install [...] checkinstall-1.6.0beta4 # checkinstall checkinstall 1.6.0beta4, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. Please choose the packaging method you want to use. Slackware [S], RPM [R] or Debian [D]? R ************************************* *** RPM package creation selected *** ************************************* This package will be built according to these values: 1 - Summary: [ CheckInstall installations tracker, version 1.6.0beta4 ] 2 - Name: [ checkinstall ] 3 - Version: [ 1.6.0beta4 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ Applications/System ] 7 - Architecture: [ i386 ] 8 - Source location: [ checkinstall-1.6.0beta4 ] 9 - Alternate source location: [ ] 10 - Provides: [ checkinstall ] 11 - Requires: [ ] Enter a number to change any of them or press ENTER to continue: Installing with make install... ========================= Installation results ========================= [...] ========================= Installation successful ====================== Copying documentation directory... ./ ./NLS_SUPPORT ./README ./FAQ ./TODO ./CREDITS ./INSTALL ./Changelog ./BUGS ./installwatch-0.7.0beta4/ ./installwatch-0.7.0beta4/README ./installwatch-0.7.0beta4/TODO/usr/src/redhat/RPMS/i386/checkinstall-1.6.0beta4-1.i386.rpm ./installwatch-0.7.0beta4/VERSION ./installwatch-0.7.0beta4/INSTALL ./installwatch-0.7.0beta4/CHANGELOG ./installwatch-0.7.0beta4/BUGS ./installwatch-0.7.0beta4/COPYING ./RELNOTES ./COPYING Copying files to the temporary directory...OK Striping ELF binaries and libraries...OK Compressing man pages...OK Building file list...OK Building RPM package...OK NOTE: The package will not be installed Erasing temporary files...OK Writing backup package...OK Deleting temp dir...OK **************************************************************** ��ɡ� �µİ�װ�������� /usr/src/redhat/RPMS/i386/checkinstall-1.6.0beta4-1.i386.rpm �������ϵͳ����ʱ��װ���� rpm -i checkinstall-1.6.0beta4-1.i386.rpm **************************************************************** checkinstall-1.6.0beta4 # cd /usr/src/redhat/RPMS/i386/ i386 # rpm -i checkinstall-1.6.0beta4-1.i386.rpm i386 #
Debian ���û�����ʹ��dpkg -i����װ�� Slackware�û��� installpkg���Դﵽͬ��Ŀ�ġ�
ʹ�ð���������IJ�ѯ��䣬����Լ�鰲װ�����ļ��Ƿ���ȫ�ڳ�����м�¼�ˣ������Բ鿴��װ��ͷ����һЩ������Ϣ���ڴˣ�ʹ�� RPM ��Ϊ���ӣ�
$ rpm -qi checkinstall
Name : checkinstall Relocations: (not relocatable)
Version : 1.6.0beta4 Vendor : (none)
Release : 1 Build Date : Mo 06 Dez 2004 17:05:45 CET
Install Date: Di 07 Dez 2004 01:41:49 Build Host : deimos.neo5k.lan
Group : Applications/System Source RPM : checkinstall-1.6.0beta4-1.src.rpm
Size : 264621 License : GPL
Signature : (none)
Packager : checkinstall-1.6.0beta4
Summary : CheckInstall installations tracker, version 1.6.0beta4
Description :
CheckInstall installations tracker, version 1.6.0beta4
CheckInstall keeps track of all the files created or
modified by your installation script ("make install"
"make install_modules", "setup", etc), builds a
standard binary package and installs it in your
system giving you the ability to uninstall it with your
distribution's standard package management utilities.
�����ͨ�����ļ�/usr/lib/local/checkinstall/checkinstallrcCheckInstall��Ĭ�����á�
����CheckInstallÿ�����ж���ѯ�����ɺ������Ͱ�װ�������ǵİ취�����ֹ���/����INSTYPE��������������INSTALL��PAK_DIR��RPM_FLAGS����DPKG_FLAGSҲ��ֵ���Ƽ��ġ�����������������㶨��һЩ��ѡ�İ�װ��־��ͨ����PAK_DIR�����ָ����װ���Ĵ洢Ŀ¼����INSTALL���������ֻ���ɰ�װ���ػ���һ����������ϰ�װ��
$ cat /usr/lib/local/checkinstall/checkinstallrc
####################################################################
# CheckInstall configuration file #
########################################
####################################################################
# These are default settings for CheckInstall, modify them as you #
# need. Remember that command line switches will override them. #
####################################################################
# Debug level
# 0: No debug
# 1: Keep all temp files except the package's files
# 2: Keep the package's files too
DEBUG=0
# Location of the "installwatch" program
INSTALLWATCH_PREFIX="/usr/local"
INSTALLWATCH=${INSTALLWATCH_PREFIX}/bin/installwatch
# Location of the makepkg program. "makepak" is the default, and is
# included with checkinstall. If you want to use Slackware's native "makepkg"
# then set this to "makepkg"
MAKEPKG=/sbin/makepkg
# makepkg optional flags. These are recommended if running a newer Slackware
# version: "-l y -c n"
MAKEPKG_FLAGS="-l y -c n"
# Is MAKEPKG running interactively? If so, you might want
# to see what it's doing:
SHOW_MAKEPKG=0
# Where will we keep our temp files?
BASE_TMP_DIR=/var/tmp ## Don't set this to /tmp or / !!
# Where to place the installed document files
DOC_DIR=""
# Default architecture type (Leave it empty to allow auto-guessing)
ARCHITECTURE=""
# Default package type. Leave it empty to enable asking everytime
# S : Slackware
# R : RPM
# D : Debian
INSTYPE="R"
# Storage directory for newly created packages
# By default they will be stored at the default
# location defined for the package type
PAK_DIR=""
# RPM optional flags
RPM_FLAGS=" --force --nodeps --replacepkgs "
# dpkg optional flags
DPKG_FLAGS=""
## These are boolean. Set them to 1 or 0
# Interactively show the results of the install command (i.e. "make install")?
# This is useful for interactive installation commands
SHOW_INSTALL=1
# Show Slackware package installation script while it runs? Again, useful if
# it's an interactive script
SHOW_SLACK_INSTALL=0
# Automatic deletion of "doc-pak" upon termination?
DEL_DOCPAK=1
# Automatic deletion of the spec file?
DEL_SPEC=1
# Automatic deletion of "description-pak"?
DEL_DESC=1
# Automatically strip all ELF binaries?
STRIP_ELF=1
# Automatically strip all ELF shared libraries?
# Note: this setting will automatically be set to "0" if STRIP_ELF=0
STRIP_SO_ELF=1
# Automatically search for shared libraries and add them to /etc/ld.so.conf?
# This is experimental and could mess up your dynamic loader configuration.
# Use it only if you know what you are doing.
ADD_SO=0
# Automatically compress all man pages?
COMPRESS_MAN=1
# Set the umask to this value
CKUMASK=0022
# Backup files overwritten or modified by your install command?
BACKUP=1
# Write a doinst.sh file that installs your description (Slackware)?
AUTODOINST=1
# Are we going to use filesystem translation?
TRANSLATE=1
# Reset the owner/group of all files to root.root?
RESET_UIDS=0
# Use the new (8.1+) Slackware description file format?
NEW_SLACK=1
# Comma delimited list of files/directories to be ignored
EXCLUDE=""
# Accept default values for all questions?
ACCEPT_DEFAULT=0
# Use "-U" flag in rpm by default when installing a rpm package
# This tells rpm to (U)pdate the package instead of (i)nstalling it.
RPM_IU=U
# Inspect the file list before creating the package
CK_INSPECT=0
# Review the .spec file before creating a .rpm
REVIEW_SPEC=0
# Review the control file before creating a .deb
REVIEW_CONTROL=0
# Install the package or just create it?
INSTALL=0
CheckInstall��һ�����������������ʹ�ù���Linux���ӷ��㡣�ر�����Դ����Ҫ�����ظ����������£�CheckInstall��������˿�����ƻ�ϵͳһ���Ե�ǰ������ȫ��ж�س������⣬�㻹����ʹ����Щ����õİ�װ��ֱ���������Ļ����ϰ�װ(���������±��룡)������Ȼ����ÿ�����������������ԣ�����������ͬ��Ļ�����һ�㲢����ʲô���⡣
[1] http://asic-linux.com.mx/~izto/checkinstall/
[Home of CheckInstall]
[2] http://www.gnu.org/software/autoconf/manual/autoconf-2.57/autoconf.html
[GNU Autoconf Online Manual]
�������ĵģ�
http://littleone.go.nease.net/AutoConf.html[AutoConf �����ֲ�]
[3] http://asic-linux.com.mx/~izto/checkinstall/installwatch.html
[Installwatch]
[4] http://asic-linux.com.mx/~izto/checkinstall/download.php
[CheckInstall Downloads]
[5] http://asic-linux.com.mx/~izto/checkinstall/docs/RELNOTES
[Release Notes]
[6] http://asic-linux.com.mx/~izto/checkinstall/docs/Changelog
[Changelog]