Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന dpkg-gensymbols എന്ന കമാൻഡാണിത്.
പട്ടിക:
NAME
dpkg-gensymbols - ചിഹ്ന ഫയലുകൾ സൃഷ്ടിക്കുക (ലൈബ്രറി ഡിപൻഡൻസി വിവരങ്ങൾ പങ്കിട്ടു)
സിനോപ്സിസ്
dpkg-gensymbols [ഓപ്ഷൻ...]
വിവരണം
dpkg-gensymbols ലൈബ്രറികൾക്കായി തിരയുന്ന ഒരു താൽക്കാലിക ബിൽഡ് ട്രീ (ഡിഫോൾട്ടായി debian/tmp) സ്കാൻ ചെയ്യുന്നു
ഒപ്പം എ സൃഷ്ടിക്കുന്നു ചിഹ്നങ്ങൾ അവരെ വിവരിക്കുന്ന ഫയൽ. ഈ ഫയൽ, ശൂന്യമല്ലെങ്കിൽ, ഇൻസ്റ്റാൾ ചെയ്യപ്പെടും
ബിൽഡ് ട്രീയുടെ DEBIAN ഉപഡയറക്ടറിയിൽ അത് നിയന്ത്രണത്തിൽ ഉൾപ്പെടുത്തും
പാക്കേജിന്റെ വിവരങ്ങൾ.
ആ ഫയലുകൾ ജനറേറ്റ് ചെയ്യുമ്പോൾ, അത് നൽകിയ ചില ചിഹ്ന ഫയലുകൾ ഇൻപുട്ടായി ഉപയോഗിക്കുന്നു
പരിപാലിക്കുന്നയാൾ. ഇത് ഇനിപ്പറയുന്ന ഫയലുകൾക്കായി തിരയുന്നു (കണ്ടെത്തിയ ആദ്യത്തേത് ഉപയോഗിക്കുന്നു):
· ഡെബിയൻ/പാക്കേജ്.ചിഹ്നങ്ങൾ.കമാനം
· ഡെബിയൻ/ചിഹ്നങ്ങൾ.കമാനം
· ഡെബിയൻ/പാക്കേജ്.ചിഹ്നങ്ങൾ
· ഡെബിയൻ/ചിഹ്നങ്ങൾ
ആ ഫയലുകളുടെ പ്രധാന താൽപ്പര്യം ഓരോന്നിനും ബന്ധപ്പെട്ട ഏറ്റവും കുറഞ്ഞ പതിപ്പ് നൽകുക എന്നതാണ്
ലൈബ്രറികൾ നൽകുന്ന ചിഹ്നം. സാധാരണയായി ഇത് അതിന്റെ ആദ്യ പതിപ്പുമായി യോജിക്കുന്നു
ചിഹ്നം നൽകിയ പാക്കേജ്, എന്നാൽ അത് പരിപാലിക്കുന്നയാൾക്ക് സ്വമേധയാ വർദ്ധിപ്പിക്കാൻ കഴിയും
ബാക്ക്വേർഡ് കോംപാറ്റിബിലിറ്റി തകർക്കാതെ ചിഹ്നത്തിന്റെ എബിഐ വിപുലീകരിച്ചിരിക്കുന്നു. അത്രയേയുള്ളൂ
ആ ഫയലുകൾ കാലികവും കൃത്യവുമായി സൂക്ഷിക്കാൻ പരിപാലിക്കുന്നയാളുടെ ഉത്തരവാദിത്തം, പക്ഷേ
dpkg-gensymbols അതിന് സഹായിക്കുന്നു.
ജനറേറ്റ് ചെയ്ത ചിഹ്നങ്ങളുടെ ഫയലുകൾ മെയിന്റനർ നൽകിയതിൽ നിന്ന് വ്യത്യസ്തമാകുമ്പോൾ, dpkg-gensymbols
രണ്ട് പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം പ്രിന്റ് ചെയ്യും. കൂടാതെ, വ്യത്യാസം കൂടിയതാണെങ്കിൽ
പ്രധാനപ്പെട്ടത്, അത് പരാജയപ്പെടുക പോലും ചെയ്യും (നിങ്ങൾക്ക് എത്രത്തോളം വ്യത്യാസം സഹിക്കാൻ കഴിയുമെന്ന് നിങ്ങൾക്ക് ഇഷ്ടാനുസൃതമാക്കാൻ കഴിയും,
എസ് -c ഓപ്ഷൻ).
പരിപാലിക്കുന്നു സിംബലുകൾ ഫയലുകൾ
പാക്കേജിന്റെ പരിണാമം പ്രതിഫലിപ്പിക്കുന്നുണ്ടെങ്കിൽ മാത്രമേ ചിഹ്ന ഫയലുകൾ ശരിക്കും ഉപയോഗപ്രദമാകൂ
നിരവധി റിലീസുകളിലൂടെ. അതിനാൽ, ഓരോ തവണയും പുതിയതായി പരിപാലിക്കുന്നയാൾ അവ അപ്ഡേറ്റ് ചെയ്യണം
ചിഹ്നം ചേർത്തതിനാൽ അതിന്റെ അനുബന്ധ മിനിമൽ പതിപ്പ് യാഥാർത്ഥ്യവുമായി പൊരുത്തപ്പെടുന്നു. വ്യത്യാസങ്ങൾ
ബിൽഡ് ലോഗുകളിൽ അടങ്ങിയിരിക്കുന്ന ഒരു ആരംഭ പോയിന്റായി ഉപയോഗിക്കാം, പക്ഷേ മെയിന്റനർ,
കൂടാതെ, ആ ചിഹ്നങ്ങളുടെ സ്വഭാവം a-ൽ മാറിയിട്ടില്ലെന്ന് ഉറപ്പാക്കേണ്ടതുണ്ട്
ആ ചിഹ്നങ്ങൾ ഉപയോഗിച്ച് എന്തും ഉണ്ടാക്കുന്ന രീതിയും പുതിയ പതിപ്പിനെതിരെ ലിങ്കുചെയ്യുന്നതും നിർത്തുക
പഴയ പതിപ്പിൽ പ്രവർത്തിക്കുന്നു. മിക്ക കേസുകളിലും, വ്യത്യാസം നേരിട്ട് ബാധകമാണ്
ഡെബിയൻ/പാക്കേജ്.ചിഹ്നങ്ങൾ ഫയൽ. അതായത്, കൂടുതൽ ട്വീക്കുകൾ സാധാരണയായി ആവശ്യമാണ്: അത്
ഉദാഹരണത്തിന്, ഏറ്റവും കുറഞ്ഞ പതിപ്പിൽ നിന്ന് ഡെബിയൻ റിവിഷൻ ഉപേക്ഷിക്കാൻ ശുപാർശ ചെയ്യുന്നു
കുറഞ്ഞ പതിപ്പ് നമ്പറുള്ള ബാക്ക്പോർട്ടുകൾ എന്നാൽ അതേ അപ്സ്ട്രീം പതിപ്പ് ഇപ്പോഴും തൃപ്തിപ്പെടുത്തുന്നു
ജനറേറ്റഡ് ഡിപൻഡൻസികൾ. ഡെബിയൻ റിവിഷൻ ഉപേക്ഷിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, കാരണം ഈ ചിഹ്നം ശരിക്കും
ഡെബിയൻ നിർദ്ദിഷ്ട മാറ്റത്താൽ ചേർത്തു, തുടർന്ന് പതിപ്പ് '' എന്നതുമായി ചേർക്കണം~'.
ചിഹ്ന ഫയലിൽ ഏതെങ്കിലും പാച്ച് പ്രയോഗിക്കുന്നതിന് മുമ്പ്, പരിപാലിക്കുന്നയാൾ അത് രണ്ടുതവണ പരിശോധിക്കണം
അത് ശുദ്ധമാണ്. പൊതു ചിഹ്നങ്ങൾ അപ്രത്യക്ഷമാകാൻ പാടില്ല, അതിനാൽ പാച്ച് അനുയോജ്യമായി മാത്രം
പുതിയ വരികൾ ചേർക്കുക.
ചിഹ്ന ഫയലുകളിൽ നിങ്ങൾക്ക് അഭിപ്രായങ്ങൾ ഇടാൻ കഴിയുമെന്നത് ശ്രദ്ധിക്കുക: ആദ്യ പ്രതീകമായി '#' ഉള്ള ഏത് വരിയും
'#include' എന്നതിൽ തുടങ്ങുന്നതൊഴിച്ചാൽ ഒരു അഭിപ്രായമാണ് (വിഭാഗം കാണുക ഉപയോഗിക്കുന്നു ഉൾപ്പെടുന്നു). ലൈനുകൾ
'#MISSING:' എന്ന് തുടങ്ങുന്നത് അപ്രത്യക്ഷമായ ചിഹ്നങ്ങളെ രേഖപ്പെടുത്തുന്ന പ്രത്യേക കമന്റുകളാണ്.
പഴയ ചിഹ്ന പതിപ്പുകൾ വർദ്ധിപ്പിക്കേണ്ടതുണ്ടോ എന്ന് പരിശോധിക്കാൻ മറക്കരുത്. ഒരു വഴിയുമില്ല
dpkg-gensymbols ഇതിനെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകാൻ കഴിയും. അന്ധമായി വ്യത്യാസം പ്രയോഗിക്കുക അല്ലെങ്കിൽ ഉണ്ടെന്ന് അനുമാനിക്കുക
വ്യത്യാസം ഇല്ലെങ്കിൽ മാറ്റാൻ ഒന്നുമില്ല, അത്തരം മാറ്റങ്ങൾ പരിശോധിക്കാതെ, അത് നയിച്ചേക്കാം
തങ്ങൾക്ക് ചെയ്യാൻ കഴിയാത്ത പഴയ പാക്കേജുകളിൽ പ്രവർത്തിക്കാൻ കഴിയുമെന്ന് അവകാശപ്പെടുന്ന അയഞ്ഞ ഡിപൻഡൻസികളുള്ള പാക്കേജുകൾ
കൂടെ ജോലി. ഇത് (ഭാഗിക) അപ്ഗ്രേഡുകളുള്ള ബഗുകൾ കണ്ടെത്താൻ പ്രയാസമുള്ളതായി അവതരിപ്പിക്കും.
ഉപയോഗിക്കുന്നു #പാക്കേജ്# ബദൽ
ചില അപൂർവ സന്ദർഭങ്ങളിൽ, ആർക്കിടെക്ചറുകൾക്കിടയിൽ ലൈബ്രറിയുടെ പേര് വ്യത്യാസപ്പെടുന്നു. ഒഴിവാക്കാൻ
ചിഹ്നങ്ങൾ ഫയലിൽ പാക്കേജിന്റെ പേര് ഹാർഡ്കോഡിംഗ്, നിങ്ങൾക്ക് മാർക്കർ ഉപയോഗിക്കാം #പാക്കേജ്#.
ചിഹ്ന ഫയലുകളുടെ ഇൻസ്റ്റാളേഷൻ സമയത്ത് യഥാർത്ഥ പാക്കേജ് നാമം ഉപയോഗിച്ച് ഇത് മാറ്റിസ്ഥാപിക്കും.
വിരുദ്ധമായി #MINVER# മാർക്കർ, #പാക്കേജ്# a ഉള്ളിലുള്ള ഒരു ചിഹ്ന ഫയലിൽ ഒരിക്കലും ദൃശ്യമാകില്ല
ബൈനറി പാക്കേജ്.
ഉപയോഗിക്കുന്നു ചിഹ്നം ടാഗുകൾ
ഏതെങ്കിലും വിധത്തിൽ സവിശേഷമായ ചിഹ്നങ്ങൾ അടയാളപ്പെടുത്തുന്നതിന് സിംബൽ ടാഗിംഗ് ഉപയോഗപ്രദമാണ്. ഏത് ചിഹ്നത്തിനും കഴിയും
അതുമായി ബന്ധപ്പെട്ട ഒരു അനിയന്ത്രിതമായ ടാഗുകൾ ഉണ്ടായിരിക്കുക. എല്ലാ ടാഗുകളും പാഴ്സ് ചെയ്യുകയും സംഭരിക്കുകയും ചെയ്യുമ്പോൾ,
അവയിൽ ചിലത് മാത്രം മനസ്സിലാക്കുന്നു dpkg-gensymbols കൂടാതെ പ്രത്യേക കൈകാര്യം ചെയ്യൽ ട്രിഗർ
ചിഹ്നങ്ങൾ. ഉപവിഭാഗം കാണുക സ്റ്റാൻഡേർഡ് ചിഹ്നം ടാഗുകൾ ഈ ടാഗുകളുടെ റഫറൻസിനായി.
ചിഹ്നത്തിന്റെ പേരിന് തൊട്ടുമുമ്പ് ടാഗ് സ്പെസിഫിക്കേഷൻ വരുന്നു (വൈറ്റ്സ്പേസ് അനുവദിക്കില്ല
ഇടയിൽ). ഇത് എല്ലായ്പ്പോഴും ഒരു ഓപ്പണിംഗ് ബ്രാക്കറ്റിൽ ആരംഭിക്കുന്നു (, ഒരു ക്ലോസിംഗ് ബ്രാക്കറ്റിൽ അവസാനിക്കുന്നു ) ഒപ്പം
കുറഞ്ഞത് ഒരു ടാഗെങ്കിലും അടങ്ങിയിരിക്കണം. ഒന്നിലധികം ടാഗുകൾ വേർതിരിച്ചിരിക്കുന്നു | സ്വഭാവം. ഓരോ ടാഗും
ടാഗ് നാമത്തിൽ നിന്ന് വേർതിരിക്കുന്ന ഒരു മൂല്യം ഓപ്ഷണലായി ഉണ്ടായിരിക്കാം = സ്വഭാവം. ടാഗ് ചെയ്യുക
പേരുകളും മൂല്യങ്ങളും അനിയന്ത്രിതമായ സ്ട്രിംഗുകളാകാം, അല്ലാതെ അവയിൽ പ്രത്യേകമായ ഒന്നും ഉൾക്കൊള്ളാൻ കഴിയില്ല )
| = കഥാപാത്രങ്ങൾ. ഒരു ടാഗ് സ്പെസിഫിക്കേഷനെ പിന്തുടരുന്ന ചിഹ്ന നാമങ്ങൾ ഓപ്ഷണലായി ഉദ്ധരിക്കാം
ഒന്നുകിൽ ' or " അവയിൽ വൈറ്റ്സ്പെയ്സ് അനുവദിക്കുന്നതിന് പ്രതീകങ്ങൾ. എന്നിരുന്നാലും, ടാഗുകൾ ഇല്ലെങ്കിൽ
ചിഹ്നത്തിനായി വ്യക്തമാക്കിയ, ഉദ്ധരണികൾ തുടരുന്ന ചിഹ്ന നാമത്തിന്റെ ഭാഗമായി കണക്കാക്കുന്നു
ആദ്യ ഇടം വരെ.
(ടാഗ്1=ഞാൻ അടയാളപ്പെടുത്തിയിരിക്കുന്നു|സ്പെയ്സുള്ള ടാഗ് നാമം)"ടാഗ് ചെയ്ത ഉദ്ധരണി ചിഹ്നം"@ബേസ് 1.0
(ഓപ്ഷണൽ)tagged_unquoted_symbol@Base 1.0 1
untagged_symbol@Base 1.0
ഉദാഹരണത്തിലെ ആദ്യ ചിഹ്നം പേരിട്ടു ടാഗ് ചെയ്തു ഉദ്ധരിച്ചത് ചിഹ്നം കൂടാതെ രണ്ട് ടാഗുകൾ ഉണ്ട്: ടാഗ്1 കൂടെ
മൂല്യം i am അടയാളപ്പെടുത്തി ഒപ്പം ടാഗ് പേര് കൂടെ ഇടം അതിന് ഒരു വിലയുമില്ല. പേരിട്ടിരിക്കുന്ന രണ്ടാമത്തെ ചിഹ്നം
tagged_unquoted_symbol എന്ന ടാഗ് ഉപയോഗിച്ച് മാത്രമേ ടാഗ് ചെയ്തിട്ടുള്ളൂ ഓപ്ഷണൽ. അവസാന ചിഹ്നം ഒരു ആണ്
സാധാരണ ടാഗ് ചെയ്യാത്ത ചിഹ്നത്തിന്റെ ഉദാഹരണം.
ചിഹ്ന ടാഗുകൾ എന്നതിന്റെ വിപുലീകരണമായതിനാൽ deb-ചിഹ്നങ്ങൾ(5) ഫോർമാറ്റ്, അവർക്ക് മാത്രമേ ഭാഗമാകാൻ കഴിയൂ
ഉറവിട പാക്കേജുകളിൽ ഉപയോഗിക്കുന്ന ചിഹ്ന ഫയലുകൾ (ആ ഫയലുകൾ ടെംപ്ലേറ്റുകളായി കാണണം
ബൈനറി പാക്കേജുകളിൽ ഉൾച്ചേർത്ത ചിഹ്ന ഫയലുകൾ നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്നു). എപ്പോൾ
dpkg-gensymbols ഇല്ലാതെ വിളിക്കുന്നു -t ഐച്ഛികം, അത് അനുയോജ്യമായ ചിഹ്നങ്ങൾ ഫയലുകൾ ഔട്ട്പുട്ട് ചെയ്യും
ലേക്ക് deb-ചിഹ്നങ്ങൾ(5) ഫോർമാറ്റ്: ആവശ്യകതകൾക്കനുസരിച്ച് ഇത് ചിഹ്നങ്ങൾ പൂർണ്ണമായി പ്രോസസ്സ് ചെയ്യുന്നു
അവയുടെ സ്റ്റാൻഡേർഡ് ടാഗുകളും ഔട്ട്പുട്ടിൽ നിന്ന് എല്ലാ ടാഗുകളും സ്ട്രിപ്പ് ചെയ്യുന്നു. നേരെമറിച്ച്, ടെംപ്ലേറ്റ് മോഡിൽ
(-t) എല്ലാ ചിഹ്നങ്ങളും അവയുടെ ടാഗുകളും (സ്റ്റാൻഡേർഡും അജ്ഞാതവും) ഔട്ട്പുട്ടിൽ സൂക്ഷിക്കുന്നു
ലോഡ് ചെയ്യുമ്പോൾ അവയുടെ യഥാർത്ഥ രൂപത്തിൽ എഴുതിയിരിക്കുന്നു.
സ്റ്റാൻഡേർഡ് ചിഹ്നം ടാഗുകൾ
ഓപ്ഷണൽ
ഓപ്ഷണൽ എന്ന് അടയാളപ്പെടുത്തിയ ഒരു ചിഹ്നം എപ്പോൾ വേണമെങ്കിലും ലൈബ്രറിയിൽ നിന്ന് അപ്രത്യക്ഷമാകും
ഒരിക്കലും കാരണമാകില്ല dpkg-gensymbols പരാജയപ്പെടാൻ. എന്നിരുന്നാലും, ഐച്ഛിക ചിഹ്നങ്ങൾ അപ്രത്യക്ഷമായി
ഓരോ പുതിയ പാക്കേജ് പുനരവലോകനത്തിലും വ്യത്യാസത്തിൽ തുടർച്ചയായി കാണുന്നില്ല. ഈ
അത്തരം ഒരു ചിഹ്നം ആവശ്യമാണെന്ന് പരിപാലിക്കുന്നയാൾക്ക് ഒരു ഓർമ്മപ്പെടുത്തലാണ് പെരുമാറ്റം
ചിഹ്ന ഫയലിൽ നിന്ന് നീക്കംചെയ്തു അല്ലെങ്കിൽ ലൈബ്രറിയിലേക്ക് വായിച്ചു. ഐച്ഛിക ചിഹ്നമാകുമ്പോൾ,
മിസ്സിംഗ് ആയി മുമ്പ് പ്രഖ്യാപിച്ചത്, അടുത്ത റിവിഷനിൽ പെട്ടെന്ന് വീണ്ടും പ്രത്യക്ഷപ്പെടുന്നു,
അത് അതിന്റെ ഏറ്റവും കുറഞ്ഞ പതിപ്പ് ഉപയോഗിച്ച് "നിലവിലുള്ള" നിലയിലേക്ക് തിരികെ അപ്ഗ്രേഡ് ചെയ്യും
മാറ്റമില്ലാതെ.
അപ്രത്യക്ഷമാകാത്ത സ്വകാര്യമായ ചിഹ്നങ്ങൾക്ക് ഈ ടാഗ് ഉപയോഗപ്രദമാണ്
ABI തകരാൻ കാരണമാകുന്നു. ഉദാഹരണത്തിന്, മിക്ക C++ ടെംപ്ലേറ്റ് ഇൻസ്റ്റന്റേഷനുകളും ഇതിൽ ഉൾപ്പെടുന്നു
വിഭാഗം. മറ്റേതൊരു ടാഗിനെയും പോലെ, ഇതിന് ഒരു അനിയന്ത്രിതമായ മൂല്യം ഉണ്ടായിരിക്കാം: അതിന് കഴിയും
ചിഹ്നം ഓപ്ഷണൽ ആയി കണക്കാക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് സൂചിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു.
കമാനം=ആർക്കിടെക്ചർ-ലിസ്റ്റ്
arch-bits=വാസ്തുവിദ്യ-ബിറ്റുകൾ
arch-endian=വാസ്തുവിദ്യ-അന്ത്യം
ചിഹ്നമുള്ള ആർക്കിടെക്ചറുകളുടെ സെറ്റ് നിയന്ത്രിക്കാൻ ഈ ടാഗുകൾ ഒരാളെ അനുവദിക്കുന്നു
ഉണ്ടെന്ന് കരുതപ്പെടുന്നു. ദി കമാനം-ബിറ്റുകൾ ഒപ്പം ആർച്ച്-എൻഡിയൻ dpkg മുതൽ ടാഗുകൾ പിന്തുണയ്ക്കുന്നു
1.18.0. ൽ കണ്ടെത്തിയ ചിഹ്നങ്ങൾ ഉപയോഗിച്ച് ചിഹ്നങ്ങളുടെ ലിസ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുമ്പോൾ
ലൈബ്രറി, നിലവിലെ ഹോസ്റ്റിനെ ബാധിക്കാത്ത എല്ലാ ആർച്ച്-നിർദ്ദിഷ്ട ചിഹ്നങ്ങളും
വാസ്തുവിദ്യയെ അവർ നിലവിലില്ലാത്തതുപോലെ പരിഗണിക്കുന്നു. ഒരു കമാനം-നിർദ്ദിഷ്ട ചിഹ്നമാണെങ്കിൽ
നിലവിലെ ഹോസ്റ്റ് ആർക്കിടെക്ചറുമായി പൊരുത്തപ്പെടുന്നത് ലൈബ്രറിയിൽ നിലവിലില്ല, സാധാരണ
നഷ്ടമായ ചിഹ്നങ്ങൾക്കുള്ള നടപടിക്രമങ്ങൾ ബാധകമാണ്, അത് കാരണമായേക്കാം dpkg-gensymbols പരാജയപ്പെടാൻ. ഓൺ
മറുവശത്ത്, കമാനം-നിർദ്ദിഷ്ട ചിഹ്നം അത് പാടില്ലാത്തപ്പോൾ കണ്ടെത്തിയാൽ
നിലവിലുണ്ട് (കാരണം നിലവിലെ ഹോസ്റ്റ് ആർക്കിടെക്ചർ ടാഗിൽ പട്ടികപ്പെടുത്തിയിട്ടില്ല അല്ലെങ്കിൽ ഇല്ല
അന്തസ്സും ബിറ്റുകളും പൊരുത്തപ്പെടുത്തുക), അത് ആർച്ച് ന്യൂട്രൽ ആക്കി (അതായത്, കമാനം, കമാനം-ബിറ്റുകൾ
കൂടാതെ ആർച്ച്-എൻഡിയൻ ടാഗുകൾ ഡ്രോപ്പ് ചെയ്യപ്പെടുകയും ചിഹ്നം ഡിഫിൽ ദൃശ്യമാകുകയും ചെയ്യും
മാറ്റം), എന്നാൽ ഇത് പുതിയതായി കണക്കാക്കില്ല.
സ്ഥിരസ്ഥിതി നോൺ-ടെംപ്ലേറ്റ് മോഡിൽ പ്രവർത്തിക്കുമ്പോൾ, ആർച്ച്-നിർദ്ദിഷ്ട ചിഹ്നങ്ങൾക്കിടയിൽ മാത്രം
നിലവിലെ ഹോസ്റ്റ് ആർക്കിടെക്ചറുമായി പൊരുത്തപ്പെടുന്നവ ചിഹ്ന ഫയലിൽ എഴുതിയിരിക്കുന്നു. ഓൺ
നേരെമറിച്ച്, എല്ലാ കമാന-നിർദ്ദിഷ്ട ചിഹ്നങ്ങളും (വിദേശ കമാനങ്ങളിൽ നിന്നുള്ളവ ഉൾപ്പെടെ).
ടെംപ്ലേറ്റ് മോഡിൽ പ്രവർത്തിക്കുമ്പോൾ എല്ലായ്പ്പോഴും ചിഹ്ന ഫയലിൽ എഴുതിയിരിക്കുന്നു.
എന്ന ഫോർമാറ്റ് ആർക്കിടെക്ചർ-ലിസ്റ്റ് എന്നതിൽ ഉപയോഗിച്ചതിന് സമാനമാണ് ബിൽഡ്-ആശ്രിത
ഫീൽഡ് ഡെബിയൻ / നിയന്ത്രണം (ചേർക്കുന്ന ചതുര ബ്രാക്കറ്റുകൾ ഒഴികെ []). ഉദാഹരണത്തിന്, ദി
ചുവടെയുള്ള പട്ടികയിൽ നിന്നുള്ള ആദ്യ ചിഹ്നം ആൽഫ, any-amd64 എന്നിവയിൽ മാത്രമേ പരിഗണിക്കൂ
ia64 ആർക്കിടെക്ചറുകൾ, ലിനക്സ് ആർക്കിടെക്ചറുകളിൽ രണ്ടാമത്തേത്, മൂന്നാമത്തേത്
ആയുധം ഒഴികെ എവിടെയും.
(arch=alpha any-amd64 ia64)a_64bit_specific_symbol@Base 1.0
(arch=linux-any)linux_specific_symbol@Base 1.0
(arch=!armel)symbol_armel_does_not_have@Base 1.0
ദി വാസ്തുവിദ്യ-ബിറ്റുകൾ ഒന്നുകിൽ 32 or 64.
(arch-bits=32)a_32bit_specific_symbol@Base 1.0
(arch-bits=64)a_64bit_specific_symbol@Base 1.0
ദി വാസ്തുവിദ്യ-അന്ത്യം ഒന്നുകിൽ ചെറുത് or വലിയ.
(arch-endian=little)a_little_endian_specific_symbol@Base 1.0
(arch-endian=big)a_big_endian_specific_symbol@Base 1.0
ഒന്നിലധികം നിയന്ത്രണങ്ങൾ ചങ്ങലയിലാക്കാം.
(arch-bits=32|arch-endian=little)a_32bit_le_symbol@Base 1.0
അവഗണിക്കുക-കറുത്ത പട്ടിക
dpkg-gensymbols-ൽ ദൃശ്യമാകാൻ പാടില്ലാത്ത ചിഹ്നങ്ങളുടെ ഒരു ആന്തരിക കരിമ്പട്ടികയുണ്ട്
ചിഹ്നങ്ങൾ ഫയലുകൾ, അവ സാധാരണയായി നടപ്പിലാക്കൽ വിശദാംശങ്ങളുടെ പാർശ്വഫലങ്ങൾ മാത്രമാണ്
ടൂൾചെയിൻ. ചില കാരണങ്ങളാൽ, ആ ചിഹ്നങ്ങളിൽ ഒന്ന് ആയിരിക്കണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്നു
ചിഹ്നങ്ങളുടെ ഫയലിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, നിങ്ങൾ ചിഹ്നം ടാഗ് ചെയ്യണം അവഗണിക്കുക-കറുത്ത പട്ടിക. അത്
libgcc പോലുള്ള ചില താഴ്ന്ന തലത്തിലുള്ള ടൂൾചെയിൻ ലൈബ്രറികൾക്ക് ഇത് ആവശ്യമായി വരാം.
c ++ സൂചിപ്പിക്കുന്നു c ++ ചിഹ്ന പാറ്റേൺ. കാണുക ഉപയോഗിക്കുന്നു ചിഹ്നം പാറ്റേണുകൾ താഴെ ഉപവിഭാഗം.
സിംവർ സൂചിപ്പിക്കുന്നു സിംവർ (ചിഹ്ന പതിപ്പ്) ചിഹ്ന പാറ്റേൺ. കാണുക ഉപയോഗിക്കുന്നു ചിഹ്നം പാറ്റേണുകൾ
താഴെ ഉപവിഭാഗം.
regex സൂചിപ്പിക്കുന്നു regex ചിഹ്ന പാറ്റേൺ. കാണുക ഉപയോഗിക്കുന്നു ചിഹ്നം പാറ്റേണുകൾ താഴെ ഉപവിഭാഗം.
ഉപയോഗിക്കുന്നു ചിഹ്നം പാറ്റേണുകൾ
ഒരു സ്റ്റാൻഡേർഡ് സിംബൽ സ്പെസിഫിക്കേഷനിൽ നിന്ന് വ്യത്യസ്തമായി, ഒരു പാറ്റേൺ ഒന്നിലധികം യഥാർത്ഥ ചിഹ്നങ്ങൾ ഉൾക്കൊള്ളുന്നു
ലൈബ്രറി. dpkg-gensymbols ഓരോ യഥാർത്ഥ ചിഹ്നവുമായി ഓരോ പാറ്റേണും പൊരുത്തപ്പെടുത്താൻ ശ്രമിക്കും
ചെയ്യുന്നവൻ അല്ല ചിഹ്ന ഫയലിൽ നിർവചിച്ചിരിക്കുന്ന ഒരു പ്രത്യേക ചിഹ്ന കൗണ്ടർപാർട്ട് ഉണ്ടായിരിക്കുക. ആദ്യം എപ്പോഴെങ്കിലും
പൊരുത്തപ്പെടുന്ന പാറ്റേൺ കണ്ടെത്തി, അതിന്റെ എല്ലാ ടാഗുകളും ഗുണങ്ങളും അടിസ്ഥാനമായി ഉപയോഗിക്കും
ചിഹ്നത്തിന്റെ സ്പെസിഫിക്കേഷൻ. പാറ്റേണുകളൊന്നും പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, ചിഹ്നം ആയിരിക്കും
പുതിയതായി കണക്കാക്കുന്നു.
ലൈബ്രറിയിലെ ഏതെങ്കിലും ചിഹ്നവുമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ ഒരു പാറ്റേൺ നഷ്ടപ്പെട്ടതായി കണക്കാക്കുന്നു. സ്ഥിരസ്ഥിതിയായി
ഇത് a ട്രിഗർ ചെയ്യും dpkg-gensymbols കീഴിൽ പരാജയം -c1 അല്ലെങ്കിൽ ഉയർന്ന തലം. എന്നിരുന്നാലും, എങ്കിൽ
പരാജയം അഭികാമ്യമല്ല, പാറ്റേൺ ഉപയോഗിച്ച് അടയാളപ്പെടുത്തിയേക്കാം ഓപ്ഷണൽ ടാഗ്. അപ്പോൾ പാറ്റേൺ ആണെങ്കിൽ
ഒന്നിനോടും പൊരുത്തപ്പെടുന്നില്ല, അത് ഡിഫിൽ മിസ്സിംഗ് ആയി മാത്രമേ ദൃശ്യമാകൂ. മാത്രമല്ല, ഏതൊരു പോലെ
ചിഹ്നം, പാറ്റേൺ ഉള്ള നിർദ്ദിഷ്ട ആർക്കിടെക്ചറുകളിലേക്ക് പരിമിതപ്പെടുത്തിയേക്കാം കമാനം ടാഗ്. ദയവായി
റഫർ ചെയ്യുക സ്റ്റാൻഡേർഡ് ചിഹ്നം ടാഗുകൾ കൂടുതൽ വിവരങ്ങൾക്ക് മുകളിലുള്ള ഉപവിഭാഗം.
എന്നതിന്റെ വിപുലീകരണമാണ് പാറ്റേണുകൾ deb-ചിഹ്നങ്ങൾ(5) ഫോർമാറ്റ് അതിനാൽ അവ ചിഹ്നത്തിൽ മാത്രമേ സാധുതയുള്ളൂ
ഫയൽ ടെംപ്ലേറ്റുകൾ. പാറ്റേൺ സ്പെസിഫിക്കേഷൻ വാക്യഘടന a-ൽ നിന്ന് വ്യത്യസ്തമല്ല
പ്രത്യേക ചിഹ്നം. എന്നിരുന്നാലും, സ്പെസിഫിക്കേഷന്റെ ചിഹ്ന നാമത്തിന്റെ ഭാഗം ഒരു പദപ്രയോഗമായി വർത്തിക്കുന്നു
എതിരായി പൊരുത്തപ്പെടുത്തുക പേര്@പതിപ്പ് യഥാർത്ഥ ചിഹ്നത്തിന്റെ. തമ്മിൽ വേർതിരിച്ചറിയാൻ വേണ്ടി
വ്യത്യസ്ത പാറ്റേൺ തരങ്ങൾ, ഒരു പാറ്റേൺ സാധാരണയായി ഒരു പ്രത്യേക ടാഗ് ഉപയോഗിച്ച് ടാഗ് ചെയ്യും.
ആ നിമിഷത്തിൽ, dpkg-gensymbols മൂന്ന് അടിസ്ഥാന പാറ്റേൺ തരങ്ങളെ പിന്തുണയ്ക്കുന്നു:
c ++
ഈ പാറ്റേൺ സൂചിപ്പിക്കുന്നത് c ++ ടാഗ്. ഇത് C++ ചിഹ്നങ്ങളെ അവയുടെ ഡീമാംഗിൾ ഉപയോഗിച്ച് മാത്രം പൊരുത്തപ്പെടുത്തുന്നു
ചിഹ്ന നാമം (ഉപയോഗിക്കുന്നത് പോലെ c ++ഫിൽറ്റ് ചെയ്യുക(1) യൂട്ടിലിറ്റി). ഈ പാറ്റേൺ പൊരുത്തപ്പെടുത്തലിന് വളരെ സൗകര്യപ്രദമാണ്
വ്യത്യസ്ത വാസ്തുവിദ്യകളിൽ പേരുകൾ വികലമായ ചിഹ്നങ്ങൾ വ്യത്യാസപ്പെടാം
അഴുകിയ പേരുകൾ അതേപടി തുടരുന്നു. അത്തരം ചിഹ്നങ്ങളുടെ ഒരു കൂട്ടം നോൺ-വെർച്വൽ നന്ദി ഏത്
ആർക്കിടെക്ചർ നിർദ്ദിഷ്ട ഓഫ്സെറ്റുകൾ അവയുടെ മംഗൾഡ് പേരുകളിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഒരു സാധാരണ ഉദാഹരണം
ഈ കേസിൽ ഒരു വെർച്വൽ ഡിസ്ട്രക്റ്റർ ആണ്, അത് ഡയമണ്ട് ഹെറിറ്റൻസിന് കീഴിൽ അല്ലാത്തത് ആവശ്യമാണ്
വെർച്വൽ തങ്ക് ചിഹ്നം. ഉദാഹരണത്തിന്, 8bit-ൽ _ZThn3_N6NSB1ClassDD32Ev@Base ആണെങ്കിലും
ആർക്കിടെക്ചറുകൾ 16ബിറ്റുകളിൽ _ZThn3_N6NSB1ClassDD64Ev@Base ആയിരിക്കും, അത് ആകാം
ഒരൊറ്റയുമായി പൊരുത്തപ്പെട്ടു c ++ പാറ്റേൺ:
libdummy.so.1 libdummy1 #MINVER#
[...]
(c++)"Non-virtual Thunk to NSB::ClassD::~ClassD()@Base" 1.0
[...]
താഴെ പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിലൂടെ മുകളിലുള്ള ഡീമാംഗൽ ചെയ്ത പേര് ലഭിക്കും:
$ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | സി++ഫിൽറ്റ്
നിർവ്വചനം അനുസരിച്ച് ലൈബ്രറിയിൽ മംഗൾഡ് പേര് അദ്വിതീയമാണെങ്കിലും, ഇത് അങ്ങനെയല്ല എന്നത് ശ്രദ്ധിക്കുക
വികൃതമായ പേരുകൾക്ക് തീർച്ചയായും ശരിയാണ്. രണ്ട് വ്യത്യസ്ത യഥാർത്ഥ ചിഹ്നങ്ങൾ ഉണ്ടായിരിക്കാം
അതേ വികലമായ പേര്. ഉദാഹരണത്തിന്, നോൺ-വെർച്വൽ തങ്ക് ചിഹ്നങ്ങളുടെ കാര്യം അങ്ങനെയാണ്
സങ്കീർണ്ണമായ അനന്തരാവകാശ കോൺഫിഗറേഷനുകൾ അല്ലെങ്കിൽ മിക്ക കൺസ്ട്രക്റ്ററുകളും ഡിസ്ട്രക്റ്ററുകളും (g++ മുതൽ
സാധാരണയായി അവയ്ക്കായി രണ്ട് യഥാർത്ഥ ചിഹ്നങ്ങൾ സൃഷ്ടിക്കുന്നു). എന്നിരുന്നാലും, ഈ കൂട്ടിയിടികൾ സംഭവിക്കുമ്പോൾ
ABI ലെവൽ, അവ ചിഹ്ന ഫയലിന്റെ ഗുണനിലവാരം കുറയ്ക്കരുത്.
സിംവർ
ഈ പാറ്റേൺ സൂചിപ്പിക്കുന്നത് സിംവർ ടാഗ്. നന്നായി പരിപാലിക്കുന്ന ലൈബ്രറികൾ പതിപ്പിച്ചിട്ടുണ്ട്
ഓരോ പതിപ്പും ചിഹ്നം ലഭിച്ച അപ്സ്ട്രീം പതിപ്പുമായി പൊരുത്തപ്പെടുന്ന ചിഹ്നങ്ങൾ
കൂട്ടിച്ചേർത്തു. അങ്ങനെയാണെങ്കിൽ, നിങ്ങൾക്ക് ഒരു ഉപയോഗിക്കാം സിംവർ ബന്ധപ്പെട്ട ഏതെങ്കിലും ചിഹ്നവുമായി പൊരുത്തപ്പെടുന്ന പാറ്റേൺ
നിർദ്ദിഷ്ട പതിപ്പിലേക്ക്. ഉദാഹരണത്തിന്:
libc.so.6 libc6 #MINVER#
(സിംവർ)GLIBC_2.0 2.0
[...]
(സിംവർ)GLIBC_2.7 2.7
ആക്സസ്@GLIBC_2.0 2.2
GLIBC_2.0, GLIBC_2.7 പതിപ്പുകളുമായി ബന്ധപ്പെട്ട എല്ലാ ചിഹ്നങ്ങളും ഏറ്റവും കുറഞ്ഞതിലേക്ക് നയിക്കും
ചിഹ്നം ഒഴികെ യഥാക്രമം 2.0, 2.7 എന്നിവയുടെ പതിപ്പ് ആക്സസ്@GLIBC_2.0.
രണ്ടാമത്തേത് libc6 പതിപ്പ് 2.2-ൽ ഉണ്ടായിരുന്നിട്ടും ഏറ്റവും കുറഞ്ഞ ആശ്രിതത്വത്തിലേക്ക് നയിക്കും
"(സിംവർ)GLIBC_2.0" പാറ്റേണിന്റെ വ്യാപ്തി കാരണം നിർദ്ദിഷ്ട ചിഹ്നങ്ങൾക്ക് മുൻഗണന ലഭിക്കുന്നു
പാറ്റേണുകൾ.
പഴയ രീതിയിലുള്ള വൈൽഡ്കാർഡ് പാറ്റേണുകൾ (ഇതിൽ "*@പതിപ്പ്" എന്ന് സൂചിപ്പിക്കുന്നത് ദയവായി ശ്രദ്ധിക്കുക
ചിഹ്ന നാമ ഫീൽഡ്) ഇപ്പോഴും പിന്തുണയ്ക്കുന്നു, പുതിയ ശൈലിയിലുള്ള വാക്യഘടനയാൽ അവ ഒഴിവാക്കപ്പെട്ടു
"(സിംവർ|ഓപ്ഷണൽ)പതിപ്പ്". ഉദാഹരണത്തിന്, "*@GLIBC_2.0 2.0" എന്ന് എഴുതണം
സമാന സ്വഭാവം ആവശ്യമെങ്കിൽ "(symver|ഓപ്ഷണൽ)GLIBC_2.0 2.0".
regex
റെഗുലർ എക്സ്പ്രഷൻ പാറ്റേണുകൾ സൂചിപ്പിക്കുന്നത് regex ടാഗ്. അവർ പേൾ ഉപയോഗിച്ച് പൊരുത്തപ്പെടുന്നു
ചിഹ്ന നാമ ഫീൽഡിൽ വ്യക്തമാക്കിയ പതിവ് പദപ്രയോഗം. ഒരു സാധാരണ പദപ്രയോഗം പൊരുത്തപ്പെടുന്നു
അത് പോലെ, അതിനാൽ ഇത് ഉപയോഗിച്ച് ആരംഭിക്കാൻ മറക്കരുത് ^ സ്വഭാവം അല്ലെങ്കിൽ അത് ഏതെങ്കിലും ഒന്നുമായി പൊരുത്തപ്പെടാം
യഥാർത്ഥ ചിഹ്നത്തിന്റെ ഭാഗം പേര്@പതിപ്പ് സ്ട്രിംഗ്. ഉദാഹരണത്തിന്:
libdummy.so.1 libdummy1 #MINVER#
(regex)"^mystack_.*@Base$" 1.0
(regex|ഓപ്ഷണൽ)"സ്വകാര്യം" 1.0
"mystack_new@Base", "mystack_push@Base", "mystack_pop@Base" തുടങ്ങിയ ചിഹ്നങ്ങൾ ആയിരിക്കും.
ആദ്യ പാറ്റേണുമായി പൊരുത്തപ്പെടുന്നു, ഉദാഹരണത്തിന് "ng_mystack_new@Base" അല്ല. രണ്ടാമത്തെ
പേരുകളിലും പൊരുത്തങ്ങളിലും "സ്വകാര്യം" എന്ന സ്ട്രിംഗ് ഉള്ള എല്ലാ ചിഹ്നങ്ങളുമായി പാറ്റേൺ പൊരുത്തപ്പെടും
അവകാശമാക്കും ഓപ്ഷണൽ പാറ്റേണിൽ നിന്ന് ടാഗ് ചെയ്യുക.
മുകളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന അടിസ്ഥാന പാറ്റേണുകൾ അർത്ഥമുള്ളിടത്ത് കൂട്ടിച്ചേർക്കാവുന്നതാണ്. ആ സാഹചര്യത്തിൽ, അവർ
ടാഗുകൾ വ്യക്തമാക്കിയ ക്രമത്തിൽ പ്രോസസ്സ് ചെയ്യുന്നു. ഉദാഹരണത്തിന്, രണ്ടും
(c++|regex)"^NSA::ClassA::Private::privmethod\d\(int\)@Base" 1.0
(regex|c++)N3NSA6ClassA7Private11privmethod\dEi@Base 1.0
"_ZN3NSA6ClassA7Private11privmethod1Ei@Base" എന്ന ചിഹ്നങ്ങളുമായി പൊരുത്തപ്പെടും
"_ZN3NSA6ClassA7Private11privmethod2Ei@Base". ആദ്യ പാറ്റേണുമായി പൊരുത്തപ്പെടുമ്പോൾ, അസംസ്കൃത
ചിഹ്നം ആദ്യം C++ ചിഹ്നമായി ഡീമാംഗിൾ ചെയ്തിരിക്കുന്നു, തുടർന്ന് ഡീമാംഗൽ ചെയ്ത പേര് മായി പൊരുത്തപ്പെടുന്നു
പതിവ് ആവിഷ്കാരം. മറുവശത്ത്, രണ്ടാമത്തെ പാറ്റേണുമായി പൊരുത്തപ്പെടുമ്പോൾ, പതിവ്
പദപ്രയോഗം റോ ചിഹ്ന നാമവുമായി പൊരുത്തപ്പെടുന്നു, തുടർന്ന് അത് C++ ആണെങ്കിൽ ചിഹ്നം പരീക്ഷിക്കും
ഒന്ന് അത് പൊളിക്കാൻ ശ്രമിച്ചുകൊണ്ട്. ഏതെങ്കിലും അടിസ്ഥാന പാറ്റേണിന്റെ പരാജയം ഇതിന് കാരണമാകും
മുഴുവൻ പാറ്റേണിന്റെയും പരാജയം. അതിനാൽ, ഉദാഹരണത്തിന്,
"__N3NSA6ClassA7Private11privmethod\dEi@Base" പാറ്റേണുകളൊന്നും പൊരുത്തപ്പെടുന്നില്ല
കാരണം അതൊരു സാധുവായ C++ ചിഹ്നമല്ല.
പൊതുവേ, എല്ലാ പാറ്റേണുകളും രണ്ട് ഗ്രൂപ്പുകളായി തിരിച്ചിരിക്കുന്നു: അപരനാമങ്ങൾ (അടിസ്ഥാന c ++ ഒപ്പം സിംവർ) ഒപ്പം
പൊതുവായ പാറ്റേണുകൾ (regex, ഒന്നിലധികം അടിസ്ഥാന പാറ്റേണുകളുടെ എല്ലാ കോമ്പിനേഷനുകളും). അടിസ്ഥാനത്തിന്റെ പൊരുത്തം
അപരനാമത്തെ അടിസ്ഥാനമാക്കിയുള്ള പാറ്റേണുകൾ വേഗതയുള്ളതാണ് (O(1)) അതേസമയം ജനറിക് പാറ്റേണുകൾ O(N) (N - ജനറിക് പാറ്റേൺ ആണ്
എണ്ണം) ഓരോ ചിഹ്നത്തിനും. അതിനാൽ, ജനറിക് പാറ്റേണുകൾ അമിതമായി ഉപയോഗിക്കരുതെന്ന് ശുപാർശ ചെയ്യുന്നു.
ഒന്നിലധികം പാറ്റേണുകൾ ഒരേ യഥാർത്ഥ ചിഹ്നവുമായി പൊരുത്തപ്പെടുമ്പോൾ, അപരനാമങ്ങൾ (ആദ്യം c ++എന്നിട്ട് സിംവർ) ആകുന്നു
ജനറിക് പാറ്റേണുകളേക്കാൾ മുൻഗണന. ജനറിക് പാറ്റേണുകൾ അവ കണ്ടെത്തിയ ക്രമത്തിൽ പൊരുത്തപ്പെടുന്നു
ആദ്യ വിജയം വരെ ചിഹ്നം ഫയൽ ടെംപ്ലേറ്റിൽ. എന്നിരുന്നാലും, ആ മാനുവൽ ദയവായി ശ്രദ്ധിക്കുക
ടെംപ്ലേറ്റ് ഫയൽ എൻട്രികൾ പുനഃക്രമീകരിക്കുന്നത് ശുപാർശ ചെയ്യുന്നില്ല dpkg-gensymbols സൃഷ്ടിക്കുന്നു
അവരുടെ പേരുകളുടെ ആൽഫാന്യൂമെറിക്കൽ ക്രമത്തെ അടിസ്ഥാനമാക്കിയുള്ള വ്യത്യാസങ്ങൾ.
ഉപയോഗിക്കുന്നു ഉൾപ്പെടുന്നു
കയറ്റുമതി ചെയ്ത ചിഹ്നങ്ങളുടെ കൂട്ടം ആർക്കിടെക്ചറുകൾക്കിടയിൽ വ്യത്യാസപ്പെട്ടിരിക്കുമ്പോൾ, അത് കാര്യക്ഷമമല്ലായിരിക്കാം
ഒരൊറ്റ ചിഹ്ന ഫയൽ ഉപയോഗിക്കുന്നതിന്. അത്തരം സന്ദർഭങ്ങളിൽ, ഉൾപ്പെടുത്തിയ നിർദ്ദേശം ഉപയോഗപ്രദമാണെന്ന് തെളിഞ്ഞേക്കാം
രണ്ട് വഴികളിൽ:
· നിങ്ങൾക്ക് ചില ബാഹ്യ ഫയലിലെ പൊതുവായ ഭാഗം ഫാക്ടറൈസ് ചെയ്യാനും ആ ഫയൽ നിങ്ങളുടേതിൽ ഉൾപ്പെടുത്താനും കഴിയും
പാക്കേജ്.ചിഹ്നങ്ങൾ.കമാനം ഇതുപോലുള്ള ഒരു ഉൾപ്പെടുത്തൽ നിർദ്ദേശം ഉപയോഗിച്ച് ഫയൽ ചെയ്യുക:
#ഉൾപ്പെടുന്നു "പാക്കേജുകൾ.symbols.common"
· ഉൾപ്പെടുന്ന നിർദ്ദേശം ഏതെങ്കിലും ചിഹ്നം പോലെ ടാഗ് ചെയ്തേക്കാം:
(ടാഗ്|...|tagN)#ഉൾപ്പെടുത്തുക "ഫയൽ-ഉൾപ്പെടുത്തുക"
ഫലമായി, എല്ലാ ചിഹ്നങ്ങളും ഉൾപ്പെടുത്തിയിട്ടുണ്ട് ഫയൽ-ഉൾപ്പെടാൻ ടാഗ് ചെയ്തതായി പരിഗണിക്കും
കൂടെ ടാഗ് ... ടാഗ്എൻ സ്ഥിരസ്ഥിതിയായി. പൊതുവായ ഒന്ന് സൃഷ്ടിക്കാൻ നിങ്ങൾക്ക് ഈ സവിശേഷത ഉപയോഗിക്കാം
പാക്കേജ്ആർക്കിടെക്ചർ നിർദ്ദിഷ്ട ചിഹ്ന ഫയലുകൾ ഉൾപ്പെടുന്ന .symbols ഫയൽ:
common_symbol1@Base 1.0
(arch=amd64 ia64 alpha)#"package.symbols.64bit" ഉൾപ്പെടുത്തുക
(arch=!amd64 !ia64 !alpha)#include "package.symbols.32bit"
common_symbol2@Base 1.0
ചിഹ്ന ഫയലുകൾ വരി വരിയായി വായിക്കുന്നു, കൂടാതെ നിർദ്ദേശങ്ങൾ ഉൾപ്പെടുത്തിയ ഉടൻ തന്നെ പ്രോസസ്സ് ചെയ്യും
അവർ കണ്ടുമുട്ടുന്നു. ഇതിനർത്ഥം ഉൾപ്പെടുത്തിയ ഫയലിന്റെ ഉള്ളടക്കത്തിന് ഏത് വേണമെങ്കിലും അസാധുവാക്കാൻ കഴിയും എന്നാണ്
ഉൾപ്പെടുത്തൽ നിർദ്ദേശത്തിന് മുമ്പായി പ്രത്യക്ഷപ്പെട്ട ഉള്ളടക്കവും അതിന് ശേഷമുള്ള ഏതെങ്കിലും ഉള്ളടക്കവും
ഡയറക്ടീവിന് ഉൾപ്പെടുത്തിയ ഫയലിൽ അടങ്ങിയിരിക്കുന്ന എന്തും അസാധുവാക്കാൻ കഴിയും. ഏതെങ്കിലും ചിഹ്നം (അല്ലെങ്കിൽ പോലും
മറ്റൊരു #include directive) ഉൾപ്പെടുത്തിയ ഫയലിൽ അധിക ടാഗുകൾ വ്യക്തമാക്കുകയോ അസാധുവാക്കുകയോ ചെയ്യാം
അതിന്റെ ടാഗ് സ്പെസിഫിക്കേഷനിൽ പാരമ്പര്യമായി ലഭിച്ച ടാഗുകളുടെ മൂല്യങ്ങൾ. എന്നിരുന്നാലും, അതിന് ഒരു മാർഗവുമില്ല
പാരമ്പര്യമായി ലഭിച്ച ഏതെങ്കിലും ടാഗുകൾ നീക്കം ചെയ്യുന്നതിനുള്ള ചിഹ്നം.
ഉൾപ്പെടുത്തിയ ഫയലിന് ലൈബ്രറിയുടെ SONAME അടങ്ങുന്ന ഹെഡർ ലൈൻ ആവർത്തിക്കാനാകും. അതിൽ
കേസ്, ഇത് മുമ്പ് വായിച്ച ഏതെങ്കിലും ഹെഡർ ലൈനിനെ അസാധുവാക്കുന്നു. എന്നിരുന്നാലും, പൊതുവേ, ഇത് ചെയ്യുന്നതാണ് നല്ലത്
ഹെഡർ ലൈനുകളുടെ തനിപ്പകർപ്പ് ഒഴിവാക്കുക. അത് ചെയ്യാനുള്ള ഒരു മാർഗ്ഗം ഇനിപ്പറയുന്നതാണ്:
#ഉൾപ്പെടുത്തുക "libsomething1.symbols.common"
arch_specific_symbol@Base 1.0
നല്ല ലൈബ്രറി മാനേജ്മെന്റ്
നന്നായി പരിപാലിക്കുന്ന ലൈബ്രറിക്ക് ഇനിപ്പറയുന്ന സവിശേഷതകൾ ഉണ്ട്:
· അതിന്റെ API സ്ഥിരതയുള്ളതാണ് (പൊതു ചിഹ്നങ്ങൾ ഒരിക്കലും ഉപേക്ഷിക്കില്ല, പുതിയ പൊതു ചിഹ്നങ്ങൾ മാത്രം
ചേർത്തു) ഒപ്പം SONAME മാറുമ്പോൾ മാത്രം പൊരുത്തപ്പെടാത്ത വഴികളിൽ മാറ്റങ്ങൾ;
ആന്തരിക മാറ്റങ്ങൾ ഉണ്ടെങ്കിലും എബിഐ സ്ഥിരത കൈവരിക്കാൻ ഇത് സിംബൽ പതിപ്പിംഗ് ഉപയോഗിക്കുന്നു
കൂടാതെ API വിപുലീകരണവും;
· ഇത് സ്വകാര്യ ചിഹ്നങ്ങൾ കയറ്റുമതി ചെയ്യുന്നില്ല (അത്തരം ചിഹ്നങ്ങൾ ഓപ്ഷണൽ ആയി ടാഗ് ചെയ്യാവുന്നതാണ്).
ചിഹ്നങ്ങളുടെ ഫയൽ പരിപാലിക്കുമ്പോൾ, അതിന്റെ രൂപവും അപ്രത്യക്ഷതയും ശ്രദ്ധിക്കുന്നത് എളുപ്പമാണ്
ചിഹ്നങ്ങൾ. എന്നാൽ പൊരുത്തമില്ലാത്ത API, ABI മാറ്റം പിടിക്കാൻ കൂടുതൽ ബുദ്ധിമുട്ടാണ്. അങ്ങനെ ദി
മെയിന്റനർ നിയമങ്ങൾ ഉള്ള കേസുകൾക്കായി തിരയുന്ന അപ്സ്ട്രീം ചേഞ്ച്ലോഗ് നന്നായി വായിക്കണം
മികച്ച ലൈബ്രറി മാനേജ്മെന്റ് തകർന്നിരിക്കുന്നു. സാധ്യമായ പ്രശ്നങ്ങൾ കണ്ടെത്തിയാൽ,
ഒരു ഡെബിയനേക്കാൾ അപ്സ്ട്രീം ഫിക്സ് എപ്പോഴും മികച്ചതാണ് എന്നതിനാൽ അപ്സ്ട്രീം രചയിതാവിനെ അറിയിക്കണം
നിർദ്ദിഷ്ട പ്രവർത്തനം.
ഓപ്ഷനുകൾ
-Pപാക്കേജ്-ബിൽഡ്-ദിയർ
സ്കാൻ പാക്കേജ്-ബിൽഡ്-ദിയർ പകരം debian/tmp.
-pപാക്കേജ്
പാക്കേജിന്റെ പേര് നിർവചിക്കുക. ഒന്നിലധികം ബൈനറി പാക്കേജുകൾ ലിസ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ അത് ആവശ്യമാണ്
debian/control (അല്ലെങ്കിൽ debian/control file ഇല്ലെങ്കിൽ).
-vപതിപ്പ്
പാക്കേജ് പതിപ്പ് നിർവചിക്കുക. എക്സ്ട്രാക്റ്റുചെയ്ത പതിപ്പിലേക്കുള്ള ഡിഫോൾട്ടുകൾ
debian/changelog. ഒരു ഉറവിട പാക്കേജ് ട്രീയുടെ പുറത്ത് വിളിക്കുകയാണെങ്കിൽ അത് ആവശ്യമാണ്.
-eലൈബ്രറി-ഫയൽ
എല്ലാ പൊതു ലൈബ്രറികളും കണ്ടെത്തുന്നതിനുപകരം വ്യക്തമായി ലിസ്റ്റുചെയ്തിരിക്കുന്ന ലൈബ്രറികൾ മാത്രം വിശകലനം ചെയ്യുക.
പാത്ത് നെയിം വിപുലീകരണത്തിന് ഉപയോഗിക്കുന്ന ഷെൽ പാറ്റേണുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാം (കാണുക ഫയൽ::ഗ്ലോബ്(3 പേർൾ)
വിശദാംശങ്ങൾക്ക് മാനുവൽ പേജ്) ഇൻ ലൈബ്രറി-ഫയൽ ഒന്നിലധികം ലൈബ്രറികൾ ഒരു സിംഗിൾ ഉപയോഗിച്ച് പൊരുത്തപ്പെടുത്താൻ
വാദം (അല്ലെങ്കിൽ നിങ്ങൾക്ക് ഒന്നിലധികം ആവശ്യമാണ് -e).
-Iഫയലിന്റെ പേര്
ഉപയോഗം ഫയലിന്റെ പേര് സംയോജിപ്പിച്ചിരിക്കുന്ന ചിഹ്നങ്ങളുടെ ഫയൽ സൃഷ്ടിക്കുന്നതിനുള്ള റഫറൻസ് ഫയലായി
പാക്കേജ് തന്നെ.
-O[ഫയലിന്റെ പേര്]
ജനറേറ്റുചെയ്ത ചിഹ്നങ്ങളുടെ ഫയൽ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്കോ ഇതിലേക്കോ പ്രിന്റ് ചെയ്യുക ഫയലിന്റെ പേര് വ്യക്തമാക്കിയാൽ,
എന്നതിലുപരി debian/tmp/DEBIAN/ചിഹ്നങ്ങൾ (അഥവാ പാക്കേജ്-ബിൽഡ്-ദിയർ/ഡെബിയാൻ/ചിഹ്നങ്ങൾ if -P
ഉപയോഗിച്ചിരുന്നു). എങ്കിൽ ഫയലിന്റെ പേര് മുമ്പേ നിലവിലുണ്ട്, അതിന്റെ ഉള്ളടക്കങ്ങൾ അടിസ്ഥാനമായി ഉപയോഗിക്കുന്നു
സൃഷ്ടിച്ച ചിഹ്നങ്ങളുടെ ഫയൽ. ഒരു ചിഹ്ന ഫയൽ അപ്ഡേറ്റ് ചെയ്യാൻ നിങ്ങൾക്ക് ഈ ഫീച്ചർ ഉപയോഗിക്കാം
ഇത് നിങ്ങളുടെ ലൈബ്രറിയുടെ ഏറ്റവും പുതിയ അപ്സ്ട്രീം പതിപ്പുമായി പൊരുത്തപ്പെടുന്നു.
-t അനുയോജ്യമായ ഫോർമാറ്റിന് പകരം ടെംപ്ലേറ്റ് മോഡിൽ ചിഹ്ന ഫയൽ എഴുതുക
deb-ചിഹ്നങ്ങൾ(5) പ്രധാന വ്യത്യാസം ടെംപ്ലേറ്റ് മോഡിൽ ചിഹ്ന നാമങ്ങളും
പോസ്റ്റ് പ്രോസസ്സ് ചെയ്ത ചിഹ്ന നാമങ്ങൾക്ക് വിരുദ്ധമായി ടാഗുകൾ അവയുടെ യഥാർത്ഥ രൂപത്തിൽ എഴുതിയിരിക്കുന്നു
അനുയോജ്യത മോഡിൽ സ്ട്രിപ്പ് ചെയ്ത ടാഗുകൾക്കൊപ്പം. മാത്രമല്ല, ചില ചിഹ്നങ്ങൾ ആകാം
ഒരു സ്റ്റാൻഡേർഡ് എഴുതുമ്പോൾ ഒഴിവാക്കി deb-ചിഹ്നങ്ങൾ(5) ഫയൽ (ടാഗ് അനുസരിച്ച്
പ്രോസസ്സിംഗ് നിയമങ്ങൾ) എല്ലാ ചിഹ്നങ്ങളും എല്ലായ്പ്പോഴും ചിഹ്ന ഫയൽ ടെംപ്ലേറ്റിൽ എഴുതുമ്പോൾ.
-c[ക്സനുമ്ക്സ-ക്സനുമ്ക്സ]
ജനറേറ്റുചെയ്ത ചിഹ്നങ്ങളുടെ ഫയലിനെ ടെംപ്ലേറ്റുമായി താരതമ്യം ചെയ്യുമ്പോൾ ചെയ്യേണ്ട പരിശോധനകൾ നിർവ്വചിക്കുക
ആരംഭ പോയിന്റായി ഉപയോഗിക്കുന്ന ഫയൽ. സ്ഥിരസ്ഥിതിയായി ലെവൽ 1 ആണ്. ലെവലുകൾ കൂടുന്നത് കൂടുതൽ ചെയ്യും
പരിശോധിക്കുന്നു, താഴ്ന്ന നിലകളിലെ എല്ലാ ചെക്കുകളും ഉൾപ്പെടുന്നു. ലെവൽ 0 ഒരിക്കലും പരാജയപ്പെടില്ല. ലെവൽ 1 പരാജയപ്പെടുന്നു
ചില ചിഹ്നങ്ങൾ അപ്രത്യക്ഷമായിട്ടുണ്ടെങ്കിൽ. ചില പുതിയ ചിഹ്നങ്ങൾ ഉണ്ടെങ്കിൽ ലെവൽ 2 പരാജയപ്പെടും
പരിചയപ്പെടുത്തി. ചില ലൈബ്രറികൾ അപ്രത്യക്ഷമായാൽ ലെവൽ 3 പരാജയപ്പെടും. ചിലതാണെങ്കിൽ ലെവൽ 4 പരാജയപ്പെടും
ലൈബ്രറികൾ അവതരിപ്പിച്ചു.
പരിസ്ഥിതി വേരിയബിൾ ഉപയോഗിച്ച് ഈ മൂല്യം മറികടക്കാൻ കഴിയും
DPKG_GENSYMBOLS_CHECK_LEVEL.
-q നിശ്ശബ്ദത പാലിക്കുക, സൃഷ്ടിച്ച ചിഹ്നങ്ങളുടെ ഫയലും ഫയലും തമ്മിൽ ഒരിക്കലും വ്യത്യാസം സൃഷ്ടിക്കരുത്
ടെംപ്ലേറ്റ് ഫയൽ ആരംഭ പോയിന്റായി ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ പുതിയ/നഷ്ടപ്പെട്ട ലൈബ്രറികളെക്കുറിച്ചുള്ള എന്തെങ്കിലും മുന്നറിയിപ്പുകൾ കാണിക്കുക
അല്ലെങ്കിൽ പുതിയ/നഷ്ടപ്പെട്ട ചിഹ്നങ്ങൾ. ഈ ഓപ്ഷൻ വിവര ഔട്ട്പുട്ട് മാത്രമേ പ്രവർത്തനരഹിതമാക്കൂ, പക്ഷേ അല്ല
സ്വയം പരിശോധിക്കുന്നു (കാണുക -c ഓപ്ഷൻ).
-aകമാനം കരുതുക കമാനം ചിഹ്ന ഫയലുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഹോസ്റ്റ് ആർക്കിടെക്ചർ ആയി. ഇതിനായി ഈ ഓപ്ഷൻ ഉപയോഗിക്കുക
ഏതൊരു ആർക്കിടെക്ചറിനും അതിന്റെ ബൈനറികൾ നൽകിയാൽ ഒരു ചിഹ്ന ഫയൽ അല്ലെങ്കിൽ വ്യത്യാസം സൃഷ്ടിക്കുക
ഇതിനകം ലഭ്യമാണ്.
-d ഡീബഗ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുക. എന്താണെന്ന് വിശദീകരിക്കാൻ നിരവധി സന്ദേശങ്ങൾ പ്രദർശിപ്പിച്ചിരിക്കുന്നു dpkg-gensymbols
ചെയ്യും.
-V വെർബോസ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുക. ജനറേറ്റ് ചെയ്ത ചിഹ്നങ്ങളുടെ ഫയലിൽ ഒഴിവാക്കിയ ചിഹ്നങ്ങൾ അടങ്ങിയിരിക്കുന്നു
അഭിപ്രായങ്ങൾ. കൂടാതെ, ടെംപ്ലേറ്റ് മോഡിൽ, പാറ്റേൺ ചിഹ്നങ്ങൾ കമന്റുകൾ പിന്തുടരുന്നു
പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന യഥാർത്ഥ ചിഹ്നങ്ങൾ പട്ടികപ്പെടുത്തുന്നു.
-?, --സഹായിക്കൂ
ഉപയോഗ സന്ദേശം കാണിച്ച് പുറത്തുകടക്കുക.
--പതിപ്പ്
പതിപ്പ് കാണിച്ച് പുറത്തുകടക്കുക.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് ഓൺലൈനിൽ dpkg-gensymbols ഉപയോഗിക്കുക