Windows vs Linux - Как десктоп
, и игровая станция.
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.169] |
|
|
Правила раздела:
| Страницы: (1182) « Первая ... 1000 1001 [1002] 1003 1004 ... 1181 1182 ( Перейти к последнему сообщению ) |
Windows vs Linux - Как десктоп
, и игровая станция.
|
Сообщ.
#15016
,
|
|
|
|
Цитата $im @ diff+patch. Есть ли в лине возможность создать файл с изменениями определенных моментов в конфигах, который можно импортировать на другом компе/пользователе? |
|
Сообщ.
#15017
,
|
|
|
|
Цитата rubicon @ Не осознал, растолкуй. diff+patch. |
|
Сообщ.
#15018
,
|
|
|
|
$im, да возможность есть.
1) берешь свой конфиг, меняешь, делаешь diff исходника и результата 2) потом патчем это дело можно накатывать. ЗЫ мну не гуру, поэтому мог объяснить криво. |
|
Сообщ.
#15019
,
|
|
|
|
А если конфигов несколько?
|
|
Сообщ.
#15020
,
|
|
|
|
Цитата $im @ А если конфигов несколько? Не суть важно, diff обрабатывает также и папки, может рекурсивно. Другое дело - в конечном файле может образоваться мусор. |
|
Сообщ.
#15021
,
|
|
|
|
Цитата $im @ Ок, вот я и здесь.Не осознал, растолкуй. Есть два варианта изменения конфига по вашему сценарию: 1. при записи конфига есть значения по умолчанию, которые надо поменять, и есть значения пользовательские, которые менять не следует. Это вариант «обновление». Так, в большинстве случаев, поступают пост-инсталл сценарии из пакетов. Для этого случая нужен только diff (им делается патч-файл с изменениями в исходном файле) и patch (им патч-файл применяется к конфигу). В патч-файле содержится не только новое значение строки, но и старое значение. Если это значение не совпадёт в целевом конфигурационном файле, эта запись будет пропущена, если совпадёт — она будет изменена на новую. 2. «полное обновление», когда в конфиг нужно записать всё как есть. В таком случае применяют sed-скрипт. Цитата $im @ Патч-файлы поддерживают несколько целевых файлов. Патч на ядро, например, позволяет сразу изменить кучу файлов, это обычная практика. А если конфигов несколько? |
|
Сообщ.
#15022
,
|
|
|
|
Цитата linuxfan @ Но проблема-то в том, далеко не все файлы приходят из таких мест, которым можно доверять. Ты сам ратовал за специализацию. Так почему вопрос защиты от информации, поступаемой из источников, которым нет доверия, должен решаться на уровне отдельно взятого DE? Цитата linuxfan @ Помнится, что был тут уже батл bash vs wsh и что-то я не припомню, чтобы wsh победил. Не смог победить, поскольку апологеты баша сбежали ![]() Цитата linuxfan @ 1. ls работает на более низком уровне абстракций, точнее говоря на уровне файловой системы. Если бы файловой системой было предусмотрено хранение MIME типа файла (вроде как хранение acl'ей и прав доступа), то ls бы печатал mime, а так это вне его компетенции Если это настолько важно, то почему не было сделано? А если это не важно, а просто небольшая гномовская свистелка, то о чем спор? Цитата linuxfan @ Само по себе расширение абсолютно бесполезно и никому не нужно, важен сам тип файла (а это как-раз таки MIME в современном мире), который можно определять как простым маппингом ext => MIME (как в винде), так и более сложными алгоритмами. MIME-тип совершенно ничего не определяет. Он не в курсе 90% форматов. Ты по какому-нибудь image/x-raw никогда не отличишь кэноновский CR2 от никоновского NEF'а. А сколько различных форматов скрыто за application/octet-stream - имя им легион. Цитата linuxfan @ Поскольку GNOME стремится быть максимально дружественным, его авторы посчитали, что следует огородить пользователей от возможных засад и решили анализировать не только расширение, но и содержимое файла. А остальные как? Е17 - это красивые "засады"? ![]() Честно говоря, мне не совсем понятно, что ты этим хотел сказать... Смотрю на определение file в IEEE Std 1003.1 от 2004 и не вижу там такой опции как --mime-type. Кстати, а какой майм-тип у /dev/null? ![]() У меня к тебе еще одна просьба, пусть в начале ответит тот, кому эта просьба была адресована, а потом уже ты доведешь решение до блеска ![]() Цитата linuxfan @ Это, кстати, к слову о баше, рекурсии файнда, гибкости юниксвея. Интересно, а в WSH'е, имея утилиту, определяющую mime тип файла можно легко и просто замутить нечто подобное? Там совершенно такой же пайп и я также могу wsh-скриптом, определяющим майм, собирать выход от какого-нибудь dir /s через WScript.StdIn. Кстати мне раньше казалось, что линуксовые пайпы выглядят красивей, чем нагромождение xargs'ов в твоем коде. Цитата linuxfan @ Или WSH, как и все продукты MS рассчитан только на выполнение узкого захардкоженного круга задач? Можно примеры и хотя бы капельку аргументов ![]() Цитата linuxfan @ Вопрос, если честно, поставил меня в тупик. В самом деле, зачем дописывать расширение, когда иконка может быть любой, ни капли не связанной с расширением файла? EXE с иконкой AVI'шника еще никому не попадались? Я на своем веку видел много exe'шников с иконкой, как у директории. И зачем нам видеть расширение? А я ни одного не видел, хотя прекрасно понимаю, что такая возможность есть. Так может их решили выключить по результатам сбора статистики или оно должно быть исключительно по-твоему? ![]() Цитата rubicon @ два простых вопроса. Сделайте одолжение, ответьте, пожалуйста 1. Какой тип будет у файла с содержимым примерно следующего характера: а,б,в и 2. Как винда узнает тип файла? Она хотя бы примерно сможет определить, что это файл с текстом? Предложит открыть его в текстовом редакторе? Очень оригинально ответить вопросом на вопрос, а пик оригинальности - ответить моим же вопросом. В посте, который ты цитируешь я тебе его уже задавал: Цитата rubicon @ Цитата (Guderian @ Вчера, 21:05) А может и не находиться никакого признака. Как ты отличишь txt от conf от log от rdp от xml от css от js от raw wav? Так и ответь сам себе, а заодно мы тоже послушаем. В винде все просто. Тип определяется по расширению и единственная проблема - файлы, поступившие от левых источников. Но этот вопрос должен решаться и решается на уровне системы безопасности, а не отдельно взятого десктопа. Так что у винды никаких претензий. Вы же мне говорите, что линукс претендует на лавры интеллектуальной системы и ты мне расскажи, как он отличает текстовые файлы, в которых картинки, от текстовых файлов в которых код, от текстовых файлов в которых конфиги? По какой сигнатуре он отличает архивы от таких же архивов, но содержащих документ odt? Как он распознает сотни форматов, скрытых за application/octet-stream? Цитата rubicon @ Может Только линукс определит базовый тип для txt, conf, log, rdp, xml, css и js как text/plain, а raw wav как application/octet-stream и никогда по умолчанию не откроет raw wav в блокноте А в винде придётся рассматривать чепуху из raw wav в блокноте, чтобы понять, что это такое. Слив? Да что ты говоришь? Raw wav с расширением txt не откроет в блокноте? Даже если содержимое будет "АБВ"? Воистину верх интеллектуальности алгоритмов ![]() Цитата rubicon @ Ссылочку на Программы/Установка и удаление? К сожалению, такой не придумали. Могу видео снять, как я захожу туда и ставлю программу, если не понятно. А вот пакет в убунте: http://packages.ubuntu.com/search?keywords...all§ion=all Ссылочки на офсайт будет достаточно. И еще одна просьба - читать собеседника. Я отчетливо обозначил, какие дистрибутивы имеются ввиду и убунта там не значилась. Цитата rubicon @ diff+patch. Не пойдет. Стоит только изменить конфиг, и твой патч идет лесом. reg-файлы же меняют конкретные значения. Ищите другой способ |
|
Сообщ.
#15023
,
|
|
|
|
Цитата Guderian @ Очень странная интерпретация шутливой просьбы не лезть в ту часть дискуссии, которая в твоем внимании не нуждается. Ну, какая просьба, такая и реакция. К тому же давай я тоже буду знать, что нуждается в моем внимании, а что нет? Давай, а? Цитата Guderian @ Линуксфан привел код на сях, инструкции для шелла - я его понял. Я привел sql-like запрос для него, он меня понял. Ты же из всего недомохозяйского кода в этой ветви выловил именно мою одинокую строчку, а данное сообщение вообще целиком нацелил на мой моральный облик Не совсем так. Ты сказал "а я за то могу вот так" - и дал sql-like запрос. За точность цитаты, если что, не ручаюсь. Так вот, в свете разговора о том, что нужно, а что нет домохозяйке, который, если я не ошибся, вел именно ты несколькими постави выше, твой пример с sql был мимо кассы. О чем я и сказал. И пофиг мне твой моральный облик, я давно знаю, что ты пал ниже некуда ![]() Цитата Guderian @ Я очень польщен таким вниманием к моей персоне, но больше склонен к обсуждению темы и не хотел бы участвовать в твоем поиске дешевой славы ![]() Взаимно, взаимно *расшаркался, и пару раз витиевато взмахнул шляпой* К барьеру, сударь, водку купим по дороге! Цитата Guderian @ Для тех, кто все понимает сразу, поясню еще раз. Ключевой и единственной идеей всей это вашей пирамиды является возможность переименования файла. Если мы на нее опираемся, то само имя файла не может нести информации о типе содержимого никаким образом, поскольку может быть фальсифицировано. Но у вас все предусмотрено и есть другой идентификатор. Вопрос заключается в том, что если у вас есть такой надежный способ с одной стороны и неработающий механизм с другой, то на какого фига мне ls выводит эти бесполезные расширения вместо майм-типа, определенного интеллектуальными алгоритмами. Начало доходить? Нет, ты невероятен Во-первых я не говрил, что расширение "не может нести нформации о типе содержимого никаким образом, поскольку может быть фальсифицировано". Может! Вся история винды показывает, что может. Я же говорил, что расширение не надежно. Надеюсь ты согласишься, что оно не надежно? Если не согласишься, то говорить принципиально не о чем, как ты понимаешь. Но я буду рассчитыват на разум и все такое. Так вот, я говорил о том, что данная ненадежность выливается в ситуацию, когда валидный файл является хз чем, и эта ситуация местами не редкая. За сим возникает вопрос - почему бы не использовать дополнительный способ определения типа файлов? И правда, а почему?А насчет ls - ls тебе не выводит расширения!!! ls тебе выводит имя файла в которое входит точка. Начало доходить? *Шаркнул ножкой* *Еще раз шаркнул, на этот раз другой* Нет уж! Если уж свистеть, то по полной! Цитата Guderian @ Ты начал с того, что изменение расширений ведет к проблемам в винде и тут же оказывается, что ты не против них. А что, одно другое должно обязательно исключать? Да, расширения ведут к проблемам, и таки да - их можно использовать. Никаких противоречий не вижу, просто сами по себе расширения недостаточны, нужно бы чем-то подпереть. Что тут такого?Цитата Guderian @ Ну тогда может расскажешь, когда они должны использоваться? До определения майма, ведя к той же проблеме? Или может после майма? Тогда так и не удастся открыть txt и rdp разными программами. Так когда, говоришь? Как я предполагаю логично будет при массовых операциях обращатся к расширению, а при конкретных действиях с файлом - к майм-типу. А если при массовых операциях тормозов не будт, то майм сделать первичным, а к расширению обращатся если ничего другого не останется. Но это мои фантазии, я ОС не пишу ![]() Ну, вот видишь ![]() Цитата Guderian @ И то же хранение информации о типе в ntfs-стримах и fsm для определения майма, работа которого описывается чем-то концептуально похожим на бнф, но для бинарных данных, чтобы избежать конфликтов резолвинга и многое другое. Только это все с точки зрения академического интереса, поскольку сама проблема надумана. То есть можно Просто тебе "проблема кажется надуманной" ![]() Цитата Guderian @ При открытии файла у тебя проассоциированное с ним приложение проверит валидность файла лучше каких-либо меджиков. Ну, и как быть, когда ты не знаешь чем открыть файл? Об этом же и речь. Цитата Guderian @ Никак не могу одного понять. Ты уже третий абзац подряд ссылаешься на винду. Винда не претендует, ты за линукс отвечай. Что мол без сигнатур не может. Я же говорил - даже если линукс исчезнет, то в винде дела лучше обстоять не станут ![]() Цитата Guderian @ Конфиг от rdp не отличит, а odt может распаковать вместо того чтобы открыть, конфликты резолвинга возможны, проприетарные форматы не осилит и т.п., а то, видимо, в отсутствие знаний только и можешь "а вот винда" ![]() Почему не может? Уже со скриншотами показали как настроить ![]() Цитата Guderian @ Не знаю, что значат "обязательные расширения"? Могу только посоветовать тебе заменить расширения, скажем, у /etc//*.conf и насладиться результатом. Аха, наслажусь, только по причине того, что ищутся файлы с одним именем, а окажутся они с другим. И при чем тут тип файла, спрашивается? Вот я могу тебе посоветовать взять любой .exe файл, переименовать его в .exe1, и попробовать запустить. Что, не вышло? А под линуксом ты файл как угодно обзови, и если он исполняемый, то все заработает - не зависимо от расширений и наличия точек в имени файла. Кстати, а есть легальный способ заставить под виндой заработать экзешник с битым расширением? |
|
Сообщ.
#15024
,
|
|
|
|
Цитата Астарот @ Есть, в том же окне настройки типов. Есть даже возможность разучить винды зупускать ехе. Кстати, а есть легальный способ заставить под виндой заработать экзешник с битым расширением? |
|
Сообщ.
#15025
,
|
|
|
|
Цитата Loviard @ Есть, в том же окне настройки типов. В ХР это есть, или новшевство висты? Цитата Loviard @ Есть даже возможность разучить винды зупускать ехе. |
|
Сообщ.
#15026
,
|
|
|
|
Цитата Guderian @ Вот это фантазия Raw wav с расширением txt не откроет в блокноте? Даже если содержимое будет "АБВ"? Цитата Guderian @ Character device, x-special/device-charКстати, а какой майм-тип у /dev/null? ![]() Цитата Guderian @ Тю! А мне-то что с того?Я отчетливо обозначил, какие дистрибутивы имеются ввиду и убунта там не значилась. Цитата Guderian @ Читаем внимательней.Не пойдет. Цитата Guderian @ И где же эта система безопасности у обычного пользователя? В винде все просто. Тип определяется по расширению и единственная проблема - файлы, поступившие от левых источников. Но этот вопрос должен решаться и решается на уровне системы безопасности, а не отдельно взятого десктопа. Так что у винды никаких претензий. Всё, если файл без расширения, он чрезвычайно опасен, и ось строго-настрого запрещает его открывать, ага Цитата Guderian @ А это вопрос уже к разработчикам форматов, вы ошиблись адресом.По какой сигнатуре Цитата Guderian @ Вместо ls юзаем file -i * и всё. Или опять нужно все фичи в одну программу пихать? Может ls ещё и голосом человечьим сама должна весь листинг читать? Если это настолько важно, то почему не было сделано? |
|
Сообщ.
#15027
,
|
|
|
|
Цитата rubicon @ 1. при записи конфига есть значения по умолчанию, которые надо поменять, и есть значения пользовательские, которые менять не следует. Это вариант «обновление». Так, в большинстве случаев, поступают пост-инсталл сценарии из пакетов. Для этого случая нужен только diff (им делается патч-файл с изменениями в исходном файле) и patch (им патч-файл применяется к конфигу). В патч-файле содержится не только новое значение строки, но и старое значение. Если это значение не совпадёт в целевом конфигурационном файле, эта запись будет пропущена, если совпадёт — она будет изменена на новую. 2. «полное обновление», когда в конфиг нужно записать всё как есть. В таком случае применяют sed-скрипт. Оба варианта не подходят. Второй, я думаю, понятно почему. Вот с первым поподробнее. Предположим есть у меня и у юзеров 1С (ну, предположим, что под линем он есть). Она хранит свой список баз и настройки в конфиге. Базы хранятся в виде [путь_к_базе]=[имя_базы]. Чем больше таких строк, тем больше баз. Ситуация, собственно списана с реальности, только в реале все хранится в реестре. У всех юзеров и у меня разный список баз (у мну ессно полный). Итак, ситуации: 1) Мне нужно поправить юзерам несколько пунктов настроек на свои. Причем список баз должен остаться нетронутым. При всем этом я понятия не имею, как настроена 1С у всех 80 юзеров, соответственно, не знаю изначальных значений в их конфигах. 2) Ситуация похожа на предыдущую, но мне надо, чтобы настройки остались нетронутыми, а в список баз добавились 2 новые. Остальные должны остаться нетронутыми (за исключением совпадающих). 3) В пользовательских конфигах некоторые настройки стоят по умолчанию, т.е. строк, задающих их значения, в конфиге нет. Мне надо добавить эти строки если их нет и изменить их значение, если они есть. Хочется услышать элегантное разрешение этих ситуаций под линем. |
|
Сообщ.
#15028
,
|
|
|
|
Цитата $im @ Какие же всё-таки оппоненты любознательные попались, ей богу Хочется услышать элегантное разрешение этих ситуаций под линем. Всем всё расскажи да объясни $im Над вашей синтетической проблемой обещаю подумать на досуге, если меня никто не опередит |
|
Сообщ.
#15029
,
|
|
|
|
Цитата Астарот @ А насчет ls - ls тебе не выводит расширения!!! ls тебе выводит имя файла в которое входит точка. Поздравляю вас, вы снова открыли Америку Вообще-то часть имени файла, отделённая точкой - это и есть расширение уже тыщу лет как. Расширений имён, хранящихся отдельно в файловой системе уже давно (очень давно) нет. И не было, надо заметить (если речь идёт о системах microsoft).Цитата Астарот @ То есть можно ![]() Не нужно Определение типа файла по сигнатуре столь же "надёжно", как и по расширению. Зачем городить - не понятно.Цитата Астарот @ Кстати, а есть легальный способ заставить под виндой заработать экзешник с битым расширением? Вообще-то в форточках (как и в msdos), если уж вы говорите о системе, а не о оболочке (что было бы корректней) нет никаких рестрикшнов относительно того, как будет называться исполняемый файл. |
|
Сообщ.
#15030
,
|
|
|
|
Цитата rubicon @ При чем тут синтетика? Это примеры из жизни, не зря же я взял 1С как пример. 2 ситуацию вообще раз в неделю приходится разруливать. Над вашей синтетической проблемой |