Уловки леопардов Unix

Mac OS X 10.5 включает ряд изменений в ядре Unix, возможно, больше, чем в любом предыдущем выпуске OS X. Многие изменения являются рутинными — обновленные версии ключевых программ Unix, таких как оболочка bash (с 2.0.5b до 3.2), текстовый редактор vi (с версии 6.2 до 7.0), и даже программа чтения man-страниц (с 1.5o1) до 1.6с). Однако большинство из этих изменений будут невидимы для обычного пользователя терминала — хотя новые версии могут содержать некоторые дополнительные функции, программы будут работать так же, как и раньше.

Более интересными являются абсолютно новые (или существенно переработанные) команды Unix в 10.5. Мы выбрали пять самых интересных и полезных.

Эти файлы с точечным подчеркиванием. Если вы когда-либо использовали карту памяти USB для перемещения файлов на компьютер под управлением Windows или Linux, или записывали файлы на сервер, который не использует файловую систему HFS Mac, вы, вероятно, видели «точку». -underscore файлы », которые создаются, когда вы делаете это. В зависимости от того, что вы сделали с файлами и / или папками на Mac, вы увидите любое количество имен файлов, которые начинаются с подчеркивания точки (._), а затем имена других папок на диске. Mac использует их на своем диске HFS, но они бесполезны в других системах.

До версии 10.5 вам приходилось вручную удалять их в другой системе или использовать хитрость Терминала, чтобы удалить их на Mac перед копированием.


Используя новую программу Unix в OS X 10.5, вы можете удалять файлы подчеркивания точек из папок, которые вы копируете в систему, отличную от Mac.

Начиная с 10.5, вы можете просто использовать команду dot_clean для рассматриваемого каталога. Введите dot_clean / path / folder, чтобы объединить файлы подчеркивания точек с их родительскими файлами. Прочтите справочные страницы OS X 10.5 (man dot_clean) для получения дополнительной информации.

Узнайте о расширениях ядра Расширения ядра (также известные как kexts) — это низкоуровневые фрагменты кода, которые напрямую связаны с сердцем операционной системы Mac. Они мощные и потенциально опасные: если в расширении ядра есть ошибка, это может привести к сбою вашего Mac. (В худшем случае, глючная программа может аварийно завершить работу только сама.) В 10.5 вы можете использовать команду kextfind, чтобы узнать, какие расширения ядра установлены на вашем компьютере.

Большинство расширений ядра на вашем Mac связаны с OS X; вы можете точно увидеть, что установлено, используя команду kextfind -case-insensitive -bundle-id -substring ‘com.apple.’ -print | Больше.

Хотя эта команда может показаться пугающей, на самом деле она довольно проста. Аргумент -case-insensitive указывает системе найти все совпадения независимо от их заглавных букв. Затем -bundle-id и -substring говорят kextfind искать текстовую строку «com.apple.» В идентификаторе пакета расширения. Переключатель -print указывает kextfind выводить результаты на экран, а | больше говорит Терминалу делать паузу после каждой страницы вывода.

Вы можете увидеть список сторонних расширений ядра, вставив -not и пробел перед -bundle-id в приведенной выше команде.

Однако то, что расширение указано в списке, не означает, что оно активно. Чтобы узнать, какие из ваших сторонних расширений активны, введите kextfind -loaded -not -bundle-id -substring ‘com.apple.’ | Больше.

Это похоже на другую команду, с добавлением флага -loaded, который сообщает ей список только активных в данный момент расширений.

Если вы испытываете панику в ядре, этот список является хорошим местом для начала поиска подозреваемых; если вы видите вероятного кандидата, попробуйте удалить устройство или программу, связанную с расширением, и перезагрузите компьютер.

Если ваше ядро ​​исчезает, вы нашли источник проблемы. На страницах справки man kextfind есть много хороших примеров использования этой команды.

Копаться в установочных пакетах Установщик Apple следит за тем, что он устанавливает — вы можете увидеть все, что он сделал, посмотрев в папку / Library / Receipts. Оттуда вы можете копаться в пакетах и ​​посмотреть, что было установлено. Однако рутирование в этой папке вручную не доставляет большого удовольствия — для этого требуется множество команд cd и lsbom. Новая команда OS X 10.5 pkgutil упрощает работу.

Чтобы увидеть список установленных пакетов, просто введите pkgutil-pkgs и нажмите return. Каждая запись в списке представляет идентификатор пакета; Вы можете использовать эту строку, чтобы получить больше информации о любом конкретном пакете. Например, если вы хотите знать каждый файл, который был установлен с последним обновлением для системы безопасности, просто введите следующее (но без разрывов строк), а затем нажмите return: pkgutil —files com.apple.pkg.update.security .2007.009 | Больше.

Установка системных и сетевых настроек В OS X 10.5 есть две утилиты, systemsetup и networksetup, которые позволяют вам просматривать и настраивать различные сетевые и машинные настройки системы. Эти программы не являются новыми в 10.5, они были доступны и в 10.4. Но в более раннем выпуске они были похоронены глубоко в системной папке. Начиная с 10.5, Apple помещает их в стандартную папку Unix, делая их легко доступными для всех.


Используя программу kextfind, вы можете точно узнать, какие сторонние
установленные вами расширения ядра

Итак, что вы можете сделать с ними, и почему вы хотите делать эти вещи?

Одним из способов использования этих программ является управление удаленными подключениями. Например, если вы использовали ssh для подключения к удаленному Mac. Затем вам может понадобиться MAC-адрес его карты Ethernet для настройки маршрутизатора.

Чтобы получить эту информацию, введите sudo networksetup –getmacaddress en0. (Вам нужно ввести sudo, чтобы получить права администратора, необходимые для этих команд.) Хотите узнать, какие сетевые службы доступны на удаленном Mac? Введите networksetup -listallnetworkservices. Затем вы можете использовать имена этих служб в других командах, таких как следующие, которые отображают список DNS-серверов на удаленном Mac: sudo networksetup -getdnsservers «ethernet 1». Если вы хотите изменить эти DNS-серверы, вы бы использовали опцию -setdnsservers.

Команда systemsetup также полезна. Например, вы можете просмотреть настройки вашего компьютера и отобразить время ожидания системы с помощью systemsetup -getcomputersleep и systemsetup -getdisplaysleep. Чтобы изменить настройку режима ожидания на четыре минуты, введите systemsetup -displaysleep 4.

Вы можете увидеть, с какого диска запускается Mac, набрав systemsetup -liststartupdisks; также вы можете изменить загрузочный диск с помощью параметра setstartupdisk; вы следуете за этой опцией, указав путь к папке CoreServices на этом диске, как показано в опции -liststartupdisks.

Обе эти команды имеют множество дополнительных функций — посмотрите man systemsetup и man networksetup для полного объяснения всех их возможностей.

Ссылка на основную публикацию
Adblock
detector