raspberry pi3 でのPiserverを用いたネットワークブートが出来ない時。

raspberry pi3 ではPiserverを用いて手軽にラズパイをマイクロSD無しで起動出来るようになりましたが、少し困ることがあるので書いておきます。

 

クライアントであるラズパイをPiserverに登録し、よし!後はラズパイの電源を入れるだけという状態からラズパイの電源を入れても画面が真っ暗で何も表示されないということがあります。

これは、ネットワークブートがある箇所で止まっています。

そのある箇所というのは、ラズパイのリクエストです。

ラズパイがPiserverに対してbootsig.binというファイルをリクエストしているのですがPiserverの/var/lib/piserver/tftproot/b8-27-eb(ここは人によって変わる)の中にbootsig.binというファイルがないために起こります。

つまり、/var/lib/piserver/tftproot/b8-27-eb〜〜〜の中にbootsig.binを入れてやれば解決すると思われるのですが、実はPiseverを用いたネットワークブートではbootcode.binさえあれば良くbootsig.binは本来ラズパイ側からリクエストされることはありません。

この問題が引き起こされるのは、おそらくラズパイ3が発売されてから、それほど時間が経ってない時期に購入した方ではないかと思っています。

私の最終的な結論はファームウェアかハードウェアのバグです。(しかし、ファームウェアを最新にしてみても問題は解決しなかった。)

最後に、解決策ですが最新のraspberry Pi3 B+を購入するのが良いと思います。

私は最新のラズパイを購入してからは問題なくネットワークブート出来ています。

kali linux でのapt installやapt updateが遅いとき。

kali linuxの2017.3 はデフォルトではaptすると日本のミラーサーバーに問い合わせを行うようですが、先日、私がapt updateした際に異常に遅くて1800b/sくらいの速度しか出なかったので困りました。

その際には、日本のミラーサイトではなく他の国のミラーからダウンロードするようにしましょう。

まず、

cd /etc/apt

次に、

vim sources.list

f:id:m011501945:20180108180254p:plain

これを下の画像のように変更。(イタリアのサーバーです。)

f:id:m011501945:20180108180540p:plain

書き直したら、:wqでしっかり保存してください。

これで、海外のサーバーに問い合わせてくれるようになります。

 

 

LearningTimelineというwebアプリ作りました。

ツイッターのタイムラインを学習して、新たな文章をツイートしてくれるwebアプリ作りました。

しゅうまい君のようなツイートがみんな出来るようになったら面白いなと思いまして開発に至りました。

どうぞ使ってみてください。解析に少し時間かかります。

Learning Timeline

(自宅でホストしているため、良く電源落としてます) 

pythonで書きました。コードひどいので載せるかは分かりません。

anaconda3.6 PATHを通す。condaコマンドが使えない場合。

centOS6.8でのanaconda3.6の環境構築について

anacondaインストールしたけど、condaコマンドが使えない人やターミナルでpythonと入力しても、osに元からインストールされているpython2が使われてしまう人向けに書きます。

原因はPATHが通っていない事です。

anacondaをインストールするとデフォルトでは、~/anaconda3に入ります。

ターミナルで以下のコマンドを実行

vim ~/.bashrc

以下の部分を下記のように変更

export PATH=~/anaconda3/bin:$PATH

 

(追記)

環境によってはvim ~/.bashrc見てもexport PATHなんて文字は見当たらないという人もいると思いますが、その場合はエイリアスの下にでもexport PATH=~/anaconda3/bin:$PATH

を追記すればokです。

 

保存して、そのあとにターミナルで以下を実行

source ~/.bashrc

 

これでシステムに設定が反映されるはずです。

ターミナルでpythonと入力してエンターを押してみてください。

python3が立ち上がれば成功です。

 

 

Command "python setup.py egg_info" failed with error code 1 in の原因がapxsが入ってない事だった。

タイトルのエラーなのですが、mod_wsgiをpipでインストールしようとした際に出ました。

mod_wsgiApacheと連携しているため、mod_wsgiをインストールする際にApacheでモジュールのインストールも行われるようです。

その際にApacheにモジュールを追加するツールとしてapxsというツールが使われます。

このツールがインストールされていないとApacheにモジュールが追加出来ません。

apacheをインストールした時に一緒にapxsも含まれるだろ!と僕も思っていたのですが、これが含まれるパッケージというものが別にあるみたいです。

apacheをインストールした際に含まれるパッケージは「httpd」と「httpd-tools」だけのようです。

apxsが含まれるパッケージは「httpd-devel」と言います。

長くなりましたが、解決するには

 

yum install httpd-devel

 

 

 

no such table: django_session が出た場合。sqlite3

Djangoでデータベースを使おうとすると出る事があります。

python manage.py runserver するディレクトリと同じディレクトリで

python manege.py migrate

を実行してみてください。

これでINSTALLED_APPSの設定を参照するとともに、

(自分のサイト)/setting.pyファイルのデータベース設定に従って必要な全てのデータベースのテーブルを作成してくれます。

こんな感じで作成してくれます。

f:id:m011501945:20171006063802p:plain