2017年11月30日木曜日

iptablesの設定

あまプロではUbuntuのサーバ設定をお受けする事が有ります。

ファイアウォールでiptablesを使うのですが、どうも再起動すると設定が消えてしまいます。保存されへんのです…。

例えば
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport ポート番号 -j ACCEPT
として、ポートを開放して、

sudo apt install iptables-persistent
iptables保存用パッケージをインストールして
sudo /etc/init.d/netfilter-persistent save
保存しても
reboot後に
sudo iptables --line-numbers -L
が確認すると、設定が保存されないんですよね…。

しゃーないんで、
sudo vim /etc/iptables/iptables.rules
で直接ファイル編集しました。
これで再起動後もポートが開放されました。

apt upgradeでエラー発生

あまプロではUbuntuの案件を受ける事が有ります。


先日、リモートサーバーでアップデートしておりましたら
sudo apt upgrade
いつもは
Running hooks in /etc/ca-certificates/update.d...
done.
と表示される所が
E: Sub-process /usr/bin/dpkg exited unexpectedly
と表示されてしまいました。
何かエラーが発生した様です。

再度
sudo apt upgrade
すると
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
と返って来て、アップデートが完了しませんorz
ここは素直に
sudo dpkg --configure -a
してみると
Running hooks in /etc/ca-certificates/update.d...
done.
無事にアップデートが完了しました。

SSHでサーバに接続できない場合

あまプロではリモートのサーバへ接続してお仕事する案件が有ります。

SSHでリモートサーバへ接続すると、初回に

The authenticity of host 'サーバのIP' can't be established.
RSA key fingerprint is SHA256:**********************************************************
Are you sure you want to continue connecting (yes/no)?
と訊かれます。
ほんまにサーバに接続して良いならyesを入力します。すると
Warning: Permanently added 'ホストのIP' (RSA) to the list of known hosts.







サーバ(の公開鍵)が登録され、次回から公開鍵が一致すれば、訊かれる事はなくなります。

所が、サーバの再インストールやIP変更等が行われると、公開鍵の不一致でログイン時に警告が発生します。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:****************************************************************
Please contact your system administrator.

そんな時は
  remove with:
  ssh-keygen -f "/home/ローカルユーザ/.ssh/known_hosts" -R "サーバのIP"
メッセージ通りに一旦登録を削除すると良いです。

2017年11月29日水曜日

Arduino IDE 1.8.5が起動しない

あまプロではArduinoをつかった組み込みプログラミングの講座も行っています。

先日、 Ubuntu17.10へアップグレードしたんですが、どうやらその時に設定が変わった様で、ArduinoIDEが起動しなくなってしまいました…。

sudo ./arduino
Invalid MIT-MAGIC-COOKIE-1 keyPicked up JAVA_TOOL_OPTIONS:
Invalid MIT-MAGIC-COOKIE-1 keyjava.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
    at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
    at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:126)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.awt.Toolkit$2.run(Toolkit.java:860)
    at java.awt.Toolkit$2.run(Toolkit.java:855)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
    at java.awt.SystemColor.updateSystemColors(SystemColor.java:473)
    at java.awt.SystemColor.<clinit>(SystemColor.java:465)
    at processing.app.Theme.init(Theme.java:84)
    at processing.app.Base.<init>(Base.java:219)
    at processing.app.Base.main(Base.java:144)

X11 window serverに接続できないエラーが出るのですが、どうしたものか…。


2017年11月26日日曜日

vimでエンコーディング違いで文字化けしたら

あまプロではLinux(のUbuntu)を使って日々の業務を行っております。

テキストエディタはvimを愛用しております。
ちょっと学習コストは高いのですが、慣れると良ぇ感じに使えます。

vimは編集モード、コマンドモード、ビジュアルモードという状態を持っています。
これは他のテキストエディタには無い特徴の一つです。

私はタブ(ブラウザのタブと同じ横にページを並べる機能)を使って作業してます。
:tabnew file.txt
とコマンドを入力すると、タブでfile.txtを開きます。
ファイルが無ければ新規作成します。

他OSで作成したファイル等は、エンコーディングを認識せずに文字化けする場合が有ります。
そんな時は
:tabnew file.txt | :e ++enc=cp932
とタブを開くコマンドと、エンコーディングを指定して開き直すコマンドを繋げて入力すると、一発で文字化けせずに開けます。

又は、事前にエンコーディングの候補を登録しておけば
:set fileencodings=utf-8,iso-2022-jp,cp932,sjis,euc-jp
ファイルを開く際にvimが自動的に認識してくれるので
:tabnew file.txt
だけで文字化けせずに開けます。

2017年11月22日水曜日

データ救出

あまプロでは時々パソコンのお困り事をお受けする事が有ります。

先日、お客さんのパソコンが起動しなくなってしまいました。
幸いにも保証期間内だったので、Windowsは復旧するそうなのです。
ですが、ハードディスク内に保存しているデータは消えてしまうので、消す前にデータを救出して欲しいという内容でした。
データ救出の専門業者ではないのですが、まぁちょっと頑張ってみようかと思い、救出作業を行ってみました。

先ず、Ubuntuのインストーラを作成します。
isoファイルをダウンロードして、USBメモリにブータブルUSBを作成します。
isoファイルはダウンロード用に1ファイルに圧縮されているのでそのままコピーするだけではブータブルUSBになりません。
書き込みソフト等を使って、ブータブルUSBを作成します。

isoファイルは1.4GBにもなり、そんなUSB持ってへんよ…ダウンロード時間も掛かるし…
という方はKNOPPIXをお薦めします。
CDに収まる700MB版や起動のみの7MBなんかも有ります。

頑張ってUSBへインストーラを書き込んだら、
BIOSの設定を変更して、ハードディスクからの起動をUSBからの起動へ変更します。
最近はデフォルトがUEFIに設定されていて、USB起動に出来ない場合が有りますが、その場合はUEFIを無効に設定するとUSBが選択可能になります。

Ubuntuを起動すると、Ubuntuをインストールするか、インストールせずに使ってみるかを問い合わせてきます。
ここでは「インストールせずに使ってみる」を選択します。
暫く待つと、Ubuntuが起動します。

左側のバーに接続されているハードディスクのアイコンが表示されます。
クリックすると、自動的にマウントされて、ハードディスク内を捜索できます。
ハードディスクの書き込み権限を付けれずに、マウントを失敗する場合が有りますが、目的はデータの救出(読み出し)なので、roオプションを設定してマウントします。

後は必要なファイルを探し出して、別の外付けハードディスクやUSBメモリ等にコピーするだけです。

無事に大事なファイルが取り出せました〜目出度し目出度し。

2017年11月14日火曜日

再帰的SQL

あまプロではシステム開発の案件をお請けしております。
先日、データベースでちょっと複雑なSQLを書いたんであメログ。

例えばこんなテーブルが有りまして
SELECT * FROM directory;
 id | parentid | name 
----+----------+-------
  0 |          | root
  1 |        0 | home
  2 |        0 | usr
  3 |        0 | var
  4 |        0 | etc
  5 |        1 | hoge
  6 |        2 | bin
  7 |        3 | log
  8 |        2 | local
  9 |        8 | bin
 10 |        1 | geho
 11 |        3 | lib
 12 |        0 | sbin
(13 rows)
IDと親IDと名前の列が有るとします。
まぁ良く有る親子関係の表です。
で、そのテーブルを基に階層構造のフルパスを生成せなあきませんでした。

2017年11月9日木曜日

Ubuntu 17.10の続き

あまプロでは教室や開発の端末にUbuntu(またはEdubuntu)を使ってます。
前回の投稿でUbuntu17.10にアップグレードした
日々色々と使っていると不具合を見付けたんであメログ。

  • クリップボードがアプリケーション間で共有できない
    例えばLibreOfficeでコピーしてvimでペーストし様としても貼り付けられません
    同一アプリ無いならコピペ出来るんですが…
    と思ってたら、昨日のアップデートで改修されました
  • スクリーンショットが撮れない
    クリップボード絡みやと思うんですが、スクショをクリップボードに出力して、GIMPに貼り付けるとこんな感じ…

    ちなみに、GIMP自体のスクリーンショットを撮るとこんな感じ…
真っ黒ですわ
   ちなみにちなみに、スクリーンショットをクリップボード出力ではなく、ファイル出力すると正常に画面写真が撮れます。

早よ直してくれへんかなぁ…。

2017年11月2日木曜日

Ubuntuをアップグレードしました

あまプロではOSにUbuntu(とEdubuntu)を使っています。
ウブントゥは半年に一回メジャーアップグレードをリリースしておりまして、簡単に言うと大きなバージョンアップが施されます。

先日Ubuntu17.10がリリースされましたので、教室のパソコンもアップグレードを行いました。
殆ど無事にアップグレードが済んだのですが、一部日本語入力の部分が手間取ったのであメログ。


日本語入力にはfcitxmozcの組み合わせを用いていたのですが、どうもfcitxに不具合が有る様で、かな入力時にキー配列が間違って入力されてしまいます。
例えば、濁点「゛」の入力は@キーですが、隣の[になります。@を押下すると何故か「ふ」が入る…。
ローマ字入力やと問題無く使えるんですけどね…仕方無いので今回から、iBusとmozcの組み合わせに変更しました。

アップグレードは偶にこの様な不具合が起こり得るので、気を付けましょう。
日本語入力の他には見た目(インタフェース)も少し変わっているのですが、今までウインドウ左上に有った終了最小化最大化ボタンが右端になりました…。
あと、ターミナル(端末)で右クリックメニューが二行しか表示されなくなってしまいました。マウスカーソルをメニューの上(または下)へ載せると高速スクロールされ、何とか選択できます…使い難いので、メニューを大きくする方法を探してみます。


半年に一回そんなの嫌やわぁという方は、LTSという五年の長期サポート向けのリリースが有りますので、こちらをお薦めします。