ラベル 技術メモ の投稿を表示しています。 すべての投稿を表示
ラベル 技術メモ の投稿を表示しています。 すべての投稿を表示

2021年3月15日月曜日

PDFを動画にする

環境

ec2でUbutuたてて実施

手順

0.インストール
$ sudo apt install poppler-utils
$ sudo snap install pdftk
$ sudo apt install zip
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
1.サンプルダウンロード
$ wget [何か適当な].pdf
2.1ページ目だけ抽出
$ pdftk [何か適当な].pdf cat 1 output 1.pdf
3.テキスト抽出
$ pdftotext 1.pdf 1.text
4.設定
[適当にPollyFullな権限でIAMユーザ]
$ aws configure
AWS Access Key ID [None]: ***
AWS Secret Access Key [None]: ***
Default region name [somewhere]: ap-northeast-1
Default output format [None]:[なし]
5.音声データ作成
$aws polly synthesize-speech --output-format mp3 --text file://1.text --voice-id "Mizuki" 1.mp3
$6.画像化
$ pdftoppm -r 125 -png 1.pdf 1
7.ダウンロード&動画化
1.pdfと1.mp3をダウンロードしてPremiumProか何かで動画化

2018年1月8日月曜日

キーボード入力した文字列をハッシュして数列を取り出す

ことの発端は会社の後輩から飲み会の支払いをLINE Payで頼まれたこと。
最近流行りのモバイル決済に興味があったので、早速登録!
しようとしたが、6桁の数字という新しいパスワード形式に固まる。

色々考えたが、すでにあるパスワードをハッシュしてそこから数字6桁取り出せないかなと思い、試行錯誤。
md5sumを調べたところ、文字列はキーボード入力で引き渡してハッシュ化出来た。おあつらえ向きにhistoryに残さずハッシュ処理が可能。
後はreadコマンドでキーボード入力を代行させてやって下記のコマンドになった。

$ read Password ; echo $Password | md5sum | tr -cd '0123456789' | cut -c 1-6

あとで考えると、理論的には6つも数字がないハッシュ結果のパターンもありそうだけど、一旦これで大丈夫そう。

2016年3月25日金曜日

icat for JSON

IPAでサイバーセキュリティ注意喚起サービスの「icat for JSON」が公開されていたので、
とりあえず、自分用にブログの右下に配置してみた。
JVNの新着リストをRSSリーダーで読んでいるので、
基本的に脆弱性は見逃さないと思うけど、一応ウォッチ。

2014年7月21日月曜日

LinuxでNICにIPエイリアスを設定

一つしかNICを持っていないLinuxに複数のIPアドレスを持たせたかったので、
下記のファイルを配置したところ上手いこといった。

$ cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
TYPE=Ethernet
BOOTPROTO=none
IPADDR=[IPアドレス]
PREFIX=24
ONPARENT=yes

PREFIXがミソで最初はNETMASK=255.255.255.0にしていたのだが、
何故か理解してくれず、サブネットマスクが255.0.0.0で立ち上がってきた。。
アレコレ試してPREFIXにしたところやっと255.255.255.0になってくれた。
軽くググったけど特にそういう事例もなく、全く謎。。

ちなみにONBOOTでなく、ONPARENTが推奨らしい
ググってる最中に見つけたので、その通り設定。多謝。

2014年4月12日土曜日

LinuxのSwap適正値

毎度迷う、Swapの値。。
正直、昨今の8GBとか16GBとかRAMを積んでいるマシンは
5GBもあれば大丈夫だろうと思うのだけど、上司といくらにするかで喧嘩になった。
やはりお年寄りなIT技術者は2倍確保すべしという観念があるらしく。。

結局、下記のRHELの公式ページを参照。
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-swapspace.html


M = RAM 容量の GB 表示。そして S = swap サイズの GB 表示とすると、
If M < 2
S = M *2
Else
S = M + 2

う~ん、どう考えても18GBもSwapがいるとは思えないけど。。
というか、Swap使うようなシステムは既に死んでいるだろ、と思うけど。。
公式に従って、Swapの値を選定することに。。

2014年1月31日金曜日

RHELの指紋認証停止

現在、VMware上にOSを構築中。OSはLinux。
大体構築も終わってシスログを確認していると
下記のメッセージを時々出力していることを確認。

[日付] [ホスト名] abrt[[PID]]: saved core dump of pid [PID] (/usr/libexec/fprintd) to /var/spool/abrt/ccpp-***-[PID].new/coredump (*** bytes)
[日付] [ホスト名] abrtd: Directory 'ccpp-***-[PID]' creation detected
[日付] [ホスト名] abrtd: Crash is in database already (dup of /var/spool/abrt/ccpp-***-[PID])
[日付] [ホスト名] abrtd: Deleting crash ccpp-***-[PID] (dup of ccpp--***-[PID]), sending dbus signal

ググってみると完全に同じ文言は見つからなかったけど、多分fprintdの誤動作。
RHEL6系かつVMwareなどの仮想OSでUSBを持たず、最小限インストールすると
スイッチの際などに指紋認証しようとして上記のメッセージを出力する模様。
確かにその条件は満たしている。。
ちなみにRedHat社曰くはバグじゃなくて仕様だ!とのこと。。

下記のページを参考に指紋認証を停止。
ITエンジニアのお仕事

無事にメッセージは出力されなくなった。
しっかし、、あまり事例を見かけなかったけど、みんな最小限インストールしないのかな?
OSにインストールされるサービスは出来る限り自分で選定したいのがSEの性じゃないの。。?

2013年12月2日月曜日

activeモードで接続するとftp-data通信ができない

良くわからない所でハマったのでメモ。

FFFTPではftp-data通信(lsやファイルダウンロード)できるのに、
手動でサーバ間でFTPログインすると途端にftp-data通信できなくなってハマった。

あれこれ悩んで全くわからず、苦し紛れにtcpdumpをしていたら、
FTP接続先のマシンから接続元へのftp-data通信をしていて、「ん?」
となり、接続元のFirewallを落としてみるとやっとこ成功。。
activeモードでは何故か双方向で通信するみたい。。
接続元のマシンのFirewallに接続先のIPアドレスをALLで許可して対応。

2013年10月8日火曜日

今日気になったリンクめも

ちょっと気になった記事を自分用のリンクとしてメモ。

クックパッドのインフラ責任者が語る、DevOpsを成功させる考え方「迷ったら健全な方を選ぶ」~DevOps Day Tokyo 2013
http://www.publickey1.jp/blog/13/devopsdevops_day_tokyo_2013_2.html

勉強になる。「健全な方を選ぶ」という選択肢が新鮮だった。
権威的にならない、という示唆にも考えさせられた。
運用と開発、うちの会社の場合は基盤とアプリだけど、
どこにいっても壁だらけ。
あっちのチームの仕事、こっちのチームには関係ない。
どうしていがみ合うのかと思っていたが、
案件ごとにどちらかが上に立つか決めているからのような気がする。。

金融×IT対談
http://www.nri.com/~/media/PDF/jp/opinion/teiki/kinyu_itf/2013/itf_201310_2.pdf

金融ITでお仕事しているので、一応NRIのメルマガは読んでる。
この対談の本筋のNISAとは全然関係ないのだけど、
対談相手の日本証券業協会の方が、
確定拠出年金について良い制度なのに普及率が低いことに
問題意識を持っていらっしゃって、なんか安心した。
自分も利用者としてIT系のシステムベンダーとして
確定拠出年金がもっと使い易くなって拡まった方が良いと思っていたので。

2013年6月5日水曜日

Linuxでお手軽にコマンドを遅延起動

月初のみ特別に分岐するバッチを作成した。ところが、今月の月初は休日。。
その確認のみのために休日出勤するわけにもいかず、
OSの時刻をいじるとあちこちに迷惑。。
分岐処理の条件変えて稼働確認はナンセンスだし、
かと言ってcron編集するにも本番稼働近いのでやりたくない。

と言うことでnohupで24時間sleep後に当該バッチを起動するコマンドを仕込んだ。

nohup bash -c 'sleep 86400 ; [バッチ]' &

若干不安だったけど、ちゃんと翌日稼働して分岐処理も想定通り動いてくれた。


2013年1月13日日曜日

libclntsh.so.11.1が見つからない。


PHPからoci8が連携できずに2日ほどハマったのでメモ。
Oracle関連って保守契約か何だかの約束で公式回答を
ブログやらニュースサイトに記載してはいけないということらしいが、
本件については明確に保守担当からPHPの連携およびOSに関わる部分なので
Oracle対応対象外ですと言ってもらった(見捨てられた)ので問題ないだろう。

まず、Oracleクライアントをランタイムでインストールし、
そして、PHPを--with-oci8=shared,$ORACLE_HOMEオプションをつけてコンパイルした。
正常にoci8.soライブラリが作成されたことを確認し、php.iniに追加してやる。

今回、PHPはCGI経由で呼び出すのでphp-cgiをCGIディレクティブにリンクし、
phpinfoだけ書いたindex.phpを作成し、稼働確認。
コマンドラインでphp-cgi -i index.phpでは正常に稼働し、oci8もenableだった。
ところが、ブラウザからアクセスするとphpinfoは表示されるもののoci8関連の項目がない。
error_logを確認すると、案の定下記のエラーが。。。

libclntsh.so.11.1: cannot open shared object file: No such file or directory

なるほど、Apacheの実行ユーザがライブラリパスを認識できないのね、と考え、
$ORACLE_HOME/libをld.so.confに追加したら
今度はlibexpat.so.11.1 is not a symbolic linkというエラーが出る。
もちろん、ブラウザ接続でのoci8認識はできず。

ここで保守担当に連絡を取るも、それってPHPのエラーですやん、という回答。
確かにその通り、じゃぁ、ld.so.confについてはと聞くとそれはOSですやん、と宣った。

仕方がないので、自力で対応することに。。。

まず、PHPの公式マニュアルに従ってLD_LIBRARY_PATHを認識させる方法を試す。
ところが、/etc/sysconfig/httpdとenvvarsではPHPまで届かない。。
最終手段でSetEnvしたところ、やっとPHPまでLD_LIBRARY_PATHが環境変数として渡った。
しかし、libclntsh.soのエラーは変わらずブラウザではPHPからoci8が起動できない。

それからググって出てきたことはひと通り試す。

Apache起動スクリプトに「export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/var/hoge.so」
と書いてもダメ。
libclntsh.so.11.1をoci8.soと同じ所に置いてもダメ、
静的にコンパイルしても動的にコンパイルしても変わらず、
LD_LIBRARY_PATHのディレクトリのパーミッションをゆるめてもダメ、
Apache起動ユーザーのセカンドグループにoinstallを追加してもダメ、
LoadFileでlibclntsh.soを直接指定してもダメ。

とうとう万策尽きて、怒りのApache起動ユーザをnologinからbashにして無理やりスイッチ、
ldd oci8.soしたら、libclntsh.soが「not found」となっていて「ん?」
他にもrootで実行するlddと出力結果が違う。。

そこでやっとわかる。
今回、Oracleクライアントのインストール先をデフォルトに従って/home/oracleの下にした。
そのため、上位のフォルダの制限が強すぎてLD_LIBRARY_PATHが認識できなかったらしい。

対応としてOracleクライアントのインストール先を/optに変更したところ、
やっとブラウザからもoci8を認識するようになった。

2012年12月10日月曜日

Androidアプリ開発の実機テスト


Windows7でAndroidのアプリ開発中~。
SDKで動作確認には十分過ぎるエミュレータが提供されているけど、
ピンチイン・アウトやらシェイクやらはやっぱり実機でテストする必要がある。

SDKマネージャでつーっと「Google USB Driver」をインストールして、
実機のUSBデバックONにしたものの、さっぱり認識してくれない。。。

で、ググってみるとどうも「Google USB Driver」は
Google社のハードにしか対応していないような感じ。。
#ココらへん適当です。私の端末とか一部だけかも。。

で、どうやら各ベンダーで開発用のUSBドライバーを
提供しているようなのでそちらをダウンロードして適用したら
すんなりと認識してくれた。

2012年12月8日土曜日

TortoiseSVNでコミット失敗


管理しているSVNサーバでコミットできなくなったとヘルプ要請があった。
TortoiseSVNで下記のエラーが出てコミットできなくなったとのこと。

コマンド: コミット
追加中: [クライアントフォルダ]\[対象フォルダ]
エラー: コミットに失敗しました (詳しい理由は以下のとおりです):
エラー: Cannot verify lock on path '[対象フォルダ]/[アップ対象ファイル]'; no matching
エラー: lock-token available
エラー: ロックを強制解除する場合は、「変更をチェック」ダイアログかリポジトリブラウザーを使用してください。
完了:

とりあえず素直にメッセージに従って対応したら?と伝えたが、
新規ファイルのコミットで失敗したので、対象のファイルがまだサーバになく、
手も足も出ないということだった。

エラーメッセージでググってなんとか英語のソースを読むとバッチリ答えが。
サーバにログインして下記コマンドを打って対象ファイルがロックされていることを確認。
svnadmin lslocks [リポジトリフォルダ]
んで、下記コマンドでロックを解除
svnadmin rmlocks [リポジトリフォルダ] [対象フォルダ]/[アップ対象ファイル]
それで無事にコミットできるようになったとさ。

2012年10月14日日曜日

KVMでUUID云々が原因でドメインを復元できない


今対応している案件について開発機は仮想OSで構築中。
ハイパーバイザに指定はなかったので今回全サーバLinuxなのもあって
KVMで構築することになった。

構築中、libvirtをアップデートしたり、仮想OSを作り直したりしているうちに
下記のエラーが出て仮想OSが起動できなくなった。

failed: cannot restore domain '[ホスト名]' uuid [UUID] from a file which belongs to domain '[ホスト名]' uuid [UUID]

あー直前に作った仮想OSのデータがゴミになって残ったかなと
UUIDを書き換えたり、仮想OSを再作成したりしても消えない。。

最後にエラーメッセージからググって下記のページを参考にした。
spectlog.com

そして、上記ページの通り下記コマンドで無事に復旧。
virsh managedsave-remove [ホスト名]

何というか、ドメインが復元できませんエラーは大抵managedsave-remove
でなんとかなる。

2012年5月21日月曜日

hpマシンのLinuxサーバでLAID構成を確認

ドキュメントの足りないサーバのHW構成を調査する時、
大体LAID構成が最後までわからないことが多い。
今日は故障したHDDの交換に立会い、コマンドを教えてもらったのでメモ。

まず、OSにログインしてACUを立ち上げる。
#hpacucli

で、ACUモードで下記コマンドを実行するとLAID構成が分かる。
=>ctrl slot=0 ld all show

物理的な一覧を表示させるとホットスペアがあるかないかも分かる。

=>ctrl slot=0 pd all show
  →spareとついているHDDがあればそれがホットスペア。
     ちなみにactiveとなっていると壊れたHDDのスペアとして稼働している。

ちなみにLAID5でサーバを組むときはホットスペア前提で考えたほうが良い。
LAID1だとホットスペアは本当にただのスペアでしかないけど、
LAID5の場合は壊れた時に下記のメリットがある。

1.HDD復旧時のリビルドが早い。
  →LAID5構成でホットスペアなしの場合、故障HDDを交換して
     リビルドすると正常HDDからハッシュを計算しつつリビルドするため、
     すごく時間がかかる。
     ホットスペアがあればすでに計算済みのハッシュがホットスペアに
     逃げているため、それをそのままコピーするだけ。
     なので圧倒的に早い。

2.データの損失を防げる。かもしれない。
  →HDD起因でデータがロストしたと聞けば、まずLAID5構成のマシンだ。
     以前後輩が故障したHDDを交換してリビルドが80%までいったところで
     マシンがダウンし、再度マシンを起動したところデータが全損していたことがあった。
     考えられる原因は正常HDDにエラーデータが蓄積しており、
     そこからリビルドのためハッシュを計算させたところデータの整合性が
     とれずに壊れたのではないかとのこと。
     ホットスペアがあればハッシュを逃がすことができたので、防げたかもしれない。
     まぁ、後はこまめに再起動していればデータの整合性チェックもできたかもしれない。
     RAID5構成は敬遠されがちだけど、OSのこまめな再起動とホットスペアが
     できるなら十分運用できると思う。

2012年4月29日日曜日

KVMとClonezillaでP2V

老朽化した社内開発サーバの移行を実施したのだけど、
ドキュメントが全くなく試行錯誤したものの新しいサーバ上への再構築を断念。
新しいサーバに仮想環境としてまるっと移すことにした。
最初、P2Vでググったら「virt-p2v」というソフトがヒットしたけど、
開発が終了しているようで配布も終わっていたのですぐにやめた。
次にddコマンドで流し込もうとしたものの上手く行かず、
同期から勧められたclonezillaを使ったらビックリするくらいすんなりいった。

下記はその手順。

移行元:CentOS5
移行先:CentOS6
2つのサーバは同じネットワークにいるものとする。



1.OSインストール(移行先サーバ)
言語

Japaneseを選択
キーボード
日本語を選択
ストレージデバイス
基本ストレージデバイスを選択
ホスト名
ホスト名とeth0のIPアドレスを設定
タイムゾーンの選択
アジア/東京
システムクロックでUTCを使用にチェックを入れる
rootパスワード設定
※省略
パーティション設定
すべての領域を使用するを選択
システムの暗号化はチェックしない
パーティションのレイアウトの再確認と変更をチェック
デバイスは2つともインストール先デバイスにする
boot用RAIDパーティションを作成(sda)
作成ボタンをクリック
RAIDパーティションを選択して作成
使用可能なドライブにsdaだけを選択
将来のカーネルのアップデートを見越して200MB確保
固定容量(F) を選択
基本パーティションをチェックする
boot用RAIDパーティションを作成(sdb)
作成ボタンをクリック
RAIDパーティションを選択して作成
使用可能なドライブにsdbだけを選択
将来のカーネルのアップデートを見越して200MB確保
固定容量(F) を選択
基本パーティションをチェックする
/boot用RAIDデバイス作成
作成ボタンをクリック
RAIDデバイスを選択して作成
マウントポイントを/boot
ファイルシステムはext4
RAIDデバイスはmd1
RAIDレベルはRAID1
RAIDメンバーはにsda1とsdb1をチェック
OK
LVM用RAIDパーティションを作成(sda)
作成ボタンをクリック
RAIDパーティションを選択して作成
使用可能なドライブにsdaだけを選択
最大許容量まで使用
OK
LVM用RAIDパーティションを作成(sdb)
作成ボタンをクリック
RAIDパーティションを選択して作成
使用可能なドライブにsdbだけを選択
最大許容量まで使用
OK
LVM用RAIDデバイス作成
作成ボタンをクリック
RAIDデバイスを選択して作成
ファイルシステムはLVM
RAIDデバイスはmd2
RAIDレベルはRAID1
RAIDメンバーはにsda2とsdb2をチェック
OK
ボリュームグループ作成作成
作成ボタンをクリック
LVMボリュームグループを選択して作成
追加
ファイルシステムをswap
サイズを4000MB
追加
マウントポイントは/
ファイルシステムをext4
サイズを残り全部
GRUBを/dev/md1にインストール
デフォルトインストール
Virtual Host
今すぐカスタマイズするにチェックする
- リポジトリの選択
デスクトップ
XWindowSystemにチェック
デスクトップにチェック


2.一般ユーザ作成(移行先サーバ)


3.yum update(移行先サーバ)

4.ネットワーク設定(移行先サーバ)
①eth0設定
# system-config-network
> デバイス設定⇒eth0
> 下記のとおり設定
 ***.***.***.***
 ***.***.***.***
 ***.***.***.***
> ok⇒保存⇒保存して終了

②br0設定
# cp -p /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-br0
# vi /etc/sysconfig/network-scripts/ifcfg-br0
> 下記の通り記載
 DEVICE=br0
 TYPE=Bridge
 BOOTPROTO=none
 IPADDR=***.***.***.***
 BROADCAST=***.***.***.***
 GATEWAY=***.***.***.***
 NETMASK=***.***.***.***
 NETWORK=***.***.***.***
 ONBOOT=yes
 IPV6INIT=no
 USERCTL=no

③設定適用
# service network restart


5.バックアップ取得(移植元サーバ)

①clonezillaでCDブート
>Clonezilla live⇒日本語⇒キーマッチをいじらない⇒ディスク/パーティション⇔イメージ⇒sshサーバをマウント⇒[sshfs先に構築サーバの情報を入力]⇒[移植元サーバのIPを入力]⇒savedisk⇒実行

②作業後シャットダウン

6.移植元サーバ仮想化(移植先サーバ)

① ClonzillaのCDをマウント

② GUIで仮想マシンマネージャ起動
> アプリケーション⇒システムツール⇒仮想マシンマネージャ
> ホストを右クリックして新規
> 設定は基本的にデフォルト
   起動はclonezillaを選択
   ディスク容量は適当に指定
③ clonezillaでリカバリ
> Clonezilla live⇒日本語⇒キーマッチをいじらない⇒ディスク/パーティション⇔イメージ⇒sshサーバをマウント⇒[sshfs先に移植先サーバの情報を入力]⇒[自サーバのIPを入力(移植元サーバのでいい)]⇒restoredisk⇒実行


2012年1月14日土曜日

「G」でググると

隠し機能でもなんでもないと思うんだけど、タイプミスしたら面白かったので。

万有引力定数 = 6.67300 × 10-11 m3 kg-1 s-2

2011年12月23日金曜日

krb5-telnetが/etc/issue.netを読み込んでくれない?


ログイン時に警告文を出すことになったのだけど、
一部のサーバで上手くいかなかったのでメモ。

大体のサーバは/etc/issue.netに警告文を書いておけば、
telnetログイン時に読み込んで表示してくれたのだが、
どうしても読み込んでくれないサーバがいた。

issue.netを再作成してるわけでもなく、単純に読み込んでくれない様子。。
何が違うかといえば、対象サーバのお客様の情報担当の方が、
kerberos認証を使用するように言っていたので、
krb5-telnetを利用しているという点くらい。

krb5-telnet はissue読まないのか?
ググッても良く分からない。
最終的に無理くり/etc/xinetd.confのbannner行に/etc/issue.netを指定した。
xinetdにはtelnetの制御しかさせないし。
なんとか表示するようになったが、ただのテキストとして読み込んでいるようで、
シーケンスの意味を理解せず、そのまま表示してしまう。
シーケンス書いている行をとりあえず削除したけど、
それだったらissue.netを読み込ます必要もないよなと思いつつ、一旦完了とした。

2011年11月26日土曜日

pam authentication failed cannot start x server

Oracleインストール中にoracleユーザがstartxを立ち上げられなくてはまったのでメモ。

コンソールのCUIにてrootユーザで必要なモジュールとconfを配置してさぁインストールだ!っと思って、
su - oracleしてstartxしたがpam authentication failed cannot start x server。。。
ググッてもピタっとくる対応策が出てこない。。。

で、ふとoracleユーザからもrootからもログアウトして、oracleユーザでコンソールに
入りなおしてstartxすると今度は素直に立ち上がった。

2011年7月5日火曜日

Oracleのimpで"表がありません"とエラー

真夜中の障害テスト中にドハマリしたので、メモ。

Oracleを使ったシステムを構築している。
データリカバリテストとしてテーブルを一つDROPして、
FULL=Yでexpしておいたファイルから削除したテーブルを
TABLES=で指定してimpコマンドを実行したところ、
"表がありません"とエラー出力された。
sqlplusで接続すると確かに表は作成されていなかった。

ひとまずメッセージを信じてexpしたファイルをviewで
確認したが、件のテーブルをcreateする記述が確かにあった。

結局、勘で原因がわかった。
念のためにDB全体をバックアップするため、
expはSYSTEMユーザで実行している。
ただし、テーブルは通常利用する一般ユーザで作ったものだけを
旧戻しする想定だった。

exp同様、impもSYSTEMユーザで実行したが、
対象テーブルは所有者でないため、認識できなかったようだ。
TOUSERとFROMUSERに一般ユーザを指定したところ、
テーブルが無事に戻った。

2011年4月28日木曜日

SunOS5.9に外付けHDDをマウント

業務でSunOS5.9に外付けHDDをマウントする必要があり、
かなり手間取ったのでメモ。

→結局うまくいかなかった。OpenSolarisなら問題なかったので備忘として残しておく。


◆外付けHDDの名前を調査
tail -f /var/adm/message
ls -l /dev/rdsk/ | grep storage

もしくは

rmformat

◆領域確保
fdisk [外付けHDD名]
> 3
deleteする
: 1
partision番号1を選択
: y
本当に消すかと聞かれるのでyesを選択

> 1
領域をcleateする
: C
FAT32を選択
: 100
領域を100%使用する。
: y
activeにするかと聞かれるのでyesを選択
> 5
Exitする

◆フォーマット
mkfs -F pcfs -o fat=32 [外付けHDD名]:1

◆マウント
mount -F pcfs [外付けHDD名]:1 /mnt


------------------------------------

★マウントできない時

Solaris9だとブロック型デバイスじゃないと怒られた。。。

◆領域確保
fdisk [外付けHDD名]
> 3
deleteする
: 1
partision番号1を選択
: y
本当に消すかと聞かれるのでyesを選択

> 1
領域をcleateする
: 1
Solarisを選択
: 100
領域を100%使用する。
: y
activeにするかと聞かれるのでyesを選択
> 4
Exit(update)する

◆フォーマット
newfs -f 4096 [外付けHDD名]
#外付けHDDのサイズが大きいからかフラグメントサイズを4096にしろと言われたので、-fをつけた。
 普通は要らないかも

◆マウント
mount [外付けHDD名] /mnt