infi.parted詳解

infi.parted顧名思義杀糯,是infi.storagemodel中負(fù)責(zé)磁盤分區(qū)的部分,
位置在infi.parted-0.2.9-py2.7.egg/infi/parted/__init__.py
整個(gè)腳本基本上都圍繞著parted命令來(lái)組織俊抵。與parted命令的接口如下:

def execute_parted(args):
    from infi.execute import execute
    commandline_arguments = ["parted", ]
    commandline_arguments.extend(PARTED_REQUIRED_ARGUMENTS)
    commandline_arguments.extend(args)
    log.debug("executing {}".format(" ".join([repr(item) for item in commandline_arguments])))
    try:
        parted = execute(commandline_arguments)
    except OSError:

執(zhí)行的命令為parted --script --machine /dev/device ......

一、分區(qū)

對(duì)分區(qū)類的定義如下:

class Partition(object):
    def __init__(self, disk_block_access_path, number, start, end, size):
        super(Partition, self).__init__()
        self._disk_block_access_path = disk_block_access_path
        self._number = number
        self._start = start
        self._end = end
        self._size = size

class GUIDPartition(Partition):
    def __init__(self, disk_block_access_path, number, name, start, end, size, filesystem):
        super(GUIDPartition, self).__init__(disk_block_access_path, number, start, end, size)
        self._name = name
        self._filesystem = filesystem
    
    @classmethod
    #比較重要的函數(shù),從parted的輸出中盼产,解析出一個(gè)GUIDPartition的對(duì)象
    #輸出格式:1:1048576B:525336575B:524288000B:xfs::boot;
    def from_parted_machine_parsable_line(cls, disk_device_path, line):
        number, start, end, size, filesystem, name, flags = line.strip(';').split(':')
        return cls(disk_device_path, int(number), name, from_string(start), from_string(end), from_string(size), filesystem)
    #比較實(shí)用的函數(shù),得到分區(qū)的設(shè)備路徑/dev/sdb1
    def get_access_path(self):
        prefix = get_multipath_prefix(self._disk_block_access_path) if 'mapper' in self._disk_block_access_path else ''
        return "{}{}{}".format(self._disk_block_access_path, prefix, self._number)

二礼华、磁盤

對(duì)磁盤類的定義如下:

class Disk(MatchingPartedMixin, Retryable, object):
    #parted mklabel gpt
    def create_a_new_partition_table(self, label_type, alignment_in_bytes=None):
        """:param label_type: one of the following: ['msdos', 'gpt']"""
        # in linux we don't create a reserved partition at the begging on the disk, so there's no alignment here
        assert(label_type in SUPPORTED_DISK_LABELS)
        self.execute_parted(["mklabel", label_type])
    #將整個(gè)disk創(chuàng)建一個(gè)分區(qū)咐鹤,并且加上文件系統(tǒng)
    def create_partition_for_whole_drive(self, filesystem_name, alignment_in_bytes=None):
    #執(zhí)行mkfs命令,創(chuàng)建文件系統(tǒng)
    def format_partition(self, partition_number, filesystem_name, mkfs_options={}): # pylint: disable=W0102
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末圣絮,一起剝皮案震驚了整個(gè)濱河市祈惶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扮匠,老刑警劉巖行瑞,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異餐禁,居然都是意外死亡血久,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門帮非,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)氧吐,“玉大人,你說(shuō)我怎么就攤上這事末盔≈耍” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵陨舱,是天一觀的道長(zhǎng)翠拣。 經(jīng)常有香客問(wèn)我,道長(zhǎng)游盲,這世上最難降的妖魔是什么误墓? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮益缎,結(jié)果婚禮上谜慌,老公的妹妹穿的比我還像新娘。我一直安慰自己莺奔,他們只是感情好欣范,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著令哟,像睡著了一般恼琼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屏富,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天晴竞,我揣著相機(jī)與錄音,去河邊找鬼役听。 笑死颓鲜,一個(gè)胖子當(dāng)著我的面吹牛表窘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甜滨,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼乐严,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了衣摩?” 一聲冷哼從身側(cè)響起昂验,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎艾扮,沒(méi)想到半個(gè)月后既琴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泡嘴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年甫恩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酌予。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡磺箕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抛虫,到底是詐尸還是另有隱情松靡,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布建椰,位于F島的核電站雕欺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏棉姐。R本人自食惡果不足惜屠列,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谅海。 院中可真熱鬧脸哀,春花似錦、人聲如沸扭吁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)侥袜。三九已至,卻和暖如春溉贿,著一層夾襖步出監(jiān)牢的瞬間枫吧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工宇色, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留九杂,地道東北人颁湖。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像例隆,于是被迫代替她去往敵國(guó)和親甥捺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,149評(píng)論 2 34
  • 1 概述 本文通過(guò)對(duì)講解了磁盤的基本概念镀层,分區(qū)镰禾,創(chuàng)建文件系統(tǒng),掛載唱逢,卸載等步驟進(jìn)行講解吴侦。使得用戶能夠創(chuàng)建基本的磁盤...
    ghbsunny閱讀 1,507評(píng)論 0 0
  • Ubuntu的發(fā)音 Ubuntu痪枫,源于非洲祖魯人和科薩人的語(yǔ)言盯蝴,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 99,217評(píng)論 9 467
  • 目錄磁盤結(jié)構(gòu)磁盤分區(qū)磁盤分區(qū)管理文件系統(tǒng)管理掛載 一听怕、磁盤結(jié)構(gòu) (一)設(shè)備文件 設(shè)備文件:linux系統(tǒng)下一切皆文...
    哈嘍別樣閱讀 993評(píng)論 0 0
  • 昨天去做了一個(gè)小小的結(jié)扎手術(shù)捧挺,是因?yàn)獒t(yī)生在給我做了檢查后動(dòng)員我做的。說(shuō)是手術(shù)后只需掛點(diǎn)鹽水消消炎第二天就可出院...
    耕牛1949閱讀 507評(píng)論 0 4