28 червня 2017 року Apple повідомила про це
macOS High Sierra стане останньою версією macOS для підтримки 32-бітних додатків без компромісів.
Як я можу дізнатися, які програми на моєму Mac 32-бітні, щоб я міг бачити, чи потрібно мені їх оновити?
28 червня 2017 року Apple повідомила про це
macOS High Sierra стане останньою версією macOS для підтримки 32-бітних додатків без компромісів.
Як я можу дізнатися, які програми на моєму Mac 32-бітні, щоб я міг бачити, чи потрібно мені їх оновити?
Відповіді:
Один із способів визначити 32-розрядні програми, які ви все ще використовуєте, - це використовувати опцію Інформація про систему в розділі About This Mac. Точні кроки відрізняються залежно від версії macOS, яку ви використовуєте, але нижче наведені широкі кроки, які ви повинні мати змогу виконати відповідно до ваших обставин:
64-Bit (Intel)
Клацніть на заголовку цього стовпця, щоб сортувати програми за тим, чи є вони 64-бітними (тобто вони матимуть " Так" або " Ні", вказані проти кожної програми).Погляньте на зображення нижче як приклад:
ПРИМІТКА. На наведеному вище зображенні я навмисно не сортував останній стовпець, щоб ви могли бачити записи, вказані як «Так», так і «Ні». Отже, у наведеному вище прикладі ви побачите, що iMovie v10.1.6 - це 64-розрядний додаток, а iMovie 9.0.9 - не 64-розрядний.
Редагувати - якщо вищезазначені кроки призводять до помилки
Я бачив повідомлення про те, що невелика кількість користувачів отримує повідомлення про помилку "Плагін не відповів досить швидко під час збору цієї інформації" під час очікування появи списку.
Якщо це трапиться, закрийте додаток «Інформація про систему» (або додаток System Profiler у старих версіях macOS) і почніть знову, але цього разу пропустіть кроки 1–4 і перейдіть безпосередньо до папки «Програми / утиліти» та відкрийте додаток «Інформація про систему» (або Система) Додаток Profiler) безпосередньо звідти. Після його відкриття виконайте кроки 5 - 8 вище.
У вікні Finder натисніть, cmdFщоб отримати вікно пошуку.
Натисніть кнопку + і додати другий критерій « Виконувані Архітектури » « Чи не » « x86_64 »
і ви отримаєте список усіх програм i386 (тобто 32-розрядних).
У Терміналі це робиться за допомогою:
mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"
~/Library/Application Support
, таких як ігри Steam. Інше рішення так. Чи знаєте ви, чи є спосіб змінити пошук, щоб він включив?
Інші відповіді поки що, наскільки я розумію, перерахують 32-розрядні програми macOS (і, можливо, деякі 32-бітні бінарні файли) в індексі метаданих. Якщо ви хочете перерахувати кожен 32-розрядний лише виконуваний двійковий файл у вашій системі, перейдіть на цю однокласинку:
find / -type f -perm +111 -exec file -p {} \; -exec head -c 1 /dev/zero \; | xargs -0 -n 1 sh -c 'echo "$@" | head -n 1' -- | grep -v x86_64 | grep -E Mach-O.+i386
Якщо у вас встановлені GNU findutils, це, ймовірно, може бути значно спрощено. Деякі складності тут полягають у тому, щоб подолати обмеження BSD-накопичувачів, включених до macOS.
Ця командна команда Terminal збирає список програм у текстовий файл на робочому столі. Він захоплює 6 рядків до та 2 рядки після кожного появи запиту "(Intel): Ні". Однак він не копається у 32-бітні підтримуючі бінарні файли або бібліотеки для вже зібраних 64-бітних програм. Цей список набагато більш обширний, і я не можу знайти жодного ресурсу, який би вирішив глибший рівень занепокоєння, якщо це навіть проблема.
system_profiler SPApplicationsDataType | grep -B 6 -A 2 "(Intel): No" > ~/Desktop/32BitAppList.txt
Коли потрібно просто перевірити одну заявку:
file myapplication
Наприклад, мій рейтрейсер, rt
:
==> file rt
rt: Mach-O 64-bit executable x86_64
==>
file
Команда в основному дивиться на багатьох типах файлів і намагається ідентифікувати їх. Для виконуваних файлів OSX ви майже завжди бачите одне або декілька з них: i386, x86_64 та ppc, які відповідно є 32-бітними архітектурами intel / amd, 64-бітовими архітектурами intel / amd та потужними архітектурами ПК (ці досить старі архітектури) тепер.) Тож вам справді слід потурбуватися лише про i386 (32-розрядні програми) та x86_64 (64-розрядні програми.)
Для пакуваних програм слід клацнути правою кнопкою миші та Показати зміст пакета . У більшості додатків під contents → macOS
одним знайдеться виконуваний файл. Його аргумент слід використовувати як аргумент file
.
file /Applications/BitTorrent.app/Contents/MacOS/BitTorrent
я отримую Mach-O executable i386
. Що це означає ?
i386
тощо. Чи можете ви додати таке посилання, будь ласка?
file
Команда в основному дивиться на багатьох типах файлів і намагається ідентифікувати їх. Що стосується виконуваних файлів OSX, ви майже завжди бачите одну або декілька з них: i386
,, x86_64
а ppc
це відповідно 32-бітні архітектури intel / amd, 64-бітні архітектури intel / amd та потужні архітектури ПК (останні зараз досить старі. ) Тож вам справді доводиться турбуватися лише про i386 (32-розрядні програми) та x86_64 (64-розрядні програми). Єдиною причиною вони є те, що Apple припиняє підтримку 32-бітних програм.
У мене послідовно зберігалося повідомлення про те, що "плагін не реагував досить швидко, збираючи цю інформацію". проблему, і не вдалося її вирішити за допомогою будь-якого із запропонованих методів.
Виявляється, існує інструмент командного рядка, який називається system_profiler
тією ж інформацією.
Тож я пішов прямо до джерела і написав невеликий рубіновий скрипт, щоб скласти список з додатковою інформацією про те, де знаходиться програма та джерело встановлення (коли є).
Ви можете знайти сценарій тут .