LINUX.ORG.RU
ФорумTalks

пока космически корабли что-то там бороздят mount до сих пор не проверяет наличие папки перед монтированием


0

1

Пока вы тут спорите на тему переноса /bin -> /usr/bin происходит вопиющие безобразие. mount до сих пор не проверяет наличие папки перед монтированием. Делаешь какой-нить sshfs, вбиваешь пароль с десятого раза (ключи это ненадёжно, только пароли, только хардкор), а оно теме «mount point doesn't exist». Какого...

И так во многом. Косяк на косяке. И это в утилитах коммандной строки которые у юниксов вроде как самая сильная часть системы.

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

А ещё в долбанном установочном диске убунты нет ни ifconfig (сидишь ахреневаешь с busybox ip a), ни top. И это ubuntu server!

Вот так вот. (выдыхаю)

ifconfig

Вроде же признано устаревшим и не по понятиям, ip более православен.
Хотя могу и ошибаться.

Bad_ptr ★★★★ ()

А ещё в долбанном установочном диске убунты нет ни ifconfig (сидишь ахреневаешь с busybox ip a), ни top. И это ubuntu server!

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

Siado ★★★★★ ()

А наличие мамки он проверяет?

P.S. проверять существование ресурса перед его открытием - плохой тон.

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

А наличие мамки он проверяет?

кого?

P.S. проверять существование ресурса перед его открытием - плохой тон.

мы говорим о простых смертных, а не о программе. Понятное дело что из-за race condition одной проверки недостаточно. Но sanity check лишним не бывает.

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

Вроде же признано устаревшим и не по понятиям, ip более православен.

да, но у busybox встроенные утилиты часто ооочень неполноценны :(. Там даже хелпа нету. В общем, или меня память подвела как этим ip пользоваться, или busybox не умеет менять айпишник на интерфейсе (скорее первое).

true_admin ★★★★★ ()

mount point doesn't exist

Это значит, что как раз проверяет.

Что до остального — соглашусь.

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

как раз проверяет.

это не он проверяет, это ядро возвращает ошибку при системном вызове mount.

Я не хочу сказать что это ппц проблема. За столько лет сидения за линухами у меня выработались рефлексы на такие вещи. Просто как-то неаккуратненько. Хочу user-friendly.

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

А наличие мамки он проверяет?

а, это была шутка, понял. Чё-то я тупить начал.

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

А наличие мамки он проверяет?

кого?

Мамка - это вторая половина папки.

Понятное дело что из-за race condition одной проверки недостаточно

...а если проверка завершилась неуспешно, это ничего не значит.

sanity check лишним не бывает.

mount - это просто вызов mount(2). Он никаких ключей сам по себе не спрашивает. Скажет он тебе «mount point does not exist» секундой раньше или позже - какая разница?

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

это не он проверяет, это ядро возвращает ошибку при системном вызове mount.

А, ну тогда да. Однозначный баг.

Я не хочу сказать что это ппц проблема. За столько лет сидения за линухами у меня выработались рефлексы на такие вещи. Просто как-то неаккуратненько. Хочу user-friendly.

Угу. Такого очень много.

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

а если проверка завершилась неуспешно, это ничего не значит.

Можно пример из реальности когда такое возможно? Неужели кто-то будет паралельно запускать mount и в этот момент создавать папку?

секундой раньше или позже - какая разница?

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

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

Неужели кто-то будет паралельно запускать mount и в этот момент создавать папку?

И мамку тоже.

я же говорю, я часто использую всякие sshfs которые пароль требуют.

А это точно mount(8)?

tailgunner ★★★★★ ()

вбиваешь пароль с десятого раза (ключи это ненадёжно, только пароли, только хардкор), а оно теме «mount point doesn't exist». Какого...

А я даже не считал это багом)

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

А кто мешает проверять и открытие?

Никто. Так же, как никто не мешает делать проверку существоания, скажем, 100 раз со случайными паузами. Непонятно только, нафига это надо.

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

Хоть кто-то меня понимает *drink* .

Вообще оборзели все. Вот, например, раньше можно было cal -m набрать чтобы неделя начиналась с понедельника а не с воскресенья. А теперь -m уже делает не то. Теперь, судя по ману, нужно -M указывать. Но это тоже не работает. Чтобы работало нужно уже ncal -M набирать. А вот и багрепорт открытый полтора года: https://bugs.launchpad.net/ubuntu/ source/bsdmainutils/ bug/604366 .

true_admin ★★★★★ ()

Фи... В солярке вот «mount /dir/» не работает, только «mount /dir» (без слеша в конце).

Но я собираюсь это исправить.

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

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

AntonK ()

Там такой говнокод что добавить какую-либо фичу просто нереально.

Реально? Может пример? А то как-то слабо представляется, как же это после разбора параметров нельзя вставить stat?

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

Не, это уже fuse :(.

Тааааак. Я настаиваю на примере говнокода, поскольку у fuse точно был план на создание временного каталога при монтировании.

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

А если мы работаем в ущербной ОС, в которой могут быть одновременно открытыми не более 32 файлов? А программа пишет результаты не в один файл, а в 33? Причем для записи каждого файла нужен полный результат вычислений.

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

А если мы работаем в ущербной ОС, в которой могут быть одновременно открытыми не более 32 файлов? А программа пишет результаты не в один файл, а в 33?

А если до конца света осталось меньше 2 часов?

В свою очередь предлагаю тебе подумать, что будет, если файл лежит на readonly ФС, если в ФС не хватает места для записи, если таблица файлов ОС переполнится через 1 час 59 минут после старта.

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

Это все понятно, что такая проверка не защитит от ВСЕГО. Но почему бы ее не делать, если она хотя бы защитит от неправильных прав или недостатка места на диске при старте?

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

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

Лучше всего - Gentoo со своим усоановочным диском SystemRescueCD.

Black_Shadow ★★★★★ ()

Делаешь какой-нить sshfs, вбиваешь пароль с десятого раза (ключи это ненадёжно, только пароли, только хардкор), а оно теме «mount point doesn't exist». Какого...

Создаёшь каталог /mnt/sshfs и идёшь туда.

Создаёшь там каталоги вида user@server

Кидаешь скрипт или симлинк на него mnt.sh:

#!/bin/bash

DIR=$(basename `pwd`)
cd ..
sshfs -C ${DIR}:/ ${DIR} -o nonempty

запускаешь скрип

ПРОФИТ!

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

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

Потому что программы не должны умничать; потому что проверка надежна не на 100%.

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

Вот, например, раньше можно было cal -m набрать чтобы неделя начиналась с понедельника а не с воскресенья.

Ты не прверишь.

$ cal
     Январь 2012    
Пн Вт Ср Чт Пт Сб Вс
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

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

И ещё:

$ LANG=C cal
    January 2012    
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

$ LANG=C cal -m
    January 2012    
Mo Tu We Th Fr Sa Su
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Black_Shadow ★★★★★ ()

ubuntu server

Может быть, вся проблема в этом?

Black_Shadow ★★★★★ ()

А ещё в долбанном установочном диске убунты нет ни ifconfig (сидишь ахреневаешь с busybox ip a), ни top. И это ubuntu server!

А на десктопе есть искаропки :)

drull ★☆☆☆ ()

top

только ps, только хардкор

melkor217 ★★★★★ ()

А ещё наличие юзера не проверяет после ввода неправильного юзернейм и выдаёт какуюто фигню после ввода пароля, возмутительно

coldy ★★ ()

> А ещё в долбанном установочном диске убунты нет ни ifconfig (сидишь ахреневаешь с busybox ip a), ни top. И это ubuntu server!

$ /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr 40:61:86:60:47:b5  
          inet addr:172.16.1.66  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4261:86ff:fe60:47b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4764 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3393 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5016723 (5.0 MB)  TX bytes:545220 (545.2 KB)
          Interrupt:42 Base address:0xe000 

lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:7797 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7797 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1032319 (1.0 MB)  TX bytes:1032319 (1.0 MB)
luke ★★★★★ ()

В линуксе нет никаких папок. На этом обсуждение можно и закончить.

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

А ещё наличие юзера не проверяет после ввода неправильного юзернейм и выдаёт какуюто фигню после ввода пароля, возмутительно

Кстати да, удваиваю претензию к login

Жжоте. Оно и не должно проверяться.

geekless ★★ ()

mount до сих пор не проверяет наличие папки перед монтированием.
наличие папки
папки

ну ты понел, да?
</thread>

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

А ещё наличие юзера не проверяет после ввода неправильного юзернейм и выдаёт какуюто фигню после ввода пароля, возмутительно

Да, плюсую. Тяжело брутфорсить :(

Evil_Wizard ★★★ ()

true_admin> а оно теме «mount point doesn't exist». Какого..

Еще скажи что umount должен удалять директорию (не нужна же пустая, да)

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

leave> Кстати да, удваиваю претензию к login

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

sdio ★★★★★ ()

А ещё в долбанном установочном диске убунты нет ни ifconfig (сидишь ахреневаешь с busybox ip a), ни top. И это ubuntu server!

ССЗБ

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