Задать вопрос
  • Как сделать несколько условий в if и чтобы они все выполнялись?

    @Markfictional
    Front-end developer
    Я не понял сути твоего вопроса) Попробуй вместо "&&" – (и) использовать "||" – (или).
    Ответ написан
    1 комментарий
  • Можно ли восстановить бекап MBR на GPT?

    hint000
    @hint000
    у админа три руки
    1. Следовало уточнить в вопросе, что резервное копирование делаете tar'ом, потому что есть сто других способов.
    2. Да, можно; tar ничего не знает о способах разметки диска, ему пофиг, он работает на более высоком уровне - с файловой системой, а не с блочным устройством. Так что до восстановления tar'ом раздел должен уже иметь файловую систему (т.е. должен быть отформатирован, если этот раздел был создан заново утилитой разметки диска).
    3. Что там насчёт загрузочного раздела? О нём нужно думать отдельно.
    Ответ написан
    2 комментария
  • Можно ли восстановить бекап MBR на GPT?

    @rPman
    hint000 абсолютно прав

    От себя добавлю, для загрузочного раздела в gpt
    * если используется legacy загрузка ( с помощью mbr boot sector), необходимо создать 1мб раздел biosboot (его содержимое заполнит grub автоматически когда будешь делать grub-setup)

    * если используется uefi загрузка, то необходимо создать ~128мб раздел efiboot, формат fat, его заполнит grub-setup автоматически (если текущая загрузка linux совершена с помощью efi меню, важный момент, иначе доступа efimgr к таблице разделов в биосе будет недоступна)

    В обоих случаях раздел /boot не обязателен, если корневая система простая (не размещена на raid, lvm или не зашифрована и прочие сложные конфиги) и отформатирована в известную grub-у файловую систему ext/btrfs/...

    p.s. загрузочные разделы должны располагаться примерно с начала диска, до 2тб, иначе могут быть проблемы, даже у uefi. По этой причине /boot раздел все же создают, чтобы гарантировать что загрузочные файлы не уедут за эту границу

    восстанавливать бакап можно просто развернув tar, при условии что структура файловой системы смонтирована как надо (бывает что создавая бакап в него помещают только корневую систему без /boot /efi и прочего, тогда пофиг)

    после восстановления grub-setup и grub-update обязательны (при работе с cdrom и монтировании корня не в корень, указывай его с помощью --root-directory

    grub-setup (точнее он запускает efibootmgr) обязателен для uefi загрузки, он прописывает ссылку на диск в биосе в меню (спасибо майкрософту за этот геморой в стандарте), для загрузки с флешек (removable devices) это не требуется.

    p.p.s. не забудь поправить /etc/fstab, если разделы там прописаны по uuid, создав новые разделы, им выдаются новые идентификаторы
    Ответ написан
    Комментировать
  • Загрузится ли Windows после разметки на GPT?

    Slayer_nn
    @Slayer_nn Куратор тега Windows
    Гугол, памаги!
    Сможешь, но придется восстанавливать загрузчик
    Ответ написан
    Комментировать
  • Зачем нужны маски подсети?

    если по-простому, на пальцах, то, по своей маски хост определяет - нужна ли ему помощь маршрутизатора, чтобы обратиться к destination ip, или это его родная сеть и он сам может обратиться к этому dest ip
    Ответ написан
    Комментировать
  • Можно ли подставить имя файла из ls?

    shabelski89
    @shabelski89
    engineer
    #!/bin/bash
    FILES="/root/temp/*"
    
    #echo $FILES
    
    for file in $FILES
    do
    if [ "${file: -4}" == ".zip" ]; then
     echo "some string with name of $file"
    fi
    done


    Тратим пару часов на чтение статей и готово!
    Ответ написан
    1 комментарий
  • Можно ли подставить имя файла из ls?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    не совсем понятна задача
    не можете скопировать мышкой и не работает автодополнение ?
    узнаём номер нужной строки:
    ls -A1 | nl'
    если нужны только видимые(без точки в начале имени) файлы то можно упустить ключ A
    выводим строку по её номеру:
    ls -A1 | awk 'NR==7'
    где 7 это пример номера строки с нужным именем файла выданный с помощью команды ls, ставим свой номер.
    при желании можно завернуть это в переменную и просто вставлять где нужно:
    f=$(ls -A1 | awk 'NR==7')
    далее уже можно будет оперировать этой переменной, например:
    rm "$f"

    п.с.
    если нужно больше интерактива то можно воспользоваться утилитой skim(sk) или fzf
    f=$(ls | fzf)
    для скрытых файлов добавить ключ -A
    даст возможность выбрать нужный файл клавишами(верх, низ), а затем(Enter) передать его в переменную.
    ну а дальше уже оперируем переменной f
    Ответ написан
    Комментировать
  • Зачем нужны маски подсети?

    fzfx
    @fzfx
    18,5 дм
    маски подсети нужны чтобы указывать размер подсети. размер подсети нужно указывать для того, чтобы обозначить для сетевого стека, какой диапазон адресов относится к широковещательному домену и не требует маршрутизации, а какие адреса относятся к другим сетям, чтобы пакеты были на них смаршрутизированы через таблицу маршрутизации (шлюз по умолчанию или иные шлюзы, подсети для которых также заданы с использованием маски подсети).
    максимальную можно указать только в том случае, когда её можно указать, а если её указать нельзя, тогда нельзя.
    маски подсети не сказываются на производительности напрямую.
    Ответ написан
    3 комментария
  • Какой лучше использовать тип архива gz или bz2?

    @rPman
    В linux исторически сложилось для архивации использовать tar, это наверное самый многофункциональный инструмент, позволит сохранить все плюс даже то что не нужно.

    * для сохранения прав нужен ключ -p
    * для сохранения extended attributes нужен ключ --xattrs
    * для обнаружения и сохранения информации о дырявых файлах sparse ключ -S
    * символические ссылки будут сохранены как ссылки по умолчанию, поведение можно по разному менять опциями (например хранить как файл или к примеру при распаковке пробовать создать hardlink вместо symlink и т.п.)

    Упаковывать можно потом полученный tar архив или лучше в процессе, ключ -a автоматически определит архиватор по расширению, чем угодно. Никто не мешает тебе создать архив без его сохранения просто отправляя его в момент создания в никуда:
    tar -cjf /dev/stdout . | wc -c
    будет сжимать bzip2 (ключ j) текущий каталог с подкаталогами и отправлять его в команду wc, которая просто посчитает его размер в байтах и выведет на экран. Повтори команду поменяв ключ j на J (это xz), z (это gzip) и т.п. и сравнивай полученные размеры (советую попробовать zstd)

    p.s. как альтернатива, можно архивировать не файлы а весь раздел, с помощью набора утилит partclone (поддерживает все даже что то типа ntfs) можно создать копию раздела, в котором не будут сохранены сектора, помеченные как свободные, при этом скорость работы утилиты сравнима с dd (а это вообще просто посекторное копирование) и в большинстве случаев позволяет менять размер раздела, на который будет все это восстанавливаться (с ntfs редко но могут возникнуть проблемы при уменьшении)

    p.p.s. еще есть фичи-инструменты файловых систем, например у btrfs есть возможность получить в качестве файла разницу между указанными снапшотами, созданными в разное время, и применить его позже, хоть на другой машине... тоже можно считать инструментом для бакапа
    Ответ написан
    4 комментария
  • Почему команда find не работает?

    hint000
    @hint000
    у админа три руки
    Потому что надо -ctime +29

    $ man find
    ...
    -atime n
    File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last ac‐
    cessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days
    ago.
    ...
    -ctime n
    File's status was last changed n*24 hours ago. See the comments for -atime to understand how rounding affects the
    interpretation of file status change times.
    Ответ написан
    1 комментарий
  • Как обновить права сетевого диска?

    @pumpkinm
    Там дай полный доступ, и используй ACL для ограничения.

    cacls D:\Folder /E /P HomeUsers:R

    cacls D:\Folder /E /P HomeUsers:F
    Ответ написан
  • Firefox, Win 7 при посещении gmail.. нарушение сетевого протокола. Что подпилить?

    @loover
    Вариант:
    about:serviceworkers в адресной строке > https://mail.google.com > Разрегистрировать.
    Ответ написан
    Комментировать
  • Как задать порт в параметрах команды ssh?

    @Tabletko
    никого не трогаю, починяю примус
    man ssh
    флаг -p
    Ответ написан
    Комментировать
  • Как задать порт в параметрах команды ssh?

    mukhindev
    @mukhindev
    Флаг -p номер_порта
    Ответ написан
    Комментировать
  • Как задать порт в параметрах команды ssh?

    bingo347
    @bingo347
    Crazy on performance...
    Для команды ssh - флаг -p и порт:ssh -p 2222 user@host
    Для scp - флаг -P (заглавная) и порт:scp -P 2222 /local/file user@host:/remote/file
    Для rsync - через флаг -e можно указать кастомный шелл, соответственно отдаем туда ssh с флагом -p:rsync -e 'ssh -p 2222'

    UPD: Помимо этого можно в папке ~/.ssh (там где ключи) создать файл с именем config (без расширения) и задать там нужным хостам алиасы и многие настройки, включая порт, пользователя по умолчанию и альтернативный ключ, после чего во всех ssh утилитах можно будет писать только алиас:ssh alias
    Документация по доступным параметрам
    Плагин к vscode для подсветки и автодополнения в файле ~/.ssh/config
    Ответ написан
    Комментировать
  • VirtualBox. Как настроить доступ к SSH серверу, запущенном на гостевой ОС?

    fzfx
    @fzfx
    18,5 дм
    а в чём собственно проблема? с хоста заходит, с локальной сети нет? меняйте тип сети для виртуалки на мост (bridge).
    Ответ написан
  • Как отслеживать изменения репозитория GitHub на Windows?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    1. git clone
    2. Я бы написал какой нибудь скрипт и периодически его запускал. При наличии нового коммита что то делал.
    https://developer.github.com/v3/guides/getting-started/
    3. (другой вариант) либо настроил CI и добавил бы какой нибудь шаг на коммит, допустим отправку почты, ну или что то еще
    Ответ написан
    Комментировать
  • Как прижать блок к правому краю?

    space2pacman
    @space2pacman Куратор тега CSS
    Просто царь.
    position: absolute;
    right: 0;
    Ответ написан
    3 комментария