TL; ඩී: Haiku යනු පරිගණක සඳහා විශේෂයෙන් නිර්මාණය කර ඇති මෙහෙයුම් පද්ධතියකි, එබැවින් එහි ඩෙස්ක්ටොප් පරිසරය අනෙක් ඒවාට වඩා හොඳ කරන උපක්රම කිහිපයක් ඇත. නමුත් එය ක්රියා කරන්නේ කෙසේද?
ELF ගොනු වල සම්පත්
IconOMatic හට ELF ක්රියාත්මක කළ හැකි rdef සම්පත් වල අයිකන සුරැකිය හැකි බව මම ඊයේ දැන සිටියෙමි. අද මට බලන්න ඕන ඒක ඇත්තටම වැඩ කරන්නේ කොහොමද කියලා.
සම්පත්?
සාම්ප්රදායික කේතීකරණයේ දැඩි ස්වභාවය ගැන මම කනස්සල්ලට පත්ව සිටිමි. මට නම්, ගතිකව කිසිවක් වෙනස් කිරීමට හැකියාවක් නොමැතිව, කේතයෙන් ශීත කළ යෙදුමක් පිළිබඳ අදහසම, දරුණුතම ම්ලේච්ඡත්වයයි. ධාවන වේලාවේදී හැකි තරම් වෙනස් කිරීමට හැකි විය යුතුය. ඇත්ත වශයෙන්ම, යෙදුම් කේතයම වෙනස් කළ නොහැක, නමුත් කේතය නැවත සම්පාදනය නොකර යමක් වෙනස් කළ හැකිද?
මුල් Macintosh හි, ඔවුන් මෙම ගොනුවලට “දත්ත අංශයක්” සහ “සම්පත් අංශයක්” ඇති කර ඇති අතර එමඟින් අයිකන, පරිවර්තන සහ ඒ හා සමාන දේවල් සුරැකීම ඇදහිය නොහැකි තරම් පහසු විය. ක්රියාත්මක කළ හැකි ගොනු වල.
Mac මත මෙය භාවිතා වේ
මුල් Macintosh මත ResEdit
එහි ප්රතිඵලයක් වශයෙන්, අයිකන, මෙනු අයිතම, පරිවර්තන ආදිය සංස්කරණය කිරීමට හැකි විය. ප්රමාණවත් තරම් පහසු, නමුත් ඔවුන් තවමත් යෙදුම් සමඟ "ගමන්" කරයි.
ඕනෑම අවස්ථාවක, මෙම ප්රවේශය විශාල අඩුපාඩුවක් විය: එය ක්රියාත්මක වූයේ Apple ගොනු පද්ධති මත පමණි, එය Mac OS X වෙත යාමේදී Apple විසින් "සම්පත් අංශය" අත්හැරීමට එක් හේතුවක් විය.
Mac OS X හි, Apple හට ගොනු පද්ධති-ස්වාධීන විසඳුමක් අවශ්ය විය, එබැවින් ඔවුන් පැකේජ (NXT සිට) යන සංකල්පය අනුගමනය කළහ, ගොනු කළමනාකරු විසින් නාමාවලි වලට වඩා ගොනු වැනි "පාරාන්ධ වස්තු" ලෙස සලකනු ලබන නාමාවලි. ආකෘතියේ යෙදුමක් සහිත ඕනෑම පැකේජයක් .app
වෙනත් දේ අතර, ගොනුවක් ඇත Info.plist
(යම් ආකාරයක Apple හි JSON හෝ YAML ට සමාන) යෙදුම් පාර-දත්ත අඩංගු වේ.
Mac OS X යෙදුම් පැකේජයෙන් Info.plist ගොනුව සඳහා යතුරු.
අයිකන, UI ගොනු, සහ අනෙකුත් සම්පත්, ගොනු ලෙස පැකේජය තුළ ගබඩා කර ඇත. සංකල්පය ඇත්ත වශයෙන්ම එහි මූලයන් වෙත ආපසු ගියේ NeXT හි ය.
1.0 දී NeXTSTEP 1989 මත Mathematica.app: ටර්මිනලයේ ගොනු නාමාවලියක් ලෙස දිස්වේ, නමුත් චිත්රක ගොනු කළමනාකරු තුළ තනි වස්තුවක් ලෙස.
හයිකු පදනම් වූ සංකල්ප වන BeOS වෙත ආපසු යමු. එහි සංවර්ධකයින්, PEF (PowerPC) සිට ELF (x86) වෙත මාරු වන විට (ලිනක්ස් හි භාවිතා කරන ආකාරයටම), ELF ගොනුවල අවසානයට සම්පත් අංශයක් එක් කිරීමට තීරණය කළහ. එය තමන්ගේම නිසි ELF කොටස භාවිතා කර නැත, එය සරලව ELF ගොනුවේ අවසානයට අමුණා ඇත. වැඩසටහනේ ප්රතිඵලයක් ලෙස strip
සහ binutils සිට වෙනත් අය, මේ ගැන නොදැන, එය සරලව කපා. එබැවින්, BeOS මත ELF ගොනුවකට සම්පත් එකතු කිරීමේදී, Linux මෙවලම් සමඟ එය හසුරුවා නොගැනීම වඩා හොඳය.
දැන් හයිකු එකට මොකද වෙන්නේ? මූලික වශයෙන්, අඩු හෝ වැඩි වශයෙන් සමාන වේ.
න්යායාත්මකව, ELF හි අපේක්ෂිත කොටසෙහි සම්පත් තැබීමට හැකි වනු ඇත. irc.freenode.net හි #haiku නාලිකාවේ සංවර්ධකයන්ට අනුව:
ELF සමඟ කොටස වඩාත් අර්ථවත් වනු ඇත ... අපි එය එසේ නොකිරීමට එකම හේතුව එය අප BeOS හි කළ දෙයයි."
අනික දැන් මේක වෙනස් කරලා වැඩක් නෑ.
සම්පත් කළමනාකරණය
සම්පත් ව්යුහගත "සම්පත්" ආකෘතියකින් ලියා ඇත: අත්යවශ්යයෙන්ම ප්රමාණ සහිත සම්පත් ලැයිස්තුවක් සහ පසුව ඒවායේ අන්තර්ගතය. මට මතකයි
හයිකු හි සම්පත් පරීක්ෂා කරන්නේ කෙසේද? ResEdit වගේ දෙයක් තියෙනවද?
අනුව
යෙදුම් පැකේජයේ සපයා ඇති සම්පත් බැලීමට, ඔබට ක්රියාත්මක කළ හැකි ගොනුව වැනි වැඩසටහනකට ඇදගෙන යා හැක
සම්පත් සපයන්නා . ඔබට ටර්මිනලය වෙත ගොස් විධානය ක්රියාත්මක කළ හැකියlistres имя_файла
.
Resourcer HaikuDepot හි ඇත, නමුත් එය මට පමණක් කඩා වැටේ.
ELF ගොනු තුළ සම්පත් කළමනාකරණය කරන්නේ කෙසේද? භාවිතා කරමින් rsrc
и rdef
. rdef
ගොනු එකතු කරනු ලැබේ rsrc
. ගොනුව rdef
සරල පෙළ ආකෘතියෙන් ගබඩා කර ඇත, එබැවින් එය සමඟ වැඩ කිරීම වඩාත් පහසු වේ. ගොනු ආකෘතිය rsrc
ELF ගොනුවේ අවසානයට එකතු කර ඇත. අපි සෙල්ලම් කිරීමට උත්සාහ කරමු:
~> rc -h
Haiku Resource Compiler 1.1To compile an rdef script into a resource file:
rc [options] [-o <file>] <file>...To convert a resource file back into an rdef script:
rc [options] [-o <file>] -d <file>...Options:
-d --decompile create an rdef script from a resource file
--auto-names construct resource names from ID symbols
-h --help show this message
-I --include <dir> add <dir> to the list of include paths
-m --merge do not erase existing contents of output file
-o --output specify output file name, default is out.xxx
-q --quiet do not display any error messages
-V --version show software version and license
ඔබට වැඩසටහන භාවිතා කළ හැකිය xres
පරීක්ෂා කිරීම සහ පාලනය කිරීම සඳහා:
/> xres
Usage: xres ( -h | --help )
xres -l <file> ...
xres <command> ...The first form prints this help text and exits.The second form lists the resources of all given files.The third form manipulates the resources of one or more files according to
the given commands.
(...)
හරි, අපි උත්සාහ කරමු?
/> xres -l /Haiku/system/apps/WebPositive/Haiku/system/apps/WebPositive resources:type ID size name
------ ----------- ----------- --------------------
'MIMS' 1 36 BEOS:APP_SIG
'APPF' 1 4 BEOS:APP_FLAGS
'MSGG' 1 421 BEOS:FILE_TYPES
'VICN' 101 7025 BEOS:ICON
'VICN' 201 91 kActionBack
'VICN' 202 91 kActionForward
'VICN' 203 300 kActionForward2
'VICN' 204 101 kActionStop
'VICN' 206 243 kActionGoStart
'MSGG' 205 1342 kActionGo
'APPV' 1 680 BEOS:APP_VERSION
සම්පත් සහ ආකෘතිය ගැන වැඩි විස්තර rdef
ඔබට කියවිය හැක
සම්මත සම්පත් වර්ග
ඔබට ඕනෑම දෙයක් සම්පත් වලට දැමිය හැකි වුවද, නිශ්චිත සම්මත වර්ග කිහිපයක් තිබේ:
app_signature
: MIME යෙදුම් වර්ගය, ගොනු විවෘත සිතියම්ගත කිරීම, දියත් කිරීම, IPC, ආදිය සඳහා.app_name_catalog_entry
: යෙදුමේ නම සාමාන්යයෙන් ඉංග්රීසියෙන් ඇති බැවින්, ඔබට පරිවර්තනය කළ නම් ඇති ස්ථාන නියම කළ හැකිය, එවිට විවිධ භාෂා භාවිතා කරන්නන්ට අවශ්ය නම් පරිවර්තනය කළ යෙදුමේ නම පෙනෙනු ඇත.app_version
: හරියටම ඔබ සිතූ දේapp_flags
: පෙන්නුම් කරයිregistrar
අයදුම්පත සකසන ආකාරය. මම හිතන්නේ ඇසට පෙනෙන දේට වඩා වැඩි යමක් එහි තිබේ. උදාහරණයක් ලෙස, තිබේB_SINGLE_LAUNCH
, පරිශීලකයා එය ඉල්ලා සිටින සෑම අවස්ථාවකම නව යෙදුම් ක්රියාවලියක් දියත් කිරීමට පද්ධතියට බල කරන (ලිනක්ස් හි බොහෝ යෙදුම් සඳහා එකම මූලධර්මය භාවිතා වේ). කන්නB_MULTIPLE_LAUNCH
, සඳහා ක්රියාවලිය ක්රියාත්මක කිරීමට හේතු වේ එක් එක් ගොනුව. අන්තිමට තියෙනවාB_EXCLUSIVE_LAUNCH
, පරිශීලකයින් කොපමණ වාරයක් දියත් කළත්, වරකට එක් ක්රියාවලියක් පමණක් දියත් කිරීමට පද්ධතියට බල කරන (උදාහරණයක් ලෙස, ෆයර්ෆොක්ස් ලිනක්ස් මත ක්රියාත්මක වන ආකාරය මෙයයි; එම ප්රතිඵලය Qt යෙදුම්වල ශ්රිතය භාවිතයෙන් ලබා ගත හැක.QtSingleApplication ) සමඟ අයදුම්පත්B_EXCLUSIVE_LAUNCH
පරිශීලකයා ඒවා නැවත ක්රියාත්මක කිරීමට උත්සාහ කරන විට දැනුම් දෙනු ලැබේ: උදාහරණයක් ලෙස, පරිශීලකයාට ඔවුන්ගේ උදව්වෙන් විවෘත කිරීමට අවශ්ය ගොනුවේ මාර්ගය ඔවුන්ට ලැබේ.vector_icon
: දෛශික යෙදුම් නිරූපකය (BeOS සතුව දෛශික අයිකන නොතිබුණි, බොහෝ යෙදුම් වෙනුවට ඒවායේ ක්රියාත්මක කළ හැකි ගොනු වල රාස්ටර් අයිකන දෙකක් තිබුණි).
ඇත්ත වශයෙන්ම, ඔබට අවශ්ය ඕනෑම හැඳුනුම්පත් සහ වර්ග සමඟ සම්පත් එකතු කළ හැකිය, ඉන්පසු ඒවා යෙදුම තුළම හෝ පන්තිය භාවිතයෙන් වෙනත් යෙදුම්වල කියවිය හැකිය. BResources
. නමුත් පළමුව, අයිකන පිළිබඳ සිත් ඇදගන්නා මාතෘකාව දෙස බලමු.
හයිකු විලාසිතාවේ දෛශික අයිකන
ඇත්ත වශයෙන්ම, හයිකු පමණක් නොව හොඳම අයිකන ආකෘතිය තෝරාගෙන ඇත; මෙම කොටසෙහි, ලිනක්ස් ඩෙස්ක්ටොප් පරිසරයන් සමඟ තත්වය පරමාදර්ශී නොවේ:
me@host:~$ ls /usr/share/icons/hicolor/
128x128 256x256 512x512 index.theme
160x160 28x28 64x64 scalable
16x16 32x32 72x72 symbolic
192x192 36x36 8x8
22x22 42x42 96x96
24x24 48x48 icon-theme.cache
මේක බැලුවම ඔයාලට දැනටමත් දැනෙනවා මේ මොන කෑල්ලක්ද කියලා.
ඇත්ත වශයෙන්ම, පරිමාණය කළ හැකි, ඔබට තේරුම් ගත හැකි පරිදි, දෛශික අයිකන අඩංගු වේ. ඇයි එහෙනම් වෙන මොනවා හරි තියෙනවද? කුඩා ප්රමාණවලින් දෛශික ග්රැෆික්ස් ඇඳීමේ ප්රතිඵලය පරමාදර්ශයට වඩා අඩු විය හැකි බැවිනි. විවිධ ප්රමාණ සඳහා විවිධ විකල්ප ප්රශස්ත කිරීමට මම කැමතියි. ලිනක්ස් ඩෙස්ක්ටොප් පරිසරය තුළ, ගොනු පද්ධතිය පුරා විවිධ ප්රමාණයේ අයිකන විසිරීම මගින් මෙය සාක්ෂාත් කරගනු ලැබේ.
me@host:~$ find /usr/share/icons/ -name 'firefox.*'
/usr/share/icons/HighContrast/16x16/apps/firefox.png
/usr/share/icons/HighContrast/22x22/apps/firefox.png
/usr/share/icons/HighContrast/24x24/apps/firefox.png
/usr/share/icons/HighContrast/256x256/apps/firefox.png
/usr/share/icons/HighContrast/32x32/apps/firefox.png
/usr/share/icons/HighContrast/48x48/apps/firefox.png
/usr/share/icons/elementary-xfce/apps/128/firefox.png
/usr/share/icons/elementary-xfce/apps/16/firefox.png
/usr/share/icons/elementary-xfce/apps/22/firefox.png
/usr/share/icons/elementary-xfce/apps/24/firefox.png
/usr/share/icons/elementary-xfce/apps/32/firefox.png
/usr/share/icons/elementary-xfce/apps/48/firefox.png
/usr/share/icons/elementary-xfce/apps/64/firefox.png
/usr/share/icons/elementary-xfce/apps/96/firefox.png
/usr/share/icons/hicolor/128x128/apps/firefox.png
කරුණාකර සටහන් කරන්න: ෆයර්ෆොක්ස් හි විවිධ අනුවාදයන් පිළිබඳ සංකල්පයක් නොමැත. මේ අනුව, පද්ධතිය මත යෙදුමක බහු අනුවාද තිබීමේ තත්ත්වය අලංකාර ලෙස හැසිරවිය නොහැක.
විවිධ අනුවාදවල විවිධ ෆයර්ෆොක්ස් අයිකන. විවිධ අත්වාරු නොමැතිව ලිනක්ස් හි මෙය හැසිරවීමට දැනට නොහැක.
Mac OS X එය ටිකක් සියුම් ලෙස හසුරුවයි:
Mac:~ me$ find /Applications/Firefox.app | grep icns
/Applications/Firefox.app/Contents/MacOS/crashreporter.app
/Contents/Resources/crashreporter.icns
/Applications/Firefox.app/Contents/MacOS/updater.app/Contents/Resources/updater.icns
/Applications/Firefox.app/Contents/Resources/document.icns
/Applications/Firefox.app/Contents/Resources/firefox.icns
එක ගොනුවක් තිබෙන බව පේනවා firefox.icns
පැකේජයේ Firefox.app
, එකම යෙදුමේ විවිධ අනුවාදවලට විවිධ අයිකන ඇති වන පරිදි සියලුම ප්රමාණ අඩංගු වේ.
වඩා හොඳයි! අයිකන යෙදුම සමඟ ගමන් කරයි, සියලු සම්පත් එක් ගොනුවක ඇත.
අපි නැවත හයිකු වෙත යමු. මනස්කාන්ත විසඳුමක්, ව්යතිරේකයක් නැත. අනුව
විශේෂ HVIF ආකෘතියක්, කුඩා ප්රමාණ සහ වේගවත් විදැහුම්කරණය සඳහා බෙහෙවින් ප්රශස්තිකරණය කරන ලදී. එමනිසා, අපගේ අයිකන බොහෝ දුරට raster හෝ බහුලව භාවිතා වන SVG ආකෘතියට වඩා කුඩා වේ.
තවද ඒවා තවමත් ප්රශස්ත කර ඇත:
අනෙකුත් ආකෘතිවලට සාපේක්ෂව HVIF හි අයිකන ප්රමාණ.
වෙනස විශාලත්වයේ අනුපිළිවෙලකි!
නමුත් මායාව මෙතැනින් අවසන් නොවේ. එකම HVIF දෛශික ආකෘතියක් වුවද, ප්රදර්ශනය කරන ප්රමාණය අනුව විවිධ මට්ටමේ විස්තර පෙන්විය හැක.
විදැහුම් ප්රමාණය මත පදනම්ව විවිධ මට්ටම් විස්තර (LOD).
දැන් අවාසි ගැන: ඔබට SVG ගත නොහැක, එය ImageMagick වෙත විසි කර එය දිනකට අමතන්න; HVIF ආකෘතියෙන් අයිකනයක් සෑදීමට ඔබට චක්ර කිහිපයක් හරහා යා යුතුය.
යෙදුමට අයිකනයක් එක් කිරීම
දැන් මට හදපු පැකේජයට අයිකනයක් එකතු කරන්න පුළුවන්
හොඳයි, මම දැන් මගේ "Hello, World" QtQuickApp සඳහා මගේම නිරූපකයක් ඇඳීමට විශේෂයෙන් උනන්දු නොවන නිසා, මම එය Qt Creator වෙතින් ඉවත් කරමි.
/Haiku/home> xres /Haiku/system/apps/QtCreator/bin/Qt Creator -o /Haiku/home/QtQuickApp/QtQuickApp -a VICN:101:BEOS:ICON /Haiku/system/apps/QtCreator/bin/Qt Creator
නිරූපකය පිටපත් කර ඇත්දැයි පරීක්ෂා කරමු:
/Haiku/home> xres -l /Haiku/home/QtQuickApp/QtQuickApp/Haiku/home/QtQuickApp/QtQuickApp
resources:type ID size name
------ ----------- ----------- --------------------
'VICN' 101 152238 BEOS:ICON
පෙනුම හොඳයි, නමුත් නව නිරූපකය පිටපත් කළ විට එය නොපෙන්වන්නේ ඇයි?
පිටපත් කරන ලද VICN:101:BEOS:ICONs ගොනු කළමනාකරු තුළ යෙදුම් නිරූපකයක් ලෙස තවමත් භාවිත කර නොමැත.
මට මග හැරුනේ කුමක්ද?
සංවර්ධක අදහස්:
අපි ගොනුවක් සෑදිය යුතුයි
rdef
සියලු සම්පත් සමඟ, පසුව විධානය ක්රියාත්මක කරන්නrc имя.rdef
, මෙය ගොනුව සාදනු ඇත.rsrc
. එවිට ඔබට විධානය ක්රියාත්මක කිරීමට අවශ්ය වේresattr -o имя_бинарника имя.rsrc
. අවම වශයෙන්, මම මගේ ස්ක්රිප්ට් වලට අයිකන එක් කිරීමට මෙවැනි විධාන භාවිතා කරමි.
හොඳයි, මට අවශ්ය වූයේ උපලක්ෂණයක් නොව සම්පතක් නිර්මාණය කිරීමටයි. මට ඇත්තටම අවුල්.
ගොනු පද්ධතිය භාවිතයෙන් ස්මාර්ට් හැඹිලිගත කිරීම
ELF ගුණාංග විවෘත කිරීම සහ කියවීම මන්දගාමී වේ. මා ඉහත ලියා ඇති පරිදි, අයිකනය ගොනුව තුළම සම්පතක් ලෙස ලියා ඇත. මෙම ක්රමය වඩාත් විශ්වාසදායක වන අතර වෙනත් ගොනු පද්ධතියකට පිටපත් කිරීමෙන් බේරීමට ඔබට ඉඩ සලසයි. කෙසේ වෙතත්, එය පසුව ගොනු පද්ධති ගුණාංගයට ද පිටපත් කරනු ලැබේ, උදාහරණයක් ලෙස BEOS:ICON
. මෙය ක්රියාත්මක වන්නේ BFS වැනි ඇතැම් ගොනු පද්ධති මත පමණි. පද්ධතිය මඟින් පෙන්වන අයිකන (ට්රැකර් සහ ඩෙස්ක්බාර්හි) මෙම දිගු කළ ගුණාංගයෙන් කියවනු ලැබේ, මන්ද මෙම විසඳුම ඉක්මනින් ක්රියා කරයි. සමහර ස්ථානවල (වේගය වැදගත් නොවේ, උදාහරණයක් ලෙස, සාමාන්ය “ගැන” කවුළුවක්), පද්ධතියට ගොනුවේ ඇති සම්පතෙන් සෘජුවම අයිකනය ලැබේ. නමුත් මෙය අවසානය නොවේ. මතක තබා ගන්න, මැක් මත, පරිශීලකයින්ට යෙදුම්, නාමාවලි, ලේඛන අයිකන ආදේශ කළ හැකිය, මන්ද මැක්හි මෙම “වැදගත්” දේවල් කළ හැකි බැවිනි.
ගොනු පද්ධති ගුණාංග පරීක්ෂා කිරීම
සහාය ඇතිව resaddr
ගොනු පද්ධති ගුණාංග පරීක්ෂා කර සැකසීමට හැකිය.
/> resattr
Usage: resattr [ <options> ] -o <outFile> [ <inFile> ... ]
Reads resources from zero or more input files and adds them as attributes
to the specified output file, or (in reverse mode) reads attributes from
zero or more input files and adds them as resources to the specified output
file. If not existent the output file is created as an empty file.
(...)
එය අත්යවශ්යයෙන්ම (විශ්වසනීය) සම්පත් සහ (වේගවත්) ගොනු පද්ධති ගුණාංග අතර පෙරට හා පසුපසට පරිවර්තනය සිදු කරන "මැලියම්" වේ. තවද පද්ධතිය සම්පත් ලැබීමට අපේක්ෂා කරන අතර පිටපත් කිරීම ස්වයංක්රීයව සිදු කරන බැවින්, මම ඒ ගැන තවදුරටත් කරදර නොවන්නෙමි.
hpkg පැකේජ වල මායාව
දැනට (බොහෝ විට) Haiku හි වැඩසටහන් ලබා ගැනීමට පැකේජ භාවිතා වේ .hpkg
. සරල නාමයෙන් රැවටෙන්න එපා: .hpkg ආකෘතිය ඔබ මුහුණ දුන් සමාන නම් සහිත අනෙකුත් ආකෘති වලට වඩා සම්පූර්ණයෙන්ම වෙනස් ලෙස ක්රියා කරයි, එයට සැබෑ සුපිරි බලයන් ඇත.
සාම්ප්රදායික පැකේජ ආකෘති සමඟ, මෙම කරුණ නිසා මම දිගු කලක් කලබල විය: ඔබ එක් දෙයක් (පැකේජය) බාගන්න, සහ තවත් එකක් පද්ධතියේ ස්ථාපනය කර ඇත (පැකේජය තුළ ඇති ගොනු). සාම්ප්රදායික ආකාරයෙන් පැකේජයක් ස්ථාපනය කිරීමේදී ගොනු කළමනාකරණය කිරීම (උදාහරණයක් ලෙස, ඒවා මකා දැමීම) තරමක් අපහසු වේ. සහ සියල්ල පැකේජයේ අන්තර්ගතය නිසා ගොනු පද්ධතිය පුරා විසිරී ඇත, සාමාන්ය පරිශීලකයෙකුට ලිවීමේ ප්රවේශය නොමැති ස්ථාන ඇතුළුව. මෙය සමස්ත වැඩසටහන් පන්තියක් බිහි කරයි - පැකේජ කළමනාකරුවන්. නමුත් දැනටමත් ස්ථාපනය කර ඇති මෘදුකාංගයක් වෙනත් යන්ත්රයකට, ඉවත් කළ හැකි තැටියකට හෝ ගොනු සේවාදායකයකට මාරු කිරීම සම්පූර්ණයෙන්ම කළ නොහැකි නම් වඩාත් අපහසු වේ. සාමාන්ය ලිනක්ස් පාදක පද්ධතියක, පහසුවෙන් තනි ගොනු සිය දහස් ගණනක සිට මිලියන ගණනක් තිබිය හැක. මෙය බිඳෙනසුලු සහ මන්දගාමී බව අමුතුවෙන් කිව යුතු නැත, උදාහරණයක් ලෙස මුලින් පද්ධතියක් ස්ථාපනය කිරීමේදී, සාමාන්ය පැකේජ ස්ථාපනය කිරීමේදී, යාවත්කාලීන කිරීමේදී සහ අස්ථාපනය කිරීමේදී සහ ඇරඹුම් පරිමාව (root partition) වෙනත් මාධ්යයකට පිටපත් කිරීමේදී.
මම අවසන් පරිශීලක යෙදුම් සඳහා අර්ධ කිහිලිකරුවක් වන AppImage ව්යාපෘතියේ වැඩ කරමින් සිටිමි. මෙය මෘදුකාංග බෙදා හැරීමේ ආකෘතියක් වන අතර එය යෙදුමක් සහ එහි සියලු පරායත්තතා යෙදුම ආරම්භ වන විට සවි කර ඇති තනි ගොනු පද්ධති රූපයක් බවට එකතු කරයි. එකම ImageMagick හදිසියේම තනි ගොනුවක් බවට පත්වන බැවින්, හුදු මනුෂ්යයන් විසින් ගොනු කළමනාකරුවෙකු තුළ කළමනාකරණය කරන බැවින්, දේවල් සැලකිය යුතු ලෙස සරල කරයි. යෝජිත ක්රමය ක්රියා කරන්නේ ව්යාපෘතියේ නාමයෙන් පිළිබිඹු වන පරිදි මෘදුකාංග සඳහා පමණක් වන අතර, Linux සඳහා මෘදුකාංග බෙදා හැරීමට සම්බන්ධ පුද්ගලයින් සෑම විටම ඊතලය මා වෙත යොමු කරන බැවින්, එහිම ගැටලු සමූහයක් ද ඇත.
අපි නැවත හයිකු වෙත යමු. සාම්ප්රදායික පැකේජ පද්ධති සහ රූප පාදක මෘදුකාංග බෙදා හැරීම අතර ප්රශස්ත සමතුලිතතාවයක් සොයා ගැනීමට හැකි වී තිබේද? ඇගේ පැකේජ .hpkg
ඇත්ත වශයෙන්ම සම්පීඩිත ගොනු පද්ධති රූප. පද්ධතිය ආරම්භ වන විට, කර්නලය පහත සඳහන් කර්නල් පණිවිඩ සමඟ ස්ථාපනය කර ඇති සහ සක්රිය පැකේජ සියල්ල සවි කරයි:
KERN: package_daemon [16042853: 924] active package: "gawk-4.2.1-1-x86_64.hpkg"
KERN: package_daemon [16043023: 924] active package: "ca_root_certificates_java-2019_01_23-1-any.hpkg"
KERN: package_daemon [16043232: 924] active package: "python-2.7.16-3-x86_64.hpkg"
KERN: package_daemon [16043405: 924] active package: "openjdk12_default-12.0.1.12-1-x86_64.hpkg"
KERN: package_daemon [16043611: 924] active package: "llvm_libs-5.0.0-3-x86_64.hpkg"
නියමයි, ඔව්? එහි රැඳී සිටින්න, එය තවත් සිසිල් වනු ඇත!
ඉතා විශේෂ පැකේජයක් ඇත:
KERN: package_daemon [16040020: 924] active package: "haiku-r1~beta1_hrev53242-1-x86_64.hpkg"
එහි කර්නලය ඇතුළුව ඉතා අවම මෙහෙයුම් පද්ධතියක් අඩංගු වේ. එය විශ්වාස කරන්න හෝ නොවන්න, කර්නලය පවා ඇරඹුම් පරිමාවෙන් (root partition) ඉවත් නොකෙරේ, නමුත් පැකේජයෙන් එහි ස්ථානයට ප්රවේශමෙන් පටවනු ලැබේ. .hpkg
. වාව්! හයිකු හි සමස්ත සංකීර්ණත්වයේ සහ අනුකූලතාවයේ කොටසක් පැමිණෙන්නේ කර්නලය සහ මූලික පරිශීලක අවකාශයේ සිට පැකේජ කළමනාකරණය සහ ධාවන කාල යටිතල ව්යුහය දක්වා සමස්ත පද්ධතියම එක් කණ්ඩායමක් විසින් සහයෝගයෙන් සංවර්ධනය කිරීම බව මම දැනටමත් සඳහන් කර ඇත්තෙමි. Linux මත මෙවැනි දෙයක් ක්රියාත්මක කිරීමට විවිධ කණ්ඩායම් සහ කණ්ඩායම් කීයක් අවශ්ය වේදැයි සිතා බලන්න [මම සිතන්නේ PuppyLinux ව්යාපෘතිය - දළ වශයෙන්. පරිවර්තක]. එසේ නම්, මෙම ප්රවේශය බෙදාහැරීම්වලට අනුගත වීමට කොපමණ කාලයක් ගතවේදැයි සිතා බලන්න. ඔවුන් පවසන්නේ: සරල ගැටලුවක් ගන්න, විවිධ රංගන ශිල්පීන් අතර එය බෙදා වෙන් කරන්න, එය තවදුරටත් විසඳා ගැනීමට නොහැකි වන පරිදි එය සංකීර්ණ වනු ඇත. මේ අවස්ථාවේ හයිකු මගේ ඇස් ඇරියා. මම හිතන්නේ මෙය දැන් ලිනක්ස් හි සිදුවෙමින් පවතින දෙයමයි (මෙම අවස්ථාවේදී ලිනක්ස් යනු Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu stack සඳහා වන සාමූහික යෙදුමකි).
hpkg භාවිතයෙන් පද්ධතිය ආපසු හැරවීම
පහත දැක්වෙන තත්වය කොපමණ වාරයක් සිදු වේද: යාවත්කාලීන කිරීම සාර්ථක වූ අතර පසුව යමක් ක්රියාත්මක නොවන බව පෙනේද? ඔබ සාම්ප්රදායික පැකේජ කළමණාකරුවන් භාවිතා කරන්නේ නම්, නව පැකේජ ස්ථාපනය කිරීමට පෙර (උදාහරණයක් ලෙස, යමක් වැරදී ගියහොත්) පද්ධතියේ තත්වය යම් ස්ථානයකට ගෙන ඒම අපහසු වේ. සමහර පද්ධති ගොනු පද්ධති ස්නැප්ෂොට් ආකාරයෙන් විසඳුම් ලබා දෙයි, නමුත් ඒවා තරමක් අපහසු වන අතර සියලුම පද්ධතිවල භාවිතා නොවේ. හයිකු පැකේජ භාවිතයෙන් මෙය විසඳයි .hpkg
. පද්ධතියේ පැකේජ වෙනස් වන විට, පැරණි පැකේජ මකා නොදමනු ඇත, නමුත් වැනි උප බහලුම්වල පද්ධතියේ ගබඩා වේ. /Haiku/system/packages/administrative/state-<...>/
නිරන්තරයෙන්. නිම නොකළ මෙහෙයුම් ඔවුන්ගේ දත්ත උප බහලුම්වල ගබඩා කරයි /Haiku/system/packages/administrative/transaction-<...>/
.
අන්තර්ගතය /Haiku/system/packages/administrative
. "රාජ්ය ..." බහලුම්වල ක්රියාකාරී පැකේජ වල නම් සහිත පෙළ ගොනු අඩංගු වන අතර "ගනුදෙනුව ..." බහලුම්වල පැකේජ අඩංගු වේ.
"පැරණි ක්රියාකාරී තත්ත්වය", i.e. ලැයිස්තුව .hpkg
වෙනස් කිරීමට පෙර සක්රිය පැකේජ පෙළ ගොනුවක ගොනු කළමනාකරු තුළ එක් එක් මෙහෙයුමෙන් පසුව වාර්තා වේ /Haiku/system/packages/administrative/state-<...>/activated-packages
. ඒ හා සමාන ආකාරයකින්, නව "ක්රියාකාරී තත්වයක්" පෙළ ගොනුවක ලියා ඇත /Haiku/system/packages/administrative/activated-packages
.
බහලුම /Haiku/system/packages/administrative/state-<...>/
මෙම ප්රාන්තයේ ක්රියාකාරී පැකේජ ලැයිස්තුවක් සහිත පෙළ ගොනුවක් පමණක් අඩංගු වේ (ඉවත් කිරීමකින් තොරව පැකේජ ස්ථාපනය කිරීමේදී), සහ පැකේජ ඉවත් කර ඇත්නම් හෝ යාවත්කාලීන කර ඇත්නම් - රාජ්ය නාමාවලියෙහි පැකේජවල පැරණි අනුවාද අඩංගු වේ.
පද්ධතිය ආරම්භ වන විට, පැකේජ ලැයිස්තුව මත පදනම්ව, පැකේජ සක්රිය කිරීමට (මවුට්) තීරණයක් ගනු ලැබේ. එය ඉතා සරලයි! බාගැනීමේදී යම් දෙයක් වැරදී ගියහොත්, ඔබට වෙනත් පැරණි ලැයිස්තුවක් භාවිතා කරන ලෙස බාගැනීම් කළමනාකරුට පැවසිය හැක. ගැටලුව විසඳා ඇත!
හයිකු බාගත කරන්නා. සෑම පිවිසුම් ලක්ෂයක්ම අනුරූප "ක්රියාකාරී තත්වයක්" පෙන්වයි
තේරුම් ගැනීමට පහසු නම් සහිත, "ක්රියාකාරී තත්වය" ලැයිස්තුව ලෙස සරල පෙළ ගොනු තිබීමේ ප්රවේශයට මම කැමතියි .hpkg
. මෙය යන්ත්ර සඳහා-මිනිසුන් සඳහා නොවන-සාදන ලද බවට සම්පූර්ණයෙන්ම වෙනස් වේ.
එක් එක් කාල සීමාව සඳහා ක්රියාකාරී පැකේජ ලැයිස්තුව
සැකසුම් දත්ත
පෙනෙන විදිහට, නාමාවලියෙහි /Haiku/system/packages/administrative/writable-files
පැකේජ සඳහා වින්යාස ගොනු අඩංගු වේ, නමුත් ඒවා ලිවිය හැකි ය. සියල්ලට පසු, ඔබට මතක ඇති පරිදි, .hpkg
කියවීමට පමණක් සවි කර ඇත. එබැවින් මෙම ගොනු ලිවීමට පෙර පැකේජ වලින් පිටපත් කළ යුතුය. අර්ථය ඇත.
.hpkg පද්ධතිය සඳහා GUI ඒකාබද්ධ කිරීම
අපි දැන් බලමු මේ දිලිසෙන බෑග් කොහොමද කියලා .hpkg
පරිශීලකයාගේ වැඩ පරිසරයට (UX) ඒකාබද්ධ වීම සමඟ සාර්ථකව කටයුතු කරන්න. සියල්ලට පසු, හයිකු පුද්ගලික භාවිතය සඳහා අදහස් කෙරේ, සියල්ලට පසු. පුද්ගලිකව, මම පරිශීලක අත්දැකීම් පැකේජ සමඟ සංසන්දනය කරන විට තීරුව ඉහළට සකසමි .app
Macintosh මත එම අත්දැකීම සමග .hpkg
. මම ලිනක්ස් හි වැඩ කරන පරිසරයන් සමඟ තත්වය සංසන්දනය නොකරමි, මන්ද එය අනෙක් ඒවාට සාපේක්ෂව භයානක ය.
පහත දැක්වෙන අවස්ථා මතකයට නැඟේ:
- මට පැකේජයක අන්තර්ගතය බැලීමට අවශ්යයි
.hpkg
- මට පැකේජයක් ස්ථාපනය කිරීමට අවශ්යයි
- මට පැකේජය ඉවත් කිරීමට අවශ්යයි
- පැකේජයක කොටසක් ලෙස පද්ධතියට පැමිණි යමක් ඉවත් කිරීමට මට අවශ්යයි
- පැකේජයක කොටසක් ලෙස පද්ධතියට පැමිණි දෙයක් මට පිටපත් කිරීමට අවශ්යයි
- මට සෑම හයිකු ස්ථාපනයකම කොටසක් නොවිය හැකි පැකේජයක සියලු පරායත්තතා බාගත කිරීමට අවශ්යයි (උදාහරණයක් ලෙස, මා සතුව අන්තර්ජාල ප්රවේශයක් නොමැති භෞතිකව හුදකලා යන්ත්රයක් ඇත.)
- මට මගේ පැකේජ (හෝ ඒවායේ කොටසක්) වෙන වෙනම වෙනත් ස්ථානයකට ගෙන යාමට අවශ්යයි, ඇරඹුම් පරිමාවෙන් (root partition) වෙන්ව (උදාහරණයක් ලෙස, මට එහි ප්රමාණවත් ඉඩක් නොමැති නිසා).
මෙය මගේ එදිනෙදා වැඩ සිට ප්රධාන අවස්ථා බොහොමයක් ආවරණය කළ යුතුය. හොඳයි, අපි පටන් ගනිමු.
පැකේජ අන්තර්ගතය පරීක්ෂා කිරීම
මැක් මත මම පැකේජය විවෘත කිරීමට සහ Finder හි අන්තර්ගතය බැලීමට එය මත දකුණු-ක්ලික් කරන්න. ඇත්ත වශයෙන්ම, ඇත්ත වශයෙන්ම එය වෙස්වළාගත් නාමාවලියක් පමණි! (මම දන්නවා පැකේජ තියෙනවා .pkg
යෙදුම් නොවන පද්ධතියේ කොටසක් සඳහා, නමුත් සාමාන්ය පරිශීලකයින් බොහෝ විට ඒවා සමඟ අන්තර් ක්රියා නොකරයි).
හයිකු මත මම පැකේජය මත දකුණු-ක්ලික් කරන්න, පසුව ඇතුළත ඇති දේ බැලීමට "අන්තර්ගතය" මත ක්ලික් කරන්න. නමුත් මෙහි ඇත්තේ දෙවරක් ක්ලික් කිරීමෙන් විවෘත කිරීමේ හැකියාව නොමැති ගොනු ලැයිස්තුවක් පමණි.
පැකේජය (තාවකාලිකව) සවි කිරීමට ක්රමයක් තිබේ නම් එය වඩා හොඳය .hpkg
ගොනු කළමණාකරුවෙකු හරහා බැලිය යුතු අතර, ක්රියාත්මක කිරීමේ විස්තර ගැන පරිශීලකයාට කරදර විය යුතු නැත. (මාර්ගය වන විට, ඔබට විවෘත කළ හැකිය .hpkg
පැකේජය තුළ Expander
, වෙනත් ඕනෑම ලේඛනාගාරයක් මෙන් එය ඉවත් කළ හැක).
HaikuDepot හි අතුරුමුහුණත මඟින් ඔබට පැකේජ ගොනු ලැයිස්තුවක් බැලීමට ඉඩ සලසයි, නමුත් README.md ද්වි-ක්ලික් කිරීමෙන් අන්තර්ගතය බැලීමට ක්රමයක් නොමැත.
Mac මෙම ප්රවර්ගය තුළ ජයග්රහණය කරයි, නමුත් ඔබට අවශ්ය HaikuDepot ක්රියාකාරීත්වය එක් කිරීම එතරම් අපහසු නොවිය යුතුය.
GUI හරහා පැකේජයක් ස්ථාපනය කිරීම
මැක් මත, බොහෝ තැටි රූප .dmg
පැකේජ අඩංගු වේ .app
. තැටි රූපය මත දෙවරක් ක්ලික් කර පැකේජය පිටපත් කරන්න, උදාහරණයක් ලෙස, එය ඇදගෙන යාමෙන් /Applications
Finder හි. මේක මට නොකියාම යනවා, නමුත් සමහර නවකයන්ට මේක දරාගන්න බැරි වෙන්න පුළුවන් කියලා මම අහලා තියෙනවා. පෙරනිමියෙන්, Apple විසින් පද්ධතිය පුරා නාමාවලියක් "යෝජනා කරයි" /Applications
(NEXT හි එය ජාලගත මෙන්ම තනි පුද්ගල), නමුත් ඔබට පහසුවෙන් ඔබගේ යෙදුම් ගොනු සේවාදායකයක හෝ උප බහලුමක තැබිය හැක. $HOME/Applications
, ඔබ කැමති නම් ඒ ආකාරයට.
හයිකු මත, පැකේජය මත දෙවරක් ක්ලික් කරන්න, ඉන්පසු "ස්ථාපනය කරන්න" මත ක්ලික් කරන්න, එය පහසු විය නොහැක. HaikuPorts හි ඇති නමුත් තවමත් ස්ථාපනය කර නොමැති පැකේජයක පරායත්තතා තිබේ නම් කුමක් සිදුවේදැයි මම කල්පනා කරමි. ලිනක්ස් හි මෙම තත්වය තුළ කුමක් කළ යුතු දැයි ඔවුන් සැබවින්ම නොදනී, නමුත් විසඳුම පැහැදිලිය - පරායත්තතා බාගත කර ස්ථාපනය කිරීමට අවශ්ය දැයි පරිශීලකයාගෙන් විමසන්න. හරියටම හයිකු කරන දේ.
මම 'sanity' පැකේජය අතින් බාගත කර එය මත ක්ලික් කළෙමි, පැකේජ කළමණාකරු එහි පරායත්තතා ලබා ගන්නේ කොහෙන්දැයි දනී (නිධිය දැනටමත් පද්ධතියේ ලියාපදිංචි වී ඇතැයි උපකල්පනය කරයි). සෑම Linux බෙදාහැරීමකටම මෙය කළ නොහැක.
තවත් ක්රමයක් නම් ගොනු කළමනාකරුවෙකු භාවිතා කිරීමයි, ඇදගෙන යාම .hpkg
පැකේජය හෝ ඇතුළත /Haiku/system/packages
(පද්ධතිය පුරා ස්ථාපනය සඳහා, පෙරනිමියෙන්), හෝ තුළ /Haiku/home/config/packages
(තනි ස්ථාපනය සඳහා; ද්වි-ක්ලික් කිරීමේදී ලබා ගත නොහැක - මෙම ස්ථානයේ ඇති "config" යන වචනයෙන් මම තවමත් කෝපයට පත් වෙමි, මෙම අවස්ථාවේ දී එය මට "සැකසීම්" යන්නට සමාන වේ). තවද බහු පරිශීලකයින් යන සංකල්පය තවමත් හයිකු සඳහා ලබා ගත නොහැක (එය ඉතා සරල වන්නේ එබැවිනි - මම නොදනිමි, සමහර විට බහු-පරිශීලක හැකියාවන් ඩෙස්ක්ටොප් ඩෙස්ක්ටොප් පරිසරයක් සඳහා දේවල් අනවශ්ය ලෙස සංකීර්ණ කරනු ඇත).
යෙදුම් සමඟ පමණක් නොව, පද්ධති වැඩසටහන් සමඟද ක්රියා කළ හැකි බැවින් මෙම කාණ්ඩයේ හයිකු ජයග්රහණය කරයි.
GUI වෙතින් පැකේජයක් ඉවත් කිරීම
මැක් මත, ඔබට යෙදුම් නිරූපකය කුණු කූඩයට ඇදගෙන යා යුතු අතර එපමණයි. පහසුවෙන්!
හයිකු මත, පළමුව, ඔබ පද්ධතියේ පැකේජය පිහිටා ඇත්තේ කොතැනදැයි සොයා බැලිය යුතුය, මන්ද ඔබ එය නිවැරදි ස්ථානයේ ස්ථාපනය කරන්නේ කලාතුරකිනි (පද්ධතිය සෑම දෙයක්ම කරයි). සාමාන්යයෙන් ඔබ සොයා බැලිය යුතුය /Haiku/system/packages
(පද්ධති-පුළුල් පෙරනිමි ස්ථාපනයක් සමඟ), හෝ තුළ /Haiku/home/config/packages
(“config” යනු වැරදි නාමයක් බව මා සඳහන් කළාද?). එවිට යෙදුම සරලව කුණු කූඩයට ඇද දමනු ලැබේ, එය එයයි.
පහසුවෙන්! කෙසේ වෙතත්, මම එය නොකියමි. ඇත්තටම වෙන්නේ මෙන්න මෙහෙමයි.
ඔබ යෙදුමක් කුණු කූඩයට ඇදගෙන ගියහොත් මෙය සිදු වේ /Haiku/system/packages
QtQuickApp හි මගේ ඊයේ "Hello World" යෙදුම කුණු කූඩයට ගෙන යාමට උත්සාහ කළා. මම පද්ධති නාමාවලිය ගෙන යාමට උත්සාහ කළේ නැත, සහ සියලුම පැකේජ පද්ධති නාමාවලියෙහි ස්ථාපනය කර ඇති බැවින්, පැකේජය ඉවත් කිරීමට නොහැක .hpkg
වෙනසක් නොමැතිව "එහි අන්තර්ගතය". සාමාන්ය පරිශීලකයෙකු බියට පත් වන අතර පෙරනිමියෙන් පවරා ඇති "අවලංගු කරන්න" බොත්තම ඔබන්න.
පැහැදිලි කරයි
මෙම තනතුර වසර 10 කට වඩා පැරණි ය. බොහෝ දුරට අපට එය වින්යාස කිරීමට අවශ්ය වන අතර එමඟින් අනතුරු ඇඟවීම දිස්වන්නේ පැකේජය ගෙන ගිය විට පමණි. සාමාන්ය පරිශීලකයින් කෙසේ හෝ මෙය කිරීමට අවශ්ය නොවේ.
හරි, සමහර විට මම මෙය HaikuDepot භාවිතයෙන් කළ යුතුද? මම පැකේජය මත දෙවරක් ක්ලික් කරමි /Haiku/system/packages
, "අස්ථාපනය කරන්න" බොත්තම දිස්වන තෙක් බලා සිටීම. නැත, "ස්ථාපනය කරන්න" (පමණක්) ඇත. "අස්ථාපනය කරන්න", ඔබ කොහෙද?
හුදෙක් විනෝදය සඳහා, මම දැනටමත් ස්ථාපනය කර ඇති පැකේජයක් මත "ස්ථාපනය කරන්න" ක්ලික් කළහොත් කුමක් සිදුවේදැයි බැලීමට මම උත්සාහ කළෙමි. එය මෙසේ හැරෙනවා:
ඔබ දැනටමත් ස්ථාපනය කර ඇති පැකේජයක් ස්ථාපනය කිරීමට උත්සාහ කරන්නේ නම් මෙය සිදු වේ.
ඊළඟට දිස්වේ:
ඔබ පෙර කවුළුවේ "වෙනස්කම් යොදන්න" ක්ලික් කළහොත්, එය මේ ආකාරයෙන් පෙනෙනු ඇත
මෙය මෘදුකාංග දෝෂයක් යැයි මම උපකල්පනය කරමි; යෙදුමට සබැඳිය දැනටමත් ඇත. [කර්තෘ සබැඳියක් ලබා දී නැත - දළ වශයෙන්. පරිවර්තක]
ඉක්මන් විසඳුම: පැකේජය දැනටමත් තිබේ නම් "අස්ථාපනය කරන්න" බොත්තමක් එක් කරන්න
/Haiku/system/packages
, හෝ තුළ/Haiku/home/config/packages
.
HaikuDepot හි ස්ථාපනය කර ඇති පැකේජ ලැයිස්තුව බලන විට, මම ලැයිස්තුවේ මගේ පැකේජය දකින අතර එය ඉවත් කළ හැකිය.
Mac මෙම කාණ්ඩයෙන් ජය ගනී. නමුත් නිසි සැකසුමකින්, Haiku හි පරිශීලක අත්දැකීම Mac වලට වඩා හොඳ වනු ඇතැයි මට සිතාගත හැකිය. (එක් සංවර්ධකයෙක් එය ශ්රේණිගත කළේ මෙසේය: "HaikuDepot වෙත නිශ්චිත ක්රියාකාරීත්වය එක් කිරීමට පැයකට වඩා අඩු කාලයක්, ඔබ C++ ටිකක් දන්නේ නම්", ඕනෑම ස්වේච්ඡා සේවකයෙක්ද?)
පැකේජයකින් යමක් ඉවත් කිරීම
පැකේජය නොව යෙදුමම ඉවත් කිරීමට උත්සාහ කරමු .hpkg
, එය පැමිණියේ එයින් ("හුදෙක් මනුෂ්යයන්" සඳහා යම් වෙනසක් තිබේදැයි මට සැකයි).
මැක් මත, පරිශීලකයා සාමාන්යයෙන් ගොනුව සමඟ ක්රියා කරයි .dmg
යෙදුම් පැකේජය පැමිණෙන්නේ කොහෙන්ද? .app
. සාමාන්යයෙන් පින්තූර .dmg
බාගැනීම් නාමාවලියෙහි රැස්කර ඇති අතර, පරිශීලකයා විසින් පැකේජ පිටපත් කරනු ලැබේ /Applications
. බොහෝ පරිශීලකයින් තමන් කරන්නේ කුමක්දැයි නොදන්නා බව විශ්වාස කෙරේ, මෙම උපකල්පනය හිටපු ඇපල් සේවකයෙකු විසින් සනාථ කරයි. (මම මැක් මත අකමැති දේවල් වලින් එකක්. සහ, උදාහරණයක් ලෙස, AppImage සමඟ යෙදුම සහ එහි තිබූ පැකේජය අතර වෙනසක් නැත. අයිකනය කුණු කූඩයට ඇද දමන්න = එයයි. පහසුයි!)
හයිකු මත, අතර බෙදීමක් ද ඇත apps/
и packages/
, එබැවින් මෙය පරිශීලකයින්ට වඩා පැහැදිලි බව මට සැකයි. නමුත් ඔබ යෙදුමක් ඇදගෙන ගියහොත් කුමක් සිදුවේද? apps/
ගැලට එක් කරන්න:
ඔබ ගොනුවකින් ගත් යෙදුමක් ඉවත් කිරීමට උත්සාහ කරන විට මෙය සිදු වේ .hpkg
තාක්ෂණික වශයෙන් එය නිවැරදියි (සියල්ලට පසු, යෙදුම මුලින්ම කියවීමට පමණක් ගොනු පද්ධතියක සත්කාරකත්වය සපයයි), නමුත් එය පරිශීලකයාට විශේෂයෙන් ප්රයෝජනවත් නොවේ.
ඉක්මන් විසඳුම: ඒ වෙනුවට මකා දැමීමට GUI භාවිතා කිරීමට යෝජනා කරන්න
.hpkg
හුදෙක් විනෝදය සඳහා, මම Alt+D එබීමෙන් යෙදුම අනුපිටපත් කිරීමට උත්සාහ කළෙමි. "කියවීමට-පමණි වෙළුම මත වස්තූන් ගෙනයාමට හෝ පිටපත් කිරීමට නොහැක" යන පණිවිඩය මට ලැබුණි. සහ සියල්ල නිසා /system
(ඊට අමතරව /system/packages
и /system/settings
) යනු packfs mount point වේ (එය ප්රතිදානයේ දිස්වන ආකාරය මතක තබා ගන්න df
?). අවාසනාවකට, විධානයේ ප්රතිදානය mount
තත්වය පැහැදිලි නොකරයි (පෙර ලිපි වලින් එකක පැවසූ පරිදි), mountvolume
ඔබ සොයන දේ නොපෙන්වයි (පෙනෙන විදිහට ලූප් හරහා පැකේජ සවි කර ඇත .hpkg
"පරිමා" ලෙස නොසැලකේ), සහ මට විකල්ප විධාන ද අමතක විය.
AppImage හැර මෙම කාණ්ඩයේ කිසිවෙකු ජයග්රහණය කළේ නැත (නමුත් මෙය සම්පූර්ණයෙන්ම අවංකව කිවහොත් එය පක්ෂග්රාහී මතයකි). කෙසේ වෙතත්, tweaking පසු, Haiku මත පරිශීලක අත්දැකීම Mac මත වඩා හොඳ වනු ඇතැයි කෙනෙකුට සිතිය හැක.
සටහන: "කොටසක්" සම්බන්ධයෙන් "පරිමාව" යනු කුමක්දැයි ඔබ සොයා බැලිය යුතුය. මෙය බොහෝ විට "ෆෝල්ඩරය" සහ "ඩිරෙක්ටරිය" අතර සම්බන්ධතාවයට සමාන වේ: බොහෝ නාමාවලි ගොනු කළමනාකරු තුළ ෆෝල්ඩර ලෙස දිස්වේ, නමුත් ඒවා සියල්ලම නොවේ (උදාහරණයක් ලෙස ගොනු ලෙස සලකන පැකේජ). මෙවැනි ප්රදර්ශනයක් මා නිල වශයෙන් මෝඩයෙක් කරයිද?
පැකේජයක අන්තර්ගතය වෙනත් පද්ධතියකට පිටපත් කිරීම
මැක් මත, මම මෝඩ ලෙස පැකේජය ඇදගෙන යන්නෙමි .app
, සහ පරායත්තතා පැකේජය තුළ ඇති බැවින්, ඒවා එකට ගමන් කරයි.
හයිකු මත, මම යෙදුම ඇදගෙන යමි, නමුත් පරායත්තතා කිසිසේත් සැකසෙන්නේ නැත.
ඉක්මන් විසඳුම: ඒ වෙනුවට ඕනෑම පරායත්තයක් තිබේ නම්, සම්පූර්ණ `.hpkg පැකේජයම ඇදගෙන යාමට යෝජනා කරමු.
මෙම කාණ්ඩයේ මැක් පැහැදිලිවම ජය ගනී. අඩුම තරමේ මට, ඔවුන්ගේ සුසමාදර්ශයට ආදරය කරන කෙනෙක්. මම එය හයිකු වෙත පිටපත් කළ යුතුයි .hpkg
යෙදුමක් වෙනුවට, නමුත් පද්ධතිය මට මෙය ලබා දෙන්නේ නැත ...
එහි සියලු පරායත්තතා සහිත පැකේජයක් බාගන්න
සෑම යන්ත්රයක්ම සෑම විටම ජාලයට සම්බන්ධ නොවේ. ඊට පටහැනිව, සමහර යන්ත්ර (ඔව්, මම ඔබ දෙස බලා සිටිමි, නවීන වින්ඩෝස්, මැක් සහ ලිනක්ස්) මෙය අමතක කරයි. මට වැදගත් වන්නේ, මට අන්තර්ජාල ආපන ශාලාවකට ගොස්, ඉවත් කළ හැකි ධාවකයකට මෘදුකාංග බාගත කර, මෙම ධාවකය මගේ නිවසේ පරිගණකයට ඇතුළු කර, සෑම දෙයක්ම ක්රියාත්මක වන බවට වග බලා ගන්න [අවදානම ඇති මිනිහා, මෙය වින්ඩෝස් මත කරන්නේ ... - ආසන්න වශයෙන්. පරිවර්තක].
එහි ප්රතිඵලයක් වශයෙන්, මම සාමාන්යයට වඩා මදක් වැඩි වාර ගණනක් Windows සහ Linux මත අසම්පූර්ණ පරායත්තයන් සමඟ අවසන් වීමට නැඹුරු වෙමි.
මැක් මත මෙය සාමාන්යයෙන් එක් ගොනුවකි, ඔබ කළ යුත්තේ බාගත කිරීම පමණි .dmg
. බොහෝ විට, එය පෙරනිමියෙන් MacOS විසින්ම සපයන ලද ඒවා හැර වෙනත් පරායත්තතා නොමැත. ව්යතිරේකයක් යනු සුදුසු ක්රියාත්මක කිරීමේ පරිසරයක් අවශ්ය වන සංකීර්ණ යෙදුම් වේ, උදාහරණයක් ලෙස java.
හයිකු මත බාගත පැකේජය .hpkg
මක්නිසාද යත්, ජාවා හි එම යෙදුමම ප්රමාණවත් නොවිය හැක, මන්ද java ඉලක්ක යන්ත්රයේ තිබිය හැකි හෝ නොතිබිය හැකි බැවිනි. දී ඇති පැකේජයක් සඳහා සියලු පරායත්තයන් බාගත කිරීමට ක්රමයක් තිබේද? .hpkg
, Haiku හි පෙරනිමියෙන් ස්ථාපනය කර ඇති ඒවා හැර, එබැවින් සෑම Haiku පද්ධතියකම තිබිය යුතුද?
Mac මෙම කාණ්ඩය කුඩා ආන්තිකයකින් ජය ගනී.
අදහස් Mr. waddlesplash:
පැකේජ කට්ටලයක් ලෙස යෙදුමක සියලු පරායත්තතා එකතු කිරීම සඳහා වැඩසටහනක් ලිවීමට
.hpkg
හයිකු අභ්යන්තර ක්රියාකාරිත්වය ගැන හුරුපුරුදු කෙනෙකුට විනාඩි 15ක් පමණ ප්රමාණවත් වේ. සැබෑ අවශ්යතාවයක් ඇත්නම් මේ සඳහා සහයෝගයක් එකතු කිරීම එතරම් අපහසු නොවේ. නමුත් මට මෙය දුර්ලභ තත්වයක්.
මේ ලිපි මාලාවේ මීළඟ ලිපිය එනතුරු හුස්ම හිරකරගෙන ඉමු.
පැකේජ වෙනම ස්ථානයකට ගෙන යාම
මම කලින් ලියා ඇති පරිදි, මට මගේ පැකේජ තැබීමට අවශ්යයි .hpkg
(හොඳින්, හෝ ඒවායේ කොටසක්) විශේෂ ස්ථානයකට, ඇරඹුම් පරිමාව (root partition) මත සුපුරුදු ස්ථානගත කිරීමෙන් වෙන්ව. සාමාන්ය (එතරම් න්යායික නොවන) අවස්ථාවෙහිදී, මෙයට හේතුව වන්නේ මගේ (බිල්ට්-ඉන්) තැටි කොතරම් විශාල වුවත් ඒවායේ ඇති නිදහස් ඉඩ ප්රමාණවත් නොවීමයි. තවද මම සාමාන්යයෙන් මගේ යෙදුම් පිහිටා ඇති බාහිර ධාවකයන් හෝ ජාල කොටස් සම්බන්ධ කරමි.
මැක් මත මම පැකේජ මාරු කරනවා විතරයි .app
Finder හි ඉවත් කළ හැකි ධාවකයකට හෝ ජාල නාමාවලියකට, සහ එපමණයි. මම සාමාන්යයෙන් ඇරඹුම් පරිමාවෙන් කරන පරිදි යෙදුම විවෘත කිරීමට මට තවමත් දෙවරක් ක්ලික් කළ හැක. යන්තම්!
හයිකු මත, මට පැවසූ පරිදි, මගේ චලනය කිරීමෙන් මෙය සාක්ෂාත් කරගත හැකිය .hpkg
ඉවත් කළ හැකි ධාවකයක් හෝ ජාල නාමාවලියක් වෙත පැකේජ, නමුත් පසුව ඔබට පද්ධතිය මත සවි කිරීම සඳහා කොන්සෝලය තුළ ලේඛනගත නොකළ විධාන කිහිපයක් භාවිතා කළ යුතුය. GUI පමණක් භාවිතා කර මෙය කරන්නේ කෙසේදැයි මම නොදනිමි.
මෙම කාණ්ඩයේ මැක් ජය ගනී.
මහතාට අනුව. waddlesplash:
මෙය සාමාන්ය භාවිතය මත පදනම් වූ ප්රශස්තකරණයකි. එක් පරිශීලකයෙකුට වඩා වැඩි ඉල්ලුමක් තිබේ නම්, අපි එය ක්රියාත්මක කරන්නෙමු. ඕනෑම අවස්ථාවක, තෙවන පාර්ශවීය ක්රියාත්මක කිරීමේ හැකියාව ඇත.
අපි මේ ගැන ඊළඟ ලිපියෙන් කතා කරමු.
ජාල නාමාවලි ගැන කතා කරන විට, දේශීය පරිගණකයට පිටපත් කළ හැකි හෝ ප්රාදේශීය ජාලයෙන් කෙළින්ම ක්රියාත්මක කළ හැකි සරල, සොයා ගත හැකි, ජාල පුරා යෙදුම් (Zeroconf වැනි) තිබීම ඉතා හොඳ වනු ඇත (මම LAN පාර්ශවයන් අනුමාන කරමි). ඇත්ත වශයෙන්ම, සංවර්ධකයින්ට මාර්ගයෙන් ඉවත් වීමේ විකල්පය ඇත app_flags
.
GUI සමඟ hpkg පද්ධතිය ඒකාබද්ධ කිරීම පිළිබඳ අවසන් වාර්තාව
මම හිතන්නේ එය මූලික වශයෙන් ඒකාබද්ධතාවයේ සාපේක්ෂ නව භාවය නිසා ය .hpkg
GUI තවමත් බලාපොරොත්තු වීමට බොහෝ දේ ඉතිරි කරයි. කොහොමහරි UX වලට අනුව වැඩි දියුණු කරන්න පුළුවන් දේවල් ටිකක් තියෙනවා...
තවත් දෙයක්: කර්නල් දෝශ නිරාකරණ ඉඩම
උදාහරණයක් ලෙස, කර්නල් භීතිකාව අතරතුර විධාන ඇතුළත් කිරීමට හැකි නම් එය ඉතා හොඳ වනු ඇත syslog | grep usb
. හොඳයි, හයිකු මත එය කර්නල් දෝශ නිරාකරණ ඉඩමට ස්තුති කළ හැකිය. කර්නල් භීතියකට පත් නොවී සෑම දෙයක්ම කළ යුතු ආකාරයට ක්රියාත්මක වන්නේ නම් මෙම මායාව ක්රියාත්මක වන ආකාරය ඔබට දැකිය හැක්කේ කෙසේද? Alt+PrintScn+D (Debug mnemonic) එබීමෙන් පහසුය. මට එකපාරටම මතක් වෙනවා
නිගමනය
හයිකු පද්ධතියේ නවීනත්වය පැමිණෙන්නේ එක් කුඩා කණ්ඩායමක් විසින් වැඩ පරිසරය පිළිබඳව පැහැදිලි අවධානයක් යොමු කරමින්, පද්ධතියේ සියලුම ස්ථරවලට ප්රවේශ විය හැකි බැවින් බව මට වැටහෙන්නට පටන් ගෙන ඇත.
Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu ලෝකය සමඟ තියුනු වෙනසක්, එහිදී සෑම දෙයක්ම කුඩා කැබලිවලට කැඩී ඇති අතර වියුක්තය වියුක්තතාවය මත වාඩි වී කිහිලිකරුවලින් ධාවනය වේ.
ක්රමය කොහොමද කියන එක ගැනත් අවබෝධයක් තිබුණා .hpkg
සාම්ප්රදායික පැකේජ කළමනාකරුවන්ගේ හොඳම භාවිතයන්, Snappy, Flatpak, AppImage, btrfs පවා ඒකාබද්ධ කරයි, සහ ඒවා Mac හි "යන්තම් වැඩ" ප්රවේශය සමඟ මුසු කරයි.
එය මගේ හිසෙහි යමක් "මාරු වී" මෙන් වූ අතර, පද්ධතිය කෙසේ දැයි මට වැටහුණි .hpkg
ඇය දෙස බැලීමෙන් ඉවතට පෙරළෙන්නේ කෙසේදැයි දනී. නමුත් එය මා නොවේ, නමුත් පද්ධතියේ අලංකාරය සහ සරල බව. මෙයින් බොහෝමයක් මුල් Mac හි ආත්මයෙන් ආභාෂය ලබා ඇත.
ඔව්, බ්රවුසරයේ බ්රවුස් කිරීම ගොළුබෙල්ලෙකු මෙන් ක්රියා විරහිත විය හැකිය, යෙදුම් හිඟ විය හැකිය (Gtk, ඉලෙක්ට්රෝන නැත - සංවර්ධකයින් නිගමනය කළේ ඒවා නවීනත්වය සමඟ නොගැලපෙන බවයි), වීඩියෝ සහ 3d ත්වරණය සම්පූර්ණයෙන්ම නොමැති විය හැකිය, නමුත් මම තවමත් මෙම පද්ධතියට කැමතියි. සියල්ලට පසු, මෙම දේවල් නිවැරදි කළ හැකි අතර ඉක්මනින් හෝ පසුව ඒවා දිස්වනු ඇත. එය කාලය පිළිබඳ ප්රශ්නයක් පමණක් වන අතර සමහර විට කුඩා ඇස් රතු විය හැකිය.
මට උදව් කරන්න බැහැ, නමුත් මම හිතන්නේ එය මෙතැන් සිට ආරම්භ වේවි ඩෙස්ක්ටොප් එකේ හයිකු අවුරුද්ද.
අහඹු ගැටළු
සමහරවිට දැනටමත් ඉල්ලීම් තිබේද, නැතහොත් මම ඒවා විවෘත කළ යුතුද?
- BeScreenCapture හට Peek වැනි GIF වෙත නිර්යාත කිරීමට හැකි විය යුතුය. මෙය දැනටමත් හයිකු සඳහා ලබා ගත හැකි ffmpeg භාවිතයෙන් කළ හැක.
අයදුම්පත . - Screenshot මෘදුකාංගය මොඩල් කවුළුවක් ග්රහණය කර ගැනීමට අසමත් වේ, ඒ වෙනුවට සම්පූර්ණ තිරය ග්රහණය කරයි
- ඔබට WonderBrush හි කප්පාදු කිරීමේ මෙවලම භාවිතයෙන් තිරපිටපත් කප්පාදු කළ නොහැකි අතර ප්රතිඵලය ගොනුවකට සුරැකිය හැක
- මම විශේෂයෙන් හයිකු හි හෑන්ඩ් කර්සරයට කැමති නැත, නමුත් එය උණුසුම් නොස්ටැල්ජික් හැඟීම සමඟ සම්බන්ධ යැයි මම සිතමි. Krita හි බෝග මෙවලම භාවිතා කරන විට මෙය විශේෂයෙන් කරදරකාරී වේ, එය සාවද්ය කප්පාදුවක් ඇති කරයි (මෙම ලිපියේ මාදිලියේ සංවාදවල තිරපිටපත් බලන්න). හරස්කඩ කර්සරය විශිෂ්ට වනු ඇත.
අයදුම්පත .
එය ඔබම උත්සාහ කරන්න! සියල්ලට පසු, හයිකු ව්යාපෘතිය මඟින් ජනනය කරන ලද DVD හෝ USB වෙතින් ආරම්භ කිරීම සඳහා රූප සපයයි
ඔබට ප්රශ්න තිබේද? රුසියානු භාෂාව කතා කිරීමට අපි ඔබට ආරාධනා කරමු
දෝෂ දළ විශ්ලේෂණය:
සිට
ලිපි ලැයිස්තුව:
මූලාශ්රය: www.habr.com