LINUX.ORG.RU
ФорумTalks

bash'и 2.05b и 3.2.57 живы

 ,


0

1

Сабж. Да, живы. Только что собрал их командами

sed -i 's/free_return:/&;/' lib/malloc/malloc.c
autoreconf
./configure
make
для bash'а 2.05b и
autoreconf
./configure
make
для bash'а 3.2.57 соответственно. autoreconf падает со статусом 1, но сборка проходит как по маслу.

Итак, отличия по функционалу bash'а 2.05b (2002-й год) от более поздних версий:

  • Нет CVE-2014-6271 (ShellShock);
  • Нет встроенных функций caller, compopt, coproc, mapfile и readarray;
  • bind без -X;
  • cd без -e и -@;
  • help без -d и -m;
  • logout без аргументов;
  • read без -i и -N;
  • set без "--";
  • source без аргументов;
  • typeset без -A, -g, -l, -n и -u;
  • unset без -n;
  • wait без -n;

bash 3.2.57 (2007-й год) отличается от 2.05b следующим:

  • появилась встроенная функция caller;
  • во встроенной функции source появилась работа с аргументами;

Тарболы можно скачать здесь: ftp://ftp.gnu.org/gnu/bash/bash-2.05b.tar.gz , ftp://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz .

Enjoy!

★★★★★
Ответ на: комментарий от mandala

Где-то на торрентах исходники IRIX'а валялись, там еще утилиты в довесок шли. Вроде csh или ksh, не помню.

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

которых днём с огнём не найдёшь

Почему ты такой жирный?

Тут я его поддержу. 64-х битные бинарники под винду встретишь редко, а 32-х битный вайн таки требует мультиарч. Для меня, это, например неприятно - я на no-multilib сижу.

Meyer ★★★★★
()
Последнее исправление: Meyer (всего исправлений: 1)
Ответ на: комментарий от Unicode4all

Трансляция есть эмуляция. Или по твоему транслятор кода ARM в x86-64 (QEMU, например) не эмулятор?

Тут несколько другое. Wine - это альтернативная реализация Win32 API.

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

Wine (originally an acronym for «Wine Is Not an Emulator»)

С их сайта.

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

64-х битные бинарники под винду встретишь редко

щтоа

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

64-х битные бинарники под винду встретишь редко

Ага, попробуй что-нибудь из игроновинок запустить на 32-битной семерочке. Расскажи потом свою историю успеха.

32-х битный вайн таки требует мультиарч

Почему так, что я уже года два наверное, может чуть меньше, ставлю полностью 64-битный вайн, а при надобности создаю 32-битный префикс? Мультилиб у меня присутствует только в виде кодеков и кое-чего из месы.

ozzee
()

ТС, а когда ты первый раз узнал про KOI8-R, когда это произошло и при каких обстоятельствах? Можешь поделиться подробностями?

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

Впервые узнал про KOI8-R из советских книг. Которые также писали, что один байт - один символ, а один символ - один байт.

А при переходе на Linux я нашёл мануал по руссификации, который описывал настройку именно локали KOI8-R, при этом подчёркивая, что на территории России в Unix'ах используется именно она в противоположность виндовой cp1251.

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

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

Unicode4all ★★★★★
()

ТС'а надо в ментейнеры федоры/убунты, для пересборки всего и вся с минимум зависимостей, шоб при установке калькулятора не тянулся весь DE и прочая чепуха на целый гиг.

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

наоборот, я их обожаю и только ими и пользуюсь, просто вот прям щас я не могу в федоре на моём торрентокачалке сделать dnf remove gnome*, т.к. в роли качалки настроеный deluge, который зависит от deluge-gtk а он от всего десткопа пакетов, хотя мне gui нафиг не нужен, через демон работает всё и deluge-web.

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

Сейчас я сломаю твой мирок. Она там есть.

Да я вообще некомпетентное чмо! Винду вижу, но стараюсь руками не трогать, а за 10+ лет я уже или забыл, или никогда и не знал что там точно и как.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от eR

просто вот прям щас я не могу в федоре на моём торрентокачалке сделать dnf remove gnome*, т.к. в роли качалки настроеный deluge, который зависит от deluge-gtk а он от всего десткопа пакетов

Вообще-то можешь: deluge — это метапакет, в нем нет файлов, зато он тянет по зависимостям и deluge-gtk, и deluge-daemon, и deluge-web; deluge-{daemon,web} не зависят от deluge-gtk.

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

у нас тут deluge нормально попилен на мелкопакеты и зависимости вроде адекватные

О да! Хотя давненько дело было, может и починили.

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

У меня работает, дебиан sid, специально ни чего не делал, само из коробки.

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

KOI8-R
новости

Новостью на кладбище разве что очередная могила может быть.

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

Но, причём здесь я?

Ты просто напоминаешь вегана. «Эй смотрите, я использую КОИ-8 и ваще я следую философии UNIX и вам этого советую (в весьма навязчивой форме). Кто не использует КОИ-8 и не следует ущербной философии UNIX — тот бяка.»

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

Каждый пишет о том, что ему интересно.

Кто не использует КОИ-8 и не следует ущербной философии UNIX — тот бяка.

Это уже домыслы. Я, наоборот, постоянно говорю: пожалуйста, хотите пользоваться юникодами и комбайнами - пользуйтесь на здоровье.

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

в противоположность виндовой cp1251
Я говорю про 2003-й год.

Win2k вышел в 2000, XP — в 2001. Надо было выбросить тот мануал ещё тогда, не говоря уже о советских (sic!) книгах.

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 3)
Ответ на: комментарий от saahriktu

Вам лишь бы выбрасывать.

А что с ними ещё делать? Не настраивать же линукс по книгах, вышедших ещё до его появления, в самом деле.

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

Linux появился в 1991-м году.

А совка, в котором писались эти книги, уже не было.

Тогда ещё, кстати, юникода не было вообще совсем.

Врёшь, уже был.

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

Кто говорил про первый черновик? UTF-8 появилась в 1992-м году.

А совка, в котором писались эти книги, уже не было.

А ещё надо было выкинуть советские книги по математике, физике, химии,... и т.д. Если страны уже нет - всё устарело, ага.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Кто говорил про первый черновик? UTF-8 появилась в 1992-м году.

Изначально ты говорил о юникоде, первый стандарт которого выпущен в 1991 году.

А ещё надо было выкинуть советские книги по математике, физике, химии,... и т.д.

Если бы большинство данных в них были неверны либо неактуальны — именно так и надо было с ними поступить. Конечно, можно и в музей сдать дабы потомки могли поржать.

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

Если страны уже нет - всё устарело, ага.

Выше ты писал что поставил линукс в 2003 году, т.е. тем книгам на тот момент исполнилось не менее 12 лет. Учитывая что они писались ещё до того как этот самый линукс увидел свет — музей уже давно в них нуждался.

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

А ещё надо было выкинуть советские книги по математике, физике, химии,... и т.д. Если страны уже нет - всё устарело, ага.

Книги по естественным наукам устаревают за считанные годы. А в некоторых случаях вообще до выхода из типографии.

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

Проблемы терминологий. Для меня юникод - это UTF-8, UTF-16 и UTF-32.

неверны либо неактуальны

Вопрос актуальности - относительный. Всем актуально разное.

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

Где я писал, что настраивал Linux по советским книгам? Я же писал, что настраивал по мануалу руссификации тех самых лет.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Где я писал, что настраивал Linux по советским книгам?

Зачем тогда ты ссылаешься на какие-либо утверждения из этих книг? Если в какой-то книге времён инквизиции написано что Солнце вращается вокруг стоящей на костылях и подпорках китах, черепахах и слонах Земли — это не значит что написанную в ней чушь нужно как-либо принимать во внимание современным астрономам.

Я же писал, что настраивал по мануалу руссификации тех самых лет.

https://s00.yaplakal.com/pics/pics_original/4/7/9/5902974.jpg
Из той же оперы.

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

Проблемы терминологий.

В данном случае никакой проблемы нет, просто твоё субъективное восприятие термина „юникод” оказалось неправильным.

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

Школы бывают разные. Я недавно приводил цитату из учебника 2010-го года, которая говорит, что

В операционной системе Linux для представления русских букв используется кодировка КОИ-8R (рисунок 1.7), зарегистрированная в IANA

как KOI8-R (http://koi8.pp.ru/).

А людям важно, что пишут в учебниках, и написанное в учебниках они переносят в свою жизнь. В т.ч. настраивая локаль KOI8-R. И это уже не какие-то абстрактные представления, а практика.

Точно также в соответствии как со старыми так и новыми учебниками я отказываюсь признавать существование каких-то там кибибайтов и т.п. Как я прочитал в 10 лет, что в 1 килобайте 1024 байт, в 1 мегабайте 1024 килобайта, а в 1 гигабайте 1024 мегабайта - так я и пронесу это через всю жизнь. Люди в этом смысле инертны. Тем более если они видят практическое применение усвоенного. А двоичная адресация в первую очередь касается оперативной памяти. Для адресации 1024-х байт достаточно 10-ти бит. При этом для адресации 1000 байт нужны опять те же 10 бит, но при этом они не используются на полную. Ну и т.д. При этом, вечно всё ломать и переделывать по новой моде - никаких сил не хватит.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Ты бы свои личные психологические проблемы не обобщал на всё человечество-то. К счастью есть еще люди, которые способны не бездумно запомнить устаревшие представления из учебников, а критически их осмысливать и пересматривать при появлении новых знаний...

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

Так я и говорю про обдуманное усвоение. Не просто абстрактные цифры по бумажке, а с привязкой к практическому применению.

Новые практические применения у новых школ, и их не обязательно разделять.

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

А почему из однобайтовых кодировок выбрана именно KOI8-R? Там же русские буквы не упорядочены. Программы для сортировки по алфавиту получаются сложнее. Почему не выбрать например ISO8859-5?

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

Ни разу не сложнее, поскольку карты символов никто не отменял. Простой пример сортировки в KOI8-R я уже приводил, вот он:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// карта символов
int mycharorder[] = { 64, 33, 34, 56, 37, 38, 54, 36, 55, 42, 43, 44, 45, 46,
        47, 48, 49, 65, 50, 51, 52, 53, 40, 35, 62, 61, 41, 58, 63, 59, 57, 60,
        31, 0, 1, 23, 4, 5, 21, 3, 22, 9, 10, 11, 12, 13, 14, 15, 16, 32, 17,
        18, 19, 20, 7, 2, 29, 28, 8, 25, 30, 26, 24, 27
};

// получение веса символов из карты
int getcwght(int mc)
{
        if (mc > -65 && mc < 0) {
                return mycharorder[mc + 64];
        } else
                // сортируем только кириллицу
                return -1;
}

int main(int argc, char **argv)
{
        if (argc < 3)
                // одну строку и меньше не сортируем
                return 1;
        int *sordr,             // массив указателей (индексов) на сортируемые строки
        *cwlist,                // массив "веса" сортируемых символов
        i, j, k,                // переменные циклов
        s,                      // swap
        eoas,                   // End Of A Strings (как EOF, но для строк)
        cci = -1,               // Current Char Index - индекс текущих сортируемых символов
        pccf;                   // флаг несовпадения предыдущих символов в строках
        // создание динамических массивов
        sordr = (int *)malloc(sizeof(int) * (argc - 1));
        cwlist = (int *)malloc(sizeof(int) * (argc - 1));
        // бесконечный цикл
        for (;;) {
                // переход к следующим символам
                cci++;
                // поднимаем флаг конца строк
                eoas = 1;
                // проверяем строки
                for (i = 1; i < argc; i++) {
                        if (cci < (strlen(argv[i]) + 1)) {
                                // если текущий индекс символов меньше чем символов в строке, то опускаем флаг
                                eoas = 0;
                                break;
                        }
                }
                // если строки закончились, то выходим из бесконечного цикла
                if (eoas)
                        break;
                // заполняем массивы данными для сортировки
                for (i = 0; i < argc - 1; i++) {
                        // при первом проходе заполняем по полной
                        if (cci == 0) {
                                sordr[i] = i + 1;
                                if (cci < (strlen(argv[i + 1]) + 1))
                                        cwlist[i] = getcwght(argv[i + 1][cci]);
                                else
                                        cwlist[i] = -2;
                        } else {
                                // при последующих проходах трогаем только массив веса символов
                                if (cci < (strlen(argv[sordr[i]]) + 1))
                                        cwlist[i] =
                                            getcwght(argv[sordr[i]][cci]);
                                else
                                        // при достижении конца строки не просто не сортируем, но совсем не сортируем
                                        cwlist[i] = -2;
                       }
                }
                // циклы сортировки
                // начинаем двигаться с конца массива к началу
                for (i = argc - 2; i > 0; i--)
                        // и одновременно от начала
                        for (j = 0; j < i; j++) {
                                // если хотя бы один из 2-х символов совсем несортируем, то
                                // ничего не трогаем и идём к следующей итерации
                                if (cwlist[i] == -2 || cwlist[j] == -2)
                                        continue;
                                // а вот если символы сортируемы и они не начальные, то
                                // проверяем совпадают ли в строках символы до них
                                if (cci > 0) {
                                        pccf = 0;
                                        for (k = 0; k < cci; k++)
                                                if (argv[sordr[i]][k] !=
                                                    argv[sordr[j]][k])
                                                        pccf = 1;
                                        // не совпадают - к следующей итерации
                                        if (pccf)
                                                continue;
                                }
                                // если всё в порядке и вес символа левее больше
                                if (cwlist[i] < cwlist[j]) {
                                        // переставляем местами элементы массивов с соответствующими индексами
                                        // переставляем строки
                                        s = sordr[i];
                                        sordr[i] = sordr[j];
                                        sordr[j] = s;
                                        // а вес сортируемых символов теперь не соответствует
                                        // новому расположению строк, исправляем
                                        s = cwlist[i];
                                        cwlist[i] = cwlist[j];
                                        cwlist[j] = s;
                                        continue;
                                }
                        }
        }
        // после бесконечного цикла выводим результат сортировки
        for (i = 0; i < argc - 1; i++) {
                puts(argv[sordr[i]]);
        }
        // и освобождаем память
        free(sordr);
        free(cwlist);
        // сообщаем шеллу что всё ок и выходим
        return 0;
}
> ./ffsort2 Шевцов Петров Сыромякин Иванов Пятаков Абрамов Ершов Сидоров Ершин Кузнецов Абдулов
Абдулов
Абрамов
Ершин
Ершов
Иванов
Кузнецов
Петров
Пятаков
Сидоров
Сыромякин
Шевцов

Так сложилось исторически, Настроил по мануалу и втянулся.

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

Школы бывают разные. Я недавно приводил цитату из учебника 2010-го года

Да, местами с образованием есть большие проблемы.

В операционной системе Linux для представления русских букв используется кодировка КОИ-8R (рисунок 1.7), зарегистрированная в IANA
как KOI8-R (http://koi8.pp.ru/).

Хорошо хоть не natribu.org сослались. Хотя да, там ведь тоже юникод.

А людям важно, что пишут в учебниках, и написанное в учебниках они переносят в свою жизнь

Адекватным людям пофиг что там некомпетентные идиоты пишут в своих заведомо устаревших учебниках.

В т.ч. настраивая локаль KOI8-R. И это уже не какие-то абстрактные представления, а практика.

Практика показывает что людям насрать на KOI8-R, они выбирают юникод.

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.