Software on newly installed macOS

still updating..

$ brew list
ansible
font-fira-code
ffmpeg
git
mediainfo
midnight-commander
mysql
postgresql
rvm
youtube-dl
zsh
$ brew cask list
dropbox
fantastical
firefox
google-chrome
iterm2
opera
paragon-ntfs
plex-media-player
powerphotos
rubymine
skype
steam
sublime-text
teamviewer
telegram
tower
transmission
transmission-remote-gui
transmit 
visual-studio-code
vlc

Создание программного RAID (softraid) в OS X El Captain 10.11

В новой версии OS X El Captain 10.11 Apple сильно упростила (designed for morons) дисковую утилиту (Disk Utility) убив возможность создавать софтверные RAID массивы.
Некоторые рекомендуют использовать стороннее решение SoftRAID.
Но это не наш метод, потому как в командной строке все прекрасно можно создать.
Например. У нас есть в системе 3 HDD/SSD. На одном установлена система, из 2х других мы хотим сделать RAID массив.
Смотрим диски (используем тот же вариант с Thunderbolt стаканом и 2мя обычными HDD):

# diskutil list

/dev/disk0 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_RAID 3.0 TB disk0s2
3: Apple_Boot Boot OS X 134.2 MB disk0s3
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS Macintosh HD 190.0 GB disk2s2
3: Apple_Boot Recovery HD 650.0 MB disk2s3
4: Microsoft Basic Data BOOTCAMP 60.1 GB disk2s4
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_RAID 3.0 TB disk3s2
3: Apple_Boot Boot OS X 134.2 MB disk3s3

В системе disk1 – это системный диск, 2×3 TB, в нашем случае disk0 и disk3.

Чтобы создать RAID1 (зеркало, mirror):
diskutil createRAID mirror MyNewMirrorDrive JHFS+ disk0 disk3

Чтобы создать RAID0 (stripe):
diskutil createRAID stripe MyNewStripeDrive JHFS+ disk0 disk3

Вот так выглядит в нашем случае созданный raid0:

# diskutil createRAID stripe Raid6TB JHFS+ disk0 disk3

# diskutil list

/dev/disk0 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_RAID 3.0 TB disk0s2
3: Apple_Boot Boot OS X 134.2 MB disk0s3
/dev/disk1 (external, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Raid6TB +6.0 TB disk1
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS Macintosh HD 190.0 GB disk2s2
3: Apple_Boot Recovery HD 650.0 MB disk2s3
4: Microsoft Basic Data BOOTCAMP 60.1 GB disk2s4
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_RAID 3.0 TB disk3s2
3: Apple_Boot Boot OS X 134.2 MB disk3s3

Спасибо-пожалуйста.

PS: скорости на чтение/запись 2х Seagate Constellation ES.3

SoftRAID0 via Thunderbolt

Switch use of F-keys from command line in OS X

#OSX #commandline #macosx
Кто часто работает в командной строке и кому нужны клавиши F1-F12, но при этом периодически пользовать OSX в «домашних» целях – небольшой скриптик, который позволяет переключать поведение клавиатуры. Открываем AppleScript Editor, создаем новый скрипт, копируем туда код. Экспортируем как Application (run-only).

--Enable/Disable "Use all F1, F2, etc. keys as standard function keys" option in Keyboard & Mouse Preference pane and close System Preferences
tell application "System Events"
tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
click checkbox 1 of tab group 1 of window 1 of application process "System Preferences"
end tell
if application "System Preferences" is running then
tell application "System Preferences" to quit
end if

Hint: если у вас OS X 10.9 Mavericks, надо открыть настройки безопасности и разрешить доступ к Accessibility фичам:
Accessibility settings

OS X 10.9 Mavericks на хакинтоше

Новая версия OS X Mavericks 10.9 отлично ставится на хакинтоши:

Установка OS X 10.9 Mavericks Установленный OS X 10.9 Mavericks

В данный момент в качестве «MacPro» у меня работает:

ASUS Maximus V Gene Z77 ALC898 Intel E1000
Intel Core-i7 3770 Sandy Bridge + Scythe Shuriken
Corsair Vengeance LP DDR-III DIMM 16GB kit 4×4 PC3-12800
Gigabyte NVIDIA GeForce  580 GTX 1536 MB
БП Corsair CX600

Все это размещено в прекрасном корпусе из под старого PowerMac G3:

Hackintosh G3 opened
Hackintosh G3 opened
Hackintosh G3 closed
Hackintosh G3 closed

Метод установки:

10.9 + UniBeast 3.0.1 + GraphicsEnabler=Yes
После установки грузимся с флэшки, после загрузки загрузчика выбираем наш установленный диск. Накатываем MultiBeast 6.0 со следующими параметрами: EasyBeast, FakeSMC + hwmonitor, IntelE1000, ALC898, USB3.

Как создать свой Mac Pro ?

hackintosh-2

Несколько туториалов от разных изданий по сборке своего мощного «Mac Pro»:

Lifehacker: Build the Mac Pro that you wish Apple released

Очень подробный гайд от NoFilmSchool: How to build a Hackintosh
Содержит как подробное описание, так и готовые списки компонент (hackintosh / hac pro) и видео-туториалы по сборке (устанавливаем CPU и кулер) и установке системы.

Как отключить рекламу Youtube в Safari

Как отключить рекламу на Youtube для Chrome или Opera, а так же Firefox и Internet Explorer.

Чтобы это проделать для Safari сделаем следующее:

Safari -> Настройки -> Дополнения -> Показывать меню «Разработка» в строке меню.

Далее: Разработка -> Показать веб-инспектор. Откроется «Консоль». В строку ввода внизу вставляем:

document.cookie="VISITOR_INFO1_LIVE=oKckVSqvaGw; path=/; domain=.youtube.com";window.location.reload();

Радуемся отсутствию рекламы 🙂

MITx: 6.00x videos

Python distribution

Week 1

Intro to computation

Lecture 1. Introduction
Basic of computation
Types of knowledge 
Basic machine architecture 
Programming language characteristics

Core Elements of Programs

Lecture 2. Introduction
Types of programming languages
Python objects
Variables and naming
Strings
Simple scripts
Branching programs

Week 2

Simple Algorythms

Lecture 3. Introduction
Iteration
Guess and check algorithms
Loop Mechanisms
Floating point accuracy
Approximation methods
Bisection search
Demo: Bisection search
Newton-Raphson root finding

Functions

Lection 4. Introduction
Creating functions

Как поменять hostname, computername и bonjour name в OS X

ComputerName is the so-called “user-friendly” name for the Mac, it’s what will show up on the Mac itself and what will be visible to others when connecting to it over a local network. This is also what’s visible under the Sharing preference panel.

scutil --set ComputerName "MacBook Willy"

HostName is the name assigned to the computer as visible from the command line, and it’s also used
by local and remote networks when connecting through SSH and Remote Login.

scutil --set HostName "centauri"

LocalHostName is the name identifier used by Bonjour and visible through file sharing services likeAirDrop

scutil --set LocalHostName "MacBookPro"

Проверяем:

scutil --get HostName

Для бедных: XSAN over iSCSI

Apple XSAN поверх iSCSI и линуксовый сервер хранения пока на гигабитной сети, в планах переход на 10GB Ethernet.

Серверная часть

Hardware:

Сервер хранения:

Подключение к Cisco Catalyst 3750 4x1GB etherchannel.

Mac mini – метадата-контроллер для нашей SAN и другие плюшки, достаточно самой дешевой версии.

Software:

CentOS 6.4 на сервере хранения, OS X Mountain Lion 10.8.4 Server на Mac mini.

Схема разделов:

  1. vg_milkyway: RAID 1 из 2х 600 GB SAS дисков.
  2. vg_perseus: RAID 6 из 11 4TB SATA.
  3. vg_sagittarius: RAID 5 из 6 3TB SATA.
[root@milkyway]~# lvscan
 ACTIVE '/dev/vg_perseus/lv_perseus' [32,74 TiB] inherit
 ACTIVE '/dev/vg_sagittarius/lv_sagittarius_mac' [7,00 TiB] inherit
 ACTIVE '/dev/vg_sagittarius/lv_sagittarius_xsan' [4,54 TiB] inherit
 ACTIVE '/dev/vg_sagittarius/lv_sagittarius_xsan_metadata' [100,00 GiB] inherit
 ACTIVE '/dev/vg_sagittarius/lv_sagittarius_xsan_audio' [1,00 TiB] inherit
 ACTIVE '/dev/vg_sagittarius/lv_sagittarius_xsan_other' [1,00 TiB] inherit
 ACTIVE '/dev/vg_milkyway/lv_home' [443,99 GiB] inherit
 ACTIVE '/dev/vg_milkyway/lv_root' [97,66 GiB] inherit
 ACTIVE '/dev/vg_milkyway/lv_swap' [15,73 GiB] inherit

Для чего именно так: понятно, системные разделы на «быстрых» SAS 15K в зеркале. RAID6 для большого и надежного хранения, нам скорость записи не сильно важна, важна сохранность данных. RAID5 – для видео монтажа с использованием нескольких одновременных монтажных станций с Final Cut Pro X , тут нам нужна и надежность и хорошая скорость записи.

Сетевое  хранилище экспортируем с помощью AFP/Samba, тут ничего военного. Сам сервер подключен к AD и авторизует пользователей из AD.

Теперь самое интересное. vg_sagittarius нарезан на 2 LV-тома, которые экспортируются по iSCSI (почему – объясню позже).

Примечание: реализация ext4 в текущей версии RHEL/CentOS не поддерживает размер тома больше 16 ТБ, поэтому  lv_perseus содержит XFS раздел, где данным хорошо и комфортно.

Клиентская часть

Клиентами выступают 3 Mac Pro с OS X Mountain Lion 10.8.4 в качестве станционарных монтажных станций, несколько MacBook Pro для монтажа «на ходу», то бишь дома.

Почему именно iSCSI ? Final Cut Pro X не умеет работать с сетевыми дисками, ни с smb, ни с afp, ни с nfs. Умеет только через SAN. Поэтому будем городить огород и поступать как взрослые: создадим SAN, только вместо fiber channel будем использовать iSCSI ввиду дешевизны. Понятно что скорость меньше, но когда будет 10GB Ethernet, тогда посмотрим – кто кого :).

OS X умеет подключаться по iSCSI с помощью globalSAN iSCSI Initiator. Стоит недорого – 89$ за лицензию. Есть триальная версия на 15 дней.

Если подключать одну рабочую станцию к iSCSI диску, то тут никаких проблем. Просто прописываем экспортированный диск и получаем у себя локальный большой сторадж. А если надо осуществить одновременный доступ к хранилищу с нескольких рабочих станций, да еще и с возможностью записи (как вы понимаете, когда 2 компьютера начнуть одновременно писать на блочное устройство, будет очень весело файловой системе 😉 ), то тут надо строить SAN.

Есть 2 способа: простой и средне дешевый и посложнее, но более дешевый.

1й способ

Чтобы не использовать выделенный метадата контроллер, можно воспользоваться софтиной SANmp от все тех же studionetworksolutions. Смысл тут простой: само ПО следит за тем, чтобы никто не поломал нам файловую систему, занимается разграничением доступа и тд.
Принцип работы можно посмотреть здесь: cost-efficient volume sharing with SANmp. SANmp client demo, SANmp admin demo.

Минусы этого способа:

  1. смонтировать на запись одновременно с двух рабочих станций нет никакой возможности.
  2. стоимость лицензии 499$ за рабочее место (итого 5×499$ = 2495$), плюс требуется USB HASP key, что в условиях России и ее почты совсем не вариант. Тут следует отметить, что iSANmp (работа только по iSCSI) дешевле, но я не нашел цифр.

Плюсы:

  1. не надо использовать дополнительное железо;
  2. простота в использовании и администрировании: домохозяйка сможет настроить посмотрев 2 ролика на youtube.

2й способ

Вспоминаем про существование продукта Apple Xsan.
Наверное есть какие-то другие решения, но я про них ничего не знаю и в жизни не встречал, плюс нам нужно создать сеть из монтажных постов именно на маках.

Раньше XSAN сервер стоил 999$ для сервера плюс надо было покупать лицензию на каждое клиентское место.
Сейчас, что самое важное, OS X начиная с версии 10.7 содержит XSAN внутри себя совершенно бесплатно. XSAN Admin появляется при покупке за дополнительные 19,99$ пакета OS X Server из Mac App Store.

Минусы:

  1. выделенный OS X Server в качестве метадата-контроллера
  2. более сложная настройка всех компонент, простым роликом тут уже не обойтись, надо прочитать Xsan administration guide.

Плюсы:

  1. общая стоимость решения – стоимость самой дешевой версии Mac mini и 19,99$ на OS X Server.

После прочтения мануала на Xsan собственно строим наш сторадж:

  1. Как показано на примере выше (lv_sagittarius_xsan[XXX]), нарезаем на RAID5 несколько томов, они у нас станут различными LUN. В моей конфигурации сразу понятно, какой LUN на какой affinity будет использоваться при создании Xsan Volume.
  2. Экспортируем один iSCSI target с 4-мя LUNами.
  3. Настраиваем globalSAN iSCSI Initiator на экспортированный target.
    globalSAN iSCSI target
    globalSAN iSCSI target

    Если открыть дисковую утилиту, у нас появятся несколько жетских дисков:

    Disk Utility with Xsan disks
    Disk Utility with Xsan disks
  4. В Системных Настройках появится новый пункт Xsan
    Xsan System Preference
    Xsan System Preference

    Включаем поддержку Xsan.

  5. Добавляем нового клиента в Xsan Admin Tool и вуа-ля:
    Mounted Xsan Volume
    Mounted Xsan Volume

    Особо внимательне могли заметить уже смонтированный Xsan том в Дисковой Утилите 🙂

В качестве примечания. В чем прелесть использования LVM ? А в том что можно расширять физическими дисками по мере заполнения и расширять том без каких-либо сложностей.

Скорость записи на гигабитной сети – 100-105 мегабайт в секунду, что нам и требовалось:

Activity monitor: network utilization
Activity monitor: network utilization

(скорость мерялась на MacBook Pro Retina с Apple Thunderbolt Display и подключенной к монитору гигабитной сети)