Nowa wersja skryptu w wersji dla Snow Leopard'a, automatyzująca następujące czynności:
poprawę uprawnień i właścicieli plików dla zawartości /Extra i /System/Library/Extra
tworzenie mkextów w /Extra i /System/Library/Extra w wersjach 32 i 64 bit.
Używanie skryptu.
Należy go skopiować do głównego folderu ( / ) partycji gdzie mamy /Extra i uruchomić komendą w terminalu:
Kod:
sudo ./cachesl.sh
Kod:
#!/bin/bash
if [ $USER != "root" ]; then
echo "Error ==> This script must be run as root"
exit
fi
echo "Fixing Extra permisions"
chown -R root:wheel Extra
find "Extra" -type f -exec chmod 644 {} \;
find "Extra" -type d -exec chmod 755 {} \;
#chmod -R 755 Extra
if [ -e "Extra/Extensions.mkext" ]; then
mv Extra/Extensions.mkext Extra/Extensions.mkext.`date "+%Y-%m-%d--%H-%M"`
fi
if [ -e "Extra/KextStore" ]; then
mv Extra/KextStore Extra/Extensions
fi
if [ -e "dsdt.aml" ]; then
chown -R root:wheel dsdt.aml
chmod -R 644 dsdt.aml
fi
if [ -e "DSDT.aml" ]; then
chown -R root:wheel DSDT.aml
chmod -R 644 DSDT.aml
fi
echo "Updating Chameleon PC_EFI Extra boot cache"
#kextcache -v 1 -a i386 -a x86_64 -m Extra/Extensions.mkext Extra/Extensions > Extra/update.log 2>&1
kextcache -v 1 -a i386 -a x86_64 -m Extra/Extensions.mkext Extra/Extensions
mv Extra/Extensions Extra/KextStore
echo "Fixing System Extensions permisions"
chown -R root:wheel System/Library/Extensions
find "System/Library/Extensions" -type f -exec chmod 644 {} \;
find "System/Library/Extensions" -type d -exec chmod 755 {} \;
Pomógł: 234 razy Wiek: 34 Dołączył: 08 Sty 2009 Posty: 4446 Skąd: Warszawa
Wysłany: 2009-10-01, 23:53
Dzięki, na pewno się przyda - choć sam lubię sobie czasem wklepać coś ręcznie
BTW, rozróżnienie na uprawnienia 755 i 644, tak naprawdę można dodać także do wersji dla "starego" Leo.
Jak najbardziej że można dodać... obecna wersja to powiedzmy RC1 dla SL i cały czas nie do końca podoba mi się poprawa uprawnień dla /S/L/E... po tej czynności oczywiście wszystko działa z /S/L/E, ale niektóre pliki powinny być 755 a niektóre 644.
Lepszym wyjściem by było użycie polecenia
Kod:
diskutil repairPermissions MountPoint
ale ono znów nie naprawi uprawnień dla haMac'owych kextów...
Pomógł: 234 razy Wiek: 34 Dołączył: 08 Sty 2009 Posty: 4446 Skąd: Warszawa
Wysłany: 2009-10-02, 11:51
Sam robię tak, że naprawiam przez diskutil.
A ręcznie naprawniam potem konkretnie kexty non-apple wskazując konkretny. A, że w /S/L/E mam tylko 1 taki kext (VoodooHDA), więc dużo roboty nie mam
Pomógł: 234 razy Wiek: 34 Dołączył: 08 Sty 2009 Posty: 4446 Skąd: Warszawa
Wysłany: 2009-10-02, 13:13
Teoretycznie można zrobić odwrotnie. Czyli najpierw uprawnienia po całości, tak jak w jest w skrypcie, potem diskutil. Wtedy efekt powinien być optymalny.
Dużym minusem jest jednak czas trwania tej operacji.
Lepsza (szybsza) opcja to wymyślenie jakiejś metody na rozpoznanie kextu non-apple lub możliwość ręcznego wskazania tych kextów. Wtedy nie popsujemy uprawnienień vanilliowych kextów , więc nie trzeba będzie ich naprawiać w diskutil.
Pierwsze, co mi przychodzi do głowy, to utworzenie (dłuugiej) listy oryginalnych kextów. Wtedy można będzie przeprowadzić daną operację, tylko na tych pozostałych. Tu pojawia się inny duży minus - nie naprawimy uprawnień dla kextów zmodyfikowanych, które występują oryginalnie w systemie.
Ale jeśli chodzi o informatykę, to jestem amatorem, więc może jest jakiś elegantszy sposób
Wiek: 26 Dołączył: 30 Kwi 2009 Posty: 260 Skąd: Warszawa
Wysłany: 2010-09-16, 16:24
314TeR, nie działa mi ten skrypt. Powiem co zrobiłem:
1. Sciągnąłem skrypt z tego tematu dla Snow oczywiscie,
2. Rozpakowałem i skopiowałem do katalogu głównego mojego dysku
Odpaliłem termina i wpisałem sudo ./cachesl.sh zapytał mnie ładnie o hasło podałem i wyskoczyła mi inf o tym, że nie mam takiego katalogu....
_________________ iHack: Snow Leopard Retail 10.6.7 64 bit | Asus P7P55D PRO | COREi7-875K | Asus HD5870 | 16GB DDR3 |
Piszę poprawnie po polsku!
Pomógł: 108 razy Wiek: 15 Dołączył: 12 Gru 2009 Posty: 1511 Skąd: Warszawa
Wysłany: 2010-09-16, 16:38
barylatko napisał/a:
Odpaliłem termina i wpisałem sudo ./cachesl.sh zapytał mnie ładnie o hasło podałem i wyskoczyła mi inf o tym, że nie mam takiego katalogu....
A ja właśnie rozkminiłem dlaczego skrypt nie działa Trzeba:
1. Skopiować skrypt na dysk
2. Nadać mu uprawnienia
3. (i o to właśnie chodziło) Wpisać do terminala coś takiego
Kod:
cd /
4. Uruchomić skrypt
Pozdrawiam
_________________ MacOS X Lion 10.7.2 64-bit on MSI P55-GD65 (Intel P55, ALC889) | i5-750 2.66 Ghz | G.Skill ECO 4GB DDR3 1600Mhz CL7 | ZOTAC NVidia 9600GT AMP! Edition | Samsung HD103SJ
MacOS X Lion 10.7.2 32-bit on Gigabyte EP41-UD3L (G41 + ICH7R) | Intel Pentium E5300 2.6Ghz | 3GB DDR2 | Palit NVidia GeForce 7600GT | Seagate 7200.12 500GB
MacOS X Lion 10.7.2 64-bit on MacBook Pro 15' Mid-2010 | i5-520M 2.4Ghz | NVidia GeForce GT330M + IntelHD | 4GB DDR3 | Toshiba 320GB 5400rpm
iPhone 4 32GB White + iOS 5.0.1 JB | TL-WR1043ND + OpenWRT (GargoylePL) | NIE POMAGAM NA PW!!! | Snow Leopard 10.6.8 Retail z BootCD | Piszę poprawnie po polsku!
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Nie możesz ściągać załączników na tym forum
Forum użytkowników Mac OS X na PC. Co to jest Hackintosh. Instalacja Mac OS X na PC z płyty Retail. Instalacja i opisy dystrybucji iDeneb, iPC, Kalyway, Leo4ALL, iAtkos.