கையேடு:Alpha/வேளைசெய்தல்/தனிச்சிறப்புகள்

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Alpha/Working/Features and the translation is 100% complete.
Alpha கையேடு
நிறுவல்
நிறுவலைப் பற்றி
ஊடகத்தைத் தேர்ந்தெடுத்தல்
வலையமைப்பை உள்ளமைத்தல்
தகடுகளை ஆயத்தப்படுத்தல்
நிலை3 ஐ நிறுவுதல்
அடிப்படை முறைமையை நிறுவுதல்
கருநிரலை உள்ளமைத்தல்
முறைமையை உள்ளமைத்தல்
கருவிகளை நிறுவுதல்
துவக்க ஏற்றியை உள்ளமைத்தல்
நிறுவலை முடித்தல்
சென்டூவோடு வேளை செய்தல்
Portage முன்னுரை
USE கொடிகள்
Portage தனிச்சிறப்புகள்
Init குறுநிரல் முறைமை
சூழல் மாறிகள்
Portage ஓடு வேளை செய்தல்
கோப்புகள் மற்றும் அடைவுகள்
மாறிகள்
மென்பொருள் கிளைகளைக் கலக்குதல்
கூடுதல் கருவிகள்
தனிப்பயன் தொகுப்பு கருவூலம்
மேம்பட்ட தனிச்சிறப்புகள்
வலையமைப்பு உள்ளமைவு
தொடங்குதல்
மேம்பட்ட உள்ளமைவு
கூறுநிலை வலையமாக்கம்
கம்பியில்லா
செயல்பாடுகளைச் சேர்த்தல்
இயக்க மேலாண்மை

Portage ஆனது சென்டூ துய்ப்புணர்வை மேம்படுத்துவதற்காக பல கூடுதல் தனிச்சிறப்புகளை கொண்டுள்ளது. இந்த தனிச்சிறப்புகளுள் பெரும்பாலானவை ஆற்றல், நம்பகத்தன்மை மற்றும் பாதுகாப்பை மேம்படுத்தும் குறிப்பிட்ட சில மென்பொருள் கருவிகளை சார்ந்துள்ளன.

குறிப்பிட்ட Portage தனிச்சிறப்பை செயல்படுத்த அல்லது முடக்க /etc/portage/make.conf கோப்பினுள் FEATURES மாறியை இடைவெளியால் பிரிக்கப்பட்ட பலவேறு தனிச்சிறப்பு சொற்களை கொண்டு அமைக்கவும் அல்லது இற்றைப்படுத்தவும். பல நேரங்களில், தனிச்சிறப்பு முறையாக வேலை செய்வதற்கு தேவையான கூடுதல் கருவிகளையும் சேர்த்து நிறுவுவது இன்றியமையாததாகும்.

Portage ஆதரிக்கும் எல்லா தனிச்சிறப்புகளும் இங்கு பட்டியலிடப்படவில்லை. இதைப்பற்றி முழுமையாக அறிய make.conf கைமுறை பக்கத்தை அணுகவும்:

user $man make.conf

முன்னிருப்பாக என்ன FEATURES கள் அமைக்கப்பட்டுள்ளது என்பதை அறிந்து கொள்வதற்கு, emerge --info வை இயக்கி FEATURES மாறியைத் தேடவும் அல்லது grep ஐ பயன்படுத்தவும்:

user $emerge --info | grep ^FEATURES=

பகிர்ந்தளிக்கப்பட்ட தொகுத்தல்

distcc ஐ பயன்படுத்துதல்

distcc ஆனது ஒரு வலையமைப்பில் உள்ள பல்வேறு இயந்திரங்களுக்கு (ஒத்த இயந்திரங்களாக இருக்க வேண்டிய தேவையில்லை) தொகுத்தல் செயலை பகிர்ந்தளிக்கும் ஒரு நிரலாகும். distcc வாங்கியானது எல்லா தேவையான தகவல்களையும் (distccd ஐ இயக்குவதன் மூலம்) கிடைக்கும் distcc சேவையகங்களுக்கு அனுப்புகிறது. இதன்மூலம் distcc சேவையகங்களால் வாங்கியின் பொருட்டு மூல நிரலின் பாகங்களைத் தொகுக்க இயலும். இதன் விளைவாகத் தொகுத்தல் நேரம் கணிசமாகக் குறைக்கப்படும்.

distcc (மற்றும் சென்டூவோடு அதை எவ்வாறு வேலை செய்ய வைப்பது) என்பதைப் பற்றிய மேலும் விவரங்களை Distcc கட்டுரையில் காணலாம்.

distcc ஐ நிறுவுதல்

தொகுத்தலுக்காக கணினி அனுப்பும் பணிகளை கண்காணிப்பதற்காக ஒரு வரைகலை கண்காணியை Distcc கொண்டுள்ளது. USE="gtk" அமைக்கப்பட்டிருந்தால் இந்த கருவி தானியக்கமாக நிறுவப்பட்டுவிடும்.

root #emerge --ask sys-devel/distcc

Portage இன் distcc ற்கான ஆதரவை செயல்படுத்துதல்

/etc/portage/make.conf கோப்பினுள் உள்ள FEATURES மாறியில் distcc என சேர்க்கவும். பின், MAKEOPTS மாறியில் முறைமை அனுமதிக்கும் இணை உருவாக்கல் பணிகளின் எண்ணிகையை அதிகப்படியாக திருத்தியமைக்கவும். -jN என அமைப்பது அறிந்த வழிமுறையாகும். இதில் N என்பது இப்போதுள்ள புரவலனையும் சேர்த்து distccd இயங்கும் மையசெயலகங்களின் மொத்த எண்ணிக்கையோடு 1 ஐ கூட்டினால் வரும் எண்ணாகும். எனினும் இது வெறும் ஒரு வழிமுறை மட்டுமே.

இப்போது distcc-config ஐ இயக்கி கிடைக்கும் distcc சேவையகங்களின் பட்டியலை இடவும். ஒரு எளிய எடுத்துக்காட்டாக, கிடைக்கும் distcc சேவையகங்கள் 192.168.1.102 (இப்போதுள்ள புரவலன்), 192.168.1.103 மற்றும் 192.168.1.104 (இவை இரண்டும் "தொலைநிலை" புரவலன்கள்) என வைத்துக்கொண்டால்:

root #distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"

distccd மறைநிரலை இயக்க மறந்துவிடாதீர்கள்:

root #rc-update add distccd default
root #/etc/init.d/distccd start

தொகுத்தல் பொருட்களை பதுக்குதல்

ccache ஐ பற்றி

ccache ஒரு விரைவான தொகுப்பி பதுக்கல் நிரலாகும். ஒவ்வொரு முறை ஒரு செயலி தொகுக்கப்படும்போதும், இது அதன் உடனடி விளைவுகளைப் பதுக்கி வைக்கும். இதன்மூலம் அதே நிரல் மற்றும் பதிப்பு தொகுக்கப்படும்போது, தொகுத்தல் நேரத்தைக் கணிசமாகக் குறைக்கும். முதல் முறை ccache ஐ இயக்கும்போது, வழக்கமான தொகுத்தல் நேரத்தை விடச் சற்று மந்தமாக இருப்பினும் பின்வரும் மறு-தொகுத்தல்கள் மிக விரைவாக இருக்கும். ccache ஆனது ஒரே செயலி பதிப்பு பலமுறை மறு-தொகுத்தல் செய்யப்படும் போது மட்டுமே உதவியாக இருக்கும். எனவே இது பெரும்பாலும் மென்பொருள் உருவாக்குநர்களுக்கு மட்டுமே பயனுள்ளதாக இருக்கும்.

ccache ஐ பற்றிய மேலும் விவரங்களுக்கு, இதன் வலைமனையை காணவும்

எச்சரிக்கை
ccache ஆனது தொகுத்தலில் எண்ணற்ற தோல்விகளை ஏற்படுத்தும் என்பது அறிந்த ஒன்றாகும். சில நேரங்களில் ccache ஆனது வழக்கொழிந்த குறிமுறை பொருட்கள் அல்லது பிழையான கோப்புகளை வைத்திருக்கும். இதன் காரணமாக சில தொகுப்புகளை நிறுவ இயலாமல் போகலாம். இத்தகைய சூழலில் ("File not recognized: File truncated" போன்ற பிழைகளை உருவாக்கல் குறிப்புப்பதிவில் கண்டால்) வழுவை தெரிவிப்பதற்கு முன் ccache தனிச்சிறப்பை முடக்கி பின் செயலியை (/etc/portage/make.conf இல் FEATURES="-ccache" என குறிப்பிட்டோ அல்லது பின்வரும் கட்டளையை பயன்படுத்தியோ) மீள்தொகுக்க முயலவும்:


root #FEATURES="-ccache" emerge <category/package>

ccache ஐ நிறுவுதல்

ccache ஐ நிறுவ பின்வரும் கட்டளையை இயக்கவும்:

root #emerge --ask dev-util/ccache

Portage இன் ccache ற்கான ஆதரவை செயல்படுத்துதல்

/etc/portage/make.conf கோப்பை திறந்து அதில் உள்ள FEATURES மாறியில் ccache ஐ சேர்க்கவும். FEATURES மாறி எதுவும் ஏற்கனவே இல்லையென்றால் இப்போது உருவாக்கவும். பின், CCACHE_SIZE என புதிய மாறியை உருவாக்கி அதில் 2G என அமைக்கவும்:

கோப்பு /etc/portage/make.confPortage இன் ccache ற்கான ஆதரவை செயல்படுத்துதல்
FEATURES="ccache"
CCACHE_SIZE="2G"

ccache வேலை செய்கிறதா என்பதைச் சரிபார்ப்பதற்கு, ccache இடம் அதன் புள்ளிவிவரங்களை அளிக்கும்படி கேட்கவும். Portage ஆனது வேறு ccache home அடைவைப் பயன்படுத்துவதால், இடைக்காலத்திற்கு ஒரு CCACHE_DIR மாறியை அமைப்பது இன்றியமையாததாகும்:

root #CCACHE_DIR="/var/tmp/ccache" ccache -s

/var/tmp/ccache/ இருப்பிடமானது Portage இன் முன்னிருப்பு ccache அடைவாகும். இதை மாற்றுவதற்கு /etc/portage/make.conf இல் CCACHE_DIR மாறியை அமைக்கவும்.

ccache ஐ தனித்து இயக்கும்போது முன்னிருப்பு இருப்பிடமான ${HOME}/.ccache/ ஐ இது பயன்படுத்தும். இதன் காரணமாகவே Portage ஆனது ccache தகவல்களை பெறுவதற்கு CCACHE_DIR மாறி அமைக்கப்பட வேண்டிய தேவை ஏற்படுகிறது.

Portage க்கு வெளியில் ccache ஐ பயன்படுத்துதல்

Portage அல்லாத தொகுத்தல்களில் ccache ஐ பயன்படுத்த, PATH மாறியின் துவக்கத்தில் /usr/lib/ccache/bin/ ஐ சேர்க்கவும் (/usr/bin க்கு முன்). பயனரின் வீடு அடைவில் உள்ள ~/.bash_profile ஐ திருத்துவதன் மூலம் இதை செய்து முடிக்கலாம். ~/.bash_profile ஐ பயன்படுத்துவது PATH மாறியை வரையறுக்கும் வழிகளுள் ஒன்றாகும்.

கோப்பு ~/.bash_profileமற்ற பாதைக்கு முன் ccache இன் இருப்பிடத்தை அமைத்தல்
PATH="/usr/lib/ccache/bin:${PATH}"

இரும தொகுப்புகளுக்கான ஆதரவு

முன்-கட்டப்பட்ட தொகுப்புகளை உருவாக்குதல்

முன்-கட்டப்பட்ட தொகுப்புகளின் நிறுவலை Portage ஆதரிக்கிறது. சென்டூ தன்னால் முன்-கட்டப்பட்ட தொகுப்புகளை அளிக்கவில்லை என்றாலும் Portage ஐ முன்-கட்டமைக்கப்பட்ட தொகுப்புகளைப் பற்றி முழுமையாக அறிந்து கொள்ள வைக்க முடியும்.

ஒரு முன்-கட்டப்பட்ட தொகுப்பை உருவாக்குவதற்கு, தொகுப்பு ஏற்கனவே முறைமையில் நிறுவப்பட்டிருந்தால் quickpkg கட்டளையை பயன்படுத்தவும், இல்லையென்றால் --buildpkg அல்லது --buildpkgonly விருப்பத்தேர்வுகளை பயன்படுத்தி நிறுவவும்.

நிறுவப்படும் ஒவ்வொரு தொகுப்பிற்கும் முன்-கட்டப்பட்ட தொகுப்பை Portage உருவாக்க FEATURES மாறியில் buildpkg ஐ சேர்க்கவும்.

முன்-கட்டப்பட்ட தொகுப்புகளை உருவாக்குவதற்கான நீட்டித்த ஆதரவை catalyst மூலம் பெறலாம். இதை பற்றிய மேலும் விவரங்களுக்கு Catalyst அடிக்கடி கேட்கப்படும் கேள்விகள் பக்கத்தை படிக்கவும்.

முன்-கட்டப்பட்ட தொகுப்புகளை நிறுவுதல்

சென்டூ ஒன்றை அளிக்கவில்லை என்றாலும், முன்-கட்டப்பட்ட தொகுப்புகளை சேமித்து வைப்பதற்கு ஒரு மைய கருவூலத்தை உருவாக்க முடியும். இந்த கருவூலத்தை பயன்படுத்துவதற்கு Portage அறிந்துகொள்ளும் வகையில் PORTAGE_BINHOST மாறியை கருவூலத்தை நோக்கி அமைக்க வேண்டும். எடுத்துக்காட்டாக, முன்-கட்டப்பட்ட தொகுப்புகள் ftp://buildhost/gentoo என்னுமிடத்தில் இருந்தால்:

கோப்பு /etc/portage/make.confPORTAGE_BINHOST இருப்பிடத்தை சேர்த்தல்
PORTAGE_BINHOST="ftp://buildhost/gentoo"

முன்-கட்டப்பட்ட தொகுப்புகளை நிறுவுவதற்கு emerge கட்டளையில் --usepkg உடன் --getbinpkg விருப்பத்தேர்வையும் சேர்த்து இயக்கவும். --getbinpkg விருப்பத்தேர்வானது முன்பு வரையறுக்கப்பட்ட சேவையகத்தில் இருந்து முன்-கட்டப்பட்ட தொகுப்புகளைப் பதிவிறக்குமாறு emerge இடம் கூறுகிறது. --usepkg விருப்பத்தேர்வானது மூலங்களில் இருந்து கொணர்ந்து தொகுப்பதற்கு முன்னால் முன்-கட்டப்பட்ட தொகுப்புகளை முதலில் நிறுவ முயலுமாறு emerge ஐ கேட்டுக் கொள்கிறது.

எடுத்துக்காட்டாக, gnumeric ஐ முன்-கட்டப்பட்ட தொகுப்புகளுடன் நிறுவ:

root #emerge --usepkg --getbinpkg gnumeric

இ-ஒன்றாக்குதலின் முன்-கட்டப்பட்ட தொகுப்பு விருப்பத்தேர்வுகளைப் பற்றிய மேலும் விவரங்களை emerge இன் கைமுறை பக்கத்தில் காணலாம்:

user $man emerge

முன்-கட்டப்பட்ட தொகுப்புகளை மற்றவற்றுக்குப் பகிர்ந்தளித்தல்

முன்-கட்டமைக்கப்பட்ட தொகுப்புகள் மற்றவர்களுக்கு பகிர்ந்தளிக்க வேண்டும் என்றால், இது அனுமதிக்கப்பட்டுள்ளதை உறுதிப்படுத்திகொள்ளவும். இதற்கு மேல்நோக்கு தொகுப்பின் பகிர்ந்தளிப்பு விதிமுறைகளை சரிபார்க்கவும். எடுத்துக்காட்டாக, GNU GPL இன் கீழ் வெளியிடப்படும் தொகுப்பானது, இருமிகளுடன் மூலங்களும் கிடைக்க வேண்டும்.

கட்டப்பட்ட இருமங்கள் வழங்க இயலாமல் போனால் Ebuild கள் அதன் RESTRICT மாறியில் bindist கட்டுப்பாட்டை வரையறுக்கும். சில நேரங்களில் இந்த கட்டுப்பாடு ஒன்று அல்லது அதற்கும் மேற்பட்ட USE கொடிகளில் முன்னீடாகும்.

முன்னிருப்பாக, கட்டுப்பாடுகள் காரணமாக Portage எந்த தொகுப்பையும் மறையிடாது. /etc/portage/make.conf கோப்பில் ACCEPT_RESTRICT மாறியை அமைப்பதன் மூலம் இதை முறைமை முழுமைக்கும் மாற்றியமைக்கலாம். எடுத்துக்காட்டாக, bindist கட்டுப்பாட்டை கொண்டுள்ள தொகுப்புகளை மறைக்க, பின்வரும் வரிகளை make.conf இல் சேர்க்கவும்:

கோப்பு /etc/portage/make.confபகிர்ந்தளிக்கக்கூடிய இருமத் தொகுப்புகளை மட்டும் அனுமதிக்கும்
ACCEPT_RESTRICT="* -bindist"

emerge கட்டளையில் --accept-restrict விருப்பத்தேர்வை அளிப்பதன் மூலம் ACCEPT_RESTRICT மாறியை மேலெழுத இயலும். எடுத்துக்காட்டாக, --accept-restrict=-bindist விருப்பத்தேர்வானது bindist கட்டுப்பாட்டை கொண்டுள்ள தொகுப்புகளை இடைக்காலமாக மறைக்கிறது.

மேலும் தொகுப்புகளை பகிர்ந்தளிக்கும்போது ACCEPT_LICENSE மாறியை அமைப்பதை கருதவும். இதற்கு உரிமங்கள் பிரிவை காணவும்.

முக்கியமானது
தொகுப்புகளின் உரிம விதிமுறைகள் மற்றும் ஒவ்வொரு பயனரின் நாட்டின் சட்டங்களுக்கும் இணங்குவது ஒவ்வொரு பயனரின் முழுப் பொறுப்பாகும். ebuild களின் (RESTRICT அல்லது LICENSE) மூலம் வரையறுக்கப்பட்ட மீதரவு மாறிகள் இருமிகளின் பகிர்ந்தளிப்பு அனுமதிக்கப்படாதபோது வழிகாட்டுதலை வழங்க முடியும், இருப்பினும் Portage-ல் இருந்து வரும் வெளியீடு அல்லது சென்டூ உருவாக்குநர் பதிலளிக்கும் கேள்விகள் சட்ட அறிக்கைகளாக கருத முடியாது என்பதால் இதை முழுமையாக சார்ந்து இருக்க வேண்டாம். உங்கள் இருப்பிடத்தின் சட்டத்தை கடைபிடிப்பதில் கவனமாக இருங்கள்.

கோப்புகளைக் கொணர்தல்

dist கோப்புகளை சரிபார்த்தல்

இப்போது நிறுவப்பட்டுள்ள தொகுப்புகளுக்கான முன்பு நீக்கப்பட்ட/பிழையான dist கோப்புகளிள் ஒருமைப்பாட்டை மீண்டும் சரிபார்த்து, மீள்பதிவிறக்கம் செய்ய, இதை இயக்கவும்:

root #emerge --ask --fetchonly --emptytree @world