投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償)
logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)
The Document Foundation Wiki

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2015年1月22日木曜日

【Linux CentOS 6.5 64bit】Canonプリンタドライバを更新して新しいプリンタを導入する【cndrvcups 2.90】

新規に導入する場合はこちらを参照してください。
http://akira-arets.blogspot.jp/2013/12/linux-centos65-64bitcanoniplinux-lipslx.html
 

<概要>
キャノンプリンタとドライバをすでに導入しているLinuxシステムに新しいプリンタを追加するとき、
この追加するプリンタに導入済みのドライバが非対応の場合、新しいドライバに更新する必要がある。

以下では、古いキャノンプリンタドライバを新しいプリンタドライバに更新する手順を示している。
手順は、キャノンプリンタの設定を全て削除した後、古いプリンタドライバを削除してから、
新しいプリンタドライバを導入して、再びプリンタの設定を行うようにした。



1、準備と作業前の確認

□ システムの情報を表示させた。

[root@vm ~]# uname -a
Linux vm1 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 23:32:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


□ 現在すでに導入されて利用可能なプリンタの一覧を取得した。
[root@vm ~]# lpstat -p
プリンター Cups-PDF は待機中です。2014年12月25日 21時31分49秒 以来有効です

プリンター LBP3900-LIPSLX は待機中です。2015年01月14日 16時56分50秒 以来有効です
プリンター LBP5900-LIPSLX は待機中です。2015年01月14日 21時55分52秒 以来有効です
プリンター LBP8610-LIPSLX は待機中です。2014年12月03日 18時11分10秒 以来有効です



2、現在のプリンタ設定の削除と、旧ドライバの削除

■ 上記のCANONの各プリンタ設定を削除した。
[root@vm RPM]# /usr/sbin/lpadmin -x LBP3900-LIPSLX
[root@vm RPM]# /usr/sbin/lpadmin -x LBP5900-LIPSLX
[root@vm RPM]# /usr/sbin/lpadmin -x LBP8610-LIPSLX


□ 削除されたかを確認した。
[root@vm1-cc RPM]# lpstat -p
プリンター Cups-PDF は待機中です。2014年12月25日 21時31分49秒 以来有効です

□ 現在のプリンタドライバのバージョンを表示させた。
[root@vm ~]# rpm -qa | grep cndrv
cndrvcups-lipslx-2.70-1.x86_64
cndrvcups-common-2.70-1.x86_64

■ 古いプリンタドライバの削除を行った。
(削除する順番に注意する。commonは、lipslxに依存されているため。)
[root@vm RPM]# rpm -e cndrvcups-lipslx-2.70-1
[root@vm RPM]# rpm -e cndrvcups-common-2.70-1

□ 削除できたか確認した。
(何も表示されないので削除ができていることがわかった。)
[root@vm RPM]# rpm -qa | grep cndrv



3、新しいプリンタドライバのインストールを行った

□ 新しいプリンタドライバをキャノンのサイトからダウンロードして展開した。
[root@vm canon]# tar -zxvf linux-lipslx-printerdriver64-v290.tar.gz
linux-lipslx-printerdriver64-v290/
linux-lipslx-printerdriver64-v290/64-bit_Driver/
linux-lipslx-printerdriver64-v290/64-bit_Driver/Debian/
linux-lipslx-printerdriver64-v290/64-bit_Driver/Debian/cndrvcups-common_2.90-1_amd64.deb
linux-lipslx-printerdriver64-v290/64-bit_Driver/Debian/cndrvcups-lipslx_2.90-1_amd64.deb
linux-lipslx-printerdriver64-v290/64-bit_Driver/RPM/
linux-lipslx-printerdriver64-v290/64-bit_Driver/RPM/cndrvcups-common-2.90-1.x86_64.rpm
linux-lipslx-printerdriver64-v290/64-bit_Driver/RPM/cndrvcups-lipslx-2.90-1.x86_64.rpm

linux-lipslx-printerdriver64-v290/Documents/
linux-lipslx-printerdriver64-v290/Documents/guide-lipslx-2.9x.tar.gz
linux-lipslx-printerdriver64-v290/Documents/LICENSE-lipslxdrv-2.90.txt
linux-lipslx-printerdriver64-v290/Documents/README-lipslx-2.9x.txt

□ インストールするパッケージのあるディレクトリへ移動して、ファイルの確認をした。
[root@vm RPM]# ls
cndrvcups-common-2.90-1.x86_64.rpm  cndrvcups-lipslx-2.90-1.x86_64.rpm

■ プリンタドライバをインストールした。

(インストール順番に気をつける。)
[root@vm RPM]# rpm -ivh cndrvcups-common-2.90-1.x86_64.rpm
準備中...                ########################################### [100%]
   1:cndrvcups-common       ########################################### [100%]
[root@vm RPM]# rpm -ivh cndrvcups-lipslx-2.90-1.x86_64.rpm
準備中...                ########################################### [100%]
   1:cndrvcups-lipslx       ########################################### [100%]

□ 新しいバージョンがインストール完了したことを確認した。
[root@vm RPM]# rpm -qa | grep cndrv
cndrvcups-common-2.90-1.x86_64
cndrvcups-lipslx-2.90-1.x86_64



4、プリンタを再び導入した。

■ (重要)まず、CUPSを再起動した。
[root@vm RPM]# service cups restart
cups を停止中:                                             [  OK  ]
cups を起動中:                                             [  OK  ]

■ プリンタを登録しなおした。(†1
[root@vm RPM]# /usr/sbin/lpadmin -p LBP5910-LIPSLX -P /usr/share/cups/model/CNCUPSLBP5910ZJ.ppd -v lpd://192.168.100.11 -E

[root@vm RPM]# /usr/sbin/lpadmin -p LBP3900-LIPSLX -P /usr/share/cups/model/CNCUPSLBP3950ZJ.ppd -v lpd://192.168.100.12 -E

[root@vm RPM]# /usr/sbin/lpadmin -p LBP8710-LIPSLX -P /usr/share/cups/model/CNCUPSLBP8720ZJ.ppd -v lpd://192.168.100.13 -E

[root@vm RPM]# /usr/sbin/lpadmin -p iRC2550-LIPSLX -P /usr/share/cups/model/CNCUPSIRC2550ZJ.ppd -v lpd://192.168.100.14 -E

[root@vm RPM]# /usr/sbin/lpadmin -p LBP8610-LIPSLX -P /usr/share/cups/model/CNCUPSLBP8630ZJ.ppd -v lpd://192.168.100.15 -E

[root@vm RPM]# /usr/sbin/lpadmin -p iRADVC2230-LIPSLX -P /usr/share/cups/model/CNCUPSIRADVC2230ZJ.ppd -v lpd://192.168.100.16 -E


□ プリンタの登録状況を確認した。
[root@vm RPM]# lpstat -p
プリンター Cups-PDF は待機中です。2014年12月25日 21時31分49秒 以来有効です
プリンター iRC2550-LIPSLX は待機中です。2015年01月15日 05時06分12秒 以来有効です
プリンター LBP8710-LIPSLX は待機中です。2015年01月15日 05時06分12秒 以来有効です
プリンター LBP3900-LIPSLX は待機中です。2015年01月15日 05時06分11秒 以来有効です
プリンター LBP5910-LIPSLX は待機中です。2015年01月15日 05時06分11秒 以来有効です
プリンター iRADVC2230-LIPSLX は待機中です。2015年01月15日 05時06分14秒 以来有効です
プリンター LBP8610-LIPSLX は待機中です。2015年01月15日 05時06分12秒 以来有効です

以上


<参考>
・【Linux CentOS6.5 64bit版】ネットワーク対応CANONレーザープリンタをIPネットワーク経由で利用するための設定【linux-lipslx-printerdriver64-v270.tar.gz】
< http://akira-arets.blogspot.jp/2013/12/linux-centos65-64bitcanoniplinux-lipslx.html >2015年1月22日

2015年1月6日火曜日

【Linux Raspbian】仮想端末tmuxでprotocol version mismatchエラーの発生原因と対処方法について

■tmux再接続ができなくなる問題発生の経緯

tmuxによる仮想端末上で、apt-get upgrade などのコマンドでシステムをアップデートしたとき、
tmux自体も同時にアップデートされたようだ。

何も考えずに、システムアップデート作業中のこのtmux仮想端末をデタッチした。
しばらくして再び、tmux attach して「仮想端末」にアクセスしようとすると、次のエラーが発生した。

root@raspberrypi:~# tmux attach
protocol version mismatch (client 8, server 6)


■その理由

原因はすぐに予想できた。

システムアップデートでtmuxパッケージが更新された。
このアップデートでも、メモリ上に存在し続けている「tmuxプロセス」自体はアップデートの影響を受けず、古いバージョンのままである。
しかし、tmux仮想端末をデタッチし再びアタッチしようとすると、
アタッチを行うプロセス(client)はパッケージ更新後の新しいバージョンになっている。
新しいバージョンのクライアントから、 古いバージョンのサーバープロセスに接続できないので、さきのエラーとなるのだろう。



■対策

1、まず、現在接続不能になっている古いサーバープロセスの番号を調べる。
root@raspberrypi:~# pgrep tmux
2122
2、次のようにして、調べたプロセス番号を指定し、クライアントとして実行する。
root@raspberrypi:~# /proc/2122/exe attach
[exited]

無事にtmuxセッションへ再接続できた。



■考察

次のように、exeが、tmuxへシンボリックリンクになっていることがわかった。

root@raspberrypi:~# pgrep tmux
28066
root@raspberrypi:~# ls -all  /proc/28066/exe
lrwxrwxrwx 1 root root 0 Jan  6 14:13 /proc/28066/exe -> /usr/bin/tmux

この方法が通じるのは、tmux がサーバーとクライアントで同じ型のプログラムを使っているからだろう。
たぶん、残存しているサーバーの「プロセス」に対して、これと同じプログラムをクライアントとして、接続するわけである。

しかし、 exeは実体ファイルへのシンボリックリンクである。
だから、システムのアップデートでtmuxが更新されれば、
リンクされている実体ファイルは、新しいバージョンに更新されると思う。
したがって、さきの方法「exe attach」で実行されるクライアントプログラムも、
新しいバージョンのものになってしまうだろうと思う。

どうして、さきの方法で、バージョンの不適合エラーを回避できたのかわからない。



<参考>
・Peter Van Eynde Shared publicly  -  May 7, 2013
< https://plus.google.com/110139418387705691470/posts/BebrBSXMkBp > 2015年1月6日

・protocol version mismatch (client 8, server 6) when trying to upgrade
< http://unix.stackexchange.com/questions/122238/protocol-version-mismatch-client-8-server-6-when-trying-to-upgrade > 2015年1月6日

・今週のお題 - /proc/プロセスID を探検する
< http://www.usupi.org/sysad/024.html > 2015年1月6日

・リンクについて
< http://cmd.misty.ne.jp/environment/03.html > 2015年1月6日

投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad