2020-07-31

TeXstudio の設定

TeXstudio は Texmaker から派生して機能追加・改良した LaTeX 統合環境です。

Wikipedia より引用・編集

TeXstudio を使ってみたくて、本ブログの記事 [1] で試行錯誤してなんとか使えるようになったことを紹介しましたが、まず LaTeX が使える環境を用意してから、あらためて TeXstudio を導入しようと、本ブログの記事 [2] で、クリーン・インストールした Fedora 32 に pLaTeX が使える環境を整えた顛末を紹介しました。

今回は、前回 pLaTeX が使えることを確認した PC に TeXstudio をインストールおよび設定をした事例を紹介します。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora Workstation 32 x86_64

TeXstudio をインストール

端末エミュレータを開き、texstudio と入力して、インストールされていなければ下記のようにインストールされて起動します。

[bitwalk@texstudio ~]$ texstudio
bash: texstudio: コマンドが見つかりませんでした...
コマンド texstudio' を提供するためにパッケージ 'texstudio' をインストールしますか? [N/y] y


 * キューで待機中... 
 * パッケージの一覧をロード中。... 
以下のパッケージはインストールされるべきものです:
 poppler-qt5-0.84.0-2.fc32.x86_64 Qt5 wrapper for poppler
 qt5-qtscript-5.14.2-1.fc32.x86_64 Qt5 - QtScript component
...
(途中省略)
...
 texlive-zapfchan-9:svn31835.0-19.fc32.noarch URW "Base 35" font pack for LaTeX
 texstudio-2.12.22-2.fc32.x86_64 A feature-rich editor for LaTeX documents
変更したまま継続しますか? [N/y] y


 * キューで待機中... 
 * 認証を待ち受け中... 
 * キューで待機中... 
 * パッケージをダウンロード中... 
 * データを要求中... 
 * 変更をテスト中... 
 * パッケージのインストール中... 

最初の TeXstudio の起動

TeXstudio の設定

英文だけを扱うのであれば、デフォルトの設定のままで TeXstudio が使えそうですが、日本語を使うには、メニューから「オプション(O)」→「TeXstudioの設定(C)」を選び、下記に従ってコマンドなどの設定をします。

最初の起動後の TeXstudio の設定画面(コマンド)

しかし入力する項目が多く、面倒です。参考に自分の環境で動作確認後に保存したプロファイルを、下記からダウンロードできるようにしました。

texstudio_bitwalk_ja.txsprofile

メニューから「オプション(O)」→「プロファイルの読み込み(P)」を選んで、ダウンロードした texstudio_bitwalk_ja.txsprofile を読み込みます。

「オプション(O)」→「プロファイルの読み込み(P)」

動作確認

確認用に、下記のサイトからレポート作成のサンプルを引用させていただきました。

ex5.tex
\documentclass[dvipdfmx]{jsarticle}
\begin{document}

\title{情報科学レポート}
\author{奥村晴彦}
\maketitle

\section{はじめに}

この文書は,ごく基本的なレポートや論文の例を示すものです。
実際にこのソースを入力してタイプセット(コンパイル)し,
タイトル,著者名,本文,見出し,箇条書きがどのように表示されるかを
確認してみましょう。

\section{見出し}

この文書の先頭にはタイトル,著者名,日付が出力されています。
特定の日付を指定することもできます。

そして,セクションの見出しが出力されています。
セクションの番号は自動的に付きます。

\section{箇条書き}

以下は箇条書きの例です。これは番号を振らない箇条書きです。

\begin{itemize}
  \item ちゃお
  \item りぼん
  \item なかよし
\end{itemize}

これは番号を振る箇条書きです。

\begin{enumerate}
  \item 富士
  \item 鷹
  \item なすび
\end{enumerate}

\section{おわりに}

これは一段組の例ですが,二段組に変更することもできます。

解説文を読んで,このソースをいろいろと変更してみましょう。

\begin{thebibliography}{99}
 \item
 Leslie Lamport『文書処理システム \LaTeXe』
 (阿瀬はる美 訳,ピアソン・エデュケーション,1999年)
 \item
 奥村晴彦,黒木裕介『[改訂第7版]\LaTeXe 美文書作成入門』
 (技術評論社,2017年)
\end{thebibliography}

\end{document}

(ビルド&表示(B))をクリックして、下記の右側のビューアに表示されれば OK です。

ex5.tex をコンパイルして PDF ビューアに表示した例

参考サイト

  1. bitWalk's: TeXstudio がなんとか動いた! [2020-07-28]
  2. bitWalk's: [Fedora 32] LaTeX が使える環境を整える [2020-07-30]
  3. [改訂第7版]LaTeX2ε美文書作成入門:書籍案内|技術評論社

ブログランキング・にほんブログ村へ
にほんブログ村

2020-07-30

[Fedora 32] LaTeX が使える環境を整える

LaTeX /ˈlɑːtɛx/ あるいは /ˈleɪtɛx/ は、Leslie Lamport 氏によって開発されたテキストベースの組版処理システムです。電子組版ソフトウェア TeX にマクロパッケージを組み込むことによって構築されており、単体の TeX に比べて、より手軽に組版を行うことができます。

なお、LaTeX を基にアスキーが日本語処理に対応させたものとして「日本語 LaTeX」が、さらに縦組み処理にも対応させたものとして pLaTeX があります。

Wikipedia より引用・編集

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora Workstation 32 x86_64

TeXstudio を使ってみたくて、本ブログの記事 [1] で試行錯誤した結果を紹介しましたが、そもそも、pLaTeX が使える環境を用意してから導入するのが筋です。しかし、興味に任せて試行錯誤を繰り返してしまったので、動作環境を準備するための情報を整理できませんでした。

そこで、テスト用の PC にあらたに Fedora 32 をクリーン・インストールして、変に余計なパッケージがインストールされていない状態から、pLaTeX が使える環境を整えました。備忘録的な情報であるため、少し冗長に実行結果を残しています。

LaTeX が使える環境を整える

まず、LaTeX の環境を整えます。下記のサイトを参考にさせていただきました。

上記サイトで紹介されている方法に従い、ここでは日本語関連のパッケージのみをインストールします。

[bitwalk@texstudio ~]$ sudo dnf install texlive-collection-langjapanese texlive-xetex
[sudo] bitwalk のパスワード:
メタデータの期限切れの最終確認: 1:25:41 時間前の 2020年07月29日 18時40分24秒 に実施しました。
依存関係が解決しました。
================================================================================
 Package                        Arch   Version                    Repo     Size
================================================================================
インストール:
 texlive-collection-langjapanese
                                noarch 9:svn49995-19.fc32         fedora   15 k
 texlive-xetex                  x86_64 7:20190410-12.fc32         fedora  1.2 M
依存関係のインストール:
 libXaw                         x86_64 1.0.13-14.fc32             fedora  201 k
 perl-Filter                    x86_64 2:1.59-443.fc32            fedora   82 k
 perl-Text-Unidecode            noarch 1.30-11.fc32               fedora  141 k
 perl-Tk                        x86_64 804.035-1.fc32             updates 2.1 M
 perl-XML-Parser                x86_64 2.46-2.fc32                fedora  233 k
 perl-XML-XPath                 noarch 1.44-5.fc32                fedora   81 k
 perl-encoding                  x86_64 4:3.00-445.fc32            updates  62 k
 perl-open                      noarch 1.11-455.fc32              updates  25 k
 ruby                           x86_64 2.7.1-132.fc32             updates  41 k
 ruby-libs                      x86_64 2.7.1-132.fc32             updates 3.2 M
 rubygem-irb                    noarch 1.2.3-132.fc32             updates  65 k
 rubygem-json                   x86_64 2.3.0-201.fc32             fedora   60 k
 rubygem-psych                  x86_64 3.1.0-132.fc32             updates  50 k
 rubypick                       noarch 1.1.1-12.fc32              fedora  9.8 k
 teckit                         x86_64 2.5.9-3.fc32               fedora  465 k
 texlive-adobemapping           noarch 9:svn51787-19.fc32         fedora  3.0 M
 texlive-algorithms             noarch 9:svn42428-19.fc32         fedora   26 k
 texlive-amsfonts               noarch 9:svn29208.3.04-19.fc32    fedora  3.6 M
 texlive-amsmath                noarch 9:svn49390-19.fc32         fedora   48 k
 texlive-arphic                 noarch 9:svn15878.0-19.fc32       fedora   26 M
 texlive-arphic-ttf             noarch 9:svn42675-19.fc32         fedora   13 M
 texlive-ascmac                 noarch 9:svn46904-19.fc32         fedora  183 k
 texlive-attachfile             noarch 9:svn42099-19.fc32         fedora   25 k
 texlive-auto-pst-pdf           noarch 9:svn23723.0.6-19.fc32     fedora   20 k
 texlive-babel                  noarch 9:svn51681-19.fc32         fedora  289 k
 texlive-babel-japanese         noarch 9:svn50735-19.fc32         fedora  202 k
 texlive-babelbib               noarch 9:svn50354-19.fc32         fedora   48 k
 texlive-baekmuk                noarch 9:svn42106-19.fc32         fedora  8.9 M
 texlive-base                   x86_64 7:20190410-12.fc32         fedora  2.1 M
 texlive-bera                   noarch 9:svn20031.0-19.fc32       fedora  344 k
 texlive-bibtex                 x86_64 7:20190410-12.fc32         fedora  455 k
 texlive-booktabs               noarch 9:svn40846-19.fc32         fedora   21 k
 texlive-breakurl               noarch 9:svn29901.1.40-19.fc32    fedora   20 k
 texlive-bxbase                 noarch 9:svn44481-19.fc32         fedora   38 k
 texlive-bxcjkjatype            noarch 9:svn42292-19.fc32         fedora   23 k
 texlive-bxjaholiday            noarch 9:svn49924-19.fc32         fedora  108 k
 texlive-bxjalipsum             noarch 9:svn43369-19.fc32         fedora   45 k
 texlive-bxjaprnind             noarch 9:svn45291-19.fc32         fedora  397 k
 texlive-bxjscls                noarch 9:svn51758-19.fc32         fedora   48 k
 texlive-bxorigcapt             noarch 9:svn44195-19.fc32         fedora   18 k
 texlive-bxwareki               noarch 9:svn51286-19.fc32         fedora  200 k
 texlive-c90                    noarch 9:svn45666-19.fc32         fedora   16 k
 texlive-caption                noarch 9:svn47968-19.fc32         fedora   54 k
 texlive-carlisle               noarch 9:svn47876-19.fc32         fedora   29 k
 texlive-chngcntr               noarch 9:svn47577-19.fc32         fedora   19 k
 texlive-cjk                    noarch 9:svn36951.4.8.4-19.fc32   fedora  112 k
 texlive-cjkpunct               noarch 9:svn41119-19.fc32         fedora   21 k
 texlive-cjkutils               x86_64 7:20190410-12.fc32         fedora   70 k
 texlive-cm                     noarch 9:svn49028-19.fc32         fedora  293 k
 texlive-cns                    noarch 9:svn45677-19.fc32         fedora  3.4 M
 texlive-collection-basic       noarch 9:svn51558-19.fc32         fedora   15 k
 texlive-collection-langcjk     noarch 9:svn45194-19.fc32         fedora   14 k
 texlive-colorprofiles          noarch 9:svn49086-19.fc32         fedora  152 k
 texlive-colortbl               noarch 9:svn49404-19.fc32         fedora   20 k
 texlive-convbkmk               noarch 7:20190410-12.fc32         fedora   22 k
 texlive-csquotes               noarch 9:svn51091-19.fc32         fedora   38 k
 texlive-currfile               noarch 9:svn40725-19.fc32         fedora   24 k
 texlive-dnp                    noarch 9:svn45701-19.fc32         fedora   15 k
 texlive-dvipdfmx               x86_64 7:20190410-12.fc32         fedora  3.0 M
 texlive-dvips                  x86_64 7:20190410-12.fc32         fedora  700 k
 texlive-enctex                 noarch 9:svn34957.0-19.fc32       fedora   50 k
 texlive-endnotesj              noarch 9:svn47703-19.fc32         fedora  169 k
 texlive-enumitem               noarch 9:svn51423-19.fc32         fedora   31 k
 texlive-environ                noarch 9:svn33821.0.3-19.fc32     fedora   19 k
 texlive-eso-pic                noarch 9:svn47694-19.fc32         fedora   22 k
 texlive-etex                   noarch 9:svn37057.0-19.fc32       fedora   32 k
 texlive-etex-pkg               noarch 9:svn41784-19.fc32         fedora   20 k
 texlive-etoolbox               noarch 9:svn46602-19.fc32         fedora   29 k
 texlive-everyhook              noarch 9:svn35675.1.2-19.fc32     fedora   22 k
 texlive-fancyvrb               noarch 9:svn49717-19.fc32         fedora   30 k
 texlive-filecontents           noarch 9:svn47890-19.fc32         fedora   19 k
 texlive-filehook               noarch 9:svn24280.0.5d-19.fc32    fedora   25 k
 texlive-fixjfm                 noarch 9:svn47113-19.fc32         fedora  294 k
 texlive-float                  noarch 9:svn15878.1.3d-19.fc32    fedora   20 k
 texlive-fonts-tlwg             noarch 9:svn49085-19.fc32         fedora  4.9 M
 texlive-fontspec               noarch 9:svn50387-19.fc32         fedora   48 k
 texlive-footmisc               noarch 9:svn23330.5.5b-19.fc32    fedora   26 k
 texlive-fp                     noarch 9:svn49719-19.fc32         fedora   39 k
 texlive-garuda-c90             noarch 9:svn37677.0-19.fc32       fedora   19 k
 texlive-gentombow              noarch 9:svn51697-19.fc32         fedora  561 k
 texlive-geometry               noarch 9:svn47638-19.fc32         fedora   26 k
 texlive-glyphlist              noarch 7:20190410-12.fc32         fedora   42 k
 texlive-graphics               noarch 9:svn51733-19.fc32         fedora   38 k
 texlive-graphics-cfg           noarch 9:svn40269-19.fc32         fedora   16 k
 texlive-graphics-def           noarch 9:svn46267-19.fc32         fedora   30 k
 texlive-gsftopk                x86_64 7:20190410-12.fc32         fedora   39 k
 texlive-hyperref               noarch 9:svn51742-19.fc32         fedora  134 k
 texlive-hyph-utf8              noarch 9:svn51186-19.fc32         fedora   33 k
 texlive-hyphen-base            noarch 9:svn51200-19.fc32         fedora   37 k
 texlive-hyphenex               noarch 9:svn37354.0-19.fc32       fedora   21 k
 texlive-ifetex                 noarch 9:svn47231-19.fc32         fedora   22 k
 texlive-ifluatex               noarch 9:svn51770-19.fc32         fedora   22 k
 texlive-ifplatform             noarch 9:svn45533-19.fc32         fedora   19 k
 texlive-ifptex                 noarch 9:svn45485-19.fc32         fedora   21 k
 texlive-iftex                  noarch 9:svn29654.0.2-19.fc32     fedora   21 k
 texlive-ifxetex                noarch 9:svn19685.0.5-19.fc32     fedora   18 k
 texlive-ifxptex                noarch 9:svn46153-19.fc32         fedora  209 k
 texlive-index                  noarch 9:svn24099.4.1beta-19.fc32 fedora   26 k
 texlive-ipaex                  noarch 9:svn45751-19.fc32         fedora   16 M
 texlive-japanese-otf           noarch 9:svn50769-19.fc32         fedora  735 k
 texlive-japanese-otf-uptex     noarch 9:svn50707-19.fc32         fedora  332 k
 texlive-jfmutil                noarch 7:20190410-12.fc32         fedora   50 k
 texlive-jlreq                  noarch 9:svn51036-19.fc32         fedora  320 k
 texlive-jsclasses              noarch 9:svn51726-19.fc32         fedora   38 k
 texlive-kastrup                noarch 9:svn15878.0-19.fc32       fedora   16 k
 texlive-knuth-lib              noarch 9:svn35820.0-19.fc32       fedora   50 k
 texlive-knuth-local            noarch 9:svn38627-19.fc32         fedora   42 k
 texlive-koma-script            noarch 9:svn49929-19.fc32         fedora  6.7 M
 texlive-kpathsea               x86_64 7:20190410-12.fc32         fedora  1.0 M
 texlive-l3backend              noarch 9:svn52343-19.fc32         fedora  737 k
 texlive-l3kernel               noarch 9:svn51745-19.fc32         fedora  170 k
 texlive-l3packages             noarch 9:svn51546-19.fc32         fedora   41 k
 texlive-latex                  noarch 7:20190410-12.fc32         fedora   13 M
 texlive-latex-fonts            noarch 9:svn28888.0-19.fc32       fedora   44 k
 texlive-latexconfig            noarch 9:svn45777-19.fc32         fedora   20 k
 texlive-listings               noarch 9:svn50175-19.fc32         fedora  170 k
 texlive-lm                     noarch 9:svn48145-19.fc32         fedora   12 M
 texlive-lshort-japanese-doc    noarch 9:svn36207.0-19.fc32       fedora  519 k
 texlive-lua-alt-getopt         noarch 9:svn29349.0.7.0-19.fc32   fedora   16 k
 texlive-lualatex-math          noarch 9:svn49904-19.fc32         fedora   23 k
 texlive-lualibs                noarch 9:svn51642-19.fc32         fedora  143 k
 texlive-luaotfload             noarch 7:20190410-12.fc32         fedora  997 k
 texlive-luatex                 x86_64 7:20190410-12.fc32         fedora  4.1 M
 texlive-luatexbase             noarch 9:svn38550-19.fc32         fedora   19 k
 texlive-luatexja               noarch 9:svn51584-19.fc32         fedora  247 k
 texlive-makeindex              x86_64 7:20190410-12.fc32         fedora  436 k
 texlive-marginnote             noarch 9:svn48383-19.fc32         fedora   20 k
 texlive-marvosym               noarch 9:svn29349.2.2a-19.fc32    fedora  152 k
 texlive-memoir                 noarch 9:svn49394-19.fc32         fedora   97 k
 texlive-mendex-doc             noarch 9:svn50268-19.fc32         fedora  194 k
 texlive-metafont               x86_64 7:20190410-12.fc32         fedora  307 k
 texlive-mflogo                 noarch 9:svn42428-19.fc32         fedora   20 k
 texlive-mfware                 x86_64 7:20190410-12.fc32         fedora  110 k
 texlive-morisawa               noarch 9:svn46946-19.fc32         fedora  127 k
 texlive-mparhack               noarch 9:svn15878.1.4-19.fc32     fedora   21 k
 texlive-ms                     noarch 9:svn51784-19.fc32         fedora   23 k
 texlive-multido                noarch 9:svn18302.1.42-19.fc32    fedora   21 k
 texlive-norasi-c90             noarch 9:svn37675.0-19.fc32       fedora   25 k
 texlive-oberdiek               noarch 7:20190410-12.fc32         fedora   14 M
 texlive-obsolete               noarch 9:2019-19.fc32             fedora   15 k
 texlive-paralist               noarch 9:svn43021-19.fc32         fedora   21 k
 texlive-parallel               noarch 9:svn15878.0-19.fc32       fedora   21 k
 texlive-pbibtex-base           noarch 9:svn40986-19.fc32         fedora   31 k
 texlive-pdftex                 x86_64 7:20190410-12.fc32         fedora  1.9 M
 texlive-pgf                    noarch 9:svn51817-19.fc32         fedora  804 k
 texlive-plain                  noarch 9:svn43076-19.fc32         fedora  119 k
 texlive-platex                 noarch 9:svn51751-19.fc32         fedora  148 k
 texlive-platex-tools           noarch 9:svn49250-19.fc32         fedora  511 k
 texlive-platexcheat-doc        noarch 9:svn49557-19.fc32         fedora  533 k
 texlive-plautopatch            noarch 9:svn51331-19.fc32         fedora  153 k
 texlive-psnfss                 noarch 9:svn33946.9.2a-19.fc32    fedora   45 k
 texlive-pst-3d                 noarch 9:svn17257.1.10-19.fc32    fedora   21 k
 texlive-pst-coil               noarch 9:svn37377.1.07-19.fc32    fedora   22 k
 texlive-pst-eps                noarch 9:svn15878.1.0-19.fc32     fedora   20 k
 texlive-pst-fill               noarch 9:svn15878.1.01-19.fc32    fedora   21 k
 texlive-pst-grad               noarch 9:svn15878.1.06-19.fc32    fedora   22 k
 texlive-pst-math               noarch 9:svn49425-19.fc32         fedora   23 k
 texlive-pst-node               noarch 9:svn50215-19.fc32         fedora   44 k
 texlive-pst-ovl                noarch 9:svn45506-19.fc32         fedora   20 k
 texlive-pst-pdf                noarch 7:20190410-12.fc32         fedora  956 k
 texlive-pst-plot               noarch 9:svn51650-19.fc32         fedora   40 k
 texlive-pst-text               noarch 9:svn49542-19.fc32         fedora   22 k
 texlive-pst-tools              noarch 9:svn45978-19.fc32         fedora   23 k
 texlive-pst-tree               noarch 9:svn43272-19.fc32         fedora   24 k
 texlive-pstricks               noarch 9:svn51102-19.fc32         fedora  103 k
 texlive-pstricks-add           noarch 9:svn49680-19.fc32         fedora   39 k
 texlive-ptex                   x86_64 7:20190410-12.fc32         fedora  920 k
 texlive-ptex-base              noarch 9:svn50731-19.fc32         fedora   26 k
 texlive-ptex-fontmaps          noarch 7:20190410-12.fc32         fedora   96 k
 texlive-ptex-fonts             noarch 9:svn46940-19.fc32         fedora   61 k
 texlive-ptex-manual            noarch 9:svn50733-19.fc32         fedora  2.3 M
 texlive-ptex2pdf               noarch 7:20190410-12.fc32         fedora   30 k
 texlive-pxbase                 noarch 9:svn44756-19.fc32         fedora   27 k
 texlive-pxchfon                noarch 9:svn46971-19.fc32         fedora   46 k
 texlive-pxcjkcat               noarch 9:svn47266-19.fc32         fedora   22 k
 texlive-pxjahyper              noarch 9:svn51421-19.fc32         fedora   22 k
 texlive-pxjodel                noarch 9:svn51379-19.fc32         fedora  144 k
 texlive-pxrubrica              noarch 9:svn45854-19.fc32         fedora   27 k
 texlive-pxtatescale            noarch 9:svn43009-19.fc32         fedora   16 k
 texlive-pxufont                noarch 9:svn50355-19.fc32         fedora  365 k
 texlive-qstest                 noarch 9:svn15878.0-19.fc32       fedora   22 k
 texlive-sauerj                 noarch 9:svn15878.0-19.fc32       fedora   23 k
 texlive-setspace               noarch 9:svn24881.6.7a-19.fc32    fedora   21 k
 texlive-showexpl               noarch 9:svn42677-19.fc32         fedora   21 k
 texlive-soul                   noarch 9:svn15878.2.4-19.fc32     fedora   23 k
 texlive-sttools                noarch 9:svn43684-19.fc32         fedora   34 k
 texlive-subfig                 noarch 9:svn15878.1.3-19.fc32     fedora   25 k
 texlive-svn-prov               noarch 9:svn18017.3.1862-19.fc32  fedora   20 k
 texlive-tetex                  noarch 7:20190410-12.fc32         fedora  393 k
 texlive-tex                    x86_64 7:20190410-12.fc32         fedora  220 k
 texlive-tex-ini-files          noarch 9:svn40533-19.fc32         fedora   19 k
 texlive-texconfig              noarch 7:20190410-12.fc32         fedora   33 k
 texlive-texlive-common-doc     noarch 9:svn50466-19.fc32         fedora  109 k
 texlive-texlive-docindex       noarch 9:svn51813-19.fc32         fedora  124 k
 texlive-texlive-en             noarch 7:20190410-12.fc32         fedora  1.8 M
 texlive-texlive-msg-translations
                                noarch 9:svn51750-19.fc32         fedora  154 k
 texlive-texlive-scripts        noarch 7:20190410-12.fc32         fedora   35 k
 texlive-texlive.infra          noarch 7:20190410-12.fc32         fedora  270 k
 texlive-thumbpdf               noarch 7:20190410-12.fc32         fedora   45 k
 texlive-tipa                   noarch 9:svn29349.1.3-19.fc32     fedora  2.8 M
 texlive-tools                  noarch 9:svn49619-19.fc32         fedora   65 k
 texlive-trimspaces             noarch 9:svn15878.1.1-19.fc32     fedora   18 k
 texlive-type1cm                noarch 9:svn21820.0-19.fc32       fedora   20 k
 texlive-ucharcat               noarch 9:svn38907-19.fc32         fedora   18 k
 texlive-uhc                    noarch 9:svn16791.0-19.fc32       fedora  3.9 M
 texlive-ulem                   noarch 9:svn26785.0-19.fc32       fedora   23 k
 texlive-underscore             noarch 9:svn18261.0-19.fc32       fedora   22 k
 texlive-unicode-data           noarch 9:svn50303-19.fc32         fedora  294 k
 texlive-unicode-math           noarch 9:svn50245-19.fc32         fedora   67 k
 texlive-updmap-map             noarch 9:svn52454-19.fc32         fedora  329 k
 texlive-uplatex                noarch 9:svn51751-19.fc32         fedora   34 k
 texlive-uptex                  x86_64 7:20190410-12.fc32         fedora  1.8 M
 texlive-uptex-base             noarch 9:svn51103-19.fc32         fedora   26 k
 texlive-uptex-fonts            noarch 9:svn49985-19.fc32         fedora  461 k
 texlive-url                    noarch 9:svn32528.3.4-19.fc32     fedora   23 k
 texlive-varwidth               noarch 9:svn24104.0.92-19.fc32    fedora   21 k
 texlive-wadalab                noarch 9:svn42428-19.fc32         fedora   17 M
 texlive-xcjk2uni               noarch 9:svn50848-19.fc32         fedora  334 k
 texlive-xcolor                 noarch 9:svn41044-19.fc32         fedora   35 k
 texlive-xdvi                   x86_64 7:20190410-12.fc32         fedora  367 k
 texlive-xecjk                  noarch 9:svn51298-19.fc32         fedora  162 k
 texlive-xetexconfig            noarch 9:svn45845-19.fc32         fedora   14 k
 texlive-xkeyval                noarch 9:svn35741.2.7a-19.fc32    fedora   36 k
 texlive-xunicode               noarch 9:svn30466.0.981-19.fc32   fedora   48 k
 texlive-zapfding               noarch 9:svn31835.0-19.fc32       fedora   68 k
 texlive-zxjafbfont             noarch 9:svn28539.0.2-19.fc32     fedora   16 k
 texlive-zxjafont               noarch 9:svn51531-19.fc32         fedora   18 k
 texlive-zxjatype               noarch 9:svn47597-19.fc32         fedora   23 k
 zziplib                        x86_64 0.13.69-7.fc32             fedora   86 k
弱い依存関係のインストール:
 ruby-default-gems              noarch 2.7.1-132.fc32             updates  26 k
 rubygem-bigdecimal             x86_64 2.0.0-132.fc32             updates  54 k
 rubygem-bundler                noarch 2.1.4-132.fc32             updates 316 k
 rubygem-io-console             x86_64 0.5.6-132.fc32             updates  25 k
 rubygem-openssl                x86_64 2.1.2-132.fc32             updates 159 k
 rubygem-rdoc                   noarch 6.2.1-132.fc32             updates 404 k
 rubygems                       noarch 3.1.2-132.fc32             updates 238 k

トランザクションの概要
================================================================================
インストール  238 パッケージ

ダウンロードサイズの合計: 197 M
インストール済みのサイズ: 771 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/238): perl-open-1.11-455.fc32.noarch.rpm     237 kB/s |  25 kB     00:00
...
(省略)
...
(238/238): texlive-wadalab-svn42428-19.fc32.noa 5.9 MB/s |  17 MB     00:02
--------------------------------------------------------------------------------
合計                                            7.6 MB/s | 197 MB     00:25
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  scriptletの実行中: texlive-base-7:20190410-12.fc32.x86_64                 1/1
  準備             :                                                        1/1
  scriptletの実行中: texlive-base-7:20190410-12.fc32.x86_64               1/238
  インストール中   : texlive-base-7:20190410-12.fc32.x86_64               1/238
...
(省略)
...
  インストール中   : texlive-collection-langjapanese-9:svn49995-19.fc   238/238
  scriptletの実行中: texlive-base-7:20190410-12.fc32.x86_64             238/238
  scriptletの実行中: texlive-collection-langjapanese-9:svn49995-19.fc   238/238
  検証             : perl-Tk-804.035-1.fc32.x86_64                        1/238
...
(省略)
...
  検証             : zziplib-0.13.69-7.fc32.x86_64                      238/238

インストール済み:
  libXaw-1.0.13-14.fc32.x86_64
...
(省略)
...
  zziplib-0.13.69-7.fc32.x86_64

完了しました!
[bitwalk@texstudio ~]$

TeX Live は TeX ディストリビューションの一つです。サポートを終了した teTeX というディストリビューションの代替とされ、主要な Linux ディストリビューションでは、デフォルトの TeX ディストリビューションになっています。

はじめての LaTeX

はじめての LaTeX のサンプルは、下記から引用させていただきました。

ファイル名 ex1.tex を編集するために vi などのテキストエディタを起動して、上記サイトから、最初のサンプルをコピペします。サンプルは下記にも引用しました。

ex1.tex
\documentclass[dvipdfmx]{jsarticle}
\begin{document}

吾輩は猫である。名前はまだ無い。

どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所で
ニャーニャー泣いていた事だけは記憶している。
吾輩はここで始めて人間というものを見た。

\end{document}

TeX → DVI へコンパイル (platex)

platex コマンドで、ex1.tex ファイルを下記のようにコンパイルします。拡張子 .tex は不要です。

[bitwalk@texstudio latex_sample]$ platex ex1
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex)
 restricted \write18 enabled.

kpathsea: Running mktexfmt platex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt:   /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /home/bitwalk/.texlive2019/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/bitwalk/.texlive2019/texmf-var/web2c
mktexfmt [INFO]: --- remaking platex with eptex
mktexfmt: running `eptex -ini   -jobname=platex -progname=platex *platex.ini' ...
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (INITEX)
 restricted \write18 enabled.
entering extended mode
(/usr/share/texlive/texmf-dist/tex/platex/config/platex.ini
<<< making "platex with Babel" format >>>

(/usr/share/texlive/texmf-dist/tex/platex/base/platex.ltx
(/usr/share/texlive/texmf-dist/tex/latex/base/latex.ltx
(/usr/share/texlive/texmf-dist/tex/latex/base/texsys.cfg)
./texsys.aux found


\@currdir set to: ./.


Assuming \openin and \input
have the same search path.


Defining UNIX/DOS style filename parser.

catcodes, registers, parameters,
LaTeX2e <2018-12-01>
hacks, control, par, spacing, files, font encodings, lengths,
====================================

Local config file fonttext.cfg used

====================================
(/usr/share/texlive/texmf-dist/tex/latex/base/fonttext.cfg
(/usr/share/texlive/texmf-dist/tex/latex/base/fonttext.ltx
=== Don't modify this file, use a .cfg file instead ===

(/usr/share/texlive/texmf-dist/tex/latex/base/omlenc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmss.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmtt.fd)))
====================================

Local config file fontmath.cfg used

====================================
(/usr/share/texlive/texmf-dist/tex/latex/base/fontmath.cfg
(/usr/share/texlive/texmf-dist/tex/latex/base/fontmath.ltx
=== Don't modify this file, use a .cfg file instead ===

(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmm.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmsy.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/omxcmex.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ucmr.fd)))
====================================

Local config file preload.cfg used

=====================================
(/usr/share/texlive/texmf-dist/tex/latex/base/preload.cfg
(/usr/share/texlive/texmf-dist/tex/latex/base/preload.ltx)) page nos., x-ref,
environments, center, verbatim, math definitions, boxes, title, sectioning,
contents, floats, footnotes, index, bibliography, output,
===========================================
Local configuration file hyphen.cfg used
===========================================
(/usr/share/texlive/texmf-dist/tex/generic/babel/hyphen.cfg
(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/hyphen.tex)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/dumyhyph.tex)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/zerohyph.tex))
(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu))
)
**************************
*
* making pLaTeX format
*
**************************
(/usr/share/texlive/texmf-dist/tex/platex/base/plcore.ltx)
(/usr/share/texlive/texmf-dist/tex/platex/base/pldefs.ltx
(/usr/share/texlive/texmf-dist/tex/platex/base/jy1mc.fd)
(/usr/share/texlive/texmf-dist/tex/platex/base/jy1gt.fd)
(/usr/share/texlive/texmf-dist/tex/platex/base/jt1mc.fd)
(/usr/share/texlive/texmf-dist/tex/platex/base/jt1gt.fd)
Loading kinsoku patterns for japanese.
(/usr/share/texlive/texmf-dist/tex/platex/base/kinsoku.tex)) ) )
Beginning to dump on file platex.fmt
 (preloaded format=platex 2020.7.29)
5307 strings of total length 69689
56457 memory locations dumped; current usage is 228&55872
3971 multiletter control sequences
\font\nullfont=nullfont
\font\OMX/cmex/m/n/10=cmex10
\font\tenln=line10
\font\tenlnw=linew10
\font\tencirc=lcircle10
\font\tencircw=lcirclew10
\font\OT1/cmr/m/n/5=cmr5
\font\OT1/cmr/m/n/7=cmr7
\font\OT1/cmr/m/n/10=cmr10
\font\OML/cmm/m/it/5=cmmi5
\font\OML/cmm/m/it/7=cmmi7
\font\OML/cmm/m/it/10=cmmi10
\font\OMS/cmsy/m/n/5=cmsy5
\font\OMS/cmsy/m/n/7=cmsy7
\font\OMS/cmsy/m/n/10=cmsy10
\font\JY1/mc/m/n/10=min10
\font\@bannerfont=cmtt9
\font\JT1/mc/m/n/10=tmin10
\font\JY1/mc/m/n/5=min5
\font\JY1/mc/m/n/7=min7
\font\JY1/mc/m/n/12=min10 at 12.0pt
\font\JY1/gt/m/n/5=goth5
\font\JY1/gt/m/n/7=goth7
\font\JY1/gt/m/n/10=goth10
\font\JY1/gt/m/n/12=goth10 at 12.0pt
\font\JT1/mc/m/n/5=tmin5
\font\JT1/mc/m/n/7=tmin7
\font\JT1/mc/m/n/12=tmin10 at 12.0pt
\font\JT1/gt/m/n/5=tgoth5
\font\JT1/gt/m/n/7=tgoth7
\font\JT1/gt/m/n/10=tgoth10
\font\JT1/gt/m/n/12=tgoth10 at 12.0pt
7504 words of font info for 31 preloaded fonts
14 hyphenation exceptions
Hyphenation trie of length 6081 has 183 ops out of 35111
  2 for language 1
  181 for language 0
No pages of output.
Transcript written on platex.log.
mktexfmt [INFO]: /home/bitwalk/.texlive2019/texmf-var/web2c/eptex/platex.fmt installed.
mktexfmt [INFO]: Successfully rebuilt formats: 1
mktexfmt [INFO]: Not selected formats: 20
mktexfmt [INFO]: Total formats: 21
mktexfmt [INFO]: exiting with status 0
entering extended mode
(./ex1.tex
pLaTeX2e <2019-04-06> (based on LaTeX2e <2018-12-01>)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2019/07/25 jsclasses (okumura, texjporg)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty))

LaTeX Warning: Unused global option(s):
    [dvipdfmx].

No file ex1.aux.
[1] (./ex1.aux) )
Output written on ex1.dvi (1 page, 548 bytes).
Transcript written on ex1.log.
[bitwalk@texstudio latex_sample]$ ls
ex1.aux  ex1.dvi  ex1.log  ex1.tex
[bitwalk@texstudio latex_sample]$

ex1.tex をコンパイルして生成されたファイルは以下の3種類です。

  • 組版結果のファイル ex1.dvi
  • 処理の様子を書き込んだログファイル ex1.log
  • 補助ファイル ex1.aux

DVI → PDF へ変換 (dvipdfmx)

dvipdfmx コマンドで DVI ファイルを PDF ファイルに変換します。

[bitwalk@texstudio latex_sample]$ dvipdfmx ex1
ex1 -< ex1.pdf
[1]
17957 bytes written
[bitwalk@texstudio latex_sample]$

GNOME ファイル (nautilus) 上で、生成された ex1.pdf をダブルクリックすると、ドキュメントビューアー evince が起動されて ex1.pdf を表示します。

evince で ex1.pdf を表示した例‘

TeX → DVI → PDF へ一括変換 (ptex2pdf)

ptex2pdf コマンドを使うと、上記 TeX → DVI → PDF のコンパイル、ファイル変換が一発でできます。

[bitwalk@texstudio latex_sample]$ ptex2pdf -l ex1
This is ptex2pdf[.lua] version 20181212.0.
Processing ex1
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex)
 restricted \write18 enabled.
entering extended mode
(./ex1.tex
pLaTeX2e <2019-04-06> (based on LaTeX2e <2018-12-01>)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2019/07/25 jsclasses (okumura, texjporg)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty))

LaTeX Warning: Unused global option(s):
    [dvipdfmx].

(./ex1.aux) [1] (./ex1.aux) )
Output written on ex1.dvi (1 page, 548 bytes).
Transcript written on ex1.log.
ex1.dvi -< ex1.pdf
[1]
17956 bytes written
ex1.pdf generated by dvipdfmx.
[bitwalk@texstudio latex_sample]$

数式を含むサンプル

TeX で記述する数式はとても綺麗に出力できます。下記のサイトのサンプルを試します。

ex2.tex
\documentclass[dvipdfmx]{jsarticle}
\begin{document}

日本で漱石が「吾輩は猫である」を発表したころ,
ドイツではAlbert Einsteinが特殊相対論を発表した。

この理論によれば,エネルギー$E$と質量$m$は
\begin{equation}
  E = mc^{2}
\end{equation}
で関係づけられる。
ここに$c$は光速で,
\begin{equation}
  c = 299{,}792{,}458 \, \mathrm{m/s}
\end{equation}
である。

\end{document}\documentclass[dvipdfmx]{jsarticle}
\begin{document}

日本で漱石が「吾輩は猫である」を発表したころ,
ドイツではAlbert Einsteinが特殊相対論を発表した。

この理論によれば,エネルギー$E$と質量$m$は
\begin{equation}
  E = mc^{2}
\end{equation}
で関係づけられる。
ここに$c$は光速で,
\begin{equation}
  c = 299{,}792{,}458 \, \mathrm{m/s}
\end{equation}
である。

\end{document}

ptex2pdf コマンドで ex2.tex をコンパイル、PDF ファイルへの変換をします。

[bitwalk@texstudio latex_sample]$ ptex2pdf -l ex2
This is ptex2pdf[.lua] version 20181212.0.
Processing ex2
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex)
 restricted \write18 enabled.
entering extended mode
(./ex2.tex
pLaTeX2e <2019-04-06> (based on LaTeX2e <2018-12-01>)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2019/07/25 jsclasses (okumura, texjporg)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty))

LaTeX Warning: Unused global option(s):
    [dvipdfmx].

No file ex2.aux.
[1] (./ex2.aux) )
Output written on ex2.dvi (1 page, 784 bytes).
Transcript written on ex2.log.
ex2.dvi -< ex2.pdf
[1]
23611 bytes written
ex2.pdf generated by dvipdfmx.
[bitwalk@texstudio latex_sample]$ 
evince で ex2.pdf を表示した例‘

数式のサンプルをもうひとつ、下記のサイトのサンプルを試しました。

ex3.tex
\documentclass[dvipdfmx]{jsarticle}
\begin{document}

\[
  \frac{\pi}{2} =
  \left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 =
  \sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} =
  \prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1}
\]

\end{document}

先と同様に ptex2pdf コマンドで ex3.tex をコンパイル、PDF ファイルへの変換をします。

[bitwalk@texstudio latex_sample]$ ptex2pdf -l ex3
This is ptex2pdf[.lua] version 20181212.0.
Processing ex3
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex)
 restricted \write18 enabled.
entering extended mode
(./ex3.tex
pLaTeX2e <2019-04-06> (based on LaTeX2e <2018-12-01>)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2019/07/25 jsclasses (okumura, texjporg)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty))

LaTeX Warning: Unused global option(s):
    [dvipdfmx].

No file ex3.aux.
[1] (./ex3.aux) )
Output written on ex3.dvi (1 page, 1016 bytes).
Transcript written on ex3.log.
ex3.dvi -> ex3.pdf
[1]
10302 bytes written
ex3.pdf generated by dvipdfmx.
[bitwalk@texstudio latex_sample]$ 
evince で ex3.pdf を表示した例‘

まとめ

MS Word は、いわゆる WYSIWYG で文書作成ができますが、画面に表現できること以上の印刷出力はできないので、画面上で表現できなければそれまでです。特に数式を綺麗に、思いのままに配置するのにはいつも苦労します。一方、LaTeX による文書作成は、まるでプログラムをコーディングする作業で、ワープロ感覚ではありませんが、それでも出力の「美しさ」は侮れません。

LaTeX のインストールと最低限の動作確認ができたので、次は TeXstudio の使い心地を紹介したいと思います。。

参考サイト

  1. bitWalk's: TeXstudio がなんとか動いた! [2020-07-28]
  2. TeX Wiki

ブログランキング・にほんブログ村へ
にほんブログ村

2020-07-28

TeXstudio がなんとか動いた!

TeXstudio は Texmaker から派生して機能追加・改良した LaTeX 統合環境です。

Wikipedia より引用・編集

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora Workstation 32 x86_64

TeXstudio をインストール

Fedora Magazine で面白そうな記事がないか物色していたところ、LaTeX による組版に関する記事が連載されていて、記事をたどると、少し古い記事ですが下記のサイトにたどり着きました。

なるほど、端末エミュレータ上で texstudio と入力すると、インストールされていないためインストールするかを聞いてくるので、 y と入力すると依存しているパッケージも一緒にインストールが始まります。

TeXstudio のインストール

上記サイトにあるサンプルを入力すると確かにコンパイルして表示されます。しかし、日本語の文字列に置き換えて試してもうまくいきません。

あれこれ関連サイトを探し、下記のサイトに紹介されている設定をそのままコピーしました。

さらに足りないと思われるパッケージをあれこれインストールして、なんとかコンパイルできるようになりました。

TeXstudio で簡単な日本語文書をコンパイルした例

とりあえず TeXstudio で簡単な日本語文書をコンパイルできるようにはなりましが、試行錯誤でパッケージをインストールしたり設定をしてしまったので、情報の整理ができていません。

美文書への憧れ

「LaTeX2ε美文書作成入門」を買ったのは、ずいぶん昔のことです。表紙は右図だったように記憶しています。当時、Microsoft Word では思い描いている書式やレイアウトで日本語文書を作成することを諦め、綺麗な文書を作成したい場合には、Windows 上では Adobe FrameMaker を使っていました。

一方、LaTeX を使えば Linux 上でも美文書が作れると、精力的に取り組んでいたのですが、残念ながらどこかで挫折してしまっています。

自分の周りでは、資料は PowerPoint で作成することが主流となり、Word は規程や手順書といった社内文書ぐらいにしか使わなくなってしまいました。Word の良し悪しはともかくとしても、技術報告書を書くことで、読み手に伝わるよう実験結果を整理・吟味して、考察を文章で表現する、という貴重な作業時間が失われてしまったような気がします。

情報の表現手段が PowerPoint に変わっても、業務以外の本による技術情報収集は、紙から電子媒体に変わってもずっと続いています。自分にとって美文書を作りたいというニーズは(業務以外になりますが)相変わらずです。前出の「LaTeX2ε美文書作成入門」は改訂第7版にもなっています。早速、Amazon.jp で Kindle 版を購入して勉強し直すことにしました。

TeXstudio についても、Linux 上で使うことを前提に、内容を咀嚼した上でインストール方法や日本語文書作成のための情報を整理して紹介していきたいと思います。不定期になりますが情報を更新していきます。

参考サイト

  1. [改訂第7版]LaTeX2ε美文書作成入門:書籍案内|技術評論社

ブログランキング・にほんブログ村へ
にほんブログ村

2020-07-27

LVMによるストレージ領域の拡張

LVM, Logical Volume Manager(論理ボリュームマネージャ)は、UNIX 系 OS で利用できる機能で、複数の外部記憶装置(ストレージ)やその内部のパーティションをまとめ、単一の記憶領域として利用する機能です。

LVM を利用するにはストレージ内に専用のパーティション(区画)を設けます。パーティション内部は数 MB 単位の PE (Physical Extent) と呼ばれる管理単位に分割され、これを必要なだけ結合して単一の論理ボリューム (LV:Logical Volume) を構成します。

IT用語辞典 e-Words より引用、編集

64GB のストレージを搭載した格安ノート PC、HP Stream 11-ak0006TU に Fedora Silverblue をインストール後、128GB の SD カードを挿入し、LVM を利用してシステムのストレージ領域を拡張した事例をまとめました。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora Silverblue 32 x86_64

LVM によるストレージ領域の拡張

RHEL/CentOS や Fedora といった RedHat 系 Linux ディストロのインストーラは、デフォルトでストレージのパーティションを LVM で設定します。

インストール先のストレージ (eMMC 64GB) を指定して、地域設定やアカウントの設定以外はデフォルトの設定のままで Fedora Silverblue をインストールしました。ストレージの使用状況は下記のようになっています。

[bitwalk@silverblue ~]$ df -hT
ファイルシス            タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs                devtmpfs   1.8G     0  1.8G    0% /dev
tmpfs                   tmpfs      1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs      1.9G  9.8M  1.9G    1% /run
/dev/mapper/fedora-root ext4        36G   12G   22G   35% /sysroot
tmpfs                   tmpfs      1.9G  100K  1.9G    1% /tmp
/dev/mmcblk0p1          ext4       976M   87M  823M   10% /boot
/dev/mapper/fedora-home ext4        18G  9.1G  7.3G   56% /var/home
tmpfs                   tmpfs      375M   80K  375M    1% /run/user/1000
/dev/sdb1               exfat      120G  384K  120G    1% /run/media/bitwalk/6261-3733
[bitwalk@silverblue ~]$ lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb               8:16   1 119.1G  0 disk
└─sdb1            8:17   1 119.1G  0 part /run/media/bitwalk/6261-3733
mmcblk0         179:0    0  58.2G  0 disk
├─mmcblk0p1     179:1    0     1G  0 part /boot
└─mmcblk0p2     179:2    0  57.2G  0 part
  ├─fedora-root 253:0    0  35.9G  0 lvm  /sysroot
  ├─fedora-swap 253:1    0   3.8G  0 lvm  [SWAP]
  └─fedora-home 253:2    0  17.5G  0 lvm  /var/home
mmcblk0boot0    179:8    0     4M  1 disk
mmcblk0boot1    179:16   0     4M  1 disk
[bitwalk@silverblue ~]$

35.9GB が /sysroot(ルート)、3.8GB がスワップ領域、17.5GB が /var/home に、LVM 論理ボリュームとして割り当てられています。

なお、/run/media/bitwalk/6261-3733 にマウントされているデバイス sdb1 は 128GB の SD カードです。

ボリュームグループ確認

vgdisplay でストレージのボリュームグループを確認すると以下のようになっています。

[bitwalk@silverblue ~]$ sudo vgdisplay
[sudo] bitwalk のパスワード:
  --- Volume group ---
  VG Name               fedora
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <57.24 GiB
  PE Size               4.00 MiB
  Total PE              14653
  Alloc PE / Size       14653 / <57.24 GiB
  Free  PE / Size       0 / 0
  VG UUID               UzO3BF-rU8R-miSu-K83x-Bboe-e9eA-waJxGG

[bitwalk@silverblue ~]$

ボリュームグループ fedora が存在しています。

lvdisplay コマンドで論理ボリュームを確認すると以下のようになっています。

[bitwalk@silverblue ~]$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/fedora/swap
  LV Name                swap
  VG Name                fedora
  LV UUID                soDMwj-gan5-Oyey-kcXm-AQ58-jvDY-bBvIhJ
  LV Write Access        read/write
  LV Creation host, time localhost, 2020-07-16 09:11:41 +0900
  LV Status              available
  # open                 2
  LV Size                3.78 GiB
  Current LE             968
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/fedora/home
  LV Name                home
  VG Name                fedora
  LV UUID                OQBoON-FiAw-tMIp-SkXT-bnCl-QBVg-qnFvFn
  LV Write Access        read/write
  LV Creation host, time localhost, 2020-07-16 09:11:41 +0900
  LV Status              available
  # open                 1
  LV Size                <17.54 GiB
  Current LE             4489
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/fedora/root
  LV Name                root
  VG Name                fedora
  LV UUID                OAc3FJ-wAna-XOJt-HI3r-v5bf-huTT-WvT2NN
  LV Write Access        read/write
  LV Creation host, time localhost, 2020-07-16 09:11:43 +0900
  LV Status              available
  # open                 1
  LV Size                35.92 GiB
  Current LE             9196
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

[bitwalk@silverblue ~]$

ボリュームグループ fedora に、3つの論理ボリューム swap, home そして root が割り当てられています。

SD カードをボリュームグループに追加

SD カード /dev/sdb1 をアンマウントして ext4 形式のファイルシステムにフォーマットします。

[bitwalk@silverblue ~]$ umount /dev/sdb1
[bitwalk@silverblue ~]$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.45.5 (07-Jan-2020)
/dev/sdb1 contains a exfat file system
Proceed anyway? (y,N) y
Creating filesystem with 31216896 4k blocks and 7806976 inodes
Filesystem UUID: c304b291-26c4-4fc0-b87f-9944fd0a8a05
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks):
done
Writing superblocks and filesystem accounting information: done

[bitwalk@silverblue ~]$

vgextend コマンドで、ボリュームグループ fedora に SD カード /dev/sdb1 を追加して、ボリュームグループの領域を拡張します。

[bitwalk@silverblue ~]$ sudo vgextend fedora /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
  Volume group "fedora" successfully extended
[bitwalk@silverblue ~]$ 

vgdisplay コマンドで、ボリュームグループ fedora にフリーな領域が増えていることを確認します。

[bitwalk@silverblue ~]$ sudo vgdisplay
  --- Volume group ---
  VG Name               fedora
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               176.32 GiB
  PE Size               4.00 MiB
  Total PE              45138
  Alloc PE / Size       14653 / <57.24 GiB
  Free  PE / Size       30485 / 119.08 GiB
  VG UUID               UzO3BF-rU8R-miSu-K83x-Bboe-e9eA-waJxGG

[bitwalk@silverblue ~]$

論理ボリュームの拡張

論理ボリューム /dev/fedora/home に、ボリュームグループ fedora に追加したフリーな領域を全て割り当てます。

[bitwalk@silverblue ~]$ sudo lvextend -l +100%FREE /dev/fedora/home
  Size of logical volume fedora/home changed from <17.54 GiB (4489 extents) to <136.62 GiB (34974 extents).
  Logical volume fedora/home successfully resized.
[bitwalk@silverblue ~]$

df で確認すると、まだ /dev/fedora/home の領域は増えていません。

[bitwalk@silverblue ~]$ df -hT
ファイルシス            タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs                devtmpfs   1.8G     0  1.8G    0% /dev
tmpfs                   tmpfs      1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs      1.9G  9.7M  1.9G    1% /run
/dev/mapper/fedora-root ext4        36G   12G   22G   35% /sysroot
tmpfs                   tmpfs      1.9G   88K  1.9G    1% /tmp
/dev/mmcblk0p1          ext4       976M   87M  823M   10% /boot
/dev/mapper/fedora-home ext4        18G  9.1G  7.3G   56% /var/home
tmpfs                   tmpfs      375M   28K  375M    1% /run/user/42
tmpfs                   tmpfs      375M     0  375M    0% /run/user/1000
[bitwalk@silverblue ~]$

resize2fs コマンドで /dev/fedora/home の領域を拡張します。

[bitwalk@silverblue ~]$ sudo resize2fs /dev/fedora/home
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/fedora/home is mounted on /var/home; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 18
The filesystem on /dev/fedora/home is now 35813376 (4k) blocks long.

df コマンドで /dev/fedora/home の領域が増えていることを確認できます。

[bitwalk@silverblue ~]$ df -hT
ファイルシス            タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs                devtmpfs   1.8G     0  1.8G    0% /dev
tmpfs                   tmpfs      1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs      1.9G  9.7M  1.9G    1% /run
/dev/mapper/fedora-root ext4        36G   12G   22G   35% /sysroot
tmpfs                   tmpfs      1.9G   88K  1.9G    1% /tmp
/dev/mmcblk0p1          ext4       976M   87M  823M   10% /boot
/dev/mapper/fedora-home ext4       135G  9.1G  120G    8% /var/home
tmpfs                   tmpfs      375M   28K  375M    1% /run/user/42
tmpfs                   tmpfs      375M     0  375M    0% /run/user/1000
[bitwalk@silverblue ~]$ lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb               8:16   1 119.1G  0 disk
└─sdb1            8:17   1 119.1G  0 part
  └─fedora-home 253:2    0 136.6G  0 lvm  /var/home
mmcblk0         179:0    0  58.2G  0 disk
├─mmcblk0p1     179:1    0     1G  0 part /boot
└─mmcblk0p2     179:2    0  57.2G  0 part
  ├─fedora-root 253:0    0  35.9G  0 lvm  /sysroot
  ├─fedora-swap 253:1    0   3.8G  0 lvm  [SWAP]
  └─fedora-home 253:2    0 136.6G  0 lvm  /var/home
mmcblk0boot0    179:8    0     4M  1 disk
mmcblk0boot1    179:16   0     4M  1 disk

[bitwalk@silverblue ~]$

まとめ

LVM に関連するコマンドの操作を中心に説明しましたが、慣れないと解りにくいかもしれません。

SD カードの領域について、論理ボリュームへ追加する前後を比較すると、下表のようになります。

SD カード (sdb1) を論地ボリュームに追加する前
デバイス mmcblk0 sdb(SD カード)
パーティション mmcblk0p1 mmcblk0p2 sdb1
ボリュームグループ - fedora -
論理ボリューム - root swap home -
マウントポイント /boot /sysroot [SWAP] /var/home /run/media/bitwalk/5251-3733
SD カード (sdb1) を論地ボリュームに追加した後
デバイス mmcblk0 sdb(SD カード)
パーティション mmcblk0p1 mmcblk0p2 sdb1
ボリュームグループ - fedora
論理ボリューム - root swap home
マウントポイント /boot /sysroot [SWAP] /var/home

今回扱った例では、格安 PC の僅かなストレージ容量を増やすことが目的でしたが、大きなシステムで、システムを稼働させたままでストレージ容量を増やす際に LVM は威力を発揮します。

参考サイト

  1. bitWalk's: 小容量ストレージ対策 〜 LVM [2020-05-03]
  2. bitWalk's: 【備忘録】Fedoraで論理ボリュームを追加する [2018-12-29]
  3. 論理ボリュームの設定および管理 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

ブログランキング・にほんブログ村へ
にほんブログ村