Обзор многих алгоритмов, полезных в шахматах - http://www.frayn.net/beowulf/theory.html - должен быть хорошей начальной точкой понимания меры проблемы и нескольких способов упростить вычислительную работу.
-Adam
Команда file
может определить, какие двоичные типы доступны в файле.
file -b /usr/bin/atrm
setuid Mach-O universal binary with 3 architectures
/usr/bin/atrm (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/atrm (for architecture i386): Mach-O executable i386
/usr/bin/atrm (for architecture ppc7400): Mach-O executable ppc
Таким образом, это просто вопрос использования поиска и фильтрации соответствующим образом. Примерно так должны быть найдены все двоичные файлы в системе, в которых есть подраздел PPC.
find / -perm -u+x ! -type d -exec file {} \; | grep ppc | awk '{print $1}'
Только PPC немного сложнее. Для этого вам нужно выполнить три команды для создания 2 файлов в / tmp, первая из которых содержит список файлов PPC, а вторая - список 32- или 64-битных файлов x86. Удобно, что 'ppc' соответствует ppc и ppc64.
find / -perm -u+x ! -type d -exec file {} \; | grep ppc | awk '{print $1}' > /tmp/ppc
find / -perm -u+x ! -type d -exec file {} \; | grep i386 | awk '{print $1}' > /tmp/x86
find / -perm -u+x ! -type d -exec file {} \; | grep x86_64 | awk '{print $1}' >> /tmp/x86
Затем немного отсортируйте / uniq (просто отсортируйте пути и убедитесь, что каждый двоичный файл указан только один раз):
cat /tmp/x86 | sort | uniq > /tmp/x86.filtered
cat /tmp/ppc | sort | uniq > /tmp/ppc.filtered
Затем, используйте diff (и немного больше обработки), чтобы выдать список файлов, которые являются только ppc:
diff /tmp/ppc.filtered /tmp/x86.filtered | grep -e '<' | awk '{print $2}' | perl -p -e 's/:$//'
Конечным результатом должен быть список файлов, которые содержат только исполняемые разделы mach-o ppc. Я бы посоветовал проверить список, прежде чем нанести ядерный удар.
Некоторые примечания:
Все вышеперечисленное выполняется в Терминале.
Это просто взлом; он отлично работал в моей системе, и я рад, что вы спросили, потому что я хотел узнать то же самое. Но это просто взлом.
Также обратите внимание, что Rosetta поставляется с 10.6 - это всего лишь одна из дополнительных установок. Проверьте DVD, с которого вы установили его.
Фактически, он должен попросить вас установить его, когда вы попытаетесь запустить одно из этих приложений.