LINUX.ORG.RU

Новый bash.

 ,


0

1

В ОС «Debian Lenny» есть «bash-3.2». Хочу уставить туда «bash-4.2» вместо «bash-3.2».

Делал все, как написано в инструкции:

$ ./configure ; make ; make tests ; make install

Ничего не получается. «bash-4.2» не устанавливается в ОС.

Если я установлю «bash-4.2» в ОС, можно будет удалить прошлую версию - «bash-3.2»? Если да, то как?

Помогите пожалуйста! Спасибо!

Это не слакварь и не LFS, ставь из пакетов, чудик.

erfea ★★★★★ ()

к чему эти полумеры, ставь сразу zsh

zolden ★★★★★ ()

обновись до wheezy - будет bash 4.2

vaino ()

Ничего не получается. «bash-4.2» не устанавливается в ОС.

http://segfault.kiev.ua/smart-questions-ru.html
Расскажите, что именно при этом происходит.

Правильный способ установки ПО в Debian - сборка его в пакеты. Возьмите старый bash (apt-get source bash), замените его архив с исходниками на новый и попытайтесь собрать.
Или, по крайней мере, воспользуйтесь checkinstall.

AITap ★★★★★ ()

Ты установил в /usr/local .
Поскольку ты немного плаваешь в этом деле, лучше из сырцов не собирай. Лучше, как люди говорят, либо скачай нужный пакет, либо сделай сам пакет.

Kroz ★★★★★ ()
# cat > /etc/apt/sources.list.d/00releases.list << _EOF_
deb http://ftp.de.debian.org/debian/ squeeze main
deb-src http://ftp.de.debian.org/debian/ squeeze main

deb http://ftp.de.debian.org/debian/ wheezy main
deb-src http://ftp.de.debian.org/debian/ wheezy main
_EOF_

# cat > /etc/apt/preferences.d/00releases << _EOF_
Package: *
Pin: release o=Debian,n=lenny
Pin-Priority: 900

Package: *
Pin: release o=Debian,n=squeeze
Pin-Priority: 400

Package: *
Pin: release o=Debian,n=wheezy
Pin-Priority: 300

Package: *
Pin: release o=Debian
Pin-Priority: -1
_EOF_

# aptitude update
# aptitude install -t wheezy bash

Вроде бы нигде не наврал, но все-равно после update проверьте, чтоб кучи обновлений не появилось. Ну и соизмеряйте эффект от обновления зависимостей с допустимым.

Zmicier ★★★★★ ()
Ответ на: комментарий от Kroz

Где можно скачать нужный пакет? Я же уже скачал архив «*.tar.gz», пробовал установить - не получается!

Как именно нужно заменить архив с исходниками старого «bash-3.2» на новый «bash-4.2»? Я не знаю!

Что такое «checkinstall»?

shell1423 ()
Ответ на: комментарий от AITap

То есть, то, что я делал как показано выше, это не правильно?

Команда «# apt-get source bash» архивирует «bash-3.2» и его исходники?

С помощью каких команд должна происходить замена «bash-3.2» на «bash-4.2» и сборка «bash-4.2»?

Что такое «checkinstall» и как им пользоваться?

shell1423 ()
Ответ на: комментарий от shell1423

То есть, то, что я делал как показано выше, это не правильно?

Да. Вы устанавливаете программу «мимо» пакетного менеджера и тем самым превращаете систему в помойку. Ну, может быть, и не в помойку, но потенциально вероятность разных проблем при этом увелиичвается.
Кстати, bash мог поставиться в /usr/local/bin/bash, проверьте.

Команда «# apt-get source bash» архивирует «bash-3.2» и его исходники?

Да, из репозитория Debian при наличии подключённых в sources.list репозиториев с исходниками (deb-src).

С помощью каких команд должна происходить замена «bash-3.2» на «bash-4.2» и сборка «bash-4.2»?

apt-get source bash
cp .../.../bash-4.2.tgz ./bash_4.2.orig.tar.gz # копируем архив с новыми исходниками рядом со старыми
tar xf ./bash_4.2.orig.tar.gz # распаковываем их
cp -r bash-3.2/debian bash-4.2/ # копируем все связанные с Debian файлы из старых исходников в новые
cd bash-4.2
dpkg-buildpackage -uc -us # собираем пакет; debhelper позаботится обо всём

Прочитайте также http://www.debian.org/doc/manuals/maint-guide/update.ru.html#newupstream (и вообще maint-guide).

Что такое «checkinstall» и как им пользоваться?

aptitude show checkinstall

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Вы знаете, как можно изменить время выбора ОС в загрузчике «GRUB»?

shell1423 ()
Ответ на: комментарий от AITap

При попытке перезагрузить ОС «Debian Squeeze», система перезагружается сама, но не происходит перезагрузки компьютера.

Таким образом, чтобы попасть в другую ОС, которая установлена в этом же компьютере, мне приходится полностью выключать «Debian» и заново включать компьютер.

Что делать?

shell1423 ()
Ответ на: комментарий от shell1423

При попытке перезагрузить ОС «Debian Squeeze», система перезагружается сама, но не происходит перезагрузки компьютера.

Что делать?

Отключить kexec.

gentoo_root ★★★★★ ()
Ответ на: комментарий от shell1423

Отредактируйте /etc/default/kexec, подробнее см. /usr/share/doc/kexec-tools

AITap ★★★★★ ()
Ответ на: комментарий от shell1423

Отключите в /etc/default/kexec перезагрузку с использованием kexec. Информация о том, как это настраивается и работает, лежит в директории /usr/share/doc/kexec-tools/. Вопроса не понял.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Когда отключу в /etc/default/kexec перезагрузку с использованием kexec, при помощи команды «# reboot» перезагружаться будет полностью компьютер, а не только ОС «Debian»?

shell1423 ()
Ответ на: комментарий от shell1423

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

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Почему в загрузчике «GRUB» после установки ОС «Debian» появляются записи для загрузки одного и того же ядра:

Debian GNU/Linux 2.6.32 - 686

Debian GNU/Linux 2.6.32 - 486?

Какие между ними различия (кроме архитектуры)? Под каждым из пунктов загрузки я не указывал восстановительный режим (recovery mode).

shell1423 ()
Ответ на: комментарий от shell1423

Потому, что в системе установлено 2 версии ядра. Для каждого ядра генерируется пункт «нормальной» загрузки и пункт recovery mode. Вы можете удалить пакет с одним из этих ядер.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Как сказывается на производительности наличие двух версий ядра?

Какая версия ядра является наиболее предпочтительной, чтобы остаться в качестве загрузочной?

Предлагаемое для удаления ядро должно быть заархивировано также, как и «bash-3.2» (пункт выше)?

shell1423 ()
Ответ на: комментарий от shell1423

Как сказывается на производительности наличие двух версий ядра?

Никак. Не запущенное ядро просто валяется на жёстком диске и никого не трогает.

Какая версия ядра является наиболее предпочтительной, чтобы остаться в качестве загрузочной?

Более оптимизированная под текущий процессор. С очень большой вероятностью это 686 (если оно просто работает, оставляйте его).

Предлагаемое для удаления ядро должно быть заархивировано также, как и «bash-3.2» (пункт выше)?

aptitude remove имяпакета
Для того, чтобы найти, какому пакету принадлежит файл, введите dpkg -S /путь/к/файлу (например, dpkg -S /boot/vmlinuz-версия-ядра).

Прочитайте http://www.debian.org/doc/manuals/debian-reference/, там наверняка есть ответы на эти и похожие вопросы.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

При редактировании каких текстовых файлов ОС «Debian» можно изменить шрифт и размер шрифта в терминале и в GUI?

shell1423 ()
Ответ на: комментарий от shell1423

в терминале

Имеете в виду, в Virtual Console? dpkg-reconfgure console-setup

и в GUI?

А это настраивается очень по-разному. Загляните в qtconfig и в «настройки внешнего вида» в используемом DE.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Имеется возможность изменить размер шрифта в терминале путем редактирования конфигурационных файлов в каталоге «/etc»?

Наверняка, в каталоге «/etc» имеются нужные файлы?

shell1423 ()
Ответ на: комментарий от shell1423

размер шрифта в терминале

И всё-таки, Вы имеете в виду Virtual Console (ctrl-alt-f*), или эмулятор терминала (иксовые программы)?

Если первое, то сообщите, используется ли какой-нибудь фреймбуффер, или в VC работает обычное текстовое разрешение 80*24 символа.

Если второе, то все настройки таких терминалов хранятся где-то в ~ (в зависимости от терминала).

В этом каталоге нет такого файла: «menu.lst»!

В Lenny - был. В более современных - нет, GRUB заменён на GRUB2, конфиг которого лежит в /boot/grub/grub.cfg. Но он генерируется автоматически и не должен редактироваться, так что нужно изменить /etc/default/grub и запустить update-grub. См. info grub 'Configuration' 'Simple configuration'


Вы могли самостоятельно заглянуть в info grub и прочитать там это.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Если второе, то все настройки таких терминалов хранятся где-то в ~ (в зависимости от терминала).

«~» - это домашний каталог пользователя? Если - да, то конфигурационные файлы для редактирования должны быть скрытыми.

Нужно изменить /etc/default/grub и запустить update-grub.

Команда «# update-grub» обновляет загрузчик «GRUB»?

shell1423 ()
Ответ на: комментарий от shell1423

«~» - это домашний каталог пользователя? Если - да, то конфигурационные файлы для редактирования должны быть скрытыми.

Да, да. Настройки обычно лежат в ~/.config, но могут быть где угодно.

Команда «# update-grub» обновляет загрузчик «GRUB»?

man update-grub уже читали?

AITap ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.