| (同じ利用者による、間の30版が非表示) | |||
| 40行目: | 40行目: | ||
# または | # または | ||
tar Jxvf xxxx.tar.xz | tar Jxvf xxxx.tar.xz | ||
<br><br> | |||
== xz形式 == | |||
圧縮<br> | |||
圧縮率を0~9で指定することができる。<br> | |||
<code>-0</code>オプションは、圧縮率が低いが高速に処理することができる。<br> | |||
<code>-9</code>オプションは、時間が掛かるが圧縮率は高くなる。<br> | |||
# 元のファイルを削除する | |||
xz <ファイル名> | |||
# 元のファイルを削除しない | |||
xz -k <ファイル名> | |||
# 圧縮率を指定する | |||
xz -0 <ファイル名> | |||
xz -9 <ファイル名> | |||
<br> | |||
解凍<br> | |||
# 圧縮ファイルを削除する | |||
xz -d <XZ形式のファイル>.xz | |||
unxz -d <XZ形式のファイル>.xz | |||
# 圧縮ファイルを削除しない | |||
xz -dk <XZ形式のファイル>.xz | |||
unxz -dk <XZ形式のファイル>.xz | |||
<br> | |||
その他<br> | |||
# 圧縮ファイル内のファイルを一覧表示する | |||
xz -l <XZ形式のファイル>.xz | |||
unxz -l <XZ形式のファイル>.xz | |||
<br><br> | <br><br> | ||
| 55行目: | 85行目: | ||
*: <code>tar xf lzip-<バージョン>.tar.lz</code> | *: <code>tar xf lzip-<バージョン>.tar.lz</code> | ||
*: <code>cd lzip-<バージョン></code> | *: <code>cd lzip-<バージョン></code> | ||
*: <br> | |||
*: ビルド用ディレクトリを作成する。 | *: ビルド用ディレクトリを作成する。 | ||
*: <code>mkdir build && cd build</code> | *: <code>mkdir build && cd build</code> | ||
*: <br> | |||
*: Lzipをビルドおよびインストールする。 | *: Lzipをビルドおよびインストールする。 | ||
*: <code>../configure --prefix=<Lzipのインストールディレクトリ></code> | *: <code>../configure --prefix=<Lzipのインストールディレクトリ></code> | ||
*: <code>make -j $(nproc)</code> | *: <code>make -j $(nproc)</code> | ||
*: <code>make install</code> | *: <code>make install</code> | ||
*: <br> | |||
*: ~/.profileファイル等に環境変数PATHを追記する。 | *: ~/.profileファイル等に環境変数PATHを追記する。 | ||
*: <code>vi ~/.profile</code> | *: <code>vi ~/.profile</code> | ||
| 66行目: | 99行目: | ||
<br> | <br> | ||
圧縮<br> | 圧縮<br> | ||
tar --lzip -cf | tar --lzip -cf <ファイル名>.tar.lz <ファイルのパスまたはディレクトリのパス> | ||
# または | # または | ||
tar --lzip -cvf | tar --lzip -cvf <ファイル名>.tar.lz <ファイルのパスまたはディレクトリのパス> | ||
<br> | <br> | ||
圧縮(圧縮率を上げる場合)<br> | 圧縮(圧縮率を上げる場合)<br> | ||
tar cf | tar cf <ファイル名>.tar <ファイルのパスまたはディレクトリのパス>; lzip -9k <ファイル名>.tar | ||
<br> | <br> | ||
解凍<br> | 解凍<br> | ||
tar xf | tar xf <ファイル名>.tar.lz | ||
# または | # または | ||
tar xvf | tar xvf <ファイル名>.tar.lz | ||
<br><br> | <br><br> | ||
== tar形式 == | == tar形式 == | ||
圧縮<br> | 圧縮<br> | ||
tar cf | tar cf <ファイル名>.tar <ファイルのパスまたはディレクトリのパス> | ||
# または | # または | ||
tar cvf | tar cvf <ファイル名>.tar <ファイルのパスまたはディレクトリのパス> | ||
<br> | <br> | ||
解凍<br> | 解凍<br> | ||
tar xf | tar xf <ファイル名>.tar | ||
# または | # または | ||
tar xvf | tar xvf <ファイル名>.tar | ||
< | |||
<br> | <br> | ||
<center> | <center> | ||
{| class="wikitable" | style="background-color:#fefefe;" | {| class="wikitable" | style="background-color:#fefefe;" | ||
|+ tarコマンドにおけるオプションの意味 | |||
|- | |- | ||
! style="background-color:#66CCFF;" | オプション | ! style="background-color:#66CCFF;" | オプション | ||
| 124行目: | 146行目: | ||
</center> | </center> | ||
<br><br> | <br><br> | ||
== zip形式 == | |||
圧縮<br> | |||
# パスワードなし | |||
zip -r <ファイル名>.zip ディレクトリ名 | |||
# パスワード付き | |||
zip -e -r <ファイル名>.zip <ディレクトリ名> または $ zip -e -r --password=<パスワード> <ファイル名>.zip <ディレクトリ名> | |||
<br> | |||
解凍<br> | |||
unzip <ファイル名>.zip # パスワード付きのzipファイルの場合、インタラクティブに2回とも同じパスワードの入力を求められる | |||
# または | |||
unzip -P <パスワード> <ファイル名>.zip | |||
<br> | |||
Windows上で日本語ファイル名のファイルをzipで圧縮して、Linux上にてunzipコマンドで解凍すると文字化けすることがあるが、<br> | |||
unarで解凍すると文字化けしない。<br> | |||
unar <ファイル名>.zip | |||
<br><br> | |||
== 7zip == | |||
圧縮<br> | |||
7z a <圧縮後のファイル名>.7z <圧縮元のファイル名またはディレクトリ名> | |||
解凍<br> | |||
7z e <圧縮されたファイル名>.7z | |||
<br><br> | |||
== Zstandard == | |||
==== Zstandardとは ==== | |||
2016年の8月にMeta社(旧Facebook)がオープンソース化した圧縮アルゴリズムである。<br> | |||
リアルタイム圧縮を重要視しており、圧縮率を維持しながら、高い圧縮速度と伸長速度、使用メモリ量の削減を実現している。<br> | |||
<br> | |||
また、辞書を作成することにより、更に圧縮率を高めることが可能である。<br> | |||
多様な言語(Java、Swift、Go、Python等)で実装されている。<br> | |||
<br> | |||
==== Zstandardのインストール ==== | |||
# RHEL | |||
sudo dnf install zstd | |||
# SUSE | |||
sudo zypper install zstd libzstd1 | |||
<br> | |||
==== 圧縮 ==== | |||
===== ファイルの圧縮 ===== | |||
ファイルを圧縮する。<br> | |||
出力ファイル名は、<ファイル名>.zstとなる。<br> | |||
zstd <ファイル名> | |||
# 圧縮前のファイルおよびディレクトリを削除する場合 | |||
zstd --rm <ファイル名> | |||
<br> | |||
出力ファイル名を指定して圧縮する。<br> | |||
zstd <ファイル名> -o <出力ファイル名>.zst | |||
# 圧縮前のファイルおよびディレクトリを削除する場合 | |||
zstd --rm <ファイル名> -o <出力ファイル名>.zst | |||
<br> | |||
===== ディレクトリの圧縮 ===== | |||
ディレクトリを圧縮する。<br> | |||
# まず、Tarballファイルにする | |||
tar cf <Tarballファイル名>.tar <ディレクトリ名> | |||
# TasrballファイルをZstandard形式で圧縮する | |||
zstd <Tarballファイル名>.tar | |||
## または | |||
zstd <Tarballファイル名>.tar -o <圧縮後のファイル名>.zst | |||
## または | |||
zstd <圧縮後のファイル名>.zst <Tarballファイル名>.tar | |||
<br> | |||
アーカイブと圧縮を1度で実行することもできる。<br> | |||
tar cf - <ディレクトリ名> | zstd -o <ディレクトリ名>.tar.zst | |||
# または | |||
tar cf - <ディレクトリ名> | zstd -<レベル番号> -o <ディレクトリ名>.tar.zst | |||
<br> | |||
<code>tar</code>コマンドで、ディレクトリをtar.zst形式に圧縮することもできる。<br> | |||
<code>tar</code>コマンドでZstandard形式の圧縮設定を行う場合は、<code>-I</code>オプションを付加してzstdコマンドとzstdのオプションを指定する。<br> | |||
tar --zstd -cf <圧縮後のファイル名>.tar.zst <圧縮前のディレクトリ名> | |||
# 圧縮率を設定する場合 | |||
# 以下の例では、圧縮率を最大に指定している | |||
tar -I 'zstd --ultra -22' -cf <圧縮後のファイル名>.tar.zst <圧縮前のディレクトリ名> | |||
<br> | |||
===== 圧縮率の設定 ===== | |||
圧縮レベルを1〜19(デフォルト : 3)で指定して圧縮する。<br> | |||
zstd -11 <ファイル名> | |||
<br> | |||
<code>--ultra</code>オプションを付加することにより、圧縮レベルを20以上にすることもできる。(最大圧縮レベル : 22)<br> | |||
zstd --ultra -22 <ファイル名> | |||
<br> | |||
===== 再帰的な圧縮 ===== | |||
ディレクトリ内のファイル群を再帰的に圧縮する。<br> | |||
Zstandardは圧縮アルゴリズムであるため、ファイルアーカイブ機能は存在しない。<br> | |||
zstd -r <ディレクトリ名またはファイル名> | |||
<br> | |||
===== マルチスレッドの使用 ===== | |||
マルチスレッドを使用して圧縮することにより、処理時間を短縮することもできる。<br> | |||
<code>-T</code>オプションでは、スレッド数を指定することができる。<br> | |||
<code>-T</code>オプションの初期値は<code>1</code>、<code>0</code>を指定することにより、空いているスレッドを全て使用する。<br> | |||
zstd --ultra -22 -T0 <ファイル名> | |||
<br> | |||
<code>-o</code>オプションを付加することにより、出力するファイル名を変更することができる。<br> | |||
zstd --ultra -22 -T0 <圧縮元のファイル名> -o <出力するファイル名> | |||
<br> | |||
==== 解凍 ==== | |||
zstd -d <ディレクトリ名またはファイル名>.zst | |||
# または | |||
unzstd <ディレクトリ名またはファイル名>.zst | |||
<br><br> | |||
== パスワードの設定 == | |||
XZ形式やZStandard形式で圧縮する時に、パスワードを設定する機能はない。<br> | |||
これらの圧縮形式は、データの圧縮に特化しており、暗号化機能を持たないためである。<br> | |||
<br> | |||
しかし、暗号化を行う場合は、圧縮後に他のツールを使用してファイルを暗号化する。<br> | |||
<br> | |||
==== パスワードを設定して圧縮 ==== | |||
* OpenSSLを使用する場合 | |||
*: まず、ファイルを圧縮する。 | |||
*: <code>tar Jcf <圧縮後のファイル名>.tar.xz <圧縮前のファイルまたはディレクトリ></code> | |||
*: 次に、OpenSSLで暗号化する。 | |||
*: このコマンドも、ファイルに対してパスワード保護をかける。 | |||
*: <code>openssl enc -aes-256-cbc -salt -pbkdf2 -in <圧縮後のファイル名>.tar.xz -out <圧縮後のファイル名>.tar.xz.enc</code> | |||
<br> | |||
* GPGを使用する場合 | |||
*: まず、ファイルを圧縮する。 | |||
*: <code>tar Jcf <圧縮後のファイル名>.tar.xz <圧縮前のファイルまたはディレクトリ></code> | |||
*: 次に、GPGで暗号化する。 | |||
*: このコマンドにより、圧縮ファイルは<u><圧縮後のファイル名>.tar.xz.gpg</u>ファイルを生成して、パスワードを設定することができる。 | |||
*: 対称暗号化 (-cオプション) : 単純にパスワードのみで暗号化する場合や複数人で共有する場合等の一時的な暗号化に適している。 | |||
*: <code>gpg -c <圧縮後のファイル名>.tar.xz</code> | |||
*: <br> | |||
*: 公開鍵暗号化 (--encryptオプション) : 特定の受取人に対して安全に暗号化する場合や受取人のみが復号できるため、セキュリティが高い。 | |||
*: この場合、ファイルを復号するには、対応する秘密鍵とパスフレーズが必要となる。 | |||
*: <code>gpg --encrypt --recipient <特定の受取人 例: recipient@example.com> <圧縮後のファイル名>.tar.xz</code> | |||
<br> | |||
==== パスワードを指定して解凍 ==== | |||
パスワード保護された圧縮ファイルを解凍する場合、使用した暗号化ツールに応じて異なるコマンドを使用する。<br> | |||
<br> | |||
* OpenSSLで暗号化されたファイルの場合 | |||
*: まず、復号して元の圧縮ファイルを取得する。 | |||
*: こちらもパスワードの入力が求められる。復号後に<圧縮後のファイル名>.tar.xzが生成される。 | |||
*: <code>openssl enc -d -aes-256-cbc -pbkdf2 -in <圧縮後のファイル名>.tar.xz.enc -out <圧縮後のファイル名>.tar.xz</code> | |||
*: 次に、圧縮ファイルを解凍する。 | |||
*: <code>tar xf <圧縮後のファイル名>.tar.xz</code> | |||
<br> | |||
* GPGで暗号化されたファイルの場合 | |||
*: まず、復号して元の圧縮ファイルを取得する。 | |||
*: このコマンドでは、パスワードの入力が求められる。復号後に<圧縮後のファイル名>.tar.xzというファイルが生成される。 | |||
*: <code>gpg -d -o archive.tar.xz archive.tar.xz.gpg</code> | |||
*: 次に、圧縮ファイルを解凍する。 | |||
*: <code>tar xf <圧縮後のファイル名>.tar.xz</code> | |||
<br><br> | |||
== その他 == | |||
==== debファイル ==== | |||
# 展開 | |||
ar xf <debファイル> | |||
# 作成 | |||
tar -cf data.tar <データファイル> | |||
gunzip data.tar | |||
tar -cf control.tar control postinstall prerm | |||
gunzip control.tar | |||
ar r <作成するdebファイル名> debian-binary control.tar.gz data.tar.gz # アーカイブする順は、debian-binary、control.tar.gz、data.tar.gzの順である必要がある | |||
<br><br> | |||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ: | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] | ||