MAC でラズパイのSDカードをバックアップする (その2)


その1の方法 では、SDカードの領域全て (例えば16GB) がバックアップされます。
実際には、4GBしか使っていないときは、その分だけバックアップした方が、早く済みます。

(1) ラズパイにて、SDカードのパーティションを調べる。

$ sudo fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 15.7 GB, 15720251392 bytes
4 heads, 16 sectors/track, 479744 cylinders, total 30703616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa6202af7
        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880     6399999     3138560   83  Linux

セクタは 512 バイトで、頭から 6,400,000 ブロックが使用されています。

(2) ラズパイからSDカードを抜いて、MACに差します。

(3) MACにて、SDカードがマウントされたディクスを確認します。

$ df -h
/dev/disk1s1    56Mi   20Mi   36Mi    36%      512        0  100%   /Volumes/boot

/dev/disk1s1 はデバイス(device)として認識されている「1」番目のディクス(disk)の「1」番目のセクション(section)という意味です。
ディスクを指定するときは /dev/disk1 です。

(4) ラズパイにて、SDカードのパーティションを調べる。

$ sudo fdisk /dev/disk1

Disk: /dev/disk1	geometry: 1911/255/63 [30703616 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0C    0 130   3 -    7 165  30 [      8192 -     114688] Win95 FAT32L
 2: 83    7 165  31 -  398  97  19 [    122880 -    6277120] Linux files*
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused 

使用されているブロック数は、次のように計算します。
start 122880 + size 6277120 = 6,400,000
これは、(1)で調べた数値と同じです。

(5) SDカードからディスクイメージを読み出します。
10分くらいかかります。

$ sudo dd if=/dev/disk1 of=pi.img bs=512 count=6400000

6400000+0 records in
6400000+0 records out
3276800000 bytes transferred in 439.500641 secs (7455734 bytes/sec)

/dev/disk1 は上記で調べたディスク名称、pi.img は任意の名前です。bs=512 はブロック当たりのバイト数、count=6400000 は使用しているブロック数です。

(6) SDカードをイジェクトします。

$ diskutil eject /dev/disk1

(7) MAC からSDカードを取り出します。


MAC でラズパイのSDカードをバックアップする (その1)


MAC でラズパイのSDカードをバックアップする
ラズパイのSDカードは、Linux形式でフォーマットされているため、通常のMACの操作ではバックアップできません。
UNIX由来の dd コマンド を使用します。
dd – convert and copy a file

(1) ラズパイからSDカードを抜いて、MACに差します。

(2) SDカードがマウントされたディクスを確認します。

$ df -h
/dev/disk1s1    56Mi   20Mi   36Mi    36%      512        0  100%   /Volumes/boot

/dev/disk1s1 はデバイス(device)として認識されている「1」番目のディクス(disk)の「1」番目のセクション(section)という意味です。
ディスクを指定するときは /dev/disk1 です。

(3) SDカードからディスクイメージを読み出します。
30分くらいかかります。

$ sudo dd if=/dev/disk1 of=pi.img
30564352+0 records in
30564352+0 records out
15648948224 bytes transferred in 1676.189143 secs (9336028 bytes/sec)

/dev/disk1 は上記で調べたディスク名称、pi.img は任意の名前です。

(4) SDカードをイジェクトします。

$ diskutil eject /dev/disk1

(5) MAC からSDカードを取り出します。


ラズパイを経由して SRM-20 を制御する


SRM-20 はローランド社の切削機器です。
USBプリンタのインターフェイスを具備しています。

加工データの作成
PCからWEBブラウザで fabcam.cc にアクセスします。

http://fabcam.cc/

fabcam.cc にて、SRM-20 の加工データを作成して、PCにダウンロードします。

加工データの転送1
PCからSFTPでラズパイに接続します。
ダウンロードした加工データをラズパイに転送します。

加工データの転送2
PCからSSHでラズパイにログインします

$ ssh pi@hostname.local

デフォルトでは、ユーザ名「pi」とパスワード「raspberry」です。

下記のコマンドでプリンタサーバーに加工データを設定します。

通常であれば、ただちに、SRM-20 に転送されて、SRM-20 が動作を開始します。


ラズパイのプリンタとして SRM-20 を登録する


SRM-20 はローランド社の切削機器です。
USBプリンタのインターフェイスを具備しています。

WEBブラウザからラズパイのCUPS管理画面にアクセスします

http://hostname.local:631/

管理者向けの「プリンタとクラスの追加」をクリックします。
20160203_cups_printer_first

「プリンタの追加」1が表示されます。
ローカルプリンターに、接続されているプリンタとして SRM-20 が表示されます。
チェックして、「続ける」をクリックします。
20160204_cups_srm20_add

「プリンタの追加」2が表示されます。
「続ける」をクリックします。
20160204_cups_srm20_name

「プリンタの追加」3が表示されます。
モデルに「RAW」を選択して、「プリンターの追加」をクリックします。
20160204_cups_srm20_model

「デフォルトオプション変更」が表示されます。
「デフォルトオプションの設定」をクリックします。

「待機中」が表示されます。
20160204_cups_srm20_added

以上で登録が終わりした。


ラズパイにプリンタを登録する


WEBブラウザから CUPS の管理画面にアクセスします

http://hostname.local:631/

管理画面が表示されます。
管理者向けの「プリンタとクラスの追加」をクリックします。
20160203_cups_printer_first

Upgrade Required が表示されます。
指示されたとおりに https でアクセスします。
20160203_cups_upgrade

「この接続ではプライバーが保護されません」というような警告が表示されます。
この警告は Chrome ブラウザを使った場合です。
警告の意味は、下段で。
「詳細設定」をクリックします。
20160203_cups_auth_invalid_summary

詳細設定が表示されます。
「192.168.1.7 にアクセスする(安全ではありません)」をクリックします。
20160203_cups_auth_invalid_detail

「認証が必要」が表示されます。
ユーザ名とパスワードを入力して、ログインします。
デフォルトでは、ログインと同様に、ユーザ名「pi」とパスワード「raspberry」です。
20160203_cups_auth

再度、管理画面が表示されます。
管理者向けの「プリンタとクラスの追加」をクリックします。
20160203_cups_printer_first

「プリンタの追加」1が表示されます。
ローカルプリンターに、接続されているプリンタが表示されます。
例では 「Canon MG5700 Series」
チェックして、「続ける」をクリックします。
20160203_cups_canon_add

「プリンタの追加」2が表示されます。
「続ける」をクリックします。
20160203_cups_canon_name

「プリンタの追加」3が表示されます。
モデルを選択します。
ずばりがなっかったので、「MG5300」を選択して、「プリンターの追加」をクリックします。
20160203_cups_canon_model

「デフォルトオプション変更」が表示されます。
「デフォルトオプションの設定」をクリックします。
20160203_cups_canon_options

「待機中」が表示されます。
「テストページの印刷」を行います。
20160203_cpus_canon_test

残念ながら、印字できませんでした。(^^;

この接続ではプライバーが保護されません とは
https で接続する場合は 接続先のサーバーに認証局が発行した「サーバ証明書」が必要です。
しかし、開発用のサーバーや、ローカルネット接続のサーバーなどでは、いちいち認証を受けたりはしません。
そのため、このような警告が表示されます。
なお、通常のインターネットで、このような警告がでた場合は、正規の認証を受けていない怪しいサーバーということです。

参考
Raspberry Pi プリンタセットアップ
SSLサーバ証明書


ラズパイに CUPS をインストールする


20160202raspi_cups

ラズパイ (Raspberry Pi) に CUPS をインストールします。
CUPS は、Common Unix Printing System の略で、Unix系のモジュール化された印刷システムです。

インストール

$ sudo apt-get install cups
...
0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded.
...

60個ほどのパッケージがインストールされ、 メッセージが沢山表示されます

CPUS の管理画面をPCから見れるようにする

$ sudo nano /etc/cups/cupsd.conf

/etc/cups/cupsd.conf

下記を変更する
#Listen localhost:631
Port 631

# Restrict access to the server...
<Location />
  Order allow,deny
# 下記を追加
  Allow @Local
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
# 下記を追加
  Allow @Local
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
# 下記を追加
  Allow @Local
</Location>

Webインターフェースから印刷できるようにユーザを追加する

$ sudo adduser pi lpadmin

CUPS をリスタートする

$ sudo service cups restart
[ ok ] Restarting Common Unix Printing System: cupsd.

CUPS の管理画面
WEBブラウザからアクセスする

http://hostname.local:631/

hostname はラズパイのホスト名

20160202raspi_cups

CUPS システムコマンド

$ ls /usr/sbin/cups*
/usr/sbin/cupsaccept  /usr/sbin/cupsd        /usr/sbin/cupsfilter
/usr/sbin/cupsaddsmb  /usr/sbin/cupsdisable  /usr/sbin/cups-genppdupdate
/usr/sbin/cupsctl     /usr/sbin/cupsenable   /usr/sbin/cupsreject

cupsaccept/cupsreject – accept/reject jobs sent to a destination
cupsaddsmb – export printers to samba for windows clients
cupsctl – configure cupsd.conf options
cupsd – cups scheduler
cupsdisable, cupsenable – stop/start printers and classes
cupsfilter – convert a file to another format using cups filters
cups-genppdupdate – update CUPS+Gutenprint PPD files

CUPS コマンド

$ ls /usr/bin/lp*
/usr/bin/lp         /usr/bin/lppasswd  /usr/bin/lpr   /usr/bin/lpstat
/usr/bin/lpoptions  /usr/bin/lpq       /usr/bin/lprm

lp – ファイルを印刷する
lpr – ファイルを印刷する
lpoptions – プリンタのオプションやデフォルトの表示・設定を行う
lpq – プリンタ・キューの状態を表示する
lprm – 印刷ジョブの取り消しを行う
lpstat – CUPS のステータス情報を表示する
lppasswd – add, change, or delete digest passwords.

CUPS 設定ファイル

$ ls /etc/cups/
classes.conf  cupsd.conf     cups-files.conf
ppd           printers.conf  snmp.conf 
ssl

classes.conf – class configuration file for cups
cupsd.conf – server configuration file for cups
printers.conf – printer configuration file for cups

参考
ラズベリーパイをプリントサーバにして社内便利化計画
Raspberry Piでプリントサーバ、Part1 Windows & Mac編


CUPS for MAC


20160201mac_cups_admin

CUPS は、Common Unix Printing System の略で、Unix系のモジュール化された印刷システムです。
MAC の印刷システムにも採用されています。

CUPS システムコマンド

$ ls /usr/sbin/cups*
/usr/sbin/cupsaccept	/usr/sbin/cupsd		/usr/sbin/cupsfilter
/usr/sbin/cupsaddsmb	/usr/sbin/cupsdisable	/usr/sbin/cupsreject
/usr/sbin/cupsctl	/usr/sbin/cupsenable

cupsaccept/cupsreject – accept/reject jobs sent to a destination
cupsd – cups scheduler
cupsfilter – convert a file to another format using cups filters
cupsaddsmb – export printers to samba for windows clients
cupsdisable, cupsenable – stop/start printers and classes
cupsctl – configure cupsd.conf options

CUPS コマンド

$ ls /usr/bin/lp*
/usr/bin/lp		/usr/bin/lpq		/usr/bin/lpstat
/usr/bin/lpoptions	/usr/bin/lpr
/usr/bin/lppasswd	/usr/bin/lprm

lp – print files
lpr – print files
lpq – show printer queue status
lpstat – print cups status information
lpoptions – display or set printer options and defaults
lppasswd – add, change, or delete digest passwords.
lprm – cancel print jobs

CUPS 設定ファイル

$ ls /etc/cups/
certs           cups-files.conf	  interfaces      
snmp.conf       cupsd.conf	  ppd            
printers.conf

cupsd.conf – server configuration file for cups
printers.conf – printer configuration file for cups
cups-files.conf – file and directory configuration file for cups
snmp.conf – configuration files for the Net-SNMP applications

PPD ファイル

$ ls /etc/cups/ppd
Canon_MG5700_series.ppd	

PPD は、PostScript Printer Description の略で、PostScript プリンタで利用可能なすべての機能を記述するためプリンタ・メーカーにより作成・供給されるテキスト・ファイルです。
Mac OS X: PostScript プリンタ用の PPD ファイルを選ぶ方法

使用例
プリントサービスの状態を表示する

$ lpstat -t
scheduler is running
no system default destination
device for Canon_MG5700_series: ippusb://Canon%20MG5700%20series._ipp._tcp.local./?uuid=00000000-0000-1000-8000-60128B07B4AA
Canon_MG5700_series accepting requests since ...
printer Canon_MG5700_series is idle.  enabled since ...

ファイルの中身を印刷する

$ lpr -P Canon_MG5700_series sample.txt

CUPS の管理画面
デフォルトではアクセス制限がかかっているので、解除します。

$ sudo cupsctl WebInterface=yes

WEBブラウザからアクセスする

http://localhost:631/

20160201mac_cups_admin
20160201mac_cups_printer