• Схемы разделов в Mac OS X. GUID partition table. Часть 1 (MBR)

    Как я писал ранее, схема разделов Apple Partition Map не приспособлена к использованию на больших дисках - из-за 32-битных счётчиков максимальный размер диска при размере блока 512 байт может быть лишь 2 TB.

    Apple серьёзно прорабатывала возможность адаптации Apple Partition Map для поддержки больших дисков, однако требуемые изменения привели бы к неработоспособности всех инструментов, работающих с разделами, поэтому было принято разумное решение переключиться на принципиально новую схему. После серьёзных размышлений Apple решила использовать GPT.

    Read on →

  • Создание локальной копии сайта (wget)

    Если по каким-то причинам нужно сделать локальную копию сайта (например, если нужно работать над материалами, но доступ в Интернет не предвидится), то обычно нет смысла искать дополнительный софт, тем более платный. Есть консольная программа wget (The non-interactive network downloader), которую можно поставить через MacPorts (sudo port install wget).

    Синтаксис:

    wget -v -m -k -K -E -w 1 --output-file=wget.log http://www.notsecretsite.com/
    

    Read on →

  • База данных скрытых настроек (defaults)

    Read on →

  • Получение информации по диску через ioctl

    В процессе исследования схемы разделов GPT мне понадобилось узнать размер блока на диске (прошу прощения читателей, кому данная тема неинтересна, но обещанное я должен довести до конца, исследование системы требует жертв). Обычно он равен 512 байт, но:

    You can get the block size of a device node by calling ioctl with the DKIOCGETBLOCKSIZE selector (defined in <sys/disk.h>). Do not assume that the block size is always going to be 512 bytes.

    Штатных средств получения данных по ioctl я не нашёл, поэтому приведу программу на C из книги "Mac OS X Internals. A Systems Approach".

    Read on →

  • Apple Partition Map. Формат "Universal CD"

    Read on →

  • Схемы разделов в Mac OS X. Apple Partition Map

    Тот, кто купил Мак по крайней мере в районе 2006 года, при переходе на Snow Leopard мог столкнуться с неприятным сюрпризом - Snow Leopard устанавливается только на диски со схемой разделов GUID partition table (GPT), а диск изначально был размечен под Apple Partition Map. Для меня процесс "перетасовки" жёстких дисков привычен, но даже мне пришлось попотеть, занимаясь созданием на внешнем диске GPT, а затем с помощью SuperDuper! дважды переливать содержимое диска 320 GB. Процесс обновления до Snow Leopard в итоге у меня удлинился ровно на 20 часов.

    Read on →

  • Чтение документов PDF с iPhone

    Оговорюсь - у меня нет до сих пор iPhone, поэтому читайте iPhone = iPod Touch.

    Я постоянно (начиная с Pocket PC) сталкивался с тем, что хочется в дороге иметь доступ к документации в формате PDF, но реально читать их невозможно. То очень медленно открываются, то текст нечитаемый, то жутко неудобно.

    Но я нашёл программу, которая меня полностью устраивает - это "Good Reader" ($0.99).

    Описывать её не буду, приведу только два скриншота, и всё станет понятно.

    Управление:

    Читаемость текста и разборчивость иллюстраций:

    Забросить документы на iPhone можно через WebDAV (открыв диск iPhone в Finder через http).


  • Аутентификация по публичным ключам с использованием ssh-agent

    Как я сказал ранее, к аутентификации по публичным ключам нужно подходить ответственно. Ставить пустой passphrase грозит компрометацией ваших удалённых хостов. А каждый раз вводить passphrase не всегда возможно. Для того, чтобы достигнуть разумного компромиса, используется ssh-agent. Это программа, хранящая приватные ключи, используемые для аутентификации по публичным ключам RSA/DSA.

    Генерируем ключ (для простоты я предварительно удалил все ключи, так как некоторые были без passphrase). Будем использовать DSA, любители RSA могут посмотреть разницу в предыдущей статье. Обязательно указываем хорошую passphrase:

    $ ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/Users/ctrld/.ssh/id_dsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /Users/ctrld/.ssh/id_dsa.
    Your public key has been saved in /Users/ctrld/.ssh/id_dsa.pub.
    The key fingerprint is:
    12:1b:02:27:8b:70:44:0b:2c:3f:9c:4b:d0:ef:d9:5e ctrld@129-149-179-94.pool.ukrtel.net
    The key's randomart image is:
    +--[ DSA 1024]----+
    |++* .            |
    |+=.*             |
    |o+oo. o          |
    |  * .. +         |
    | . + oo S        |
    |  . o ..E        |
    |     . .         |
    |      .          |
    |                 |
    +-----------------+
    

    Read on →

  • Аутентификация по публичному ключу в SSH

    Если вы часто заходите на внешние сервера по SSH, или же у вас запускаются процессы, требующие сделать что-то на удалённом сервере, то вместо постоянного ввода пароля можно настроить аутентификацию в SSH по публичным ключам. К этому нужно подходить с умом и осторожностью - если у вас украдут ключи из каталога ~/.ssh, и у вас не настроен passphrase, то злоумышленники получат доступ ко всем вашим серверам. Лучший метод - установка passphrase во время генерации ключа или использование ssh-agent.

    Read on →

  • Инструмент для изучения EFI (rEFIt)

    Пытаясь изучить процесс загрузки Intel Mac, я столнулся с тем, что в отличие от Power Mac, где используется OpenFirmware и есть свой shell (вызывается при загрузке при нажатии Command + Option + O + F), в EFI shell отсутствует.

    Но это не помеха - есть LiveCD rEFIt. rEFIt - это система, которая может запуститься после включения Mac (вставляется CD и выбирается через Option, или же его можно установить на постоянной основе). Она представляет собой инструментарий для любых компьютеров, поддерживающих EFI, в частности поддерживает Intel Mac.