3 पॉइंट द्वारा GN⁺ 28 일 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • macOS के लिए Samsung Magician को हार्डवेयर एन्क्रिप्शन सेट करने के लिए इंस्टॉल किया गया था, लेकिन यह ठीक से काम नहीं करता, और इसे हटाने की कोशिश करने पर delete बटन मौजूद ही नहीं है
  • ऐप के अंदर मौजूद cleanup script चलाने पर 500 से अधिक errors आते हैं, और file ownership बदलने में विफल रहने के कारण ज़्यादातर फाइलें बची रह जाती हैं
  • मैन्युअली दर्जनों folders और files हटाने के बाद भी, SIP protection की वजह से 8 kernel extension files बची रहती हैं, जिन्हें हटाने के लिए recovery mode में जाना पड़ता है
  • SIP को disable और फिर re-enable करने के लिए recovery mode में दो बार boot करना पड़ता है, और पूरी तरह हटाने के लिए कुल 18-step प्रक्रिया से गुजरना होता है
  • एक साधारण disk utility होने के बावजूद, अत्यधिक जटिलता और अनावश्यक components की वजह से इसे हटाना बेहद मुश्किल हो जाता है, और यह bloatware जैसा बन जाता है

Samsung Magician हटाने की प्रक्रिया की समस्याएँ

  • Samsung Magician को external SSD की hardware encryption feature सेट करने के लिए इंस्टॉल किया गया था, लेकिन यह ठीक से काम नहीं करता था, इसलिए इसे हटाना ज़रूरी हो गया
  • macOS version में delete बटन या drag-to-delete जैसी कोई सुविधा नहीं है, और ऐप के अंदर गहरे path में CleanupMagician_Admin_Mac.sh script शामिल है
  • इस script को चलाने पर 500 से अधिक chown: Operation not permitted errors आते हैं, file ownership बदलना विफल हो जाता है और deletion नहीं हो पाता
  • script errors को handle किए बिना हर file पर बार-बार चलती रहती है और फिर बंद हो जाती है
  • नतीजतन, ज़्यादातर files सिस्टम में वैसे ही बची रहती हैं

मैन्युअल deletion की कोशिश

  • इसलिए rm -rf command का इस्तेमाल करके Samsung से जुड़े folders और files को सीधे हटाने की कोशिश की गई
    • Application Support, Preferences, Caches, LaunchAgents, LaunchDaemons, Extensions, Logs जैसी कई locations में manual deletion किया गया
  • इसके बाद find / -iname "*samsung*magician*" command से जाँच करने पर पता चला कि अब भी 27 residual files मौजूद हैं
    • /Library/StagedExtensions/ और /System/Volumes/Data/Library/StagedExtensions/ में kernel extension files
    • /private/var/db/receipts/ में package receipt files
    • /private/var/folders/.../C/ में cache process files
    • Crash Reporter list और Application Support के भीतर Samsung Magician folder आदि
  • sudo rm -rf command को बार-बार चलाने के बावजूद, 8 kernel extension files अब भी delete नहीं होतीं

kernel extension files हटाने के लिए recovery mode प्रक्रिया

  • बची हुई files SIP(System Integrity Protection) द्वारा सुरक्षित हैं, इसलिए सामान्य mode में इन्हें हटाया नहीं जा सकता
  • Mac को shut down करके recovery mode में boot किया जाता है, फिर csrutil disable command से SIP को disable करके reboot किया जाता है
  • kernel extension files हटाने के बाद फिर से recovery mode में जाकर csrutil enable command से SIP को दोबारा enable किया जाता है
  • इस पूरी प्रक्रिया में recovery mode में 2 बार boot और कुल 18 steps की ज़रूरत पड़ती है
  • केवल चार kernel extension files और उनकी copies हटाने के लिए दो बार reboot और recovery mode में प्रवेश करना पड़ता है

Samsung Magician की आंतरिक संरचना की अत्यधिक जटिलता

  • प्रोग्राम के भीतर frame-based PNG animations शामिल हैं
    • “Health: Good” स्टेटस दिखाने के लिए 150 PNG files का इस्तेमाल होता है
    • “Health: Critical”, “Gamer” theme, fingerprint progress और success animations के लिए भी अलग-अलग PNG sets मौजूद हैं
    • नतीजतन, एक साधारण disk utility में सैकड़ों PNG files शामिल हैं
  • अतिरिक्त रूप से शामिल components
    • Electron framework: disk space pie chart दिखाने के लिए पूरा Chromium engine शामिल
    • Squirrel framework: auto-update feature शामिल
    • ReactiveObjC, Mantle: reactive programming के लिए frameworks
    • Samsung के proprietary fonts कई weights (200~800) में शामिल
    • multilingual localization files शामिल (Korean, Japanese, Chinese, German, French, Italian, Russian, Portuguese, Spanish, Arabic, Hindi आदि)
    • banner ad images (banner_1.jpg~banner_5.jpg) शामिल
    • 10 भाषाओं के help documents और 40 से अधिक screenshots शामिल
  • इस संरचना की वजह से प्रोग्राम को अनावश्यक बोझ और जटिलता वाला overblown software (bloatware) माना गया है

Samsung Magician को पूरी तरह हटाने के 18 चरणों का सार

  1. ऐप में delete बटन ढूँढना (मौजूद नहीं)
  2. ऐप bundle के भीतर cleanup script ढूँढना
  3. script चलाने पर 500 errors, deletion विफल
    4~14. Application Support, Preferences, Caches, LaunchAgents, LaunchDaemons, Extensions, Receipts, Folders आदि में manual deletion दोहराना
  4. find command से 8 SIP-protected files की पहचान
  5. Mac shut down करके recovery mode में boot, SIP disable
  6. सुरक्षित kernel extension files delete करना
  7. recovery mode में फिर boot करके SIP re-enable करना
  • कुल मिलाकर 18 steps और recovery mode में 2 बार reboot की ज़रूरत पड़ती है, जो एक साधारण disk utility हटाने के लिए अत्यधिक प्रक्रिया है
  • नतीजतन, Samsung Magician बेहद मुश्किल से हटने वाला और अनावश्यक रूप से जटिल संरचना वाला software साबित होता है

1 टिप्पणियां

 
GN⁺ 28 일 전
Hacker News की राय
  • 90 के दशक में PartitionMagic नाम की एक disk utility बनाई गई थी
    यह उन शुरुआती टूल्स में से एक थी जो partitions को dynamically resize कर सकती थी
    लगता है Samsung के product name को शायद यहीं से प्रेरणा मिली हो
    वह दौर याद आता है जब install बस copy . to / होता था और uninstall delete / से खत्म हो जाता था

    • Mac पर अगर कोई सामान्य app सिर्फ drag करके install नहीं होता, तो यह बड़ा warning sign है
      ऐसे apps से बचना चाहिए, और ऐसी company का alternative ढूंढना चाहिए जो Mac को सही से समझती हो
      पहले Chrome installer ने admin permissions मांगी थीं और system को unbootable भी बना दिया था
      system utilities या drivers अलग मामला हैं, लेकिन PartitionMagic वाकई शानदार था
    • “PartitionMagic” ने individual users की बहुत मदद की थी
      लगता है यह देखने लायक है कि किसी organization के भीतर negative feedback culture क्या tech integration problems तक ले जाता है
      “18-step installation process” साफ़ तौर पर एक समस्या है, और Samsung के भीतर इसे priority पर लिया जाना चाहिए
      यह मज़ाक भी जोड़ा गया कि “Magician” नाम शायद Samsung की corporate culture का रूपक है
    • शीर्षक पढ़कर लगा, “‘disk utility’? क्या यह PartitionMagic जैसा कुछ है?” और अच्छा लगा कि बात सच में उसी की हो रही थी
      यह सचमुच कमाल का program था
    • PartitionMagic सिर्फ एक utility नहीं था, यह अपने दौर का iconic tool था
    • पहले हर तकनीशियन के ज़रूरी toolbox में PartitionMagic होता था
      यह हैरान कर देने वाली हद तक stable था और बहुत समय बचाता था
  • Mac पर बस इसे delete करना था, लेकिन recovery mode में जाना पड़ा → csrutil disable → reboot → kernel extension delete → फिर recovery mode → csrutil enable → फिर reboot…
    सिर्फ कुछ dead files हटाने के लिए यह सब करना पड़ा
    इसकी पूरी ज़िम्मेदारी Apple की है। root privileges को भी full admin power न रहने देने का फ़ैसला Apple ने ही किया

    • लेकिन system Apple का है, user का नहीं
      Apple device खरीदना ठीक है, लेकिन उन्होंने कभी open system का वादा नहीं किया
      अगर update के साथ कोई feature चला जाए, तो वह अधिकार नहीं था, बस एक दी हुई सुविधा थी
    • अगर झंझट लगता है तो उस protection को एक बार disable करके छोड़ सकते हैं
      ज़्यादातर power users भी security की वजह से इसे default पर enabled रखते हैं
    • यह प्रक्रिया परेशान करने वाली है, लेकिन आखिरकार malicious activity से बचाने के लिए safety measure है
    • यह design के मुताबिक ही काम कर रहा है, और असल में अच्छी दिशा है
      root (uid=0) को system की गहरी layers मनमाने ढंग से बदलने नहीं देना चाहिए
      kernel-level बदलाव रोज़मर्रा की permissions से संभव नहीं होने चाहिए, और यही System Integrity Protection का मूल है
      अगर इससे बेहतर तरीका है तो Apple को सुझाना चाहिए, लेकिन इन protections को नज़रअंदाज़ नहीं करना चाहिए
  • पहले macOS के लिए एक product ship किया था, और uninstall के समय trash error आता था
    उस समय Finder के पास extension API नहीं था, इसलिए menu जोड़ने के लिए Finder को reverse engineer करके code inject करना पड़ता था
    नतीजा यह हुआ कि Finder app bundle को लगातार open रखता था, इसलिए restart से पहले delete करना संभव नहीं था
    बाद में Finder extension API आने पर यह ठीक हुआ, लेकिन macOS की भी अपनी अंदरूनी जटिलता है

    • Raymond Chen के मुताबिक Shell extensions Explorer crashes की सबसे आम वजह हैं
      macOS में यह API न होना शायद उल्टा अच्छा design decision रहा हो
    • macOS Unix-based है, इसलिए open files भी delete की जा सकती हैं; सोचता हूँ क्या Finder अलग से check करता था
    • यह macOS की गलती कम और Windows में भी आम file handle problem ज़्यादा लगती है
    • सच कहें तो OS को दोष देने से ज़्यादा, यह app द्वारा system को असामान्य तरीके से छेड़ने का नतीजा लगता है
    • 10 साल से ज़्यादा Mac इस्तेमाल किया है, लेकिन Finder का उपयोग लगभग सिर्फ AirDrop button क्लिक करने के लिए ही होता है
  • macOS में camera access या background running जैसी permission request pop-ups की भरमार है,
    लेकिन industry partners को system में हर जगह ऐसे files फैलाने से नहीं रोकता जिन्हें हटाना मुश्किल हो

    • ऐसी security असल में user control घटाने और कंपनियों के lock-in effect को मज़बूत करने वाला नाटक भर है
      नतीजा यह है कि user का control कम होता जाता है, और Apple/MS/Google के पास ज़्यादा power आ जाती है
    • पहले .pkg files को संभालने वाली utilities में command-line delete option हुआ करता था, लेकिन अब गायब है
      आजकल PearCleaner जैसे open source removal tools ज़्यादा पसंद आते हैं
    • कई बार permission prompts का मकसद ही अस्पष्ट होता है
      “programming language access मांग रही है” जैसी अजीब wording भी दिख जाती है
  • करीब 10 साल पहले एक low-end Samsung TV खरीदा था, जिसमें variable audio delay था
    कुछ दिन sync ठीक रहता था, कुछ दिन audio कई सौ ms पीछे हो जाता था
    यक़ीन नहीं होता कि ऐसा product बेचा गया, और तभी तय कर लिया कि दोबारा Samsung नहीं खरीदूँगा

    • मज़ाक में कहा गया कि क्या उस समय sound processing Electron में की गई थी
  • पढ़ते समय यह मज़ेदार लगता है, लेकिन असल में यह दुखद हक़ीक़त है
    आगे software bloat और बढ़ेगा, ऐसा लगता है
    समझ नहीं आता कि बड़ी कंपनियाँ web technologies पर इतनी अटकी क्यों हैं कि disk utility भी web developers से बनवा रही हैं

    • इसकी वजह यह है कि hiring को non-developer HR चलाता है
      वे technical skill से ज़्यादा hot web stack keywords देखकर भर्ती करते हैं
      नतीजतन React developers तो बहुत मिलते हैं, लेकिन purpose-fit software बनाना जानने वाले लोग नहीं
  • मैं व्यक्तिगत रूप से Samsung products से बचता हूँ, और लगता है इससे कई परेशानियों से बच गया

    • ससुरजी के खरीदे Samsung TV में menu ads देखकर तुरंत नकारात्मक भावना आई
      Hawaii में एक Samsung washing machine इस्तेमाल की थी, जिसमें app connection के लिए DOWNLOAD mode था
      कपड़े धोने से पहले उन्हें हिलाकर detect करने में कई मिनट लगते थे, और पानी भी लगभग इस्तेमाल नहीं होता था
      फिर store में देखा एक Samsung refrigerator, जिसका door-mounted tablet freeze हो गया था
      इन तीन अनुभवों के बाद Samsung products को पूरी तरह छोड़ दिया
  • सिर्फ एक disk space pie chart दिखाने के लिए पूरा Electron framework डाल दिया गया
    “RAM सस्ती है, और जो RAM इस्तेमाल न हो वह बर्बादी है” — शायद यही Samsung management philosophy है

  • जो लोग Samsung Magician सिर्फ firmware update के लिए install करना चाहते हैं, उन्हें सलाह दी गई
    असल में इस program के बिना भी firmware update safely किया जा सकता है

    • इसके बाद किसी ने specific method पूछा
  • अगर आप Korean software को जानते हैं, तो यह सब समझ में आता है
    buttons का JPEG images होना वहाँ आम बात है