DELL PowerEdgeサーバにLinuxを入れる際の追加ソフト

2024/09/24 全面改定
2021/12/20 修正
2021/01/09 修正
2019/01/09 初版

DELL PowerEdgeサーバにLinuxをインストールする際に、DELLが配布しているソフトウェアレポジトリ Dell Linux repository がある。

以前は、Dell System Update (DSU)OpenManage Server Administrator (OMSA) をインストールする、ということになっていたが、2024年になりOMSAは終了(2027年までサポートは続くけど)し、iDRACとOS側にインストールするiDRAC Service Module(iSM)で代替されることとなった。

上記ドキュメント群から触れられていないがLinux OS側からiDRACの操作を行うための「Linux向けDell iDRACツール」というのもリリースされている。(racadmとIPMItools)

このため、手順としては下記となるようだ。

1) レポジトリ登録

2) DSUインストール

3) 各PowerEdgeのサポートページのダウンロードから「Linux用Dell iDRAC Service Module」を入手しインストール

    Linux用Dell iDRAC Service Module は、例えば2024/09/24時点では「Linux用Dell iDRAC Service Module、v5.3.1.0」(OM-iSM-Dell-Web-LX-5310-3503_A00.tar.gz)もしくは「OS DUP用Dell iDRAC Service Moduleインストーラー、v5.3.1.0」(Systems-Management_Application_7152M_LN64_5.3.1.0_A00.BIN)をインストールした後に、「Linux用Dell iDRAC Service Module (iSM)ホットフィックス306929」(SysMgmt_iSM-Hotfix306929_A00.tar.gz)を適用することが最新であるようだ。

    4) 各PowerEdgeのサポートページのダウンロードから「Linux向けDell iDRACツール」を入手しインストール

    例えば2024/09/24時点では「Linux向けDell iDRACツール、v11.2.0.0」(Dell-iDRACTools-Web-LX-11.2.0.0-213_A00.tar.gz) から racadmコマンドと、IPMItoolsをインストールできる。

    5) DELL系RAIDの管理コマンド perccli

    すべてのDell HBA/PERCコントローラー用PERCCLIユーティリティー(Linux向け)」(PERCCLI_7.211.0_Linux.tar.gz) により、PERC RAIDを管理するperccliコマンドをインストールできる。


    以下は2019年/2021年記載のものをアーカイブのために残している


    DELL PowerEdgeサーバにRedHat Enterprise Linux (RHEL)やCentOSをインストールする場合、OSインストール後に、DELL用の管理ソフトウェア OMSAとシステムアップデートツール DSUをインストールする。

    RHEL/CentOS系の手順

    Dell EMC System Update (DSU)」用のYUMレポジトリを登録し、その後、「OpenManage Server Administrator」をインストールする形となるので、以下の様な流れとなる。

    1. レポジトリ登録
    2. DSUインストール
    3. OSMAインストール
    4. DTKをインストール DTKは現状必須ではない模様
    5. dsuを使ってfirmware類をアップデート

    上記を実施するためのコマンド群は以下の様な形となる。

    2021年1月時点での手順 ( 2021/12/20修正 )

    # curl -O https://linux.dell.com/repo/hardware/dsu/bootstrap.cgi
    # bash bootstrap.cgi
    # yum install dell-system-update
    # yum install srvadmin-all
    # dsu --apply-upgrades --non-interactive
    

    syscfgとraidcfgはracadmコマンドに統合された。

    RAIDのvdisk構成を見るのであれば「racadm storage get vdisks -o」などとなる。

    2019年1月時点での旧手順

    # curl -s http://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash
    # yum install dell-system-update
    # yum install srvadmin-all
    # yum install syscfg raidcfg
    # dsu --apply-upgrades --non-interactive
    

    上記手順はインターネット接続環境にある場合のもので、接続出来ない環境で行う場合は手順が変わる

    オフラインで行いたい場合は「tarballをダウンロードしてインストール」「rsyncでミラーレポジトリを作る」と「ISOを作る」から選択する。

    tarballは「Dell EMC OpenManage Server Administrator 9.1.0」から入手することができる・・・ただ、2019/01/09時点ではDSUレポジトリからインストールすると9.2.0になるので若干遅れている。

    rsyncの場合は「rsync -avHz linux.dell.com::repo/hardware .」でコピーしてくる。

    ISOをつくる場合は「dsucreateiso」をダウンロードして実行する。事前に「yum install mkisofs」でmkisofsをインストールしておく必要はある。

    また、標準状態だと/tmpにダウンロードしてきたファイル群を置いた上で、そこで展開も行うので十分な容量を確保しておく必要がある。もしくは「–workspace=/ディレクトリ」で作業領域を指定する

    [root@rhelserver7 dsu]# mkdir tmp
    [root@rhelserver7 dsu]# ./dsucreateiso  --workspace=`pwd`/tmp
    Log file:/var/log/dsucreateiso.log
    Downloading: ftp://ftp.dell.com/sysman/DSUPlugins.tar
    Invalid dellbootplugin location: ftp://downloads.dell.com/FOLDER05328537M/1/dellbootplugin.tar.gz
    Downloading: https://downloads.dell.com/FOLDER05328537M/1/dellbootplugin.tar.gz
    Extracting dellbootplugin: dellbootplugin.tar.gz
    Downloading: https://downloads.dell.com/catalog/Catalog.gz
    Extracting catalog: Catalog.gz
    Parsing Catalog File...
    

    Ubuntuの手順

    Ubuntu 20.04の場合もほぼ手順で設定するが、若干の細工が必要となる

    2021/12/20にPower Edge R650にインストールした際のメモつきで記載する。

    1. DELL System Update (DSU)のインストール

    DELL PowerEdgeのfirmware周りをアップデートできるDELL System Update(dsu)はlibssl1.0.0を必要とするのだが、Ubuntu 20.04の標準レポジトリには含まれていない。このため、実行すると下記のエラーが表示される。

    root@ubuntu:~# dsu
    dsu: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
    root@ubuntu:~#
    

    対処方法は「DELL EMC System Update Version 1.9.1.0 User’s Guide」掲載のUbuntu 16.04(xenial)レポジトリから持ってこれるようにする、というもの

    1.1. libssl1.0.0インストール

    /etc/apt/sources.list.d/for-dsu.list というファイルを作成し、下記の内容で記述する。

    deb http://security.ubuntu.com/ubuntu xenial-security main
    

    上記実施後「apt update」でレポジトリ情報を更新したあと、「apt install libssl1.0.0」でインストールする。

    1.2. dsuを入手

    2021/12/20時点では文書000130590「Dell EMC System Update(DSU)」からリンクされている「Dell EMC System Update、v.1.9.2.0」が最新。

    ダウンロードするものは「Red Hat Linux用更新パッケージ」の Systems-Management_Application_5C2CW_LN64_1.9.2.0_A00.BIN

    個別ダウンロードの説明には Ubuntu 20.04 LTSといった記載はないが、下部にある「サポート対象のオペレーションシステム」には含まれている。

    1.3. DSUのインストール

    ダウンロードしたファイルに実行権限を与えてインストールする。

    root@ubuntu:~# chmod a+x /usr/local/src/Systems-Management_Application_5C2CW_LN64_1.9.2.0_A00.BIN
    root@ubuntu:~# /usr/local/src/Systems-Management_Application_5C2CW_LN64_1.9.2.0_A00.BIN
    Collecting inventory...
    .
    Running validation...
    
    DELL System Update
    
    No version of this Update Package is currently installed.
    Software application name: DSU
    Package version: 1.9.2.0
    
    
    Continue? Y/N:y
    Executing update...
    WARNING: DO NOT STOP THIS PROCESS OR INSTALL OTHER PRODUCTS WHILE UPDATE IS IN PROGRESS.
    THESE ACTIONS MAY CAUSE YOUR SYSTEM TO BECOME UNSTABLE!
    .
    DELL EMC System Update installed successfully.
    The update completed successfully.
    root@ubuntu:~#
    

    1.4. DSUによるアップデート

    dsuコマンドはインターネット接続して最新のfirmwareカタログおよびfirmware実体をダウンロードします。

    アップデートは「dsu」で行います。

    「dsu –apply-upgrades –non-interactive」で実行すると対象となるものをすべて適用する形となります。

    今回は確認しながら進めるため「dsu」をオプションなしで実行しました。

    root@ubuntu:~# dsu
    DELL EMC System Update 1.9.2.0
    Copyright (C) 2014 -- 2021 DELL EMC Proprietary.
    Do you want to import public key(s) on the system (Y/N)? : y
    Import Public Key(s)
    Importing key 1019CED6 is successful
    Importing key 23B66A9D is successful
    Importing key 34D8786F is successful
    Importing key 46770C59 is successful
    Downloading the Index catalog
    Extracting /usr/libexec/dell_dup/CatalogIndex.gz
    Reading the Index catalog
    Downloading the catalog
    Extracting /usr/libexec/dell_dup/Catalog.gz
    Reading the catalog ...
    Fetching invcol_8YPK7_LN64_21_12_200_1196_A00 ...
    Verifying inventory collector installation
    Trying to connect using https
    Fetching invcol_8YPK7_LN64_21_12_200_1196_A00.BIN ...
    Getting System Inventory ...
    Determining Applicable Updates ...
    
    |--------DELL EMC System Update-----------|
    [ ] represents 'not selected'
    [*] represents 'selected'
    [-] represents 'Component already at repository version (can be selected only if -e option is used)'
    Choose:  q - Quit without update, c to Commit, <number> - To Select/Deselect, a - Select All, n - Select None
    [-]1 BIOS
    Current Version : 1.3.8 Same as : 1.3.8, Criticality : Recommended, Type : BIOS
    
    [ ]2 SEP Firmware, BayID: 1
    Current Version : 3.56 Upgrade to : 3.57, Criticality : Optional, Type : Firmware
    
    [-]3 Firmware for  - Disk 0 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [-]4 Firmware for  - Disk 1 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [-]5 Firmware for  - Disk 2 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [-]6 Firmware for  - Disk 3 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [ ]7 PERC H755 Front Controller 0 Firmware
    Current Version : 52.16.1-4074 Upgrade to : 52.16.1-4158, Criticality : Urgent, Type : Firmware
    
    [-]8 NetXtreme BCM5720 Gigabit Ethernet PCIe (eno8403)
    Current Version : 21.81.3 Same as : 21.81.3, Criticality : Optional, Type : Firmware
    
    [-]9 NetXtreme BCM5720 Gigabit Ethernet PCIe (eno8303)
    Current Version : 21.81.3 Same as : 21.81.3, Criticality : Optional, Type : Firmware
    
    [-]10 Intel(R) Ethernet 10G 2P X710-T2L-t OCP
    Current Version : 20.5.13 Same as : 20.5.13, Criticality : Recommended, Type : Firmware
    
    [-]11 Intel(R) Ethernet Network Adapter X710-TL
    Current Version : 20.5.13 Same as : 20.5.13, Criticality : Recommended, Type : Firmware
    
    [-]12 Intel(R) Ethernet 10G 2P X710-T2L-t Adapter
    Current Version : 20.5.13 Same as : 20.5.13, Criticality : Recommended, Type : Firmware
    
    [ ]13  iDRAC
    Current Version : 5.00.10.10 Upgrade to : 5.00.20.00, Criticality : Recommended, Type : Firmware
    
    [ ]14 NVMePCISSD Model Number: Dell Ent NVMe v2 AGN MU U.2 3.2TB
    Current Version : 2.0.0 Upgrade to : 2.2.0, Criticality : Recommended, Type : Firmware
    
    [-]15 Dell 64 Bit uEFI Diagnostics, version 4301, 4301A61, 4301.62
    Current Version : 4301A61 Same as : 4301A61, Criticality : Optional, Type : Application
    
    [-]16 Dell OS Driver Pack, 21.07.07, A00
    Current Version : 21.07.07 Same as : 21.07.07, Criticality : Optional, Type : Application
    
    [-]17 Dell EMC iDRAC Service Module Embedded Package v4.1.0.0, A00
    Current Version : 4.1.0.0 Same as : 4.1.0.0, Criticality : Recommended, Type : Application
    
    Enter your choice : 
    

    firmwareの現状が表示されて、選択肢入力となります。

    基本的には必要なもの全てに適用するため「a」を入力します。

    Enter your choice : a
    
    |--------DELL EMC System Update-----------|
    [ ] represents 'not selected'
    [*] represents 'selected'
    [-] represents 'Component already at repository version (can be selected only if -e option is used)'
    Choose:  q - Quit without update, c to Commit, <number> - To Select/Deselect, a - Select All, n - Select None
    [-]1 BIOS
    Current Version : 1.3.8 Same as : 1.3.8, Criticality : Recommended, Type : BIOS
    
    [*]2 SEP Firmware, BayID: 1
    Current Version : 3.56 Upgrade to : 3.57, Criticality : Optional, Type : Firmware
    
    [-]3 Firmware for  - Disk 0 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [-]4 Firmware for  - Disk 1 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [-]5 Firmware for  - Disk 2 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [-]6 Firmware for  - Disk 3 of PERC H755 Front Controller 0
    Current Version : BA08 Same as : BA08, Criticality : Recommended, Type : Firmware
    
    [*]7 PERC H755 Front Controller 0 Firmware
    Current Version : 52.16.1-4074 Upgrade to : 52.16.1-4158, Criticality : Urgent, Type : Firmware
    
    [-]8 NetXtreme BCM5720 Gigabit Ethernet PCIe (eno8403)
    Current Version : 21.81.3 Same as : 21.81.3, Criticality : Optional, Type : Firmware
    
    [-]9 NetXtreme BCM5720 Gigabit Ethernet PCIe (eno8303)
    Current Version : 21.81.3 Same as : 21.81.3, Criticality : Optional, Type : Firmware
    
    [-]10 Intel(R) Ethernet 10G 2P X710-T2L-t OCP
    Current Version : 20.5.13 Same as : 20.5.13, Criticality : Recommended, Type : Firmware
    
    [-]11 Intel(R) Ethernet Network Adapter X710-TL
    Current Version : 20.5.13 Same as : 20.5.13, Criticality : Recommended, Type : Firmware
    
    [-]12 Intel(R) Ethernet 10G 2P X710-T2L-t Adapter
    Current Version : 20.5.13 Same as : 20.5.13, Criticality : Recommended, Type : Firmware
    
    [*]13  iDRAC
    Current Version : 5.00.10.10 Upgrade to : 5.00.20.00, Criticality : Recommended, Type : Firmware
    
    [*]14 NVMePCISSD Model Number: Dell Ent NVMe v2 AGN MU U.2 3.2TB
    Current Version : 2.0.0 Upgrade to : 2.2.0, Criticality : Recommended, Type : Firmware
    
    [-]15 Dell 64 Bit uEFI Diagnostics, version 4301, 4301A61, 4301.62
    Current Version : 4301A61 Same as : 4301A61, Criticality : Optional, Type : Application
    
    [-]16 Dell OS Driver Pack, 21.07.07, A00
    Current Version : 21.07.07 Same as : 21.07.07, Criticality : Optional, Type : Application
    
    [-]17 Dell EMC iDRAC Service Module Embedded Package v4.1.0.0, A00
    Current Version : 4.1.0.0 Same as : 4.1.0.0, Criticality : Recommended, Type : Application
    
    Enter your choice : 
    

    そうするとインストールが必要なものについては「[*]」という表示に変わります。

    インストールするものを選択したら「c」と入力し、ダウンロードと適用を開始します。

    Enter your choice : c
    Trying to connect using https
    Fetching iDRAC-with-Lifecycle-Controller_Firmware_19C2M_LN64_5.00.20.00_A00 ...
    Trying to connect using https
    Fetching iDRAC-with-Lifecycle-Controller_Firmware_19C2M_LN64_5.00.20.00_A00.BIN ...
    Trying to connect using https
    Fetching SAS-RAID_Firmware_6MTTK_LN64_52.16.1-4158_A05_01 ...
    Trying to connect using https
    Fetching SAS-RAID_Firmware_6MTTK_LN64_52.16.1-4158_A05_01.BIN ...
    Trying to connect using https
    Fetching Express-Flash-PCIe-SSD_Firmware_FJK0C_LN64_2.2.0_A01 ...
    Trying to connect using https
    Fetching Express-Flash-PCIe-SSD_Firmware_FJK0C_LN64_2.2.0_A01.BIN ...
    Trying to connect using https
    Fetching Firmware_TKKM5_LN64_3.57_A00 ...
    Trying to connect using https
    Fetching Firmware_TKKM5_LN64_3.57_A00.BIN ...
    Installing iDRAC-with-Lifecycle-Controller_Firmware_19C2M_LN64_5.00.20.00_A00
    Installed successfully
    Installing SAS-RAID_Firmware_6MTTK_LN64_52.16.1-4158_A05_01
    Installed successfully
    Installing Express-Flash-PCIe-SSD_Firmware_FJK0C_LN64_2.2.0_A01
    Installed successfully
    Installing Firmware_TKKM5_LN64_3.57_A00
    Installed successfully
    Please restart the system for successful update(s) to take effect
    Done! Please run 'dsu --inventory' to check the inventory
    Exiting DSU!
    root@ubuntu:~#
    

    1.5. 再起動

    firmwareは再起動時に適用されるため、再起動します。

    1.6. 確認

    root@ubuntu:~# dsu --inventory
    DELL EMC System Update 1.9.2.0
    Copyright (C) 2014 -- 2021 DELL EMC Proprietary.
    Downloading the Index catalog
    Extracting /usr/libexec/dell_dup/CatalogIndex.gz
    Reading the Index catalog
    Downloading the catalog
    Extracting /usr/libexec/dell_dup/Catalog.gz
    Reading the catalog ...
    Verifying inventory collector installation
    Trying to connect using https
    Fetching invcol_8YPK7_LN64_21_12_200_1196_A00.BIN ...
    Getting System Inventory ...
    
    1. BIOS, BIOS  ( Version : 1.3.8 )
    
    2. FRMW, Power Supply  ( Version : 00.2A.2A )
    
    3. FRMW, Power Supply  ( Version : 00.2A.2A )
    
    4. FRMW, SEP Firmware, BayID: 1  ( Version : 3.57 )
    
    5. FRMW, Firmware for  - Disk 0 of PERC H755 Front Controller 0    ( Version : BA08 )
    
    6. FRMW, Firmware for  - Disk 1 of PERC H755 Front Controller 0    ( Version : BA08 )
    
    7. FRMW, Firmware for  - Disk 2 of PERC H755 Front Controller 0    ( Version : BA08 )
    
    8. FRMW, Firmware for  - Disk 3 of PERC H755 Front Controller 0    ( Version : BA08 )
    
    9. FRMW, PERC H755 Front Controller 0 Firmware  ( Version : 52.16.1-4074 )
    
    10. FRMW, NetXtreme BCM5720 Gigabit Ethernet PCIe (eno8403)  ( Version : 21.81.3 )
    
    11. FRMW, NetXtreme BCM5720 Gigabit Ethernet PCIe (eno8303)  ( Version : 21.81.3 )
    
    12. FRMW, Intel(R) Ethernet 10G 2P X710-T2L-t OCP  ( Version : 20.5.13 )
    
    13. FRMW, Intel(R) Ethernet Network Adapter X710-TL  ( Version : 20.5.13 )
    
    14. FRMW, Intel(R) Ethernet 10G 2P X710-T2L-t Adapter  ( Version : 20.5.13 )
    
    15. FRMW, Intel(R) Ethernet Network Adapter X710-TL  ( Version : 20.5.13 )
    
    16. FRMW,  iDRAC  ( Version : 5.00.20.00 )
    
    17. FRMW, NVMePCISSD Model Number: Dell Ent NVMe v2 AGN MU U.2 3.2TB  ( Version : 2.2.0 )
    
    18. FRMW, NVMePCISSD Model Number: Dell Ent NVMe v2 AGN MU U.2 3.2TB  ( Version : 2.2.0 )
    
    19. APAC, Lifecycle Controller  ( Version : 5.00.20.00 )
    
    20. APAC, Dell 64 Bit uEFI Diagnostics, version 4301, 4301A61, 4301.62  ( Version : 4301A61 )
    
    21. APAC, Dell OS Driver Pack, 21.07.07, A00  ( Version : 21.07.07 )
    
    22. APAC, Dell EMC iDRAC Service Module Embedded Package v4.1.0.0, A00  ( Version : 4.1.0.0 )
    
    23. FRMW, System CPLD  ( Version : 1.0.5 )
    
    
    Progress report is available at:/usr/libexec/dell_dup/DSU_STATUS.json
    Exiting DSU!
    root@ubuntu:~#
    

    2. ドライバインストール

    上記のDSUで「Dell OS Driver Pack」が導入されているのだが、バージョンが最新ではないことの方が多いようだ。

    このため、別途手動でドライバをダウンロードしてきてインストールする必要がある。

    2.1. ドライバ入手

    入手方法は若干面倒で各機種のドライバダウンロードページ、たとえばPowerEdge R650ならここにアクセス。

    オペレーションシステムを「Ubuntu 20.04 LTS」と限定し、ソート基準を「リリース日: 最も新しい」に変更します。

    表示されるなかから「カテゴリ: OS導入用のドライバ」の「Dell OS Driver Pack」の最新版をダウンロードします。

    2021/12/20時点では Drivers-for-OS-Deployment_Application_CF52W_LN_21.10.02_A00.BIN でした。

    こちらもDSUと同様に「サポートされているOSのリスト」にUbuntu 20.04 LTSが含まれていませんが、問題ありません。

    2.2. ドライバ適用

    ダウンロードしたファイルに実行権限を与えてインストールします。

    root@ubuntu:~# chmod a+x /usr/local/src/Drivers-for-OS-Deployment_Application_CF52W_LN_21.10.02_A00.BIN
    root@ubuntu:~# /usr/local/src/Drivers-for-OS-Deployment_Application_CF52W_LN_21.10.02_A00.BIN
    Collecting inventory...
    ....................................................
    Running validation...
    
    Dell OS Driver Pack, 21.07.07, A00
    
    The version of this Update Package is newer than the currently installed version.
    Software application name: Dell OS Driver Pack, 21.07.07, A00
    Package version: 21.10.02
    Installed version: 21.07.07
    
    
    
    Continue? Y/N:y
    Executing update...
    WARNING: DO NOT STOP THIS PROCESS OR INSTALL OTHER PRODUCTS WHILE UPDATE IS IN PROGRESS.
    THESE ACTIONS MAY CAUSE YOUR SYSTEM TO BECOME UNSTABLE!
    ..............................................................................................................................................................................
     Update Success
    The update completed successfully.
    root@ubuntu:~#
    

    DSUにより「21.07.07」がインストールされていたものが「21.10.02」にアップデートされました。

    3. OSMAインストール

    3.1. OSMAのレポジトリ確認

    Ubuntu用 Dell OpenManage は Dell EMC OpenManage Ubuntu and Debian Repositories にて必要なレポジトリ情報を確認する。

    機種によって変わってくるので、Availability Matrixをよく見ること。

    例えばPowerEdge R640だと OMSA v10.1.0.1 だが、PowerEdge R650では OMSA v10.0.1 + iSM v4.0.1 違いがあることに注意。

    3.2. OMSAレポジトリファイル登録

    /etc/apt/sources.list.d/linux.dell.com.sources.list にレポジトリ記述を書く。

    PowerEdge R640だったら下記

    deb http://linux.dell.com/repo/community/openmanage/10101/focal focal main
    

    PowerEdhe R650なら下記

    deb http://linux.dell.com/repo/community/openmanage/1001/focal focal main
    deb http://linux.dell.com/repo/community/openmanage/iSM/401/focal focal main
    

    3.3. レポジトリの公開鍵登録

    最近はレポジトリの公開鍵を登録しないといけないので、DELL OMSAレポジトリで使用される公開鍵をダウンロードして、aptに登録する。

    root@ubuntu:~# wget https://linux.dell.com/repo/pgp_pubkeys/0x1285491434D8786F.asc
    --2021-12-20 01:20:41--  https://linux.dell.com/repo/pgp_pubkeys/0x1285491434D8786F.asc
    Resolving linux.dell.com (linux.dell.com)... 143.166.156.113
    Connecting to linux.dell.com (linux.dell.com)|143.166.156.113|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 4250 (4.2K) [text/plain]
    Saving to: ‘0x1285491434D8786F.asc’
    
    0x1285491434D8786F. 100%[===================>]   4.15K  --.-KB/s    in 0s
    
    2021-12-20 01:20:41 (364 MB/s) - ‘0x1285491434D8786F.asc’ saved [4250/4250]
    
    root@ubuntu:~# apt-key add 0x1285491434D8786F.asc
    OK
    root@ubuntu:~#
    

    3.4. レポジトリ更新

    「apt update」でレポジトリ情報を更新する

    3.5. OSMAインストール

    「apt install srvadmin-all」でOMSAをインストール

    3.6 iSMインストール(オプション)

    レポジトリ一覧に「iSM」がある場合、「apt install dcism」でインストールする。

    インストール後iSMを動作させるには再起動するか「systemctl start dcismeng.service」を実行する。

    iSMがインストールされていて、動作している場合、iDRACの[システム]-[ホストOS]で下記の様な表示がある。

    動作していない場合は「RAC0690」というエラーが表示される。なお、手動でdcismeng.serviceを起動した場合、iDRAC側に反映されるまで30秒程度かかる。

    ImageMagick/librsvgではSVGのtextPathが使えない

    文字列画像をSVGで作る」で調べたことの副産物を別記事として書きます。

    SVGで文字列を描画する際、単純に記載するには「text」を使用する。

    textには「textPath」という機能があり、別途定義した「path」の線上に文字列を並べることができるようになっている。

    textPathは各種ブラウザではサポートされているものの、ImageMagickではサポートされていない。(「Text by path not working #642」)

    ImageMagickでサポートされていない原因は、SVG描画にはlibrsvg2を使用しており、そのlibrsvg2がtextPathをサポートしていない、というものでした。(「[BZ#644624] no support for textPath element」)

    4年前に「Partial textPath support」という形で部分的にサポートするためのパッチが投稿されているようなのですが、取り込まれていないままのようです。

    果たしてサポートされるようになるのか・・・


    2022/04/19追記

    どうなったのかな?と確認してみたところ、libsvgでのサポート状況は変わっていなかった。

    2021年にwikimediaのSVGサポートではlibsvgを使っているけど、そのままでいいの?といった議論があった模様「[Session] RFC: Re-evaluate librsvg as SVG renderer on Wikimedia wikis

    libsvg 2.50、resvg 0.14、Inkscape 1.0、batlk 1.13/1.14を使った場合の速度や負荷などを検討し、resvgがよいのでは?というプレゼン資料があった。

    ただ、最終的にwikimedia側でどうしたのかがよくわからなかった。

    文字列画像をSVGで作る

    ImageMagickの使い方を調べていたら、文字列を記述したSVGをImageMagickの機能で画像にすることができるようだ。

    まず、ImageMagickで使えるフォントを確認する。

    $ magick -list font
    <略>
      Font: VL-Gothic-Regular
        family: VL Gothic
        style: Normal
        stretch: Normal
        weight: 400
        glyphs: /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf
    $
    

    「Font: VL-Gothic-Regular」が日本語フォントを含むものであるため、これを使う形でSVGを記述する。

    <?xml version="1.0" encoding="utf-8"?>
    <svg version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     viewBox="0 0 200 100"
     >
     <g font-size="16" font-family="VL Gothic">
    <text x="0" y="16" style="width:200px;height:100px;font-size:16pt" >文字列78901234567890123456789012345678901234567890</text>
     </g>
    </svg>
    

    これで「magick test.svg test.png」とかやると生成される。上記の様にfont-familyをSVG内で指定していない場合は「magick -font VL-Gothic-Regular test.svg test.png 」という形で使用するフォントを指定する。

    ただ、コレは自動改行されない。

    調べたがSVGで簡単に文字列を自動改行させる方法は無い模様。

    「foreignObject」というのを使うとできる、という記述もあったのだが、ImageMagickでは使えないようで、下記のSVGを作ってみたが、真っ白な画像ができあがった。

    <?xml version="1.0" encoding="utf-8"?>
    <svg version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     width="210" height="110" >
    <foreignObject x="0" y="16" width="200" height="100">
     <html xmlns="http://www.w3.org/xhtml/1999">
      <div style="width:200px;height:100px;font-size:16pt" >文字列78901234567890123456789012345678901234567890</div>
     </html>
    </foreignObject>
    </svg>
    

    snibgo’s ImageMagick pages の「SVG text」にInkscape を使ってテキストを配置するアウトラインを作って、その範囲内に文字列を流し込む、ということができるらしい。

    調べていくと「TextPath」を使うとPathで指定した線に沿ってテキストを配置できるので、その線を罫線みたいに引くことで対処できるようだ。

    が・・・うちの環境のImageMagick v7では、テキスト文字列が出力されなかったので、調べたところ「RSVGが有効であること」が必要らしい。(参考:「convert SVG to PNG (textPath)」)

    このため「yum install librsvg2-devel」でパッケージ追加した後に、「./configure」を実行したが「RSVG –with-rsvg=no no」のまま。「./configure –with-rsvg=yes」にしたところ「RSVG –with-rsvg=yes yes」となった。

    しかし、それでもうまく描画はしてくれなかった・・・とりあえず現状はお手上げ状態。今後の記録のために実験したSVGの内容を下記に挙げておく。

    その1:ぐるぐる巻きに文字列

    <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
    
      <!-- to hide the path, it is usually wrap into a <defs> element -->
      <!-- <defs -->
      <path id="MyPath" fill="none" stroke="red"
              d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
      <!-- </defs> -->
    
      <text>
        <textPath href="#MyPath" style="font-size:16pt;color:black">
          The quick brown fox jumps over the lazy dog.
        </textPath>
      </text>
    
    </svg>
    

    その2:ノートみたいな罫線に文字

    <svg width="200" height="200"
        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <defs>
      <!-- define lines for text lies on -->
      <path id="path1" d="M10,30 H190 M10,60 H190 M10,90 H190 M10,120 H190"></path>
     </defs>
     <use xlink:href="#path1" x="0" y="35" stroke="blue" stroke-width="1" />
     <text transform="translate(0,35)" fill="red" font-size="20">
      <textPath xlink:href="#path1"  fill="red">This is a long long long text ......</textPath>
     </text>
    </svg>
    

    その3:1/4円上に文字

    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg width="1000px" height="707px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
            <path id="MyPath" d="M 599,455 A 244,244 0 0,1 723,578" />
    </defs>
    <use xlink:href="#MyPath" fill="none" stroke="red"  />
    <text font-family="VL Gothic" font-size="16" fill="black" >
    <textPath xlink:href="#MyPath">
     We go up, then we go down, then up again
    </textPath>
    </text>
    </svg>
    

    librsvg2-toolsを入れると「rsvg-convert」コマンドによってsvgからpngを生成できるというので試してみたが、結果は同じだった。フォントが足らないのかな?と「yum install ipa-gothic-fonts.noarch ipa-mincho-fonts.noarch ipa-pgothic-fonts.noarch ipa-pmincho-fonts.noarch」を実行してみて、IPAフォントを追加し「IPAGothic」などを指定してみても結果は変わらず。

    ImageMagickのgithub ISSUEに「Text by path not working #642」というのがあった。これは、librsvgのISSUE「[BZ#644624] no support for textPath element」→「[BZ#644624] no support for textPath element」(gitlab)ということで、librsvgがtextPathに対応していない、ということになる。

    Partial textPath support」という形でサポートするためのコードも送られているものの、現時点ではまだ取り込まれていないようだ。

    現時点でとれる対処方法はInkspaceを使ってSVG to PNGをやらせることぐらいらしい。


    2023/03/23追記

    Ubuntu 22.04環境でlibsvg2-2 2.52.5+dfsg-3 と、ImagemagickサイトからダウンロードしたImageMagick 7.1.1-4 Q16-HDRI を使って実験してみましたが、最初の改行されない日本語サンプルの↓以外は期待通りの動作はしていませんでした