LINUX.ORG.RU
ФорумTalks

Почему гнутый линукс не готов не только для десктопа

 , , , ,


2

2

Потому что его использование ничем не отличается от бега с препятствиями на минном поле с повязкой на глазах. Для примера возьмём утилиту wget из фонда GNU, которая есть практически во всех дистрибутивах Linux, и попробуем скачать файл с кириллицей в имени. В случае если сервер отдаст 302 Moved — можем получить файл с названием, которое отличается от ожидаемого. Идём читать ман:

‘--trust-server-names’

If this is set to on, on a redirect the last component of the redirection URL will be used as the local file name. By default it is used the last component in the original URL.


Вроде бы всё ясно. Качаем файл с опцией --trust-server-names и получаем нечитаемую кашу из кириллических букв, цифр и процентов в имени. Открываем опять ман:

--restrict-file-names=modes’


If you specify ‘nocontrol’, then the escaping of the control characters is also switched off. This option may make sense when you are downloading URLs whose names contain UTF-8 characters, on a system which can save and display filenames in UTF-8 (some possible byte values used in UTF-8 byte sequences fall in the range of values designated by Wget as “controls”).


Шёл 2015 год, а для нормальной работы с UTF-8 всё ещё нужно указывать какой-то ключ, подтверждающий что ты не Эдик. Но ведь теперь-то я могу быть уверен что с опциями --trust-server-names --restrict-file-names=nocontrol у меня во всех случаях файлы будут сохраняться с нормальными именами? Нет, т.к. даже осилив прочитать весь многостраничный ман у меня нет гарантий что поведение программы во всех случаях соответствует документации, не говоря уже об интуитивности и предсказуемости её поведения, а значит при беге риск нарваться на очередную скрытую мину времён второй мировой по-прежнему сохраняется.

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

Смотри-ка: сам апеллирует к «рядовому юзеру», и сам же требует от других определения. Ай, красавчик!

Так ведь не я первым начал про повседневные задачи „рядового” юзера. Я это даже в названии треда обозначил.

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

feature

Но ведь сохранение файла с изначальным именем это даже не фича, это как бы само собой разумеющееся.

YOU didn't implement it

Да, это сделали за меня, но криво. Прямо оно работает только с помощью дополнительного ключа, но это неинтуитивно. Ну и если вдруг попадётся файл со служебными спецсимволами в имени — результат неизвестный.

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

но криво. Прямо оно работает только с помощью дополнительного ключа, но это неинтуитивно.

Как сказал один малоизвестный человек:

 - Talk is cheap, show me the code.
DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

Прекрати разговаривать цитатами и проверь сам на файлах с разными кириллическими именами. Ссылку на страничку wget на сайте GNU я уже дал в стартовом посте, сорцы должны быть где-то рядом.

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

Я то чо? Нашёл баг, пофикси, vim и gcc у тебя под рукой. Не хватает скиллов - запости в багтрекер, может кто-то пофиксит, тебе никто ничего не должен. Если так уж сильно надо, можешь мне денег накинуть, я починю.

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

Ничоси. Ну тогда или территории, или патчи, или качай курлом.

leave ★★★★★
()

Пример для проверки можно?

Ну, который конкретно у тебя повторяется.

Хочу ради интереса проверить ubuntu и os x.

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

не согласен с поведением

Ты так говоришь будто постоянные спотыкания людей об одни и те же кривые грабли считаешь нормой.

напиши им в мейллист

https://www.google.com/search?q=wget "restrict-file-names=nocontrol"
Проблема известна как минимум с 2008 года. Мне почему-то кажется что я буду не первым, есть ли вообще смысл им писать?

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

Ну, который конкретно у тебя повторяется.

Конкретно мой вряд-ли получится повторить т.к. насколько я знаю ex.ua недоступен за пределами Украины. Можешь попробовать повторить с таким же названием что и у товарища в похожих тредах.

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

url он не в utf-8, там другая система кодирования.

Это я знаю. Какие проблемы с его конвертацией в utf-8?

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

Т.е. ничего кроме гну/хурда и гну/линукса не существует? Винда, Мак, не?

Там изкоробки есть гнутый wget?

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

Пример для проверки можно?

Кажется нашёл годный пример: http://cs.playffun.ru/ftp/pub/temp/руслана/

Например, делаем

$ wget -P /tmp http://cs.playffun.ru/ftp/pub/temp/%D1%80%D1%83%D1%81%D0%BB%D0%B0%D0%BD%D0%B0/%D1%80%D1%83%D1%81%D0%BB%D0%B0%D0%BD%D0%B0%20-%20%D0%B4%D0%B8%D0%BA%D1%96%20%D1%82%D0%B0%D0%BD%D1%86%D1%96-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D0%B0%20%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%8F.mp3 --trust-server-names

Должно получиться руслана - дикі танці-українська версія.mp3, вместо этого получаем \321%80\321%83\321%81лана - дик\321%96 \321%82ан\321%86\321%96-\321%83к\321%80а\321%97н\321%81\321%8Cка ве\321%80\321%81\321%96\321%8F.mp3. С опцией --restrict-file-names=nocontrol результат становится таким как нужно.

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

Я кажется опять запутался, ты хочешь сказать если не ставить вгет, то юзабельность повысится?

Если в дистрибутивах изкоробки пропатчить/заменить все подобные утилиты с такими костылями на нормальные с сохранением основного функционала то очевидно повысится, ведь визитной карточкой линукса, которая многими ставится ему в преимущество над другими более популярными ОС, есть удобный шелл с CLI-утилитами.

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

Это я знаю. Какие проблемы с его конвертацией в utf-8?

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

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

Если в дистрибутивах изкоробки пропатчить/заменить

Заменить на что, где-то есть другой более лучший вгет?

визитной карточкой линукса, которая многими ставится ему в преимущество над другими более популярными ОС, есть удобный шелл с CLI-утилитами

Нет

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

Заменить на что, где-то есть другой более лучший вгет?

Да, после пропатчивания он где-то появится.

Нет

А что же тогда?

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

Действительно, скачивается с кривым именем. OS X с wget из macports.

С wget из cygwin на Windows результат аналогичный.

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

А в каких-то дистрибутивах патчи накладываются для исправления ситуации? Вроде ж как уже сколько лет UTF-8 является едва ли не стандартом по умолчанию.

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

Вроде как существовал некий wget.utf8.patch, но применяется ли он сейчас где-то — хз.

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

Да, после пропатчивания он где-то появится.

Вот сейчас получается ты констатировал факт что готовых ОС не существует, с одной стороны спорить сложно, с другой - какой смысл в констатации этого факта. Ну да идеал недостижим, но это ж не повод всё выкидывать.

А что же тогда?

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

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

Вот сейчас получается ты констатировал факт что готовых ОС не существует, с одной стороны спорить сложно, с другой - какой смысл в констатации этого факта

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

Ну да идеал недостижим, но это ж не повод всё выкидывать

Выкидывать что-то нужно лишь после замены на что-то более лучшее. Тот факт что идеал недостижим не является поводом отказываться от стремления к нему.

Удобство

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

секурность

В тех же иксах, работающих от рута, время от времени находят двадцатилетние уязвимости. Да и прошлогодняя история с башем получилась не очень радужной.

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

Брр, давай так, какие из этих утверждений ты считаешь правильными, а то я никак твою позицию не пойму?

  1. Готовых к десктопу систем нет
  2. Наличие в стандартной поставке программ, которые в некоторых случаях требут изучения документации перед использованием делает ОС менее готовой к десктопу
  3. Выкидывание программ из п.2. делает ОС более готовой к десктопу

Косвенным признаком удобства можно считать популярность одной ОС

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

...получилась не очень радужной.

Лучше замалчивать ошибки и уязвимости, так что ли?

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

какие из этих утверждений ты считаешь правильными

В такой формулировке ни одно.

Лучше замалчивать ошибки и уязвимости, так что ли?

Нет, но согласись что двадцатилетние дырки плюсов к секурности не добавляют. А под историей с башем я имел в виду это.

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

В такой формулировке ни одно.

Тогда, прошу пример готовой к десктопу ОС.

но согласись что двадцатилетние дырки плюсов к секурности не добавляют

Да блин, любая уязвимость не добавляет секурности, секурности добавлет исправление этой уязвимости. Или ты считаешь, что чем меньше сообщений об уязвимостях тем лучше?

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

Тогда, прошу пример готовой к десктопу ОС.

Винда, например, вполне готова. Предвидя возражения по поводу отсутствующего там изкоробки wget — советую внимательно перечитать заголовок этого треда.

Да блин, любая уязвимость не добавляет секурности, секурности добавлет исправление этой уязвимости

Как будто в других ОС дырки не латают.

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

минутка капитана очевидность...

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

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

внимательно перечитать заголовок этого треда.

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

Например

  1. Готовых к «не десктопу» систем нет
  2. Наличие в стандартной поставке программ, которые в некоторых случаях требут изучения документации перед использованием делает ОС менее готовой к «не десктопу»
  3. Выкидывание программ из п.2. делает ОС более готовой к «не десктопу»

Как будто в других ОС дырки не латают.

Как будто латание дырок единственный вопрос секурности

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)

wget
gnu/linux

1) чувак не видит разницы между ОС и прикладными программами
2) а что мешает качать файлики как в Винде - через браузер?

Схватился за самурайский меч и потом визжит, что себе яйца отчекрыжил. Пользуйся как вантузятник - лейкой - и будет тебе вантузятское щастье со всеми UTF8 в путях.

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