Як я можу дізнатися, які додатки для Mac 32-бітні?


28

28 червня 2017 року Apple повідомила про це

macOS High Sierra стане останньою версією macOS для підтримки 32-бітних додатків без компромісів.

Як я можу дізнатися, які програми на моєму Mac 32-бітні, щоб я міг бачити, чи потрібно мені їх оновити?


1
Чи збираються вони робити власну 64-бітну відеокарту?

2
Що саме ви маєте на увазі під "64-бітною відеокартою", @ Physics-Compute? Я припускаю, що ви маєте на увазі пропускну здатність пам'яті? Це не має нічого спільного з бітом процесора або підтримуваною операційною системою. Вам не потрібна 64-розрядна відеокарта в 64-бітній ОС; насправді, 64-бітові відеокарти прекрасно працюють на 32-бітних ОС (який не є , звичайно, вірно додатків).
Коді Грей

1
@CodyGray Я вважаю, що йдеться про кількість бітових адрес, які він підтримує для операцій з DMA. Це проблема, якщо у вас є більше пам'яті, ніж можна вирішити з 32 бітами, і ви виділили буфер для DMA, про який потрібно розповісти частину 32-бітного обладнання.
kasperd

1
Вибачте, я точніше мав на увазі 64-бітні драйвери. Чи не є 32-розрядні графічні драйвери, які вимагають, щоб усі процеси, які використовують їх, також були 32-бітним? Процес, який зазвичай 64-бітний сьогодні, повинен використовувати IPC з 32-бітовим процесом для спілкування з драйверами 32-бітної відеокарти. Недозволення 32-бітних драйверів або процесів здається проблемою, якщо виробники відеокарт не створили 64-бітні драйвери, ні?

1
Відеодрайвери не можуть бути 32-бітовими, оскільки 64-бітове ядро ​​не може завантажувати / використовувати 32-бітні драйвери. Виробники відеокарт вже деякий час виробляють 64-бітні драйвери, і їм доводиться це робити і для інших операційних систем, тому це не зовсім шалена пропозиція. І водій би впорався з матеріалами DMA, про які говорить Kasperd, так що це теж питання.
Коді Грей

Відповіді:


27

Один із способів визначити 32-розрядні програми, які ви все ще використовуєте, - це використовувати опцію Інформація про систему в розділі About This Mac. Точні кроки відрізняються залежно від версії macOS, яку ви використовуєте, але нижче наведені широкі кроки, які ви повинні мати змогу виконати відповідно до ваших обставин:

  1. Клацніть на меню Apple
  2. Виберіть Про цей Mac
  3. У спливаючому вікні About This Mac натисніть System Report...кнопку внизу ліворуч (якщо ви використовуєте старішу ОС, можливо, вам знадобиться натиснути More Info...кнопку біля центру внизу).
  4. Це відкриває вікно Інформація про систему (або Вікно System Profiler у старих версіях ОС).
  5. На бічній панелі зліва ви побачите ряд заголовків та підзаголовків.
  6. Під заголовком програмного забезпечення (це третє вниз) ви побачите підзаголовку з написом Програми. Натисніть на це.
  7. У головній частині вікна праворуч ви побачите список програм. Будьте терплячі, оскільки це може зайняти небагато часу.
  8. Після появи списку ви побачите заголовки стовпців вгорі.
  9. Останній стовпець позначений міткою 64-Bit (Intel)Клацніть на заголовку цього стовпця, щоб сортувати програми за тим, чи є вони 64-бітними (тобто вони матимуть " Так" або " Ні", вказані проти кожної програми).

Погляньте на зображення нижче як приклад:

введіть тут опис зображення

ПРИМІТКА. На наведеному вище зображенні я навмисно не сортував останній стовпець, щоб ви могли бачити записи, вказані як «Так», так і «Ні». Отже, у наведеному вище прикладі ви побачите, що iMovie v10.1.6 - це 64-розрядний додаток, а iMovie 9.0.9 - не 64-розрядний.


Редагувати - якщо вищезазначені кроки призводять до помилки

Я бачив повідомлення про те, що невелика кількість користувачів отримує повідомлення про помилку "Плагін не відповів досить швидко під час збору цієї інформації" під час очікування появи списку.

Якщо це трапиться, закрийте додаток «Інформація про систему» ​​(або додаток System Profiler у старих версіях macOS) і почніть знову, але цього разу пропустіть кроки 1–4 і перейдіть безпосередньо до папки «Програми / утиліти» та відкрийте додаток «Інформація про систему» ​​(або Система) Додаток Profiler) безпосередньо звідти. Після його відкриття виконайте кроки 5 - 8 вище.


1
Мені не вистачає часу, коли повідомлення збирається "Плагін не реагував досить швидко під час збору цієї інформації".
JBis

Дякую @Josh, що нагадав мені цю відповідь. Мені стало відомо в кінці минулого року, що це можливе питання, але забув, що відповів на це питання! Я щойно відредагував свою відповідь можливим вирішенням, яке працює для більшості користувачів. Повідомте мене, якщо у вас все ще є проблеми.
Мономет

Те саме питання під час відкриття безпосередньо з / Програми / Утиліти.
JBis

27

У вікні Finder натисніть, cmdFщоб отримати вікно пошуку.

  • Виберіть Пошук: Цей Mac
  • Натисніть перший критерій пошуку та виберіть " Інше ... ", а тут " Виконавчі архітектури " " Є " " i386 "
  • Натисніть кнопку + і додати другий критерій « Виконувані Архітектури » « Чи не » « x86_64 »

    введіть тут опис зображення

і ви отримаєте список усіх програм i386 (тобто 32-розрядних).


У Терміналі це робиться за допомогою:

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"

Як не дивно, цей метод збирає декілька файлів PDF років тому, як-от "Ласкаво просимо в Леопард". Інакше, здається, працює нормально.
Грім

3
@Thunderforge "Ласкаво просимо до Leopard" - це не .pdf, а додаток IIRC, коли ви відкриваєте його, він вибирає ваш pdf мову та відкриває його в Preview.
Мануель

@Manuel Цікаво! Мене відкинуло те, що на ньому є піктограма PDF. Мені навіть не прийшло в голову, що це фактично додаток, який вибрав для вас PDF-файл.
Грім

Щойно я помітив, що цей метод не знаходить додатків ~/Library/Application Support, таких як ігри Steam. Інше рішення так. Чи знаєте ви, чи є спосіб змінити пошук, щоб він включив?
Громовержець

1
@Thunderforge термінальна версія знаходить ігри Steam.
Андреа Лацаротто

3

Інші відповіді поки що, наскільки я розумію, перерахують 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.


3

Ця командна команда Terminal збирає список програм у текстовий файл на робочому столі. Він захоплює 6 рядків до та 2 рядки після кожного появи запиту "(Intel): Ні". Однак він не копається у 32-бітні підтримуючі бінарні файли або бібліотеки для вже зібраних 64-бітних програм. Цей список набагато більш обширний, і я не можу знайти жодного ресурсу, який би вирішив глибший рівень занепокоєння, якщо це навіть проблема.

system_profiler SPApplicationsDataType | grep -B 6 -A 2 "(Intel): No" > ~/Desktop/32BitAppList.txt

2

Коли потрібно просто перевірити одну заявку:

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.


1
Бо file /Applications/BitTorrent.app/Contents/MacOS/BitTorrentя отримую Mach-O executable i386. Що це означає ?
ankii

Це означає, що додаток є 32-розрядним виконуваним файлом; і це означає, що він не зможе працювати під найсвіжішими 64-бітовими операційними системами Apple.
fyngyrz

Я не міг знайти таблицю, де я міг би знайти значення таких речей, як i386тощо. Чи можете ви додати таке посилання, будь ласка?
анкій

fileКоманда в основному дивиться на багатьох типах файлів і намагається ідентифікувати їх. Що стосується виконуваних файлів OSX, ви майже завжди бачите одну або декілька з них: i386,, x86_64а ppcце відповідно 32-бітні архітектури intel / amd, 64-бітні архітектури intel / amd та потужні архітектури ПК (останні зараз досить старі. ) Тож вам справді доводиться турбуватися лише про i386 (32-розрядні програми) та x86_64 (64-розрядні програми). Єдиною причиною вони є те, що Apple припиняє підтримку 32-бітних програм.
fyngyrz

1

У мене послідовно зберігалося повідомлення про те, що "плагін не реагував досить швидко, збираючи цю інформацію". проблему, і не вдалося її вирішити за допомогою будь-якого із запропонованих методів.

Виявляється, існує інструмент командного рядка, який називається system_profilerтією ж інформацією.

Тож я пішов прямо до джерела і написав невеликий рубіновий скрипт, щоб скласти список з додатковою інформацією про те, де знаходиться програма та джерело встановлення (коли є).

Ви можете знайти сценарій тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.