Linuxゲリラ戦記

恒例のDebianへのAdobe Flash Playerインストール方法。
2015/7/11に補足その2の設定ファイルの内容と記事の「補足」を修正しました。
2017/8/5に更新エラーが出る場合の対応方法を追記しました。

左を向いているペンギンみたいなキャラクター、ナックス

Debian GNU/Linux 8.0 jessieにAdobe Flash Playerをインストールする

こんにちは。ウェブブラウザの技術が発展して、別にFlashを入れなくてもYouTubeを見られるようになってきた昨今、いかがお過ごしですか?まあ、でも、何かと使う場面もあるAdobe Flash Player。いつもDebianの新しいバージョンが出るたびにインストール方法を解説しているのですが、今回も解説します。インストール方法は今までと同じです。

Debianではパッケージ(ソフトウェア)をインストールするのにaptitudeコマンド(もしくはapt-getコマンド)を使用します。Adobe Flash Playerも、このコマンドを使用してインストールすることが可能です。今回はaptitudeコマンドを使用したAdobe Flash Playerのインストール方法を解説します。

aptitudeコマンドを使用してインストールできるとは言いましたが、Debian GNU/Linux 8.0 jessieのインストール直後は、インストールできる状態ではありません。なぜなら、インストール直後はDebianの理念に完全に合致したパッケージしかインストールできない状態だからです。確か、Debianはすべてのソフトをオープンソースに的な理念を持っていますが、Adobe Flash Playerは企業(Adobe社)が開発したものなので、企業は自分の製品をオープンソースにするわけにも行かないので最初はインストールできない状態なのも納得ですね。では、早速インストールできるように設定ファイルを書き換えて、Adobe Flash Playerをインストールしましょう。

パッケージのインストールや、設定ファイルの変更などはrootユーザー(スーパーユーザー)の権限が必要です。以下のコマンドを打ちましょう。

$ su -

実行するとパスワードを聞かれるので、Debianインストール時に設定したrootユーザーのパスワードを入力しましょう。なお、入力中のパスワードは(もしあなたの後ろから誰かが覗き込んでいても大丈夫なように)セキュリティのために表示されません。表示されなくてもちゃんと入力できているので、気にせず入力してEnterキーを押してください。

$ su -
パスワード:
# 

まず、aptitudeコマンドを使用して、本当にAdobe Flash Playerがインストールできない状態なのか確認してみましょう。以下のコマンドを打ってみてください。

# aptitude search flash

上のコマンドは、現在インストールできる状態のパッケージから、パッケージ名にflashというキーワードが含まれるものを一覧で表示するコマンドです。Adobe Flash Playerのパッケージはflashplugin-nonfreeという名前のパッケージですが、現時点ではその名前のパッケージは存在しないことが確認できると思います。

aptitudeコマンド(およびapt-getコマンド)のための設定ファイルを書き換えます。設定ファイルは/etc/apt/sources.listに存在します。が、書き換える前に、まずはcpコマンドでバックアップを取りましょう。

# cd /etc/apt/

上のコマンドで、/etc/apt/ディレクトリの中へ移動します。lsコマンドで、このディレクトリ内のファイルやディレクトリを一覧表示してみましょう。

# ls

一覧表示された中に、sources.listというファイルが存在するはずです。それが、aptitudeコマンド(およびapt-getコマンド)のための設定ファイルです。書き換える前に、まずはcpコマンドでバックアップを取りましょう。

# cp sources.list sources.list.default

上記cpコマンドにより、sources.listファイルと中身が全く同じファイル、sources.list.defaultができたはずです。lsコマンドで確認してみましょう。

# ls

sources.list.defaultファイルが出来ていることが確認できましたでしょうか?これから、sources.listファイルを書き換えますが、もし書き間違えてしまい、かつ元々どのような記述がなされていたのかを忘れてしまった場合は、以下のようにコマンドを打ちます。

# cp sources.list.default sources.list

この結果、sources.list.defaultファイルの中身で、sources.listファイルが上書きコピーされます。これで、sources.listファイルは、書き換える前の一番最初の状態に戻ります。バックアップは大切ですね。それでは、早速書き換えましょう。書き換えは好きなエディタを使用してください。以下にnanoエディタを使用してsources.listファイルを書き換える場合のコマンドの例を記述します。

# nano sources.list

nanoが起動して、sources.listファイルを編集できる状態になります。nanoによる編集方法に関しては27.Linuxの文字書きソフト(テキストエディタ)nanoを参考にしてください。もちろん、nano以外のエディタで編集しても構いません。

Debian GNU/Linux 8.0 Jessieのデフォルトの/etc/apt/sources.listDebian GNU/Linux 8.0 Jessieのcontribを追加した/etc/apt/sources.listに書き換えます。

contribという文字を6個追加しました。編集が終わったら保存して、エディタを終了します。

設定ファイルの書き換えが終わったら、一度、aptitudeコマンドにupdateオプションを渡して実行してください。

# aptitude update

これで、先ほどaptitudeコマンドで探しても見つからなかったflashplugin-nonfreeが見つかります。以下のコマンドでもう一度確認してみましょう。

# aptitude search flash

flashplugin-nonfreeは見つかりましたでしょうか?それでは実際にインストールしましょう。

# aptitude install flashplugin-nonfree

これで、無事にAdobe Flash Playerがインストールされました。これ以降の記述は補足です。

補足その1。

一般的なパッケージ(ソフトウェア)の場合、特に意識することなく以下のコマンドで、インストール済みのパッケージで最新版のものがある場合は勝手に最新版のものに更新してくれます。

# aptitude safe-upgrade

ですが、Adobe Flash Playerのみ、上記コマンドでは更新されません。Adobe Flash Playerは以下のコマンドで更新してください。

# update-flashplugin-nonfree --install

補足その2。

現状でもYouTubeを見るのに問題はないのですが、「○秒後にスキップして動画へ進めます」という日本語表示が文字化けする状態です。

YouTubeで文字が□になってる

この問題を解決していきましょう。rootユーザー(スーパーユーザー)の状態で/etc/fonts/conf.availディレクトリへ移動してください。

# cd /etc/fonts/conf.avail/

このディレクトリの中に、新しく69-language-selector-ja-jp.confという名前のファイルを作成します。

# nano 69-language-selector-ja-jp.conf

このファイルの中に、以下の記述を書いてください(コピペで構いません)。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <!-- Japanese (ja) -->
    <match target="pattern">
        <test qual="any" name="family">
      <string>sans-serif</string>
        </test>
        <edit name="family" mode="append" binding="same">
      <string>VL Pゴシック</string>
      <string>IPA Pゴシック</string>
        </edit>
    </match>
    <!-- Japanese (ja) ends -->
</fontconfig>

記述したら、保存してエディタを終了してください。次に、以下のコマンドを打ってください。

# ln -s /etc/fonts/conf.avail/69-language-selector-ja-jp.conf /etc/fonts/conf.d/

/etc/fonts/conf.avail/ディレクトリは"利用できる全ての(文字に関する)設定ファイルの置き場所"であり、/etc/fonts/conf.d/ディレクトリは"利用できる一覧から選んだ、実際に利用する(文字に関する)ファイルの置き場所"です。上記のlnコマンドにより、実際に設定が有効になりました。PCを再起動してからYouTubeを見てみてください。文字化けが直っているはずです。

YouTubeで文字が見れる

以上になります。

---以下、2017年8月5日追記---

DebianでAdobe Flash Playerの更新が失敗する場合の対応方法(update-flashplugin-nonfree --installのコマンドを使用しても、エラーが出て更新に失敗する場合の対応方法)。

更新時にエラーが出る場合の対応方法に関してはFlashPlayer - Debian Wikiに情報が載っています。

以下に、簡単に日本語訳した情報を載せますが、翻訳が間違っている可能性もありますので、正確な情報はFlashPlayer - Debian Wikiを参考にしてください。

手動アップデート

update-flashplugin-nonfree --installコマンドを実行した際に、以下のようなエラーが表示されることがあります。

ERROR: wget failed to download http://people.debian.org/~bartm/flashplugin-nonfree/D5C0FC14/fp.24.0.0.221.sha512.amd64.pgp.asc

残念ながら、これはバグです。以下の手順に従って手動でFlashをアップグレードしてください。

  1. https://get.adobe.com/flashplayer/からtar.gz形式のプラグインの最新リリースをダウンロードしてください。

    サイトからtar.gz形式で最新のAdobe Flash Playerをダウンロードする

    ウェブサイトから普通にダウンロードしてください。ダウンロードすると、通常は /home/ユーザー名/ダウンロード にダウンロードされると思います。)

  2. ダウンロードしたtar.gz形式のFlashを展開(解凍)します。54.gzipコマンドで圧縮しようを参考に、コマンドでtar.gzを展開(解凍)してもいいですし、面倒くさければ場所を開いてダウンロードしたファイルを右クリックして「ここに展開する」を選んでも展開できます。

    「ここに展開する」

    展開(解凍)すると、flash_player_npapi_linux.x86_64というフォルダが出来ます。ここからは、コマンドで作業します。CUI環境を開いて、rootユーザーになってください。

    $ su -
    パスワード:
    #

    flash_player_npapi_linux.x86_64フォルダの中に移動します(ダウンロードした場所が /home/ユーザー名/ダウンロード と異なるようであれば、以下のコマンドを適宜読み替えてください)

    # cd /home/ユーザー名/ダウンロード/flash_player_npapi_linux.x86_64

    lsコマンドを使用すると、中にlibflashplayer.soというファイルが存在することが確認できます。

    # ls
    LGPL  libflashplayer.so  license.pdf  readme.txt  usr

    libflashplayer.soファイルを/usr/lib/flashplugin-nonfreeの下にコピーします。

    # cp libflashplayer.so /usr/lib/flashplugin-nonfree/.
  3. libflashplayer.soのファイルの権限を変更します。linuxゲリラ戦記ではchmodコマンドとr、w、xを使用した方法で権限を指定する方法保を解説したことがあります(29.ファイルのアクセス権限を変更しよう。chmodコマンド)が、r、w、xの代わりに数字を使用して権限を設定する方法もあります。今回はFlashPlayer - Debian Wikiの解説通り、以下のようにコマンドを打って、数字を使用して権限を設定してください。

    # chmod 644 /usr/lib/flashplugin-nonfree/libflashplayer.so

    ちなみに上記は「所有ユーザー」に読み込み権限r(4)と書き込み権限w(2)を与え(4 + 2 = 6)、「所有グループ」と「その他」に読み込み権限r(4)を与えています。

    次にlibflashplayer.soの「所有ユーザー」と「所有グループ」を「root」に変更します。(おそらく現状はダウンロードした一般ユーザーが所有者になっています。)以下のコマンドを打って、所有ユーザーと所有グループをrootに変更してください。

    # chown root:root /usr/lib/flashplugin-nonfree/libflashplayer.so

    rootとrootの間の:はコロンです。ひらがなの「け」が書かれた場所のボタンを押せば入力できます。

  4. 以下のコマンドを打ってみてください。

    # update-alternatives --list flash-mozilla.so

    もし、実行した結果、以下の文字が表示されない場合は

    /usr/lib/flashplugin-nonfree/libflashplayer.so

    表示されるようにするために、以下のコマンドを打ってください。

    # update-alternatives --quiet --install /usr/lib/mozilla/plugins/flash-mozilla.so flash-mozilla.so /usr/lib/flashplugin-nonfree/libflashplayer.so 50

以上で、Adobe Flash Playerのアップデートは終了です。てっきり、この作業をやったら、以降は今までどおりupdate-flashplugin-nonfree --installコマンドでアップデート出来るのかと思っていたのですが、どうやらそんなことは無くて、アップデートしたい場合はその度に上記作業をしないといけないっぽいです。めんどうくさい……。多分、Debian自体がバージョンアップするまで直らない気がする。