Welcome to Форум на приятелите на Apple. Please login or sign up.

29-03-2024, 13:44:11

Login with username, password and session length

Shoutbox


Recent

Потребители
  • Общ брой потребители: 7 842
  • Latest: stewartsPat
Stats
  • Общ брой публикации: 82 648
  • Общ брой теми: 9 816
  • Online today: 149
  • Online ever: 631
  • (01-12-2019, 23:01:40)
Онлайн потребители
Users: 0
Guests: 120
Total: 120

120 гости, 0 потребители

Catalina - MacPro 5,1

Започната от Пиф, 29-01-2021, 11:37:07

« назад - напред »

0 Потребители и 1 гост преглеждат тази тема.

Пиф

Здравейте колеги!

Някой да е правил опити да слага Catalina на класически MacPro 5,1, използвайки OpenCore - https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/ ?
По-точно ме интересува как е производителността и разпознаването на сензорите. Ще ми е от полза всякаква информация.

bluesky

Здравей, Пиф!

Засега не съм правил никакви опити с Операционна Система "нагоре".
Поствам стратегията, която се оказва за Нас (засега) печеливша откъм производителност за Mac Pro 5.1 - с UpGrade-нат Processor и Memory.
Откъм Операционна Система - специално възможно най-консервативна политика.
(Прилагам изображение).



Пиф

#2
По отношение на работната среда съм абсолютно съгласен, там съм на една версия по-нагоре от избраната от теб - на HighSierra. И засета нямам намерение да променям каквото и да било.
Имам една машина, засега не участваща в работната мрежа, стои неизползвана, а и не ми се разделя с нея. Та спокойно бих могъл да поекспериментирам и дори да я съборя, това няма да повлияе по какъвто и да било начин на работния процес. Ей така, за идеята .... А имам и маааалко свободно време, да си кажа честно - сърбят ме ръцете  ;D

bluesky

MacPro 5,1 - едно сребърно Бижу в палитрата на Apple!

..."...а и не ми се разделя с нея..."... - действително - Човек цени по достойнство всеки локален връх в техническия прогрес на Марката!
Да се откриват нови, незаложени дори качества в техниката чрез смел UpGrade нагоре... ех, мечта!

Успех, Пиф!

Пиф

#4
Тествах процедурата описана в линка от първия пост. Това, което мога да кажа като първи наблюдения е:

1 - След настройка на буутлоудера инсталацията на оригиналната ОС Каталина мина безпроблемно, никаква разлика от поддържан Мак.
2 - Обновяването на ОС протича нормално.
3 - Машината работи гладко и сръчно. Няма видима промяна в производителността спрямо HighSierra.
4 - На видеокартата GTX 780 спря дисплей порта (очаквано за това видео според постове в нета). Останалите един HDMI и два DVI си работят нормално.
5 - Не открива, съответно не функционира WiFi картата, пише че след подмяна с по-нова версия проблема се оправя. Не мисля да я подменям (засега), тъй като на стационарни машини не ползвам безжична връзка, само кабелна.
6 - Обещаваният буут екран при не-Мак видеокарта така и не видях. Явно ще продължавам да държа две карти в машината.

Като ми остане малко време ще проведа по-сериозни тестове и ще пиша.

bluesky

Отлично проведен Тест и извлечени ценни Изводи от първа ръка!

Добра Идея за всеки, ползващ такава Платформа за възможен качествен UpGrade и относно Видео Карти.

Пиф

#6
Добро утро, Добър ден, който както му е драго :)

Имам нови въпроси и надеждата някой да има отговорите и желанието да ги сподели.

Проблемът се състои в следното:
Операционната система е Catalina (естествено), имам applescript, който при определени условия стартира два shellscript-а. Шелскрипта променя пермищъни в определени папки и преименува файл, който се намира на споделено устройство. Системата е с 2 диска - единия е вътрешен, цепнат на 2 (системен дял, форматиран в APFS и друг за работни файлове, форматиран в Apple Mac OS Extended), другият диск е закачен на USB, също форматиран в Apple Mac OS Extended. Applescript-а си работи, когато трябва стартира или единия или другия шел скрипт. Този шел скрипт, чиито таргет е вътрешния диск работи без проблем, другия (насочън към папка на USB диска) обаче не иска. При стартиране на скрипта от Терминал (sh xxxxxx.sh) си работи, но когато го стартира епълскрипта - не ще - не изпълнява частта с промяна на пермишъните, но изпълнява другата с преименуването на файла. Предоплагам, че проблема произлиза от security-то на ОС, т.е. трябва да се добави в Privacy нещо да има достъп до Removable Voluumes, но кое и как. В часта Privacy / Files & Folders знаците + и - са неактивни, а добавянето на Терминал в Full Disk Access не променя нищо. Кое и къде трябва да добавя ?

Същата ситуация на HighSierra работи без грешка.

Metal

Има доста ограничение във applescript от Catalina нагоре, сандбоксинг и неработещи превилегии.
Чудя се защо просто не ползваш само терминалния zsh скрипт (,каква функционалност ти добавя епълскрия скрит която не можеш да постигнеш със баш)?

Предполагам си пробвал да добавиш "with administrator privileges"  към AppleScript-a?

Пиф

Здравей,

Благодаря за включването.

" Предполагам си пробвал да добавиш "with administrator privileges"  към AppleScript-a? " - не съм, тъй като скрипта се изпълнява от сървиз под root. Хрумна ми, но ми се стори нелепо и дори не опитах.

" каква функционалност ти добавя епълския скрит която не можеш да постигнеш със баш ? " - не съм специалист нито по епъл, нито по шел скрипт. Така че, най-вероятно може да се реализира, но аз не знам как (поне засега). Просто когато ми потрябва нещо - чета, търся, опитвам сам да реша проблема.

Та, нека изложа по-подробно какво точно се опитвах да реша и как го направих, а вас моля да не се смеете много :). Най-вероятно съм тръгнал от Варна за Бургас през Токио .....   :)

Имам работна станция, до скоро с HighSierra, сега с Catalina, на която има споделени папки. Споделянето става по AFP, SMB или двете заедно. На самата работна станция има 1 администраторски и 3 потребителски (standart) акаунта. Тези 3 потребителски акаунта достъпват споделените папки както локално (от самата машина) така и отвън през macOS (HighSierra или Catalina). Отвън достъпва и един 4-ти акаунт от Windows. Периодично правата върху файловете се омазват и все някой от някъде няма достъп до нещо. За това реших да направя така, че всеки потребител, независимо дали е локално на самата машина или достъпва споделените папки отвън да може да ресетва правата на въпросните папки до първоначално зададено състояние, като за това да не е нужно да се въвежда администраторска парола. Другото важно условие е, че първоначалните права изключват отваряне на достъп на всички, т.е. правата са от вида 750 до 775, но никога 777.

Решението реализирах така:
На въпросната станция създадох споделена папка с достъп по SMB протокол. В нея има файл NoName.txt. Направих малко приложение, което го има както на работната станция, така и другите машини в локалната мрежа. Достъпно е до всички потребители в локалната мрежа и при  стартиране преименува файла от NoName.txt в Reset.txt. На работната станция създадох сървиз, който се стартира под root и изпълнява епълскрипт. Епълскрипта следи за наличието на файла Reset.txt и при появата му стартира шел скрипт с команда да промени правата на дадена папка и да върне името от Reset.txt на NoName.txt. При HighSierra си действаше, ресетва правата, не пита за админ пароли .....    При Catalind - не ще.

Това е епълскрипта:

set fileTargetDATA to ("Macintosh HD:Users:Shared:Target:" as text) & "Reset.txt"

try
   fileTargetDATA as alias
   do shell script "sh /Users/Shared/Scripts/permReset.sh"
end try

return 5


А това шела:

chmod -R 770 /Volumes/DATA
mv /Users/Shared/Target/Reset.txt /Users/Shared/Target/NoName.txt


Решението е такова, защото до толкова ми стигат познанията, а и защото работеше.

Когато папката /Volumes/DATA е на вътрешен за работната станция диск - всичко е ОК, когато е на USB закачен диска правата не реагират. За това и мислех, че трябва да се разреши нещо в Privacy .....

Metal

#9
OK Ясно. Мисля, че разбрах какво се опитваш да направиш и наистина трябва да има по прост начин.
Сегашния в Каталина няма как да проработи защото от Епъл са решили да не пропангандират правата през applescript, вероятно скоро напълно ще го деприкейтнат.

Ето тук има две статий които описват какъв е проблема https://eclecticlight.co/2020/02/15/why-privileged-commands-may-never-be-allowed/

Според този проблем мога да предложа следните решения:

1)Слагаме администраторската парола във шел скрипта! Силно не го препоръчвам този метод!!!


do shell script "sh /Users/Shared/Scripts/permReset.sh" with administrator privileges

еcho 'MY-ADMIN-PASSWORD' | sudo -S chmod -R 770 /Volumes/DATA



2)Правим проверката дали файла съществува в шелскрипта, нещо такова:

#!/bin/zsh
[ -f /Users/Shared/Target/Reset.txt ] && { chmod -R 770 /Volumes/DATA; mv /Users/Shared/Target/Reset.txt /Users/Shared/Target/NoName.txt; }


3)Правим всичко през епълскрипта, като изпращаме командите към Finder вместо към конзолата. За съжаление аз не разбирам от AppleScript и ме се струва загуба на време да разучавам нещо отмиращо.

4)Разбираме защо "правата се омазват"! Да променяш всички директории и файлове на екзекутейбъл не е много редно. Как така се омазват правата, ако някой от групата иска да даде достъп до файл на друг то нека го направи както си му е реда. За всичко останало се наследяват правата на директорията. Нещо не е както трябва при вас.

Пиф

#10
Благодаря за споделената информация.

1 - Реално рисково решение. Търсим друго, не е това.

2 - Ще тествам

3 - Изпращайки към Файндър, не означава ли, че на машината трябва да има логнат юзър за да работа това? Т.е. че няма да работи когато въпросната машина е просто включена и стои на лок екран. Ще пробвам.

4 - Думата "омазват" всъщност не е коректна. Не се омазват, по-скоро аз не успявам да ги настроя както трябва. Примерно когато клиентска машина създава файл на споделено устройство, той е с 644, ако го копира от някъде променя първоначалните права, премахвайки изпълнимостта и то не винаги, а пак зависи къде е бил източника. Уиндоуската машина пък ги прави с 700. Моята цел е в определена папка правата на файловете и подпапките да са едни и същи, независимо кой от регистрираните акаунти / групи и от коя машина ги създава. Едно време бях направил един сървър с Линукс, там подходящото дефиниране на umask решаваше проблема, но тук не се справям нещо. За това взех да измислям заобикалки някакви .....

Пиф

#11
Преди време тествах съветите на Metal и стигнах до работещо решение при Catalina, приложих предложения от него вариант 2.
  Проверка дали Reset.txt съществува, изпълнява root:

#!bin/bash
while [ -f /Users/Shared/Target/Reset.txt ]
do
   sh /Users/Shared/Scripts/permReset.sh && sleep 5
done
sleep 5

  Изпълнение при наличие на Reset.txt (код на permReset.sh):

#!bin/bash
DATA=/Volumes/DATA
Check=/Users/Shared/Target/
chown -R USER:user $DATA && find $DATA -type d -exec chmod 770 {} \+ | find $DATA -type f -exec chmod 660 {} \+
mv "$Check"Reset.txt "$Check"noName.txt

Скриптът го деля на 2 части, защото го мултиплицирам на различни машини, като пътищата към Target и DATA са различни и така по-лесно го адаптирам.

В този вид механизма го прилагам на HighSierra и Catalina. На HighSierra работи независимо дали DATA е на външни (USB) или вътрешни дискове. На Catalina съшо известно време работеше на външни и вътрешни дискове, от известно време насам - само на вътрешни, на външни не изпълнява частта с промяната на правата в permReset.sh. Мисля, че спря след някое от обновяванията на ОС-а, но не съм сигурен. При ръчно стартиране под root на permReset.sh - работи.

Да не би това, което не се позволяваше преди на Applescript сега да е ограничено и в шела?

Опитах с разрешаване на Full Disk Access на Terminal и sh, но без успех.

Metal

#12
Здравей Пиф.
Първо поздравления за напредъка.

На въпроса:
Наистина имаше някъв ъпдейт преди месец два, върти ми се в главата нещо с bash и plist, дори щях да пиша тук но се отказах защото сметнах, че не използваш предложения метод. Но не помня какво беше то! Помня/записах обаче, че попаднах на полезен инструмент неизвестен за мен до тогава Platypus за създаване на Апове от скриптове. Дали ще помогне обаче нямам идея (може да съм си записал линка с идеята да го използвам за в бъдеще).

Въпрос, ти как стартираш този баш скрипт (виждам че си го поставил в лууп). Пробва ли launchd.
Моя съвет е да сложиш няколко sudo-та тук там и да го пуснеш с launchctl

Пиф

#13
Здравей Metal,

Напредъкът е благодарение на помощта ти!

Стартирам скрипта чрез plist в LaunchDeamons, мисля това е чрез launchd. Ето и самия plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>EnvironmentVariables</key>
   <dict>
      <key>PATH</key>
      <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Server.app/Contents/ServerRoot/usr/bin:/Applications/Server.app/Contents/ServerRoot/usr/sbin:/usr/local/sbin</string>
   </dict>
   <key>KeepAlive</key>
   <dict>
      <key>SuccessfulExit</key>
      <true/>
   </dict>
   <key>Label</key>
   <string>com.permissions.manual</string>
   <key>ProgramArguments</key>
   <array>
      <string>/Users/Shared/Scripts/permReset.sh </string>
   </array>
   <key>RunAtLoad</key>
   <true/>
   <key>StandardErrorPath</key>
   <string>/tmp/PermissionsManual.stderr</string>
   <key>StandardOutPath</key>
   <string>/tmp/PermissionsManual.stdout</string>
   <key>UserName</key>
   <string>root</string>
</dict>
</plist>

За генериране и едитване на plist-а ползвам една програмка - Lingon X.

За launchctl ще прочета

по-подробно.

Ще прочета и за Platypus.



EDIT
Намерих го  :)

Трябва в System Preferences / Security & Privacy / Full Disk Access да се добави /bin/bash - проблемът се решава!

Metal

Ами да LaunchDeamons си е същото и би трябвало да стартира скрипта със руут привилегии!
Цитат от статията по горе:
"It's also very important to note that if you placed your Mac plist file in one of the two system directories (/Library/LaunchDaemons, /Library/LaunchAgents), your job will be running as the root user after a system reboot"

Би трябвало да е достатъчно наистина, учудвам се че не е било. (Аз нямам подобни проблеми но чесно казано не правя операции върху USB устройства)

Това за "System Preferences / Security & Privacy / Full Disk Access" е полезно! Макар и елементарно да се сети човек понякога очевидните неща може да ти загубят дни главоблъскане.

Супер, мерси!