ഇംഗ്ലീഷ്ഫ്രഞ്ച്സ്പാനിഷ്

Ad


OnWorks ഫെവിക്കോൺ

dpkg-buildflags - ക്ലൗഡിൽ ഓൺലൈനിൽ

ഉബുണ്ടു ഓൺലൈൻ, ഫെഡോറ ഓൺലൈൻ, വിൻഡോസ് ഓൺലൈൻ എമുലേറ്റർ അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിവയിലൂടെ OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് പ്രൊവൈഡറിൽ dpkg-buildflags പ്രവർത്തിപ്പിക്കുക

Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്‌സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന dpkg-buildflags കമാൻഡ് ആണിത്.

പട്ടിക:

NAME


dpkg-buildflags - പാക്കേജ് നിർമ്മാണ സമയത്ത് ഉപയോഗിക്കാനുള്ള ബിൽഡ് ഫ്ലാഗുകൾ തിരികെ നൽകുന്നു

സിനോപ്സിസ്


dpkg-buildflags [ഓപ്ഷൻ...] [കമാൻഡ്]

വിവരണം


dpkg-buildflags ഡെബിയൻ നിർമ്മിക്കുമ്പോൾ ഉപയോഗിക്കേണ്ട കംപൈലേഷൻ ഫ്ലാഗുകൾ വീണ്ടെടുക്കുന്നതിനുള്ള ഒരു ഉപകരണമാണ്
പാക്കേജുകൾ. ഡിഫോൾട്ട് ഫ്ലാഗുകൾ വെണ്ടർ നിർവചിച്ചിട്ടുണ്ടെങ്കിലും അവ വിപുലീകരിക്കുകയോ അസാധുവാക്കുകയോ ചെയ്യാം
പല തരത്തിൽ:

1. സിസ്റ്റം-വൈഡ് കൂടെ /etc/dpkg/buildflags.conf;

2. നിലവിലുള്ള ഉപയോക്താവിന് $XDG_CONFIG_HOME/dpkg/buildflags.conf എവിടെ
$XDG_CONFIG_HOME സ്ഥിരസ്ഥിതിയായി $HOME/.config;

3. പരിസ്ഥിതി വേരിയബിളുകളുള്ള ഉപയോക്താവ് താൽക്കാലികമായി (വിഭാഗം കാണുക ENVIRONMENT);

4. വഴി സജ്ജീകരിച്ച പരിസ്ഥിതി വേരിയബിളുകളുള്ള പാക്കേജ് മെയിന്റനർ ഡൈനാമിക്കായി
ഡെബിയൻ/നിയമങ്ങൾ (വിഭാഗം കാണുക ENVIRONMENT).

കോൺഫിഗറേഷൻ ഫയലുകളിൽ രണ്ട് തരത്തിലുള്ള നിർദ്ദേശങ്ങൾ അടങ്ങിയിരിക്കാം:

സെറ്റ് പതാക മൂല്യം
പേരിട്ടിരിക്കുന്ന പതാകയെ അസാധുവാക്കുക പതാക മൂല്യം ഉണ്ടായിരിക്കാൻ മൂല്യം.

സ്ട്രിപ്പ് പതാക മൂല്യം
പേരിട്ടിരിക്കുന്ന പതാകയിൽ നിന്നുള്ള സ്ട്രിപ്പ് പതാക ലിസ്റ്റുചെയ്തിരിക്കുന്ന എല്ലാ നിർമ്മാണ പതാകകളും മൂല്യം.

കൂട്ടിച്ചേർക്കുക പതാക മൂല്യം
പേരിട്ടിരിക്കുന്ന പതാക നീട്ടുക പതാക നൽകിയിരിക്കുന്ന ഓപ്ഷനുകൾ ചേർത്തുകൊണ്ട് മൂല്യം. ഒരു സ്പേസ് ആണ്
ഫ്ലാഗിന്റെ നിലവിലെ മൂല്യം ശൂന്യമല്ലെങ്കിൽ, അനുബന്ധ മൂല്യത്തിലേക്ക് മുൻകൂട്ടി നിശ്ചയിച്ചിരിക്കുന്നു.

മുൻകൂട്ടി വയ്ക്കുക പതാക മൂല്യം
പേരിട്ടിരിക്കുന്ന പതാക നീട്ടുക പതാക നൽകിയിരിക്കുന്ന ഓപ്‌ഷനുകൾ മുൻനിർത്തി മൂല്യം. ഒരു സ്പേസ് ആണ്
പതാകയുടെ നിലവിലെ മൂല്യം ശൂന്യമല്ലെങ്കിൽ മുൻകൂട്ടി നിശ്ചയിച്ച മൂല്യത്തിലേക്ക് കൂട്ടിച്ചേർക്കും.

കോൺഫിഗറേഷൻ ഫയലുകളിൽ ഒരു ഹാഷിൽ (#) ​​ആരംഭിക്കുന്ന ലൈനുകളിലെ കമന്റുകൾ അടങ്ങിയിരിക്കാം. ശൂന്യം
വരികളും അവഗണിക്കപ്പെടുന്നു.

കമാൻഡുകൾ


--ഡമ്പ് എല്ലാ കംപൈലേഷൻ ഫ്ലാഗുകളും അവയുടെ മൂല്യങ്ങളും സ്റ്റാൻഡേർഡ് ഔട്ട്‌പുട്ടിലേക്ക് പ്രിന്റ് ചെയ്യുക. ഇത് ഒരു പതാക അച്ചടിക്കുന്നു
ഓരോ വരിയും അതിന്റെ മൂല്യത്തിൽ നിന്ന് തുല്യ ചിഹ്നത്താൽ വേർതിരിച്ചിരിക്കുന്നു ("പതാക=മൂല്യം”). ഇതാണ്
സ്വതവേയുള്ള പ്രവർത്തനം.

--ലിസ്റ്റ് നിലവിലെ വെണ്ടർ പിന്തുണയ്ക്കുന്ന ഫ്ലാഗുകളുടെ ലിസ്റ്റ് പ്രിന്റ് ചെയ്യുക (ഒരു വരിയിൽ ഒന്ന്). കാണുക
പിന്തുണച്ചു ഫ്ലാഗുകൾ അവരെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് വിഭാഗം.

--പദവി
പെരുമാറ്റം വിശദീകരിക്കാൻ ഉപയോഗപ്രദമായ ഏത് വിവരവും പ്രദർശിപ്പിക്കുക
dpkg-buildflags (dpkg 1.16.5 മുതൽ): പ്രസക്തമായ പരിസ്ഥിതി വേരിയബിളുകൾ, കറന്റ്
വെണ്ടർ, എല്ലാ ഫീച്ചർ ഫ്ലാഗുകളുടെയും അവസ്ഥ. തത്ഫലമായുണ്ടാകുന്ന കംപൈലർ ഫ്ലാഗുകളും പ്രിന്റ് ചെയ്യുക
അവരുടെ ഉത്ഭവം.

ഇതിൽ നിന്ന് പ്രവർത്തിപ്പിക്കാനാണ് ഉദ്ദേശിക്കുന്നത് ഡെബിയൻ/നിയമങ്ങൾ, അങ്ങനെ ബിൽഡ് ലോഗ് വ്യക്തമായി സൂക്ഷിക്കുന്നു
ഉപയോഗിച്ച നിർമ്മാണ പതാകകളുടെ സൂചന. ഇതുമായി ബന്ധപ്പെട്ട പ്രശ്നങ്ങൾ കണ്ടെത്തുന്നതിന് ഇത് ഉപയോഗപ്രദമാകും
അവരെ.

--കയറ്റുമതി=ഫോർമാറ്റ്
എല്ലാ കംപൈലേഷനും കയറ്റുമതി ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് കമാൻഡുകളിലേക്ക് പ്രിന്റ് ചെയ്യുക
ചില പ്രത്യേക ഉപകരണങ്ങളുടെ പതാകകൾ. എങ്കിൽ ഫോർമാറ്റ് മൂല്യം നൽകിയിട്ടില്ല, sh അനുമാനിക്കപ്പെടുന്നു.
ഒരു വലിയ അക്ഷരത്തിൽ ആരംഭിക്കുന്ന കംപൈലേഷൻ ഫ്ലാഗുകൾ മാത്രമേ ഉൾപ്പെടുത്തിയിട്ടുള്ളൂ, മറ്റുള്ളവ
പരിസ്ഥിതിക്ക് അനുയോജ്യമല്ലെന്ന് കരുതപ്പെടുന്നു. പിന്തുണയ്ക്കുന്ന ഫോർമാറ്റുകൾ:

sh എല്ലാ കംപൈലേഷൻ ഫ്ലാഗുകളും സജ്ജമാക്കാനും കയറ്റുമതി ചെയ്യാനും ഷെൽ കമാൻഡുകൾ നൽകുന്നു
പരിസ്ഥിതി. ഫ്ലാഗ് മൂല്യങ്ങൾ ഉദ്ധരിച്ചതിനാൽ ഔട്ട്പുട്ട് തയ്യാറാണ്
ഒരു ഷെൽ മുഖേനയുള്ള വിലയിരുത്തൽ.

cmdline
എല്ലാം ഉപയോഗിക്കുന്നതിന് ഒരു ബിൽഡ് പ്രോഗ്രാമിന്റെ കമാൻഡ് ലൈനിലേക്ക് പോകാനുള്ള ആർഗ്യുമെന്റുകൾ
സമാഹാര പതാകകൾ (dpkg 1.17.0 മുതൽ). പതാക മൂല്യങ്ങൾ ഷെല്ലിൽ ഉദ്ധരിച്ചിരിക്കുന്നു
വാക്യഘടന.

കോൺഫിഗർ
ഇത് ഒരു പാരമ്പര്യ അപരനാമമാണ് cmdline.

ഉണ്ടാക്കുക എല്ലാ കംപൈലേഷൻ ഫ്ലാഗുകളും സജ്ജീകരിക്കാനും കയറ്റുമതി ചെയ്യാനും നിർദ്ദേശങ്ങൾ ഉണ്ടാക്കുക
പരിസ്ഥിതി. ഔട്ട്‌പുട്ട് ഒരു മേക്ക്‌ഫൈൽ ഫ്രാഗ്‌മെന്റിലേക്ക് എഴുതുകയും വിലയിരുത്തുകയും ചെയ്യാം
ഒരു ഉപയോഗിക്കുന്നു ഉൾപ്പെടുന്നു നിർദ്ദേശം.

-- നേടുക പതാക
സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ ഫ്ലാഗിന്റെ മൂല്യം പ്രിന്റ് ചെയ്യുക. ഫ്ലാഗ് അറിയാമെങ്കിൽ 0 ഉപയോഗിച്ച് പുറത്തുകടക്കുന്നു
അല്ലെങ്കിൽ 1-ൽ നിന്ന് പുറത്തുകടക്കുന്നു.

--ഉത്ഭവം പതാക
തിരികെ നൽകുന്ന മൂല്യത്തിന്റെ ഉത്ഭവം പ്രിന്റ് ചെയ്യുക -- നേടുക. ഫ്ലാഗ് ആണെങ്കിൽ 0 ഉപയോഗിച്ച് പുറത്തുകടക്കുന്നു
1-ൽ നിന്ന് പുറത്തുകടക്കുന്നു എന്ന് അറിയപ്പെടുന്നു. ഉത്ഭവം ഇനിപ്പറയുന്ന മൂല്യങ്ങളിൽ ഒന്നായിരിക്കാം:

വെണ്ടർ വിൽപ്പനക്കാരൻ സ്ഥാപിച്ച യഥാർത്ഥ പതാക തിരികെ നൽകുന്നു;

സിസ്റ്റം ഒരു സിസ്റ്റം-വൈഡ് കോൺഫിഗറേഷൻ മുഖേന ഫ്ലാഗ് സജ്ജീകരിച്ചിരിക്കുന്നു/പരിഷ്കരിച്ചിരിക്കുന്നു;

ഉപയോക്താവ് ഒരു ഉപയോക്തൃ-നിർദ്ദിഷ്ട കോൺഫിഗറേഷൻ മുഖേന ഫ്ലാഗ് സജ്ജീകരിച്ചിരിക്കുന്നു/പരിഷ്കരിച്ചിരിക്കുന്നു;

അയക്കുക ഒരു പരിസ്ഥിതി-നിർദ്ദിഷ്ട കോൺഫിഗറേഷൻ മുഖേനയാണ് ഫ്ലാഗ് സജ്ജീകരിച്ചിരിക്കുന്നത്/പരിഷ്കരിച്ചിരിക്കുന്നത്.

--ചോദ്യം-സവിശേഷതകൾ പ്രദേശം
നൽകിയിരിക്കുന്ന ഏരിയയിൽ പ്രവർത്തനക്ഷമമാക്കിയ സവിശേഷതകൾ പ്രിന്റ് ചെയ്യുക (dpkg 1.16.2 മുതൽ). ഒരേയൊരു
ഡെബിയനിലും ഡെറിവേറ്റീവുകളിലും നിലവിൽ അംഗീകൃത മേഖലകൾ qa, പുനരുൽപ്പാദിപ്പിക്കാവുന്ന, ശുചിത്വം പാലിക്കുക
ഒപ്പം കാഠിന്യം, കാണുക സവിശേഷത AREAS കൂടുതൽ വിവരങ്ങൾക്ക് വിഭാഗം. എങ്കിൽ 0-ൽ നിന്ന് പുറത്തുകടക്കുന്നു
പ്രദേശം അറിയപ്പെടുന്നു അല്ലെങ്കിൽ 1 ഉപയോഗിച്ച് പുറത്തുകടക്കുന്നു.

ഔട്ട്‌പുട്ട് RFC822 ഫോർമാറ്റിലാണ്, ഓരോ ഫീച്ചറിലും ഒരു വിഭാഗം. ഉദാഹരണത്തിന്:

സവിശേഷത: പൈ
പ്രവർത്തനക്ഷമമാക്കി: ഇല്ല

സവിശേഷത: സ്റ്റാക്ക് പ്രൊട്ടക്ടർ
പ്രവർത്തനക്ഷമമാക്കി: അതെ

--സഹായിക്കൂ ഉപയോഗ സന്ദേശം കാണിച്ച് പുറത്തുകടക്കുക.

--പതിപ്പ്
പതിപ്പ് കാണിച്ച് പുറത്തുകടക്കുക.

പിന്തുണച്ചു ഫ്ലാഗുകൾ


CFLAGS സി കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ. വെണ്ടർ സജ്ജമാക്കിയ ഡിഫോൾട്ട് മൂല്യം ഉൾപ്പെടുന്നു -g ഒപ്പം
ഡിഫോൾട്ട് ഒപ്റ്റിമൈസേഷൻ ലെവൽ (-O2 സാധാരണയായി, അല്ലെങ്കിൽ -O0 അങ്ങനെയാണെങ്കിൽ DEB_BUILD_OPTIONS
പരിസ്ഥിതി വേരിയബിൾ നിർവചിക്കുന്നു നൂപ്റ്റ്).

CPPFLAGS
സി പ്രീപ്രോസസറിനുള്ള ഓപ്ഷനുകൾ. സ്ഥിര മൂല്യം: ശൂന്യം.

CXXFLAGS
C++ കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ. അതേ പോലെ CFLAGS.

ഒബ്ജക്ഫ്ലാഗുകൾ
ഒബ്ജക്റ്റീവ് സി കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ. അതേ പോലെ CFLAGS.

OBJCXXFLAGS
ഒബ്ജക്റ്റീവ് C++ കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ. അതേ പോലെ CXXFLAGS.

GCJFLAGS
ഗ്നു ജാവ കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ (ജിസിജെ). ഒരു ഉപവിഭാഗം CFLAGS.

പതാകകൾ ഫോർട്രാൻ 77 കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ. ഒരു ഉപവിഭാഗം CFLAGS.

FCFLAGS
ഫോർട്രാൻ 9x കമ്പൈലറിനുള്ള ഓപ്ഷനുകൾ. അതേ പോലെ പതാകകൾ.

LDFLAGS
എക്‌സിക്യൂട്ടബിളുകളോ പങ്കിട്ട ഒബ്‌ജക്‌റ്റുകളോ ലിങ്ക് ചെയ്യുമ്പോൾ കംപൈലറിലേക്ക് ഓപ്‌ഷനുകൾ കൈമാറുന്നു (എങ്കിൽ
ലിങ്കർ നേരിട്ട് വിളിക്കുന്നു, തുടർന്ന് -Wl ഒപ്പം , ഈ ഓപ്ഷനുകളിൽ നിന്ന് നീക്കം ചെയ്യണം).
സ്ഥിര മൂല്യം: ശൂന്യം.

ആവശ്യമെങ്കിൽ ഭാവിയിൽ പുതിയ പതാകകൾ ചേർത്തേക്കാം (ഉദാഹരണത്തിന് മറ്റുള്ളവരെ പിന്തുണയ്ക്കാൻ
ഭാഷകൾ).

സവിശേഷത AREAS


ഓരോ ഏരിയ ഫീച്ചറും പ്രവർത്തനക്ഷമമാക്കാനും പ്രവർത്തനരഹിതമാക്കാനും കഴിയും DEB_BUILD_OPTIONS ഒപ്പം
DEB_BUILD_MAINT_OPTIONS പരിസ്ഥിതി വേരിയബിളിന്റെ ഏരിയ മൂല്യം '+' ഒപ്പം '-' മോഡിഫയർ.
ഉദാഹരണത്തിന്, പ്രവർത്തനക്ഷമമാക്കാൻ കാഠിന്യം "പൈ" ഫീച്ചർ കൂടാതെ "ഫോർട്ടിഫൈ" ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കുക
ഇത് ചെയ്യാൻ കഴിയും ഡെബിയൻ/നിയമങ്ങൾ:

കയറ്റുമതി DEB_BUILD_MAINT_OPTIONS=കാഠിന്യം=+പൈ,-ഫോർട്ടിഫൈ

പ്രത്യേക സവിശേഷത എല്ലാം (ഏത് ഏരിയയിലും സാധുതയുള്ളത്) എല്ലാ ഏരിയകളും പ്രവർത്തനക്ഷമമാക്കാനോ പ്രവർത്തനരഹിതമാക്കാനോ ഉപയോഗിക്കാം
ഒരേ സമയം സവിശേഷതകൾ. അങ്ങനെ ഉള്ളതെല്ലാം പ്രവർത്തനരഹിതമാക്കുന്നു കാഠിന്യം ഏരിയയും പ്രവർത്തനക്ഷമവും
"ഫോർമാറ്റ്", "ഫോർട്ടിഫൈ" എന്നിവ മാത്രമേ ഇതുപയോഗിച്ച് നേടാനാകൂ:

കയറ്റുമതി DEB_BUILD_MAINT_OPTIONS=കാഠിന്യം=-എല്ലാം,+ഫോർമാറ്റ്,+ഫോർട്ടിഫൈ

qa
കംപൈൽ-ടൈം ഓപ്‌ഷനുകൾ (ചുവടെയുള്ളത്) പ്രശ്‌നങ്ങൾ കണ്ടെത്താൻ സഹായിക്കുന്നതിന് ഉപയോഗിക്കാനാകും
സോഴ്സ് കോഡ് അല്ലെങ്കിൽ ബിൽഡ് സിസ്റ്റം.

മൂട്ട ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) വിശ്വസനീയമായി കണ്ടെത്തുന്ന ഏതെങ്കിലും മുന്നറിയിപ്പ് ഓപ്‌ഷൻ ചേർക്കുന്നു
പ്രശ്നമുള്ള സോഴ്സ് കോഡ്. മുന്നറിയിപ്പുകൾ മാരകമാണ്.

കാനറി ഈ ക്രമീകരണം (സ്ഥിരമായി പ്രവർത്തനരഹിതമാക്കിയത്) ബിൽഡ് ഫ്ലാഗുകളിലേക്ക് ഡമ്മി കാനറി ഓപ്ഷനുകൾ ചേർക്കുന്നു, അതിനാൽ
ബിൽഡ് ഫ്ലാഗുകൾ എങ്ങനെ പ്രചരിപ്പിക്കുന്നുവെന്നും അനുവദിക്കണമെന്നും ബിൽഡ് ലോഗുകൾ പരിശോധിക്കാം
സാധാരണ ബിൽഡ് ഫ്ലാഗ് ക്രമീകരണങ്ങളിൽ എന്തെങ്കിലും ഒഴിവാക്കൽ കണ്ടെത്തുന്നു. നിലവിൽ പിന്തുണയ്ക്കുന്ന ഒരേയൊരു
പതാകകൾ CPPFLAGS, CFLAGS, ഒബ്ജക്ഫ്ലാഗുകൾ, CXXFLAGS ഒപ്പം OBJCXXFLAGS പതാകകൾ സജ്ജീകരിച്ചിരിക്കുന്നു
-D__DEB_CANARY_പതാക_റാൻഡം-ഐഡി__, ഒപ്പം LDFLAGS ക്രമീകരിക്കപ്പെട്ടതു -Wl,-z, deb-canary-റാൻഡം-ഐഡി.

ശുചിത്വം പാലിക്കുക
ഫലത്തെ അണുവിമുക്തമാക്കാൻ സഹായിക്കുന്നതിന് നിരവധി കംപൈൽ-ടൈം ഓപ്ഷനുകൾ (ചുവടെയുള്ളത്) ഉപയോഗിക്കാം
മെമ്മറി കറപ്ഷനുകൾ, മെമ്മറി ലീക്കുകൾ, സൌജന്യത്തിനു ശേഷമുള്ള ഉപയോഗം, ത്രെഡിംഗ് ഡാറ്റ റേസുകൾ എന്നിവയ്ക്കെതിരായ ബൈനറി
നിർവചിക്കാത്ത പെരുമാറ്റ ബഗുകൾ.

വിലാസം
ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) ചേർക്കുന്നു -fsanitize=വിലാസം ലേക്ക് LDFLAGS ഒപ്പം
-fsanitize=വിലാസം -fno-omit-frame-pointer ലേക്ക് CFLAGS ഒപ്പം CXXFLAGS.

ഇഴ ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) ചേർക്കുന്നു -fsanitize=ത്രെഡ് ലേക്ക് CFLAGS, CXXFLAGS ഒപ്പം
LDFLAGS.

ചോർച്ച ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) ചേർക്കുന്നു -fsanitize=ചോർച്ച ലേക്ക് LDFLAGS. അത് ലഭിക്കുന്നു
ഒന്നുകിൽ യാന്ത്രികമായി പ്രവർത്തനരഹിതമാക്കും വിലാസം അഥവാ ഇഴ സവിശേഷതകൾ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു
അവർ അത് സൂചിപ്പിക്കുന്നു.

വ്യക്തമല്ല
ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) ചേർക്കുന്നു -fsanitize=നിർവചിക്കപ്പെട്ടിട്ടില്ല ലേക്ക് CFLAGS, CXXFLAGS
ഒപ്പം LDFLAGS.

കാഠിന്യം
ഫലത്തെ കഠിനമാക്കാൻ സഹായിക്കുന്നതിന് നിരവധി കംപൈൽ-ടൈം ഓപ്ഷനുകൾ (ചുവടെയുള്ളത്) ഉപയോഗിക്കാം
മെമ്മറി അഴിമതി ആക്രമണങ്ങൾക്കെതിരായ ബൈനറി, അല്ലെങ്കിൽ ഈ സമയത്ത് കൂടുതൽ മുന്നറിയിപ്പ് സന്ദേശങ്ങൾ നൽകുക
സമാഹാരം. ചുവടെ സൂചിപ്പിച്ചതൊഴിച്ചാൽ, ആർക്കിടെക്ചറുകൾക്കായി ഇവ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു
അവരെ പിന്തുണയ്ക്കുക.

ഫോർമാറ്റ് ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കി) ചേർക്കുന്നു - ഫോർമാറ്റ് -വെറർ=ഫോർമാറ്റ്-സെക്യൂരിറ്റി ലേക്ക് CFLAGS,
CXXFLAGS, ഒബ്ജക്ഫ്ലാഗുകൾ ഒപ്പം OBJCXXFLAGS. തെറ്റായ ഫോർമാറ്റ് സ്ട്രിംഗിനെക്കുറിച്ച് ഇത് മുന്നറിയിപ്പ് നൽകും
ഉപയോഗിക്കുന്നു, സാധ്യമായ പ്രതിനിധീകരിക്കുന്ന രീതിയിൽ ഫോർമാറ്റ് ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുമ്പോൾ പരാജയപ്പെടും
സുരക്ഷാ പ്രശ്നങ്ങൾ. നിലവിൽ, ഇത് വിളിക്കുന്നതിനെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകുന്നു printf ഒപ്പം സ്കാൻഫ് ഫംഗ്ഷനുകളും
ഫോർമാറ്റ് സ്ട്രിംഗ് അക്ഷരാർത്ഥത്തിലുള്ള ഒരു സ്ട്രിംഗ് അല്ലാത്തിടത്ത് ഫോർമാറ്റ് ആർഗ്യുമെന്റുകൾ ഇല്ല,
എന്നപോലെ printf (foo); ഇതിനുപകരമായി printf("%s", foo); എങ്കിൽ ഇതൊരു സുരക്ഷാ ദ്വാരമായിരിക്കാം
ഫോർമാറ്റ് സ്ട്രിംഗ് വിശ്വസനീയമല്ലാത്ത ഇൻപുട്ടിൽ നിന്നാണ് വന്നത്, അതിൽ '%n' അടങ്ങിയിരിക്കുന്നു.

ഉറപ്പിക്കുക
ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കി) ചേർക്കുന്നു -D_forfify_source = 2 ലേക്ക് CPPFLAGS. കോഡ് സമയത്ത്
ജനറേഷൻ കംപൈലറിന് ബഫർ വലുപ്പങ്ങളെക്കുറിച്ച് ധാരാളം വിവരങ്ങൾ അറിയാം (എവിടെ
സാധ്യമാണ്), കൂടാതെ സുരക്ഷിതമല്ലാത്ത പരിധിയില്ലാത്ത ബഫർ ഫംഗ്‌ഷൻ കോളുകൾ മാറ്റിസ്ഥാപിക്കാനുള്ള ശ്രമങ്ങൾ
നീളം-പരിമിതമായവയ്‌ക്കൊപ്പം. പഴയതും വൃത്തികെട്ടതുമായ കോഡിന് ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്.
കൂടാതെ, '%n' അടങ്ങുന്ന റൈറ്റബിൾ മെമ്മറിയിലെ ഫോർമാറ്റ് സ്ട്രിംഗുകൾ തടഞ്ഞിരിക്കുന്നു. എങ്കിൽ
ഒരു ആപ്ലിക്കേഷൻ അത്തരം ഒരു ഫോർമാറ്റ് സ്ട്രിംഗിനെ ആശ്രയിച്ചിരിക്കുന്നു, അതിന് ചുറ്റും പ്രവർത്തിക്കേണ്ടതുണ്ട്.

ഈ ഓപ്ഷന് എന്തെങ്കിലും ഫലമുണ്ടാകണമെങ്കിൽ, ഉറവിടം കൂടി സമാഹരിച്ചിരിക്കണം എന്നത് ശ്രദ്ധിക്കുക
-O1 അല്ലെങ്കിൽ ഉയർന്നത്. പരിസ്ഥിതി വേരിയബിൾ ആണെങ്കിൽ DEB_BUILD_OPTIONS അടങ്ങിയിരിക്കുന്നു നൂപ്റ്റ്എന്നിട്ട്
ഉറപ്പിക്കുക glibc 2.16 നൽകുന്ന പുതിയ മുന്നറിയിപ്പുകൾ കാരണം പിന്തുണ പ്രവർത്തനരഹിതമാക്കും
പിന്നീട്.

സ്റ്റാക്ക് പ്രൊട്ടക്ടർ
ഈ ക്രമീകരണം (stackprotectorstrong ഉപയോഗത്തിലില്ലെങ്കിൽ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കും) ചേർക്കുന്നു
-fstack-protectctor --പരം=ssp-buffer-size=4 ലേക്ക് CFLAGS, CXXFLAGS, ഒബ്ജക്ഫ്ലാഗുകൾ,
OBJCXXFLAGS, GCJFLAGS, പതാകകൾ ഒപ്പം FCFLAGS. ഇത് സ്റ്റാക്കിനെതിരെ സുരക്ഷാ പരിശോധനകൾ ചേർക്കുന്നു
തിരുത്തിയെഴുതുന്നു. ഇത് നിരവധി കോഡ് കുത്തിവയ്പ്പ് ആക്രമണങ്ങളെ ഗർഭച്ഛിദ്രത്തിലേക്ക് എത്തിക്കുന്നു
സാഹചര്യങ്ങൾ. ഏറ്റവും നല്ല സാഹചര്യത്തിൽ, ഇത് കോഡ് കുത്തിവയ്പ്പ് കേടുപാടുകൾ നിരസിക്കുന്നതാക്കി മാറ്റുന്നു
സേവനത്തിന്റെ അല്ലെങ്കിൽ നോൺ-ഇഷ്യൂകളിലേക്ക് (അപേക്ഷയെ ആശ്രയിച്ച്).

ഈ ഫീച്ചറിന് glibc (അല്ലെങ്കിൽ മറ്റൊരു ദാതാവ്
__stack_chk_fail), അതിനാൽ നിർമ്മിക്കുമ്പോൾ പ്രവർത്തനരഹിതമാക്കേണ്ടതുണ്ട് -nostdlib or
-ഫ്രീസ്റ്റാൻഡിംഗ് അല്ലെങ്കിൽ സമാനമായ.

stackprotectorstrong
ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കി) ചേർക്കുന്നു -fstack-protector-strong ലേക്ക് CFLAGS,
CXXFLAGS, ഒബ്ജക്ഫ്ലാഗുകൾ, OBJCXXFLAGS, GCJFLAGS, പതാകകൾ ഒപ്പം FCFLAGS. ഇത് കൂടുതൽ ശക്തമാണ്
ന്റെ വേരിയൻറ് സ്റ്റാക്ക് പ്രൊട്ടക്ടർ, എന്നാൽ കാര്യമായ പ്രകടന പിഴകൾ ഇല്ലാതെ.

പ്രവർത്തനരഹിതമാക്കുന്നു സ്റ്റാക്ക് പ്രൊട്ടക്ടർ ഈ ക്രമീകരണവും പ്രവർത്തനരഹിതമാക്കും.

ഈ ഫീച്ചറിന് സമാനമായ ആവശ്യകതകളുണ്ട് സ്റ്റാക്ക് പ്രൊട്ടക്ടർ, കൂടാതെ കൂടാതെ
gcc 4.9 ഉം അതിനുശേഷമുള്ളതും ആവശ്യമാണ്.

റെൽറോ ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കി) ചേർക്കുന്നു -Wl,-z, relro ലേക്ക് LDFLAGS. പ്രോഗ്രാം സമയത്ത്
ലോഡ്, നിരവധി ELF മെമ്മറി വിഭാഗങ്ങൾ ലിങ്കർ എഴുതേണ്ടതുണ്ട്. ഇത് പതാക
ഈ വിഭാഗങ്ങൾ റീഡ്-ഓൺലി ആയി മാറ്റുന്നതിനുള്ള ലോഡർ, നിയന്ത്രണം ഓവർ ചെയ്യുന്നതിന് മുമ്പ്
പ്രോഗ്രാം. ഏറ്റവും ശ്രദ്ധേയമായി ഇത് GOT ഓവർറൈറ്റ് ആക്രമണങ്ങളെ തടയുന്നു. ഈ ഓപ്ഷൻ ആണെങ്കിൽ
വികലാംഗൻ, ബന്ധിക്കുക വികലാംഗനായിത്തീരും.

ബന്ധിക്കുക
ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) ചേർക്കുന്നു -Wl,-z, ഇപ്പോൾ ലേക്ക് LDFLAGS. പ്രോഗ്രാം ലോഡ് സമയത്ത്,
എല്ലാ ചലനാത്മക ചിഹ്നങ്ങളും പരിഹരിച്ചു, ഇത് മുഴുവൻ PLT-യും വായിക്കാൻ അടയാളപ്പെടുത്താൻ അനുവദിക്കുന്നു-
മാത്രം (കാരണം റെൽറോ മുകളിൽ). എങ്കിൽ ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കാൻ കഴിയില്ല റെൽറോ അല്ല
പ്രവർത്തനക്ഷമമാക്കി.

ഇറച്ചിയട ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി) ചേർക്കുന്നു -fPIE ലേക്ക് CFLAGS, CXXFLAGS, ഒബ്ജക്ഫ്ലാഗുകൾ,
OBJCXXFLAGS, GCJFLAGS, പതാകകൾ ഒപ്പം FCFLAGS, ഒപ്പം -fPIE -പൈ ലേക്ക് LDFLAGS. സ്ഥാനം
അഡ്രസ് സ്പേസ് ലേഔട്ട് പ്രയോജനപ്പെടുത്താൻ ഇൻഡിപെൻഡന്റ് എക്സിക്യൂട്ടബിൾ ആവശ്യമാണ്
ക്രമരഹിതമാക്കൽ, ചില കേർണൽ പതിപ്പുകൾ പിന്തുണയ്ക്കുന്നു. ASLR ഇതിനകം ആയിരിക്കുമ്പോൾ
സ്റ്റാക്കിലെയും ഹീപ്പിലെയും (brk, mmap) ഡാറ്റ ഏരിയകൾക്കായി നടപ്പിലാക്കിയ കോഡ് ഏരിയകൾ നിർബന്ധമായും
സ്ഥാന-സ്വതന്ത്രമായി സമാഹരിക്കണം. പങ്കിട്ട ലൈബ്രറികൾ ഇതിനകം ഇത് ചെയ്യുന്നു (-fPIC), അങ്ങനെ
അവ സ്വയമേവ ASLR നേടുന്നു, എന്നാൽ ബൈനറി .ടെക്‌സ്‌റ്റ് മേഖലകൾ നേടുന്നതിന് PIE നിർമ്മിക്കേണ്ടതുണ്ട്
എഎസ്എൽആർ. ഇത് സംഭവിക്കുമ്പോൾ, ROP (റിട്ടേൺ ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ്) ആക്രമണങ്ങൾ വളരെ കഠിനമാണ്
മെമ്മറി കറപ്ഷൻ സമയത്ത് ബൗൺസ് ചെയ്യാൻ സ്റ്റാറ്റിക് ലൊക്കേഷനുകളൊന്നും ഇല്ലാത്തതിനാൽ
ആക്രമണം

ഇതുമായി പൊരുത്തപ്പെടുന്നില്ല -fPIC അതിനാൽ കെട്ടിടം പങ്കിട്ടെടുക്കുമ്പോൾ ശ്രദ്ധിക്കണം
വസ്തുക്കൾ.

കൂടാതെ, PIE ഒരു പൊതു രജിസ്റ്ററിലൂടെ നടപ്പിലാക്കുന്നതിനാൽ, ചില ആർക്കിടെക്ചറുകൾ
(പ്രത്യേകിച്ച് i386) ടെക്സ്റ്റ് സെഗ്മെന്റിൽ 15% വരെ പ്രകടന നഷ്ടം കാണാൻ കഴിയും-
കനത്ത ആപ്ലിക്കേഷൻ ജോലിഭാരം; മിക്ക ജോലിഭാരങ്ങളും 1% ൽ താഴെയാണ് കാണുന്നത്. വാസ്തുവിദ്യകൾ
കൂടുതൽ പൊതുവായ രജിസ്റ്ററുകൾ (ഉദാ: amd64) ഏറ്റവും മോശമായ പിഴയായി കാണുന്നില്ല.

പുനരുൽപ്പാദിപ്പിക്കാവുന്ന
പുനരുൽപ്പാദനക്ഷമത മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നതിന് ചുവടെ വിശദമാക്കിയിരിക്കുന്ന കംപൈൽ-ടൈം ഓപ്ഷനുകൾ ഉപയോഗിക്കാം
അല്ലെങ്കിൽ സമാഹരിക്കുന്ന സമയത്ത് കൂടുതൽ മുന്നറിയിപ്പ് സന്ദേശങ്ങൾ നൽകുക. താഴെ സൂചിപ്പിച്ചതൊഴിച്ചാൽ, ഇവ
അവയെ പിന്തുണയ്ക്കുന്ന ആർക്കിടെക്ചറുകൾക്കായി സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു.

കാലാതീതമായ
ഈ ക്രമീകരണം (സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കി) ചേർക്കുന്നു -ദിവസം-സമയം ലേക്ക് CPPFLAGS. ഇത് കാരണമാകും
എപ്പോൾ മുന്നറിയിപ്പുകൾ __സമയം__, __DATE__ ഒപ്പം __ടൈംസ്റ്റാമ്പ്__ മാക്രോകൾ ഉപയോഗിക്കുന്നു.

ENVIRONMENT


ഒരേ പ്രവർത്തനങ്ങൾ ചെയ്യുന്ന 2 സെറ്റ് എൻവയോൺമെന്റ് വേരിയബിളുകൾ ഉണ്ട്, ആദ്യത്തേത്
(DEB_പതാക_op) ഉള്ളിൽ ഒരിക്കലും ഉപയോഗിക്കരുത് ഡെബിയൻ/നിയമങ്ങൾ. അത് ആഗ്രഹിക്കുന്ന ഏതൊരു ഉപയോക്താവിനും വേണ്ടിയുള്ളതാണ്
വ്യത്യസ്ത ബിൽഡ് ഫ്ലാഗുകൾ ഉപയോഗിച്ച് ഉറവിട പാക്കേജ് പുനർനിർമ്മിക്കുന്നതിന്. രണ്ടാം സെറ്റ്
(DEB_പതാക_MAINT_op) ൽ മാത്രമേ ഉപയോഗിക്കാവൂ ഡെബിയൻ/നിയമങ്ങൾ മാറ്റാൻ പാക്കേജ് പരിപാലിക്കുന്നവർ വഴി
തത്ഫലമായുണ്ടാകുന്ന നിർമ്മാണ പതാകകൾ.

DEB_പതാക_സെറ്റ്
DEB_പതാക_MAINT_SET
തന്നിരിക്കുന്നവയ്‌ക്കായി തിരികെ നൽകിയ മൂല്യം നിർബന്ധിക്കാൻ ഈ വേരിയബിൾ ഉപയോഗിക്കാം പതാക.

DEB_പതാക_സ്ട്രിപ്പ്
DEB_പതാക_MAINT_STRIP
സ്പേസ് വേർതിരിക്കുന്ന ഓപ്ഷനുകളുടെ ലിസ്റ്റ് നൽകാൻ ഈ വേരിയബിൾ ഉപയോഗിക്കാം
നൽകിയതിന് തിരികെ നൽകിയ പതാകകളുടെ കൂട്ടത്തിൽ നിന്ന് അഴിച്ചുമാറ്റി പതാക.

DEB_പതാക_അപ്ലിക്കേഷൻ
DEB_പതാക_MAINT_APPEND
നൽകിയ മൂല്യത്തിലേക്ക് സപ്ലിമെന്ററി ഓപ്ഷനുകൾ കൂട്ടിച്ചേർക്കാൻ ഈ വേരിയബിൾ ഉപയോഗിക്കാം
നൽകിയത് പതാക.

DEB_പതാക_PREPEND
DEB_പതാക_MAINT_PREPEND
ഈ വേരിയബിൾ റിട്ടേൺ ചെയ്ത മൂല്യത്തിന് സപ്ലിമെന്ററി ഓപ്‌ഷനുകൾ മുൻ‌കൂട്ടി നൽകാൻ ഉപയോഗിക്കാം
തന്നതിന് പതാക.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
വിവിധ മേഖലകൾ പ്രവർത്തനരഹിതമാക്കാൻ/ പ്രവർത്തനക്ഷമമാക്കാൻ ഈ വേരിയബിളുകൾ ഒരു ഉപയോക്താവിനോ പരിപാലിക്കുന്നയാൾക്കോ ​​ഉപയോഗിക്കാം
ബിൽഡ് ഫ്ലാഗുകളെ ബാധിക്കുന്ന സവിശേഷതകൾ. ദി DEB_BUILD_MAINT_OPTIONS വേരിയബിൾ ഓവർറൈഡുകൾ
ഏതെങ്കിലും ക്രമീകരണം DEB_BUILD_OPTIONS ഫീച്ചർ ഏരിയകൾ. കാണുക സവിശേഷത AREAS വിഭാഗം
വിവരങ്ങൾക്ക്.

onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് ഓൺലൈനായി dpkg-buildflags ഉപയോഗിക്കുക


സൗജന്യ സെർവറുകളും വർക്ക്സ്റ്റേഷനുകളും

Windows & Linux ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്യുക

ലിനക്സ് കമാൻഡുകൾ

Ad