CORDEA blog

Android applications engineer

【Fedora 20】erlangのinstallに失敗する

% sudo yum install -y erlang

.
.
.

失敗:
  erlang-erts.x86_64 0:R16B-03.7.fc20                                                                   

完了しました!
% erl
zsh: command not found: erl

selinux-policyをupdateする必要があるらしい

sudo yum update -y selinux-policy


失敗したerlang-ertsだけ再インストール

sudo yum install -y erlang-erts

自宅サーバーのFlaskにドメイン設定してみる

はじめに

今後同じようなことをしたときに忘れていそうなのでメモ。
今回は自分なりにやりやすい方法を選んだ結果、かなり環境を限定されるやり方となってしまいました。
やり方はいろいろあるので、このようなやり方もある、という程度で留め置いていただければ幸いです。
機会があれば追記して再送します。

諸環境


 

やってること

  • お名前.com

   ドメイン取得

   ドメイン管理

   ポート変換

   iptablesでポートの開放


手順

Flaskに関しては5000番ポートで使用します。

Hosted Zoneはあらかじめ作成しておきます。
Hosted Zoneの作成の仕方についてはawsdocumentaion*3に詳しく説明があります。

ここまでで以下の2点は終わっていることを前提としています。

  • domainの取得
  • Hosted Zoneの作成


 

name serverの変更


Hosted Zoneの作成を終えたら、Hosted Zoneの一覧にあるこれから使用するdomainをクリックしてHosted Zone DetailsのDelegation Setを確認します。
f:id:CORDEA:20140818173440p:plain


先ほど確認したDelegation Setのname server情報をお名前.comに反映させます。
場所は以下の通り
ドメインNavi -> ドメイン設定 -> ネームサーバーの設定 -> ネームサーバーの変更 -> 他のネームサーバーを利用


変更する際には使用したいドメイン名にチェックを入れてください。*4
http://cordea.jp/material/blog/domain.png

 

CTUの設定

次はCTUの設定ですが、これはフレッツ・光プレミアムの方限定となります。
他のサービスでどのように設定するかは私には分かりかねますが、別にCTUで設定しなくてもiptablesでport変換するという手もあると思います。

画像を見ていただくとわかるかと思いますが、WAN側IP(global ip)の80番ポートへのアクセスをサーバーに割り当てているLAN側IPの5000番ポートに変換しています。


http://cordea.jp/material/blog/ctu_config.png


 

Record Setの作成

ここまで終わったらHosted ZoneのRecord Setを作成します。
設定は画像のとおり

Type A
Alias No
Value WAN側IP

http://cordea.jp/material/blog/AWS.png


 
以上です。

 

*1:別にAWSを使う必要はないんですが、契約しているドメインを全てRoute 53で管理してるので私はRoute 53を使用します。

*2:フレッツ・光プレミアム」で設置される終端装置

*3:Creating a Hosted Zone - Amazon Route 53

*4:画像の丁度上にチェックボックスがあります

【Debian】Rのpackage "rgl"インストール時に出たエラーと対策

CentOS / Fedoraこちら

Debianでやってたら過去に見たようなエラーが出たのですが解決したのでまとめ。

手順

出たエラーはこちら

error: X11 not found but required, configure aborted. 

error: missing required header GL/gl.h

以下をインストールしたら無事に”rgl”を入れることが出来た

sudo apt-get install -y libx11-dev freeglut3-dev

CentOS 7 にyumで python-pip をインストールする

CentOSに7が出たということを知り、早速新しく買ったサーバーに入れてみたはいいもののyumからpipが入らない
でもeasy-installは使いたくない

というわけでyumからpipをinstallします。


Version

CentOS Linux release 7.0.1406 (Core)


手順

wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

sudo rpm -ivh epel-release-7-0.2.noarch.rpm

sudo yum install -y python-pip


おわり

BeagleBone BlackにDebian Wheezy 7.2を導入する。

はじめに

つい先日(前記事)にてFedora 20 LXDE Spinを導入いたしましたが、予想していたとはいえ流石にディスプレイ出力が出来ないというのは辛かったため最終的にDebian Wheezyを導入することにしました。

Ubuntuも導入してみましたが正直しっくりこなかった(というよりUbuntuがあまり好きではない)のでこのような形になりました。

 

さて、前記事と同じ注意となりますが

本記事ではSSH接続だけでなく、BBB自身からの映像(ディスプレイ)出力、BBBへの各種入力を目的としています。

SSH接続だけでよい場合は他の方の記事を参考にされるとスムーズかと思います。
というかUbuntuでもさして変わりないのでは・・・



バージョン等

  • Fedora 19 デスクトップ版(SDへのインストールに使用したPCのもの)
  • BeageBone Black Debian Wheezy 7.2(BBBへインストールしたもの)

 


環境構築に当たって購入したもの

前記事をご参照ください。




手順


インストール先のSDカードを挿したら、マウント先を確認して次のコマンドを入力してください。

wget http://s3.armhf.com/debian/wheezy/bone/debian-wheezy-7.2-armhf-3.8.13-bone30.img.xz

xz -cd debian-wheezy-7.2-armhf-3.8.13-bone30.img.xz > /dev/[MEDIA LOCATION]


以上で完了です。

電源の消えているBeagleBone Black(以下BBB)にSDカードを挿してS2ボタンを押しながら電源をつけてください。

無事に起動すれば、Fedoraのときとは違い、最初からディスプレイにCUIが表示されているかと思います。


ログイン情報は以下の通りです。


ここからはログインして入力してもSSHで接続して入力しても構いません、お任せします。

 

 
まずはGUIを表示しましょう。

sudo apt-get update
sudo apt-get install task-lxde-desktop
sudo reboot


これでGUIが表示されたのではないでしょうか。
再起動がうまくいかなかったなら電源を抜いてS2ボタンを押しながら電源を入れてください。



次は日本語化です。

sudo aptitude -y install task-japanese task-japanese-desktop ibus-mozc

sudo vi /etc/locale.gen


/ja みたいな感じで検索して ja_JP.UTF-8 UTF-8 という記述を探してください。
見つかったらコメント化されているはずですので、解除して :wq

 
ここまで出来たら変更を反映させます。

sudo locale-gen


 
ここで日本語に変更します。

update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" 
source /etc/default/locale
sudo reboot

 

再起動後、表示は日本語になったかと思いますが、相変わらず時刻表示はUTCのままです。
なので時刻表示をJSTに変更します。

sudo dpkg-reconfigure tzdata


再起動すればJSTになっているかと思います。


 

最後に


Debianつかってて思ったこと。
BBBとして使用するにもapt-getは使えたほうがいいですね
Fedoraだとdtc.shがね・・・動くんですが書き換えが必要だしちょっと面倒

 
というわけでUbuntuは使いたくないなぁって人にDebian Wheezyは良い選択肢かと思います。
壁紙も格好良いしね。


BeagleBone BlackにFedora 20 LXDE Spinを導入する。

はじめに

先日BeagleBone Black(以下BBB)を買いまして、普段RedHat系OSを使用している私はこれを機にFedora 20 LXDE Spinを入れてみました。

なぜLXDE版なのかというと、デスクトップ版はBBBのスペック不足でGUI表示ができなかったからです。

 
デスクトップ版を導入する場合は、他PCからのSSH接続によってBBBを使用することになるかと思います。
自分が何をするためにBBBを使用するかを判断して導入されることをお勧めします。

 
デスクトップ版およびUbuntu等の他OSに関しては他の方のBlogを参考にしてください。

また、本記事ではSSH接続だけでなく、BBB自身からの映像(ディスプレイ)出力、BBBへの各種入力を目的としています。

SSH接続だけでよい場合は他の方の記事を参考にされるとスムーズかと思います。


  • 2014/05/11 追記

Kernelのアップデート・yumのアップデート等実施した後再起動したら立ち上がらなくなった。
 
 

バージョン等

  • Fedora 19 デスクトップ版(SDへのインストールに使用したPCのもの)
  • Fedora 20 LXDE Spin(BBBへインストールしたもの)

 
 
 

環境構築に当たって購入したもの

  • BeagleBone Black Rev.B
  • Digio キーボード FKB-U239BK
  • Logicool マウス M110
  • Buffalo ACアダプタ付USBハブ BSH4A01BK
  • ELECOM LANケーブル LD-GF/BK5
  • 秋月電子 HDMI AD(micro)ケーブル
  • 秋月電子 スイッチングACアダプター5V3A GF18-US0530-T
  • Transcend microSDHCカード TS32GUSDHC10E
  • Transcend USB3.0 SuperSpeedカードリーダー TS-RDF5K


 
 

手順

wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-LXDE-VFAT-armhfp-20-1-sda.raw.xz

xzcat Fedora-LXDE-VFAT-armhfp-20-1-sda.raw.xz | sudo dd of=/dev/[MEDIA LOCATION]

 
完了したらアンマウントしてもう一度挿しなおしてください。

cp /run/media/[USER NAME]/__/usr/share/uboot-beaglebone/* /run/media/$USER/uboot/

cp /run/media/[USER NAME]/uboot/uEnv.txt.beaglebone /run/media/$USER/uboot/uEnv.txt

 
ここまでできたらuENv.txtを編集します

vim /run/media/[USER NAME]/uboot/uEnv.txt

 
一行目の abcboard=am335x-bone を abcboard=am335x-boneblack に書き換えてください。

sudo vim /media/[USER NAME]/__/etc/shadow

 
一行目の root:0:99999:7::: を次のように書き換えます。

root:$6$lqj7SL8qvAEXeRJX$wX2/cbpgu2wqBRVf3Lnv6IxvZ0DDeIdaRREcbE6mR.l8CtanDDNv9AfN2cpZSaeFmjKQKd4ZY9l4aqEgB9Ceh/:15921:0:99999:7:::

これはrootの初期パスワードを設定するためです。

 
次にSELinuxを無効にします。

sudo vim /media/[USER NAME]/__/etc/sysconfig/selinux

 
SELINUX=enforced を SELINUX=disabled に書き換えてください。



 
ここまで出来たらssh接続するための準備を行います。
 

なぜssh接続するのかというと、現時点ではHDMIとUSB出力がされないバグFedora 20にあり、直接BBBで作業することが出来ないからです。

まずはBBBをAngstromで起動し、ifconfigで自IPを確認してください。

その後、電源を消えているBBBにSDカードを挿して電源をつけてください。

このとき、D2からD5までのLEDが途中で消えてしまうのは仕様です。

 

しばらくしたらpingで起動しているか確認してください。

ping [BBB IP_ADDRESS]

pingが通ったらsshで接続しましょう。パスワードは root です。

ssh root@[BBB IP_ADDRESS]

ここまで出来たら、kernelをアップデートします。

yum update kernel


出来たら再起動してください。
再起動後、正常にディスプレイ出力されていることを確認してください。




最後に

今回は私自身上手く行かなかったところが多く、多くのサイトや記事に助けていただきました。この場を借りてお礼申し上げます。

BBBへFedora 20を導入する記事はいくつかありますが、私の記事も含め、人によって手順が異なります。
基本は公式を見てご確認ください。

【Fedora 19】yumコマンドで"There was a problem importing one of the Python..."

昨日起動した時、Google Chromeがインターネットに接続できない。
それならまだしも、ChromiumFirefox、設定やRStudio、挙句の果てにはTerminalが起動しない。
この前アップデートしたのが原因かな?と思ってコンソールでいろいろやってたら無事解決したのでメモしておきます。

  • 上のような症状が出た場合
  • もしくはタイトルのようなエラーが出た場合


ひとまずyumコマンドを打ってください。

yum install R
yum search R
yum update

こんなかんじでなんでも構いません。

すると


There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:

/lib64/librpm.so.3: file too short


のようなエラー文が出てきます。


ls -l /lib64/librpm.so.3*

このコマンドを実行するといくつかのファイルが見えると思います。
よく見ると、librpm.so.3 -> librpm.so.3.2.1 のようにシンボリックリンクが作成されていることがわかります。


この、librpm.so.3.2.1というファイルのサイズを見てみると見事に0になっている...このような理由から"file too short"と言われているようです。


なので、同じlibrpm.so.3...のサイズがちゃんと存在しているファイル(私の場合はlibrpm.so.3.2.0でした。)で新たにシンボリックリンクを作成します。

rm -f /lib64/librpm.so.3
ln -s /lib64/librpm.so.3.2.0 /lib64/librpm.so.3


これでもう一度yumコマンドを実行してみてください。


もし同じようなエラーが出たら、そのファイルについても同様のことを行ってください。
私の場合は5回くらいやった記憶があります。