24. Работа с файловыми системами (RHCSA)

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • Про опции монтирования: ru.wikipedia.o...
    Про вынос директории tmp: vasilisc.com/tm...
    Плейлист: • Основы GNU/Linux и под...
    Телеграм: t.me/gnuslashl...
    Текстовой вариант: basis.gnulinux...

Комментарии • 52

  • @vadymvashchenko3036
    @vadymvashchenko3036 Год назад +3

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

  • @AK-md1dq
    @AK-md1dq 2 года назад +3

    Хорошая подача материала! Отлично!

  • @vladimirshchepochkin3557
    @vladimirshchepochkin3557 Год назад +1

    Очень хорошие уроки. Спасибо!

  • @Zvezd83
    @Zvezd83 4 года назад +4

    Привет. Спасибо тебе за урок. Понравился пример с fstab, на практике куда легче понимать и запоминать.

  • @WhiteBear141981
    @WhiteBear141981 2 года назад +1

    Спасибо!

  • @Into_the_theory
    @Into_the_theory 3 года назад +1

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

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +1

      Спасибо. Я работаю над этим, всякие вопросы и задания потихоньку выкладываю на gitlab.com/doatta/gnu-linux-rhcsa

  • @hithrv
    @hithrv 4 года назад

    круто. спасибо

  • @feghg42g425t
    @feghg42g425t 4 года назад +1

    Спасибо за твоё творчество, очень полено учитывая, что материалов по RHCSA на русском языке крайне мало. Скажи, а сколько видео ещё планируется по (RHCSA) ?

    • @GNULinuxPro
      @GNULinuxPro  4 года назад

      Спасибо!
      Точно сказать не могу, но как минимум еще 15-20 будет.

    • @feghg42g425t
      @feghg42g425t 4 года назад

      @@GNULinuxPro условно говоря, как ты думаешь можно будет после просмотра твоего курса пойти на сдачу RHCSA, (учитывая что уже имеется практический опыт администрирования Linux)

    • @GNULinuxPro
      @GNULinuxPro  4 года назад +1

      @@feghg42g425t Да, я стараюсь сделать так, чтобы моего курса хватало на сдачу RHCSA. Но всё что я показываю нужно знать на зубок, то есть важно практиковаться, понимать как всё работает и уметь этим пользоваться. Сам экзамен не слишком сложный, с опытом администрирования и знанием тем можно запросто пройти.
      Я сдавал RHCSA 7, но текущий вряд ли сильно отличается и я буду разбирать все темы, указанные на сайте - www.redhat.com/en/services/training/ex200-red-hat-certified-system-administrator-rhcsa-exam?section=Objectives

    • @feghg42g425t
      @feghg42g425t 4 года назад +1

      @@GNULinuxPro это очень даже круто) Кстати сделай себе патрион

  • @inskyinsky2364
    @inskyinsky2364 2 года назад +1

    Привет! Вопрос не совсем по теме. Когда мы направляем результат работы blkid'a через конвейер в cut, а потом перенаправляем вывод в fstab, то получаем ошибку доступа к файлу, даже если blkid запускался через sudo. Получается, что несмотря на использование sudo, стандартный вывод в файл идет от нашего пользователя, у которого нет доступа к файлу? Единственное решение, которое нагуглил для таких ситуаций - использование утилиты tee, вместо ">>". Или есть какой-то более изящный выход из ситуации?

    • @GNULinuxPro
      @GNULinuxPro  2 года назад +1

      Да, всё верно, перенаправление работает от юзера
      Я предпочитаю tee, но можно и сделать sudo su, sudo -i и всё такое

  • @Patifonii
    @Patifonii 3 года назад +1

    А нельзя скопировать Home на /dev/sdb* затем выйти из учетки и из под рута перемонтировать /home ?

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +1

      В каком смысле скопировать home на sdb*? Нужно указать, куда именно копировать, т.е. в какую директорию. sdb* это просто файловая система, но чтобы можно было с ней работать, её нужно куда-то примонтировать.Поэтому предварительно mount /dev/sdb* /mnt
      Если вы имеете ввиду сначала скопировать, а потом выходить из учётки - тут не всё однозначно. Какие-то программы могут постоянно писать в домашнюю директорию - скажем, браузер сохраняет кэш и т.п. В целом можно пренебречь этим, и, скорее всего, для домашней директории это будет не критично. НО, в целом, копировать файлы и директории, на которые может идти запись, не хорошая практика и может привести к плохим последствиям, особенно в рабочей среде. Поэтому, лучший способ - убедиться, что запись не идёт. А это значит разлогинить всех юзеров и проверить с помощью lsof

  • @ВикторИ-у5ж
    @ВикторИ-у5ж 4 года назад

    Следует упомянуть что в fstab есть возможность монтировать по: LABEL=....
    Ну и соответственно, то как их делать
    Tune2fs -L/xfs_admin -L "label_name" /dev/sdX

  • @MRRIBO
    @MRRIBO 3 года назад

    Правильно ли я понял из прошлого урока, что нужно создавать блоки размерами 15 872, байт чтобы инода создавалась одна на 16кибибайт и за счет этого мы оставляем больше инод, снижаем нагрузку на диск. Но при этом надо стремится к созданию файлов больших размеров чем 1 байт?

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +5

      Нет.. что-то не так.. И так, по умолчанию:
      На уровне файловой системы размер блоков - 4 кибибайта. При этом, если у вас есть файл, пусть пустой, пусть хоть с одной буквой - минимально он может занять 4 кибибайта, потому что 1 файл - минимум 1 блок.
      А 1 инода создаётся на каждые 16 кибибайт. Т.е. теоретически на каждый файл выделяется 16 кибибайт. Файл может быть больше или меньше, это не важно. Но представьте теоретический диск, где всего 32 кибибайта пространства. Минимальный файл, который вы сможете создать займёт 4 кибибайта. Но у вас не получится создать 8 файлов (8х4=32). Не потому что не хватит места, а потому что не хватит инод, их всего можно создать 2 (2х16=32). Один файл - одна инода. Тогда получится, что вы сможете создать всего 2 файла, из 32 кибибайт вы потратите всего 8.
      Конечно, в современном мире большинство файлов занимают больше 16 кибибайт, а значит вряд ли вы когда-нибудь упрётесь в нехватку инод при наличии свободного пространства (как это у нас получилось в эксперименте выше). Хотя, конечно, полностью отрицать это нельзя.
      С другой стороны, из каждых 16 кибибайт 256 байт вы тратите на иноду, при этом не важно, используется ли эта инода или нет. Т.е. она тупо создаётся, если понадобится - ок, если нет - просто занимает пространство. А так как большинство файлов больше 16 кб, то ооочень много инод просто так занимают пространство. Из прошлого ролика:
      " С другой - посчитайте, на каждый мебибайт места вы тратите 16 КиБ на иноды, так как каждая инода весит 256 байт, а их 64. Т.е. на каждый гигабайт - 16 мегабайт чисто на иноды. На один терабайт - 16 Гигабайт."
      Т.е. в большинстве случаев можно выставить это значение больше, не 1 на 16, а 1 на 32 или 1 на 64. Хотя, конечно, мало кто с этим заморачивается.
      P.S. Не нужно создавать блоки размерами не равными степени 2, т.е. нужно 2, 4, 8, 16, 32 и т.п.

  • @escobarbI4
    @escobarbI4 4 года назад

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

    • @GNULinuxPro
      @GNULinuxPro  4 года назад

      Привет
      Там есть команды, которые что-то делают, типа mkfs, и команды, которыми я просто смотрю какие-то важные и не очень файлы, например head /etc/mke2fs.conf
      Плюс есть какие-то половинчатые, типа выполнил команду, а потом открыл nano и дописал
      Все команды указывать или?

    • @escobarbI4
      @escobarbI4 4 года назад

      @@GNULinuxPro да, еще смотрю )
      но я про запоминание последовательностей намекал )

    • @GNULinuxPro
      @GNULinuxPro  4 года назад +2

      @@escobarbI4 Про последовательность немного сложно.. Без переноса файлов всё банально
      1. mkfs.ext4 /dev/sdXX
      2. blkid /dev/sdXX | cut -d' ' -f2 >> /etc/fstab
      а дальше дописать строку.
      С переносом еще куча пунктов, для /home типа
      3. разлогиниться
      4. проверить открытые файлы ( lsof +D /home )
      5. примонтировать временно в /mnt (mount /dev/sdXX /mnt)
      6. перенести файлы ( mv /home/* /mnt)
      7. отмонтировать (umount /mnt)
      8. примонтировать в /home (mount /home)
      9. проверить (df -h /home)
      И это только /home, некоторые вещи на включенной системе не сделать, скажем отделить /var, лучше это делать еще во время установки, либо с live cd.
      Но в целом ты подал мне идею понаделать блоксхем, что как и при каких условиях. Можно будет в свободное время сделать парочку на разные темы

  • @ИванИванов-н8м3я
    @ИванИванов-н8м3я 2 года назад

    Привет, друг. Такой вопрос. Где изначально была директория /home? И можно ли ее туда вернуть? Пробывал на sda, а он у меня все в boot заталкал😄 Пробывал создать в sda новую файловую систему, не дает создать, да и вообще боюсь затереть всё)

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      Привет
      изначально она на той же файловой системе, где корень - /. Т.е. не на отдельном разделе.

    • @ИванИванов-н8м3я
      @ИванИванов-н8м3я 2 года назад

      @@GNULinuxPro а можно его туда же вернуть?)

    • @GNULinuxPro
      @GNULinuxPro  2 года назад +3

      Да
      1) Надо сначала разлогиниться и зайти через виртуальную консоль
      2) Потом отмонтировать файловую систему с /home и примонтировать куда-то в другое место, скажем в /mnt
      3) Дальше перенести данные (директории пользователей) с /mnt в /home
      4) Убрать строчку с /home в fstab
      5) отмонтировать /mnt и вернуться в графический интерфейс

  • @Patifonii
    @Patifonii 3 года назад +1

    Допустим я создал новый диск в виртуалке /dev/sdd. Не делал на нем разделов. И создал на нем файловую систему через mkfs.ext4.
    Зайти я на него могу, и работать. Но fdisk пишет что не видит на нем девайсов и разделов.
    Немного не понятно как он работает без разделов. или при создании ФС автоматически создается дефолтный раздел?
    Можно ли так работать без создания разделов и чем это грозит?
    Disk /dev/sdc: 1 GiB, 1073741824 bytes, 2097152 sectors
    Disklabel type: dos
    Device Boot Start End Sectors Size Id Type
    /dev/sdc1 2048 411647 409600 200M 83 Linux
    Disk /dev/sdd: 1 GiB, 1073741824 bytes, 2097152 sectors
    Units: sectors of 1 * 512 = 512 bytes
    [root@localhost sdd]# fdisk /dev/sdd
    Welcome to fdisk (util-linux 2.32.1).
    The old ext4 signature will be removed by a write command.
    Device does not contain a recognized partition table.
    Created a new DOS disklabel with disk identifier 0xbea50458.

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +1

      Разделы нужны, чтобы делить диски на части. Это не обязательно. Иногда это нужно - скажем, требуется отдельный раздел для загрузчика, своп, несколько разделов для системы и т.п. Плюс некоторые пишут, что бывают bios-ы, которые не загружаются с дисков без разделов. По вышеуказанным причинам диск с системой, скорее всего, будет с разделами
      Но на остальных дисках разделы могут быть не нужны. Linux-у вобщем-то всё равно, откуда читать файловую систему - будь то с диска, раздела или даже файла (допустим, тот же iso образ - файловая система, или старые файлы initrd).
      Насчёт Windows-а не знаю, не так много опыта с ним. Но то что видел - он при любой непонятной ситуации предлагает форматнуть диск, если вообще воспринимает его.

    • @Patifonii
      @Patifonii 3 года назад

      @@GNULinuxPro на что влияет параметр TYPE в fdisk. которым мы можем обозначить тип ФС в параметре ID. Если мы разбиваем диск на разделы то мы видим этот параметр. А если не разбиваем то нет. Задается ли он где то еще и нужен ли он реально?
      /dev/sdc1 83 Linux
      /dev/sdc4 5 Extended
      /dev/sdc5 Linux

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +1

      Для линукса это не актуально, но старые загрузчики или специфичное железо могут пытаться понять, какая ФС на носителе по этому type, которые указывается в таблице разделов. Но Linux может определять тип ФС и без типа в таблице разделов.

    • @Patifonii
      @Patifonii 3 года назад

      @@GNULinuxPro То есть получается, для таких специальных задач мы можем сделать раздел на весь диск и поставить метку ФС?

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +1

      @@Patifonii Да, если железо/система капризничает, можно создать таблицу разделов с одним разделом на всё пространство и указать тип раздела. Но я с такими ситуациями не сталкивался, правда где-то читал, мол макось без метки флешки не воспринимает. Уж не знаю, насколько актуально

  • @arthurpietersen1531
    @arthurpietersen1531 2 года назад

    Привет , ты сможешь подсказать как запустить 16-разрядное приложение в 32-разрядной Windows -8.1 , нужный компонент она нашла и установила , но это не помогло ???

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      Ну и задачки у тебя =) Без понятия, я ж с виндой не работаю. Попробуй погуглить, поставить виртуалку или какой-нибудь dosbox

  • @arthurpietersen1531
    @arthurpietersen1531 3 года назад

    Мне теперь интересно примонтировать ф систему телефона к Debian ....

  • @joyriderjoyrider9602
    @joyriderjoyrider9602 2 года назад

    Какая-то странность, если есть возможность поясните.
    Создал раздел /dev/sdb1 с файловой системой ext4.
    Примаунтил к директории пользователя /home/user/myfiles.
    Зафиксировал этот маунт в /etc/fstab.
    Теперь вот что получается:
    Из графического интерфейса user видит директорию /home/user/myfiles и может с ней работать,
    сама директория по размеру совпадает с размером /dev/sdb1.
    Одновременно c этим, в графическом интерфейсе у userа появился дополнительный диск /dev/sdb1 в поле "other location", где
    user может размаунтить диск /dev/sdb1 !
    Если user сделал unmount, а после этого заново mount, то его директория /home/user/myfiles более не имеет отношения к /dev/sdb1.
    Только перезагрузка помогает или со стороны рута команда mount /home/user/myfiles.
    Почему так?

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

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

    • @joyriderjoyrider9602
      @joyriderjoyrider9602 2 года назад

      Спасибо за ответ, а по факту хрень получается) Если user не примаунтил /dev/sdb1, то это может сделать user2 ))) Тогда user более не увидит /dev/sdb1.
      Убрал setuid с usr/bin/umount (-rwxr-xr-x. 1 root root 33528 May 10 20:11 /usr/bin/umount), но юзеры все равно могут анмаунтить через гуи.. Как так?

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      @@joyriderjoyrider9602
      Потому что через гуи не mount/umount используются
      Попробуй отключить
      systemctl disable --now udisks2
      systemctl mask udisks2

    • @joyriderjoyrider9602
      @joyriderjoyrider9602 2 года назад +1

      @@GNULinuxPro сработало)

  • @Patifonii
    @Patifonii 3 года назад

    Не ясно как это работает
    cp /etc/fstab{,.bkp}
    и это тоже blkid /dev/sdc2 | cut -d ' ' -f2 если используете продвинутые функции работы с выводом, то как то поясните ключи. или делайте попроще.

    • @GNULinuxPro
      @GNULinuxPro  3 года назад

      Я делаю курс, а не отдельные видео. Все эти функции я объяснял в некоторых предыдущих роликах, поэтому не хочу в каждом ролике повторять то, что говорил до этого.

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +4

      сорри, щас освободился
      cp /etc/fstab{,.bkp} расшифровывается как cp /etc/fstab /etc/fstab.bkp.
      Здесь в {} через запятую перечислены варианты. Например, если указать cp file{1,new} то получится команда cp file1 filenew
      blkid /dev/sdc2 покажет информацию о разделе sdc2
      Когда мы ставим | (11 часть), мы передаём вывод этой команды команде cut, которая вырезает текст по столбикам
      cut -d' ' -f2 - мы говорим, что нужно поделить текст на столбики по пробелам (-d' '), и показать только второй (-f2) столбик
      вырезать можно и по другим символам, например, cut -d: -f1 /etc/passwd

    • @sorquan6767
      @sorquan6767 3 года назад +2

      Стоит выполнить echo file{,.bkp} и всё станет понятно

  • @AlexMatsu-m9w
    @AlexMatsu-m9w 4 месяца назад

    Здравствуйте
    1й После того как в fstab написал куда монтировать все сохранил и выполнил команду mount
    появляется сообщение
    mount: /home: /dev/sda1 already mounted on /home.
    mount: (hint) your fstab has been modified, but systemd still uses
    the old version; use 'systemctl daemon-reload' to reload.
    выполняю systemctl daemon-reload
    только после этого все работает. Но после перезагрузки требуется повторить это действие
    и 2й вопрос у меня автоматом в fstab уже был прописан диск без UUID а (dev/mapper/almalinux_almali-home) для монтирования может из-за этого и не работает?
    и если я правильно додумал то как отмонтировать его если я не знаю его UUID
    Заранее спасибо за ответ!
    P.S. я только учусь)

    • @GNULinuxPro
      @GNULinuxPro  4 месяца назад

      Добрый день
      А какие вы операции делаете, что меняете в фстаб? И какая версия дистрибутива?

    • @AlexMatsu-m9w
      @AlexMatsu-m9w 4 месяца назад

      @@GNULinuxPro в фстаб добавил только строчку
      UUID="7a2d4a66-76ad-45c0-9f2f-8530e53f87fe" /home ext4 defaults 0 1
      AlmaLinux 8.9 gbome Версия 3.32.2

    • @GNULinuxPro
      @GNULinuxPro  4 месяца назад

      Сорри, только сейчас заметил второй пункт
      Действительно, если уже был вынесен /home, то да, это и было причиной, его предварительно нужно было отмонтировать
      Его можно отмонтировать используя тот же путь - umount /dev/mapper/alma....

    • @AlexMatsu-m9w
      @AlexMatsu-m9w 4 месяца назад

      @@GNULinuxPro спасибо ты топовый человек !