2015年7月29日水曜日

Ubuntu 12.04 fdisk でバックアップ用 HDD のパーティションを切る (期待値、検出値?)

Ubuntu 12.04 環境で、バックアップ用 HDD を増設。fdisk を使ってパーティションを切ろうとした時に、はまったのでメモしておく。

/dev/sda でメインシステムを運用。HDD を増設して、/dev/sdb とし、/dev/sda と同じパーティションを切って、バックアップを取りたい。

1. /dev/sda のパーティション情報を元に、/dev/sdb のパーティションを設定 (説明省略)

結果はこんな感じ。ここまでは問題なかった。

# fdisk /dev/sdb

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

コマンド (m でヘルプ): p

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
ヘッド 255, セクタ 63, シリンダ 121601, 合計 1953525168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスク識別子: 0x4f95d8ca

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048   195311615    97654784   83  Linux
/dev/sdb2       195311616   390623231    97655808   83  Linux
/dev/sdb3       390623232   453124095    31250432   82  Linux スワップ / Solaris
/dev/sdb4       453124096  1953525167   750200536   83  Linux

2. sfdisk で確認

ムムム、なんだこれは? 期待値? 検出値?

# sfdisk -l

ディスク /dev/sda: シリンダ数 121601、ヘッド数 255、63 セクタ/トラック
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   デバイス 起動 始点      終点 #シリンダ #ブロック ID  システム
/dev/sda1   *      0+  12157-  12158-  97654784   83  Linux
/dev/sda2      12157+  24315-  12158-  97655808   83  Linux
/dev/sda3      24315+  28205-   3891-  31250432   82  Linux スワップ / Solaris
/dev/sda4      28205+ 121601-  93396- 750199808   83  Linux

ディスク /dev/sdb: シリンダ数 121601、ヘッド数 255、63 セクタ/トラック
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   デバイス 起動 始点      終点 #シリンダ #ブロック ID  システム
/dev/sdb1          0+  12157-  12158-  97654784   83  Linux
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(893,149,24)
/dev/sdb2      12157+  24315-  12158-  97655808   83  Linux
                開始: (c,h,s) 期待値=(1023,254,63) 検出値=(893,149,25)
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(763,43,48)
/dev/sdb3      24315+  28205-   3891-  31250432   82  Linux スワップ / Solaris
                開始: (c,h,s) 期待値=(1023,254,63) 検出値=(763,43,49)
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(557,170,61)
/dev/sdb4      28205+ 121601-  93396- 750200536   83  Linux
                開始: (c,h,s) 期待値=(1023,254,63) 検出値=(557,170,62)
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(769,80,63)

3. 答えはここにありました

http://ubuntuforums.org/archive/index.php/t-1013167.html

4. 早速試す

# sfdisk -d /dev/sdb | sfdisk --force /dev/sdb

現在、誰もこのディスクを使っていないかを調べます...
OK

ディスク /dev/sdb: シリンダ数 121601、ヘッド数 255、63 セクタ/トラック
古い状態:
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   デバイス 起動 始点      終点 #シリンダ #ブロック ID  システム
/dev/sdb1          0+  12157-  12158-  97654784   83  Linux
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(893,149,24)
/dev/sdb2      12157+  24315-  12158-  97655808   83  Linux
                開始: (c,h,s) 期待値=(1023,254,63) 検出値=(893,149,25)
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(763,43,48)
/dev/sdb3      24315+  28205-   3891-  31250432   82  Linux スワップ / Solaris
                開始: (c,h,s) 期待値=(1023,254,63) 検出値=(763,43,49)
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(557,170,61)
/dev/sdb4      28205+ 121601-  93396- 750200536   83  Linux
                開始: (c,h,s) 期待値=(1023,254,63) 検出値=(557,170,62)
                終点: (c,h,s) 期待値=(1023,254,63) 検出値=(769,80,63)
新しい状態:
ユニット = 512 バイトのセクタ、0 から数えます

   デバイス 起動    始点        終点  #セクタ   ID システム
/dev/sdb1          2048 195311615  195309568  83  Linux
/dev/sdb2     195311616 390623231  195311616  83  Linux
/dev/sdb3     390623232 453124095   62500864  82  Linux スワップ / Solaris
/dev/sdb4     453124096 1953525167 1500401072  83  Linux
警告: パーティション 1 はシリンダ境界で終わっていません
警告: パーティション 2 はシリンダ境界から始まっていません
警告: パーティション 2 はシリンダ境界で終わっていません
警告: パーティション 3 はシリンダ境界から始まっていません
警告: パーティション 3 はシリンダ境界で終わっていません
警告: パーティション 4 はシリンダ境界から始まっていません
警告: パーティション 4 はシリンダ境界で終わっていません
警告: ブート可能な基本パーティションがありません
LILO にとっては問題ありませんが、DOS MBR はこのディスクをブートできなく
なってしまいます。
新しいパーティション情報の書き込みに成功しました

パーティション情報を読み込み直しています...
BLKRRPART: デバイスもしくはリソースがビジー状態です
パーティションテーブルを再読込みするコマンドが失敗しました。
mkfs を使う前に、partprobe(8) か kpartx(8) を実行するか、
システムを再起動してください
もし、DOS パーティションを作成または変更したならば -- たとえば /dev/foo7 、
dd(1) をつかって最初の 512 バイトをゼロにして下さい:
dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(詳細は fdisk(8)を見てください。)

5. 再度 sfdisk で確認。

よしよし (解決)。

# sfdisk -l

ディスク /dev/sda: シリンダ数 121601、ヘッド数 255、63 セクタ/トラック
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   デバイス 起動 始点      終点 #シリンダ #ブロック ID  システム
/dev/sda1   *      0+  12157-  12158-  97654784   83  Linux
/dev/sda2      12157+  24315-  12158-  97655808   83  Linux
/dev/sda3      24315+  28205-   3891-  31250432   82  Linux スワップ / Solaris
/dev/sda4      28205+ 121601-  93396- 750199808   83  Linux

ディスク /dev/sdb: シリンダ数 121601、ヘッド数 255、63 セクタ/トラック
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   デバイス 起動 始点      終点 #シリンダ #ブロック ID  システム
/dev/sdb1          0+  12157-  12158-  97654784   83  Linux
/dev/sdb2      12157+  24315-  12158-  97655808   83  Linux
/dev/sdb3      24315+  28205-   3891-  31250432   82  Linux スワップ / Solaris
/dev/sdb4      28205+ 121601-  93396- 750200536   83  Linux

● fdisk, 期待値, 境界値, sfdisk, パーティション, partition, sda, sdb, おかしい, 変, expected, found, (c,h,s)

Word、Excel 2010 で、貼り付けオプションを非表示にする

Word、Excel 2010 で、一回貼り付けを行うと、貼り付けオプションが表示されるようになる。
YAMY とか使っている自分としては、操作の邪魔でしかない。
それを表示しないようにする手順。

「ファイル」→「オプション」→「詳細設定」→「切り取り、コピー、貼り付け」
「コンテンツを貼り付けるときに[貼り付けオプション]ボタンを表示する」 のチェックを外す。

わかってしまえば、意外に簡単やった。
これで快適♪

● Word, Excel, 2010, 貼り付け, オプション, 邪魔, 非表示, いらん, 不要, 無くしたい, 表示しない, office

Outlook + Exchange 環境で Mew するメモ (追記: Office365 EWS)

詳しくは書かない。
DavMail を PC にインストールして、それ経由で Outlook Web Access (OWA) にアクセスする。

1. DavMail をインストール

下記サイトからダウンロードして、インストールする。
DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway

2. DavMail の設定。

OWA (Exchange) URL: を設定するぐらい。

3. 証明書を追加

コマンドプロンプトで下記を実行。
(Java のパスは適宜読み替える)

> cd "C:\Program Files (x86)\Java\jre1.8.0_51\bin"
> keytool -import -alias "[CA 名]" -keystore "C:\Program Files (x86)\Java\jre1.8.0_51\lib\security\cacerts" -trustcacerts -file [PKI_FILE_NAME].cer -storepass changeit 

4. Mew の設定

抜粋。DOMAIN\\USER は適当に変更。

("smtp-server" . "127.0.0.1")
("smtp-port"   . "1025")
("smtp-user"   . "DOMAIN\\USER")
("pop-server"  . "127.0.0.1")
("pop-port"    . "1110")
("pop-auth"    . pass)
("pop-user"    . "DOMAIN\\USER")

■ 課題

  • Outlook から送信されたメールの Date: ヘッダの time zone が +0000 になっている。
  • 機種依存文字付きメールを返信すると、文字化けする。

■ 参考

DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway
http://osdn.jp/projects/sfnet_davmail/

■ 2015/08/15 追記

■ Message 画面で、ローカル時刻を表示する設定

;; ローカル時刻を表示
(defvar mew-my-message-date-overlay nil)

(defun mew-my-message-date-overlay ()
  (or
   mew-my-message-date-overlay
   (setq mew-my-message-date-overlay
         (make-overlay (point-min) (point-min)))))

(defun mew-my-message-display-local-date ()
  (condition-case err
      (save-excursion
        (goto-char (point-min))
        (when (re-search-forward (concat "^" mew-date: " *\\(.*\\)") nil t)
          (let* ((original (match-string 1))
                 (start (match-beginning 1))
                 (end (match-end 1))
                 (ov (mew-my-message-date-overlay))
                 (time (parse-time-string original))
                 (orig-tz (nth 8 time))
                 (tz (nth 8 (decode-time (current-time))))
                 (date (apply 'encode-time time))
                 (local (mew-time-ctz-to-rfc date)))
            (unless (equal orig-tz tz)
              (let ((new (format "%s == %s" local original)))
                (move-overlay ov start end (current-buffer))
                (overlay-put ov 'display new))))))
    (error
     (message "%s" err))))

(add-hook 'mew-message-hook 'mew-my-message-display-local-date)

■ summary mode で、ローカル時刻を表示する設定

mew-scan.el を変更することで対処。

(defun mew-summary-form-time ()
  "A function to return a message time, HH:MM"
  (let ((s (MEW-DATE)))
    (setq s (timezone-make-date-arpa-standard
             (if (or (string= s "")
                     (not (string-match mew-time-rfc-regex s)))
                 (mew-time-ctz-to-rfc
                  (mew-file-get-time (mew-expand-msg (MEW-FLD) (MEW-NUM))))
               s)))
    (if (string-match mew-time-rfc-regex s)
        (format "%02d:%02d"
                (or (mew-time-rfc-hour) 0)
                (or (mew-time-rfc-min)  0))
      "00:00")))

(defun mew-summary-form-date ()
  "A function to return a date, MM/DD."
  (let ((s (MEW-DATE)))
    (setq s (timezone-make-date-arpa-standard
             (if (or (string= s "")
                     (not (string-match mew-time-rfc-regex s)))
                 (mew-time-ctz-to-rfc
                  (mew-file-get-time (mew-expand-msg (MEW-FLD) (MEW-NUM))))
               s)))
    (if (string-match mew-time-rfc-regex s)
       (format "%02d/%02d"
               (mew-time-mon-str-to-int (mew-time-rfc-mon))
               (mew-time-rfc-day))
      "")))

■ 追記: 2020/07/31 追記 Office365 EWS サーバに移行したときのメモ

参考: http://davmail.sourceforge.net/faq.html
会社の方針で、Office365 EWS に移行することになりました。
DavMail の OWA (Exchange) URL の設定を下記に変更するぐらいでした。

https://outlook.office365.com/EWS/Exchange.asmx

それにしても、2020 年 10 月 13 日 に Office 365 で EWS 利用時の
Basic 認証 (基本認証) が廃止予定 という記事が気になるなぁ。

■ 追記: 2021/01/22 追記 リモートワークで、自宅から Office365 EWS サーバに接続できなくなったときのメモ

コロナ禍で、リモートワークが増えました。しばらくの間、自宅からも EWS サーバに接続できていたのですが、
認証が失敗するようになりました。
ログを確認すると Authentification failed: invalid user or password となる。
Exchange Protocol の設定を EWS から O365Interactive (Office 365 interactive Authentification) に変更して、
アクセスし、Microsoft の認証をしてから、DavMail からのアクセスを許可。空白ページになったところで、
表示されている URL をコピペして DavMail に貼り付けると認証が成功するようになりました。
セキュリティポリシーが変わったんだろうか。

● Outlook, Exchange, Emacs, Mew, mew, 使えん, Outlook Web Access, OWA, DavMail, POP, IMAP, Office365 EWS, 認証失敗, invalid user or password