Я новачок у ОС X. Я запускаю OS X Lion на MacBook Pro. Чи безпечно оновити bash shell за допомогою Homebrew:
$ brew install bash
Як безпечно, як я можу зробити його екземпляром оболонки, яку я запускаю через термінал, за замовчуванням?
Дякую!
Я новачок у ОС X. Я запускаю OS X Lion на MacBook Pro. Чи безпечно оновити bash shell за допомогою Homebrew:
$ brew install bash
Як безпечно, як я можу зробити його екземпляром оболонки, яку я запускаю через термінал, за замовчуванням?
Дякую!
Відповіді:
Бінарні файли в, /{,usr/}{,s}bin/
як правило, не повинні бути замінені іншими файлами. Інші програми очікують, що це версії, що постачаються з OS X, і їх замінюють оновлення ОС.
Після запуску brew install bash
ви можете безпечно змінити оболонку за замовчуванням:
/usr/local/bin/bash
до/etc/shells
chsh -s /usr/local/bin/bash
.Налаштування в Terminal або iTerm 2 зазвичай не потрібно змінювати. Обидва вони за замовчуванням відкривають нові вікна з оболонкою входу оболонки за замовчуванням.
Оболонку за замовчуванням також можна змінити в налаштуваннях системи або за допомогою dscl, але всі три варіанти просто змінюються /var/db/dslocal/nodes/Default/users/$USER.plist
.
/etc/shells
Потрібно небагато відомостей про редагування, щоб увімкнути встановлений варінням bash. Інакше (принаймні на моїй машині) термінал відмовиться запускати.
brew install bash
для цього працювати. (тобто не потрібно було змінювати /etc/shells
)
Я можу помилятися тут, але, наскільки я знаю brew
, встановив би це власний екземпляр bash
, оскільки пивоварня працює під /usr/local/bin
час, коли система за замовчуванням працює під /bin
(і /usr/bin
).
Щодо Терміналу, ви можете зробити оболонки відкритими за допомогою власної спеціальної команди. Перейдіть до Налаштування> Запуск та виберіть Оболонки, відкриті за допомогою: Команда (повний шлях) . Просто введіть шлях до нового bash
та вуала!
Сподіваюся, це допомагає!
BTW: Резервне копіювання! Найкраща порада в таких ситуаціях!
Перед тим, як щось робити, створіть резервну копію поточного файлу (звичайно, але завжди це заслуговує на увагу)
sudo cp /bin/bash /bin/bash.3.2.bk
Потім створіть символьне посилання на виконуваний файл bash, який завантажив Homebrew. Я думаю, це буде в / usr / local / льоху, як так
sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash
Тепер / bin / bash вказує на файл у вашому usr / local каталозі
Я думаю, що це безпечно, якщо ви просто запустите
brew install bash
а потім додайте його як оболонку за замовчуванням
chsh -s /usr/local/bin/bash
оскільки ви змінюєте лише свого поточного користувача. Однак я помітив, що мій стандартний ~ / .profile є типовим
if [ "/bin/bash" == $BASH ]; then
source ~/.bashrc
fi
тому його потрібно оновити. Я змінив його на
if [ "bash" == $(basename $BASH) ]; then
source ~/.bashrc
fi
chsh
одних лише недостатньо. Також оновлений фрагмент .profile виглядає ідентично оригінальному
brew install bash
не вимагали жодних подальших дій. З оновленим профілем, яким я поділився, це не так. Я сподіваюся, що це може допомогти іншим.