Как отформатировать раздел в соответствии с FreeBSD

Я использовал бы Python для этого. Поместите весь этот код в файл, названный mass_replace и"chmod +x mass_replace":

#!/usr/bin/python

import os
import re
import sys

def file_replace(fname, s_before, s_after):
    out_fname = fname + ".tmp"
    out = open(out_fname, "w")
    for line in open(fname):
        out.write(re.sub(s_before, s_after, line))
    out.close()
    os.rename(out_fname, fname)


def mass_replace(dir_name, s_before, s_after):
    for dirpath, dirnames, filenames in os.walk(dir_name):
        for fname in filenames:
            f = fname.lower()
            # example: limit replace to .txt, .c, and .h files
            if f.endswith(".txt") or f.endswith(".c") or f.endswith(".h"):
                f = os.path.join(dirpath, fname)
                file_replace(f, s_before, s_after)

if len(sys.argv) != 4:
    u = "Usage: mass_replace <dir_name> <string_before> <string_after>\n"
    sys.stderr.write(u)
    sys.exit(1)

mass_replace(sys.argv[1], sys.argv[2], sys.argv[3])

Для единственного поиска и замены одной строки в одном типе файла, решение с находкой и sed не плохо. Но если Вы хотите сделать большую обработку в одной передаче, можно отредактировать эту программу для расширения ее, и это будет легко (и вероятно быть корректным в первый раз).

2
задан 6 November 2010 в 16:32
4 ответа

На моем вопросе ответили: https://forums.freebsd.org/viewtopic.php? f=3&t=19087&p=108748

Надежда это поможет кому-то еще :-)

И согласно просьбе это - ответ из ссылки выше (если это снова становится недоступным):

da0 является Вашим диском. Первую часть (раздел) на этом называют s1. fdisk говорит, что Вам создали ту часть, таким образом,/dev/da0s1 должен присутствовать. Это - то, что Вы форматируете с newfs:

# newfs /dev/da0s1
# mount -t ufs /dev/da0s1 /mnt/usbdisk
# ls -ltr /mnt/usbdisk
total 2
drwxrwxr-x  2 root  operator  512 Nov  6 18:11 .snap

С уважением

1
ответ дан 3 December 2019 в 09:10

Руководство FreeBSD является неоценимым ресурсом и имеет раздел, который детализирует, как добавить диски к существующей системе: Добавление Дисков.

4
ответ дан 3 December 2019 в 09:10

fdisk для разделов
bsdlabel для частей (для непосвященного, как разделы для разделов)
newfs для UFS (собственная файловая система)

Быстрый 1 раздел, 1 диск части:

fdisk -BI [drive]
bsdlabel -wB [drive]s1
newfs [drive]s1a

После которого Вы могли смонтировать его с чем-то подобным:

mount [drive]s1a /mnt
2
ответ дан 3 December 2019 в 09:10

В наше время необходимо использовать gpart для разделения диска (fdisk/disklabel, настигаются gpart, так как он поддерживает GPT), newfs для форматирования UFS [2] разделы и шпулька для создания файловых систем ZFS. Например, инициализировать новый, неиспользуемый диск с файловой системой UFS:

GPT:
gpart создают-s gpt adaX
gpart добавляют-t freebsd-ufs adaX
newfs/dev/adaXp1

MBR:
gpart создают-s mbr adaX
gpart добавляют-t freebsd adaX
gpart создают-s bsd adaXs1
gpart добавляют-t freebsd-ufs adaXs1
newfs/dev/adaX1s1a

Если диск уже делится, и Вы хотите повторно разделить его, видеть то, что уже присутствует с:

gpart показывают аддакса

Можно затем удалить разделы с помощью "gpart, удаляют-i y аддакс:

gpart удаляют-i 4 adaX

Можно использовать "gpart, уничтожают" для уничтожения схемы, если Вы хотите изменить ее от MBR до GPT, например:

gpart уничтожают аддакса
gpart создают-s gpt adaX

GPT обычно предпочитается в наше время, если Вы не должны взаимодействовать с системами, которые не понимают это, так как это может повредить предел на 2 ТБ и иметь до 2^32-1 разделы (в теории!).

0
ответ дан 3 December 2019 в 09:10

Теги

Похожие вопросы