web-dev-qa-db-ja.com

Ubuntu Startup Disk Creatorは、どのISOファイルを入力として受け入れるかをどのように決定していますか?

Ubuntuスタートアップディスククリエーターの現在のバージョン(Ubuntu 16.04 LTSおよびUbuntuの新しいバージョン)は簡単に使用できます。そして、それはそれを信頼できるようにするクローン作成ツールです。

これは、UbuntuおよびUbuntuファミリーフレーバー(Kubuntu、Lubuntu ... Xubuntu)用のUSBブートドライブの作成に専念しているようです。

Ubuntuファミリー以外のさまざまなisoファイルでテストしました。

  • Ubuntuに基づく再スピンは通常、入力として受け入れられます
  • Debianに基づくいくつかのリスピンも入力として受け入れられます
  • Debianライブisoファイルはnotで受け入れられます(入力ファイルを選択した後、ボックスに表示されません)。
  • FedoraやOpenSUSEなどの他の主要なLinuxディストリビューションはnotを受け入れます。

これはやや混乱しており、受け入れるISOファイルを決定するフィルターがいくつかあるという結論を導き出します。

  • Startup Disk Creatorは、どのISOファイルを入力として受け入れるかをどのように決定していますか? isoファイルまたはファイル名で何を探していますか?
1
sudodus

称賛@ ubfan1 :-)

Python=コードを調べました。最初は圧倒的に見えましたが、すぐに有望に見える関数を見つけました。

ファイル/usr/lib/python3/dist-packages/usbcreator/backends/udisks/backend.py 有る

def _is_casper_cd(self, filename):
    for search in ['/.disk/info', '/.disk/mini-info']:
        cmd = ['isoinfo', '-J', '-i', filename, '-x', search]
        try:
            output = misc.popen(cmd, stderr=None)
            if output:
                return output
        except misc.USBCreatorProcessException:
            # TODO evand 2009-07-26: Error dialog.
            logging.error('Could not extract .disk/info.')
    return None

これは、起動ディスククリエーターがファイルの内容をチェックしていることを示します/.disk/infoおよび/.disk/mini-info

これらは、Ubuntu、Debian、および多くのリスピンに存在しますが、すべてのリスピンではありません。おもしろいのは、Debian 10.2とKaliの違いが末尾の改行であるということです。 Debian 8.8で確認しました。これには改行が含まれ、起動ディスククリエーターによって受け入れられます。

sudodus@bionic64 /media/multimed-2/CD/debian $ Sudo mount -o loop debian-live-8.8.0-AMD64-standard.iso /mnt/lp1
mount: /mnt/lp1: VARNING: enhet skrivskyddad, monterad som endast läsbar.
sudodus@bionic64 /media/multimed-2/CD/debian $ cat /mnt/lp1/.disk/info
Debian GNU/Linux 8 "Jessie" - Official Snapshot AMD64 LIVE/INSTALL Binary 20170506-14:26
sudodus@bionic64 /media/multimed-2/CD/debian $ Sudo mount -o loop debian-live-10.2.0-AMD64-standard.iso /mnt/lp2
mount: /mnt/lp2: VARNING: enhet skrivskyddad, monterad som endast läsbar.
sudodus@bionic64 /media/multimed-2/CD/debian $ cat /mnt/lp2/.disk/info
Official Debian GNU/Linux Live 10.2.0 standard 2019-11-16T10:15sudodus@bionic64 /media/multimed-2/CD/debian $ 

だから私はバグを見つけたようです。起動ディスククリエーターは、ファイルに末尾の改行文字がない限り、isoファイルを受け入れません/.disk/infoまたは/.disk/mini-info

編集:バグを報告しました

Bug#1860411:Ubuntu以外のISOファイルを使用しようとすると、起動ディスククリエーターが誤動作します

このバグはあなたに影響を与える とマークして、熱を上げるのを助けてください。

1
sudodus