<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <!-- this stylesheet will later on be added by lfparser automatically: --> <style type="text/css"> <!-- pre { font-family:monospace,Courier } pre.code { font-family:monospace,Courier;background-color:#aedbe8; } p.code { width:80%; alignment:center; background-color:#aedbe8; border-style:none; border-width:medium; border-color:#aedbe8; padding:0.1cm ; text-align:left } --> </style> <title></title> </head> <body> <h1>CheckInstall</h1> <h4>ArticleCategory:</h4> System Administration <h4>AuthorImage: [Here we need a little image from you]</h4> <img src="../../common/images2/MarioMKnopf.jpg" alt="[Photo of the Author]" width="150" height="130"> <h4>TranslationInfo:[Author + translation history. mailto: or http://homepage]</h4> <p>original in de <a href="http://www.neo5k.de/">Mario M. Knopf</a> </p> <p>en to tr <a href="mailto:onur2029(at)yahoo.com">ONUR YILMAZ</a></p> <h4>AboutTheAuthor:[A small biography about the author]</h4> <p>Mario Linux, network ve g�venlikle ilgili konularla �al��may� sever.</p> <h4>Abstract:[Here you write a little summary]</h4> <i>Checkinstall</i> tar.gz kaynak sayfalar�ndan otomatik olarak RPM/Debian yada Slackware paketleri olu�turan bir yaz�l�md�r. Bu, neredeyse herhangi bir kaynak kodu tar.gz paketinin, "temiz" kurulumunu ve kald�r�lmas�n� sa�lar. <h4>ArticleIllustration:[One image that will end up at the top of the article]</h4> <img src="../../common/images2/article360.png" alt= "[CheckInstall Title]" hspace="10" width="525" height="158"> <h4>ArticleBody:[The main part of the article]</h4> <h2>Giri�</h2> <p>Test etmek istedi�imiz bir program sadece tar.gz kaynak kodu olarak mevcuttur (rpm yada Debian paketi olarak de�il) ve bu s�k kar��la��lan bir durumdur. Bu gibi bir durumda, kaynak paketini indirirsiniz, onu a�ars�n�z ve elle derlersiniz. Buraya kadar her �ey yolunda. Fakat program� silmek isterseniz ne olur?</p> <p>Program� kald�rmak i�in <i>Makefile</i> sadece birka� durumda uygun yordam(routine) i�erir. Tabii program� ge�ici bir dizine kurmak ve sonraki bir kald�rma i�in kurulum taraf�ndan yarat�lm�� yada de�i�tirilmi� t�m dosyalar� ka��da d�kmek olas�l��� da vard�r. E�er programlar s�kl�kla kaynaklardan derleniyorsa, bu ac� verici ve uzun bir s�re�tir. <i>CheckInstall</i> arac� ( [1] Felipe Eduardo Sánchez Díaz Durán taraf�ndan yaz�lan) bu problemi ��zer.</p> <p>Kural olarak <i>GNU Autoconf</i> uyumlu program�, yayg�n olarak bilinen bir komut s�ras� alt�nda derler ve kurars�n�z.<br> <i>./configure && make && make install</i>.<br> <i>configure</i> kabuk beti�i �e�itli sistem-ba��ml� de�i�kenler i�in do�ru de�erleri tahmin etmeye �al���r. Bu de�erler daha sonra derleme s�ras�nda kullan�l�r. <i>configure</i> derleme i�in gerekenlerin tamamlan�p tamalanmad���n� kontrol eder ve tahmin etti�i de�erleri paketin her dizininde <i>Makefile</i> yaratmak i�in kullan�r. Bunun d���nda <i>configure</i> beti�i ilave dosyalar �retir. �zet olarak bunlar:</p> <ul> <li>one or more <i>Makefile(s)</i> in every directory/subdirectory</li> <li>a shell script called <i>config.status</i></li> <li>a text file <i>config.log</i></li> <li>another shell script normally called <i>config.cache</i> (optional)</li> <li>various C header files (*.h) with system-specific definitions (optional)</li> </ul> <p><i>configure</i> beti�i tamamland�ktan sonra, paketi derlemek i�in <i>make</i> yazars�n�z. Bu �al��t�r�labilir binary(ikilik d�zende) dosyalar� �retir. <i>make</i>'in hemen ard�ndan <i>make check</i> ile kendi testlerini(kontrollerini) �al��t�rma olas�l��� da vard�r. Fakat bu iste�e ba�l� bir ad�md�r; ��nki paket bu i�lemi desteklemelidir. E�er <i>make</i> i�ini ger�ekle�tirirse, <i>make install</i> komutuyla derlenmi� olan program�n�z� kurabilirsiniz. -bu ad�m i�in imtiyazl� kullan�c� haklar�na sahip olman�z gerekecek. (root olmal�s�n�z) Program ba�ar�l� bir �ekilde kurulduktan sonra, program�n binary ve nesne dosyalar�n� kaynak kodu dizininden <i>make clean</i> yazarak silebilirsiniz. E�er <i>configure</i> taraf�ndan yarat�lm�� dosyalar� da silmek isterseniz, <i>make distclean</i> yaz�n. Fakat son anlatt���m iki ad�m <i>make check</i> gibi se�meli ve normalde geli�tirme ve test s�ras�nda geli�tirici taraf�ndan kullan�l�yor. Ayn� zamanda hard disk kapasitesini tasarruflu kullanmak isteyen yada dizin yap�s�n� temiz tutmak isteyen kullan�c� taraf�ndan da kullan�labilir. Bunun d���nda <i>make distclean</i>, paketi bir ba�ka bilgisayar i�in derlemeyi, m�mk�n hale getirir.</p> <p><i>GNU Autoconf</i> hakk�nda detayl� bilgi Online-Manual(elkitab�)'da bulunabilir. [2]. Temel ba�lang�� bilgilerinin yan�s�ra, kendi <i>configure</i> betiklerini yapma, <i>M4</i> 'te programlama ve kendi makrolar�n�z� yaratma konular�yla <i>GNU Build System</i> (GNU Sistem Yap�s�) hakk�nda daha fazlas�n� ��renebilirsiniz.</p> <h2>CheckInstall</h2> <p>Daha �nce de belirtti�im gibi, kaynak kodundan <i>GNU Autoconf</i> uyumlu program kurmak i�in komut s�ras� �uydu:</p> <p class="code">./configure && make && make install</p> <p>Bu noktada <i>CheckInstall</i> kullanman�n zaman�d�r. Bu <i>make install</i> 'u kendi komutu <i>checkinstall</i> ile de�i�tirmek anlam�na gelir. Di�er iki komut bundan etkilenmiyor ve normal olarak eskisi gibi kullan�l�yor. Bu y�zden <i>CheckInstall</i> ile yeni komut s�ras� ��yle:</p> <p class="code">./configure && make && checkinstall</p> <p>Fakat <i>checkinstall</i> komutu yinede <i>make install</i> 'u �ntan�ml� olarak ba�lat�r ve kurulum taraf�ndan yap�lan t�m yazma olaylar�n� izler. <i>CheckInstall</i> bunun i�in, ilk olarak Pancrazio de Mauro taraf�ndan yaz�lm�� olan, <i>Installwatch</i> [3] program�n� kullan�r. <i>make install</i> ba�ar�yla tamamland�ktan sonra, <i>CheckInstall</i> bir Slackware-, Debian- yada RPM-Paketi yarat�r ve bu paketi �ntan�ml� paket y�neticisiyle kurar. Paketin bir kopyas�n� o anki kaynak dizininde yada standart depolama dizininde b�rak�r. �stelik yap�land�rma(konfig�rasyon) dosyas�ndaki <i>PAK_DIR</i> de�i�kenini de�i�tirerek �ntan�ml� depolama dizini de�i�tirmek de m�mk�nd�r. Bu paket, olas� paket ba��ml�l�klar� d���n�lerek, a� i�indeki di�er makinelere de kurulabilir. B�ylece kaynak paketinden her seferinde tekrar tekrar derlememi� oluruz.</p> <p><i>CheckInstall</i> sadece <i>make install</i> 'dan yararlanmaz. Di�er kurulum komutlar�yla da �al���r. �rne�in; kurulum beti�i <i>setup.sh</i> ise, komut tak�m� ��yle olur:</p> <p class="code">./configure && make && checkinstall setup.sh</p> <p><i>CheckInstall</i> 'u �e�itli se�eneklerle ba�latma imkan� vard�r. S�radaki komut var olan t�m se�enekleri �e�itli alt b�l�mlere ( <i>Install options</i>, <i>Scripting options</i>, <i>Info display options</i>, <i>Package tuning options</i>, <i>Cleanup options</i> ve <i>About CheckInstall</i> ) ayr�lm�� olarak g�sterir:</p> <p class="code"># checkinstall -h</p> <p>E�er <i>CheckInstall</i> bu se�eneklerden biriyle ba�larsa, yap�land�rma dosyas�ndaki (<i>checkinstallrc</i>) de�erleri ge�ersiz k�lacakt�r.</p> <p>Fakat <i>CheckInstall</i> 'unda limitleri var. Statik olarak ba�lanm�� programlar� i�leyemez; ��nki <i>Installwatch</i> kurulum s�reci boyunca de�i�en olaylar� izleyemez. Genel olarak iki tip program k�t�phanesi vard�r: statik yada dinamik ba�l� k�t�phaneler. Bunlar <i>include</i>-talimat�yla programa t�mle�tirilir. Statik olarak ba�l� programlar t�m gerekli k�t�phane fonksiyonlar�na sahiptirler ve �al��t�rma esnas�nda bunlar� RAM'e y�klememelidirler. Ayr�ca hedef sisteme ger�ekten kurulan k�t�phanelerden ba��ms�zd�rlar. ��nki derleme esnas�nda bir s�zde <i>Linker</i>(ba�lay�c�) k�t�phaneleri �al��t�r�labilir programa g�mm��t�r.</p> <h2>Kurulum</h2> <p><i>CheckInstall</i> zaten uzun bir s�re i�in b�y�k da��t�mlar�n yaz�l�m havuzlar�n�n bir par�as�d�r ve kendi paket y�netim sistemiyle kurulabilir. Bunun d���nda uygun tar paketlerini yada �e�itli da��t�mlar i�in �nceden in�a edilmi� paketleri proje websitesinden indirebilirsiniz.[4]</p> <p><i>CheckInstall</i> 'un kurulumu olduk�a basit ve birka� ad�mda �al���yor. -fakat ba�ar�l� bir <i>CheckInstall</i> kurulumu i�in paradoksal olarak <i>CheckInstall</i> 'a ihtiyac�n�z olacak. Zorunlu komut <i>make install</i> 'dan sonra <i>checkinstall</i> yazabilirsiniz. Bu derlenmi� programdan uygun �al��t�r�labilir paketi yarat�r. �imdi bu paketi paket y�neticinizle kurabilirsiniz ve tabii ki program� temiz bir �ekilde kald�rmak da m�mk�n hale gelir. Fakat <i>CheckInstall</i> paketi yaratmadan �nce, kulland���n�z paket y�neticisiyle ilgili bir soruya cevap vermelisiniz ve bilgi alanlar�n�n do�rulu�unu kontrol etmelisiniz. Onlar daha sonra paket ba�l���nda g�r�n�yor.</p> <p>Yeni beta s�r�m�n�( <i>checkinstall-1.6.0beta4.tgz</i> ) kurma y�ntemi s�radaki kod kutusunda g�steriliyor. Bu <i>CheckInstall</i>, <i>Installwatch</i> ve <i>makepak</i> 'i (<i>makepkg</i> 'nin de�i�tirilmi� versiyonu) kuracak. E�er yeni s�r�mdeki de�i�iklikleri merak ediyorsan�z, <i>Release Notes</i> 'a [5] (s�r�m notlar�) yada <i>Changelog</i> 'a [6] bir g�z at�n.</p> <pre class="code"> $ 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 ./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 **************************************************************** Done. The new package has been saved to /usr/src/redhat/RPMS/i386/checkinstall-1.6.0beta4-1.i386.rpm You can install it in your system anytime using: 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 # </pre> <p>Debian tabanl� da��t�m kullan�c�lar�, paketi <i>dpkg -i</i> ile kurabilir. Slackware kullan�c�lar� bunun i�in <i>installpkg</i> 'yi kullanabilir.</p> <p>Paket y�neticinizin sorgulama fonksiyonunu kullanarak, bu durumda RPM, paketin veritaban�na do�ru bir �ekilde t�mle�ip t�mle�medi�ini ��renebilir ve paket ba�l���n�n ek bilgi sahas�n� g�r�nt�leyebilirsiniz.</p> <pre class="code"> $ 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. </pre> <h2>Yap�land�rma</h2> <p>�yi a��klamal� metin dosyas�n� ( <i>/usr/lib/local/checkinstall/checkinstallrc</i> ) <i>CheckInstall</i> 'un �ntan�ml� davran���n� de�i�tirmek i�in oynayabilirsiniz.</p> <p><i>CheckInstall</i> her ba�lat�l��ta hangi paket tipini �retece�ini sordu�undan, bu de�eri <i>INSTYPE</i> '� ayarlayarak kal�c� olarak eklemek ak�ll�ca olacakt�r. Ayr�ca <i>INSTALL</i>, <i>PAK_DIR</i> ve <i>RPM_FLAGS</i> ( alternatif olarak <i>DPKG_FLAGS</i> ) de�i�kenlerine bakmak iyi bir fikir. Son iki de�i�kenle se�imlik kurulum noktalar� belirleyebilirsiniz ve <i>PAK_DIR</i> '� de�i�tirerek paket kopyas� i�in ba�ka bir dizin belirtebilirsiniz. <i>INSTALL</i> size paketi yaratma ve/veya paketi kurma aras�nda karar verme imkan� sunar.</p> <pre class="code"> $ 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 </pre> <h2>Sonu�</h2> <p><i>CheckInstall</i> Linux y�netimini daha kolay yapmam�z� sa�layan m�kemmel bir ara�. �zellikle programlar s�k s�k kaynaklar�ndan derlenmeliyse <i>CheckInstall</i> size, sisteminizin kararl�l���n� bozmadan, programlar�n�z� temiz bir �ekilde kald�rma imkan� verir. Bunun d���nda olu�turulan bu paketleri ba�ka makinalarada da tekrar tekrar derlemeye gerek kalmaks�z�n kurabilirsiniz. - tabii ki olas� paket ba��ml�l�klar�n� d���nmek zorundas�n�z. Fakat bu genellikle �zde� makinalar i�in �ok b�y�k problem de�ildir.</p> <h2>Links</h2> <p>[1] <a href="http://asic-linux.com.mx/~izto/checkinstall/" >http://asic-linux.com.mx/~izto/checkinstall/</a> [Home of CheckInstall]<br> [2] <a href= "http://www.gnu.org/software/autoconf/manual/autoconf-2.57/autoconf.html" >http://www.gnu.org/software/autoconf/manual/autoconf-2.57/autoconf.html</a> [GNU Autoconf Online Manual]<br> [3] <a href= "http://asic-linux.com.mx/~izto/checkinstall/installwatch.html" >http://asic-linux.com.mx/~izto/checkinstall/installwatch.html</a> [Installwatch]<br> [4] <a href= "http://asic-linux.com.mx/~izto/checkinstall/download.php" >http://asic-linux.com.mx/~izto/checkinstall/download.php</a> [CheckInstall Downloads]<br> [5] <a href= "http://asic-linux.com.mx/~izto/checkinstall/docs/RELNOTES" >http://asic-linux.com.mx/~izto/checkinstall/docs/RELNOTES</a> [Release Notes]<br> [6] <a href= "http://asic-linux.com.mx/~izto/checkinstall/docs/Changelog" >http://asic-linux.com.mx/~izto/checkinstall/docs/Changelog</a> [Changelog]</p> <!-- vim: set sw=2 ts=2 et tw=74: --> </body> </html>