[macOS] Operation not permitted

Захотелось мне удалить старые файлы с диска, но не тут-то было – система пишет, что удалить не могу, ибо файл заблокирован (а если через терминал, то ошибка «Operation not permitted»).

Открываю свойство файла – действительно:

Можно вручную снять галку с «Locked», но такой метод не подойдет, если файлы десятки или сотни.

Выполняем команду, чтобы проверить, какой конкретно флаг установлен у файла:

sudo ls -laO <файл>

В моем случае было:

-rwxr--r-- 1 user staff uchg 60797 May 11 2001

Теперь осталось лишь удалить данный флаг:

sudo chflags nouchg <файл>

А если рекурсивно, то:

chflags -R nouchg <директория>

А если понадобится рекурсивно изменить права на файлы / директории, то читаем здесь.

[WordPress] 502 ошибка при открытии админки

Столкнулся с проблемой, что при попытке открыть админку WordPress, отображалась ошибка 502 Bad Gateway.

Отключение плагинов не помогло. Стал копать в разных направлениях, но тоже безрезультатно.

В итоге помог перезапуск FastCGI:

php5-fpm restart

Unit nginx.service entered failed state

При попытке перезапустить nginx получаем ошибку:

nginx restart

[....] Restarting nginx (via systemctl): nginx.serviceJob for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
failed!

Проверяем статус:

systemctl status nginx.service

nginx.service - nginx - high performance web server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Sun 2019-12-15 16:42:45 MSK; 1min 48s ago
     Docs: http://nginx.org/en/docs/
  Process: 12694 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 16448 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
 Main PID: 5865 (code=exited, status=0/SUCCESS)

Проверяем файл конфигурации:

nginx -t -c /etc/nginx/nginx.conf

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Пробуем вылечить:

fuser -k 80/tcp
fuser -k 443/tcp
/etc/init.d/nginx restart

Проверяем:

[ ok ] Restarting nginx (via systemctl): nginx.service.

[macOS] Сброс Launchpad

Панель запуска в macOS помогает быстро получать доступ к установленным в системе приложениям. Если вы решили сбросить порядок приложений, отображаемых в Launchpad, то необходимо в терминале выполнить следующую команду:

defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock

После этого в Launchpad приложения будут отсортированы по умолчанию.

Как обновиться до macOS Mojave, если компьютер старый

С выходом macOS 10.14 (Mojave) Apple перестала поддерживать часть старых устройств, а именно все, что было выпущено до середины 2012 года включительно. Данное ограничение связано с тем, что для работы macOS Mojave требуется видеокарта с поддержкой Metal (API), а это Intel HD и Iris Graphics из серии HD 4000 и новее, графические процессоры AMD GCN или Nvidia Kepler и новее.

У нас есть рабочий MacBook Pro 13″ 2011 года выпуска, для которого обновление до Mojave как раз и не доступно. И вроде бы не беда, но с выходом Xcode 10.2 минимальными требованиями к системе стала… пам-пам… macOS 10.14. Встала дилемма – покупать новый ноутбук, или же искать решение, как поставить Mojave на неподдерживаемый компьютер.

Рабочим решением стал «macOS Mojave Patcher Tool«, с помощью которого удалось поднять Mojave, правда, с небольшими визуальными артефактами, которые никак не влияют на работу.

Как итог – сэкономили более 100 тыс. на покупку нового макбука.

[macOS] Не регулируется громкость звука

Если при попытке отрегулировать громкость звука с помощью соответствующих кнопок на клавиатуре появляется индикатор с перечеркнутым кружком, а перезагружать компьютер для решения проблемы не хочется, то можно попробовать в консоли «убить» процесс ‘coreaudiod’, отвечающий за аудиосистему:

sudo killall coreaudiod

Через несколько секунд процесс перезапустится, и проблем со звуком уже быть не должно.

[macOS] Не регулируется громкость звука

[Linux] Удаление очереди писем в Postfix

• Для удаления очереди писем в Postfix:

$ postfix flush (или postfix -f)

• Посмотреть очередь писем:

$ mailq

Пример результата выполнения команды:

postqueue: warning: Mail system is down -- accessing queue directly
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
CC83910135C      539 Sun Jul  1 18:31:21  root
                                          root

EC2B61013DE      370 Sun Jul  1 18:38:21  root@bulkin.me

• Удалить все письма из очереди:

$ postsuper -d ALL

Пример результата выполнения команды:

postsuper: Deleted: 38 messages

• Удалить все письма в отложенной очереди:

$ postsuper -d ALL deferred

[Linux] Удаление файлов по расширению

Для рекурсивного удаления файлов определенного расширения можно использовать следующую команду:

find -name "*.extension" -type f -delete

Пример: в каталоге /var/www/site.com удалить все файлы с расширением .DS_Store:

find /var/www/site.com -name "*.DS_Store" -type f -delete

Для подстраховки можно сначала посмотреть, что будет удалено. Для этого:

find /var/www/site.com -name "*.DS_Store" -type f

Важно, чтобы ключ -delete был последним аргументом в команде. Если же его написать до -name, то команда удалит все содержимое.

[macOS] Установка .dmg через командную строку

MacOS представляет элегантный способ установки приложений, путем простого копирования приложения в папку /Applications. Однако в некоторых случаях все еще возникает необходимость установки .dmg через командную строку. Сделать это можно четырьмя простыми командами.

Все, что необходимо, это смонтировать образ .dmg, и скопировать его содержимое в директорию, а затем размонтировать .dmg файл.

Монтируем образ:

sudo hdiutil attach [disk-image-name].dmg

Переходим в смонтированный образ:

cd /Volumes/[disk-image-name]

Копируем нужное нам приложение в папку /Applications:

sudo cp -rf [app-name].app /Applications

Размонтируем образ:

sudo hdiutil detach /Volumes/[disk-image-name]

[macOS] com.apple.DiskManagement error 0

Все же решил обновить свой iMac 2012 до High Sierra. Как и при обновлении MacBook, здесь также случился ахтунг – обновление завершалось ошибкой «com.apple.DiskManagement error 0».

Вся эта лабуда с ошибками при обновлении так или иначе связана с новой файловой системой APFS, которая, по идее, должна ставится только на компьютеры с SSD, и игнорить, как в моем случае, HDD. Видимо, Apple все же допустила ошибку в механизме обновления, из-за чего установка при использовании HFS+ приводит к сбою.

Решение проблемы:

  1. Загружаем компьютер в режиме восстановления (Command + R)
  2. Открываем дисковую утилиту, выбираем рабочий том, и конвертируем его в APFS (данные не удаляются)
  3. Если операция конвертирования в APFS прошла успешно, то перезагружаем компьютер и продолжаем установку обновления