#告発状 #### 2021-10-31_Twitterの3つのアカウントのツイートを記録したデータベースに見つけた9時間の時刻のズレなど不具合の解消、他にも問題が続出して深夜に及んだ10月30日

:CATEGORIES: @kanazawabengosi #金沢弁護士会 @JFBAsns 日本弁護士連合会(日弁連) #法務省 @MOJ_HOUMU #パソコン #Linux #now

  • 〉〉〉 Linux Atom: 2021-10-31 08:58 〉〉〉

令和03年10月31日

 最終的に問題が解決できたのは深夜の2時半頃でした。いくつか連鎖して問題が発生したのですが、まったく未経験のトラブルや解決方法がありました。

 まず、データベースの時刻のずれですが、MySQLには問題がなく、pythonのTwitterAPIのライブラリーに問題があったようです。ディスクトップパソコンとはバージョンが異なっていましたが、結局これは解決できず、変数の値に9時間を加算する対応で済ませました。

 pythonのライブラリはpipというコマンドでインストールするのですが、なぜかそのTwitterAPIのライブラリーは、管理者権限としてシステムにインストールされていました。Linuxの場合はsudoというコマンドを使うことでシステムへのインストールになるのですが、やった覚えのないことでした。

 pipをつけないでインストールすると、ユーザのホームディレクトリにpythonのライブラリがインストールされ、パスを通すことでコマンドの実行が出来るようになるのですが、システムにインストールされたものを削除し、新しいバージョンをインストールしても動きませんでした。

 システムの3.6というバージョンが固定され、ホームディレクトリにディスクトップパソコンと同じ4.2をインストールしても、3.6が実行され、3.6をアンインストールしても状況はかわりませんでした。


NOTE: % pip show tweepy
Name: tweepy
Version: 4.2.0
Summary: Twitter library for Python
Home-page: https://www.tweepy.org/
Author: Joshua Roesslein
Author-email: tweepy@googlegroups.com
License: MIT
Location: /home/a66/.local/lib/python3.9/site-packages
Requires: requests, requests-oauthlib
Required-by:

~
NOTE: % sudo pip show tweepy
Name: tweepy
Version: 3.6.0
Summary: Twitter library for python
Home-page: http://github.com/tweepy/tweepy
Author: Joshua Roesslein
Author-email: tweepy@googlegroups.com
License: MIT
Location: /usr/lib/python3/dist-packages
Requires:
Required-by:

 ノートパソコンはUbuntuの最新バージョン21.10を入れていますが、pythonのバージョンも3.9となっています。

 次にディスクトップパソコンですが、Ubuntuは21.04をインストールしています。


base ❯ pip show tweepy
Name: tweepy
Version: 4.1.0
Summary: Twitter library for Python
Home-page: https://www.tweepy.org/
Author: Joshua Roesslein
Author-email: tweepy@googlegroups.com
License: MIT
Location: /home/a66/anaconda3/lib/python3.8/site-packages
Requires: requests-oauthlib, requests
Required-by:

 anaconda3を使っていますが、その点でもpythonの環境がノートパソコンとは違っています。

 昨日は気が付かなかったのですが、ノートパソコンもanaconda3の環境にすれば、問題は解決できたのかもしれません。深夜にはRubyの環境で解決のできない問題があって、rbenvの環境を入れることになりました。


Anacondaは,Continuum Analytics 社が提供している Python バージョン 3 の言語処理系,開発環境やツール,管理ツールである conda,主要な Python パッケージを1つにまとめたソフトウエアである.次のアプリケーションも同封されている.

- Anaconda 3 2020年2月版(Python 開発環境)と人工知能フレームワーク類のインストール(Windows 上)https://www.kkaneko.jp/tools/win/anaconda3.html#S1


rbenvとは、Sam Stephenson(37signals)氏が作成したRubyバージョン管理ツールです。

例えば、普段はRuby2.3.0を使っているが急遽Ruby1.8.7を使わなければならない時など、プロジェクトごとにRubyのバージョンをrbenvで切り替えることができます。


Rubyバージョン管理ツールとして有名なRVM(RubyVersionManager)と比べて、rbenvは少ない機能で軽快に動作する特徴があります。

ただし、サポートしているRubyの種類がRVMより少ないことが欠点です。


また、rbenv本体にはRubyのビルド機能は用意されていないため、別途ruby-buildというツールを利用します。

- rbenv CapmNetworkhttp://capm-network.com/?tag=rbenv

 記事に日付が見当たりませんが、ずいぶん古い情報だとわかります。Rubyのバージョン1.8.7というのは平成17年あたりに使っていた記憶があります。

 次にMySQLのデータベースですが、次のsql文で問題のある期間のデータを全て削除し、別の方法でツイートのデータを置き換えました。


mysql> delete from tw_hirono where date BETWEEN '2021-08-25 00:00:00' AND '2022-11-25 23:59:59' order by date ASC;

 この8月25日になにをやっていたのか記憶にないのですが、時刻のずれという問題とは別に、ツイートのURLに問題があったことに気が付きました。長い間、まったく気が付かずにいたのですが、これもTwitterの仕様によるものです。


(1/8168/500849) ツイート:asahicom ID:554652 "2021-10-01 00:00:45"
> 2021-09-30-002850_okumuraosakaさんがリツイート平 裕介@YusukeTaira·6時間この記事の件で、本日、記者の方の質問に回答いたしました。行政.jpg https://t.co/D6u9I6sBnU
URL: https://twitter.com/asahicom/status/1443591653042765837 

- 奉納\危険生物・弁護士脳汚染除去装置\金沢地方検察庁御中_2020: twitter_log_search_”2021-10-01 00:00:45〜2021-10-29 20:12:05”_(該当件数:8,168/データベース登録数:500,849) _2021-10-29_214416の記録https://kk2020-09.blogspot.com/2021/10/twitterlogsearch2021-10-01-0000452021_29.html

 2021-10-29_214416の記録となっていますが、修正前のものです。ツイートのURLがすべて、asahicomというアカウントのものになっています。コピペで使ったものを、そのままにしていました。修正したプログラムの箇所が次になりますが、違いは一目瞭然と思います。


url = "https://twitter.com/{u}/status/".format(u = tweet.user.screen_name) + str(tweet.id)

 URLのアカウント名が違ってもツイートのIDが同じだと、普通にリンクのツイートが開かれ、本来のアカウント名のURLに変わるというのがTwitterの仕様となっているようです。エラーが出ないので問題に気が付きませんでした。

 時刻のずれたツイートを探し出すプログラムの実行をやっていて気がついたのですが、URLの一部が異なったまま重複してデータベースに登録されていたツイートもけっこうな数あったようで、修正後は総数も減っています。

 次が修正後のツイートのまとめ記事になります。


(1/352/494031) ツイート:s_hirono ID:648326 "2021-10-28 00:19:04"
> 2021-10-28_00:18 奉納\#危険生物・弁護士脳汚染除去装置\#金沢地方検察庁御中_2020: ツイートの記録資料:\法務検察・石川県警察宛\/モトケン(@motoken_tw)/”2021年10月27日”:52件 https://t.co/Xpoj3cr0wr
URL: https://twitter.com/s_hirono/status/1453380734568128513 
```

- 奉納\危険生物・弁護士脳汚染除去装置\金沢地方検察庁御中_2020: twitter_log_search_”2021-10-28 00:19:04〜2021-10-30 21:40:47”_(該当件数:352/データベース登録数:494,031) _2021-10-30_222341の記録https://kk2020-09.blogspot.com/2021/10/twitterlogsearch2021-10-28-0019042021.html

 「データベース登録数:500,849」となっていたのが、「データベース登録数:494,031」となって6,818件のツイートが減っています。

 昨夜はディスクトップパソコンのUbuntu21.04でデータベースの修正作業を行い、データベースをダンプして、ノートパソコンで削除して作成し直したデータベースにリストアしたのですが、ここでも考えられないトラブルがありました。

 なぜか10月14日のデータまでしかダンプされていなかったのです。今思えば、ちょうどデータサイズの限界になっていたのかもしれません。

 データベースの場合はダンプ、リストアと呼ぶようですが、インポートとエクスポートと同じ作業になります。バックアップと復元も同じかと思います。範囲指定なども出来るのですが、これが意外に簡単な操作となっています。

mysqldump -u ユーザ名 -p データベース名 > t.sql
```

 データサイズは172MBとなっていますが、そのまま日本語も読めるテキストファイルが中身となっています。

 今見ると、10月14日ではなく10月30日のデータまでダンプで保存されていました。次が最後の部分で、最後の2件分のデータとなっています。データベースの仕組みもよくわかるものとなっています。


(503190,'2021-10-30 17:18:59','https://twitter.com/s_hirono/status/1454362182548738052','2021-10-30_16:03 奉納\#危険生物・弁護士脳汚染除去装置\#金沢地方検察庁御中_2020: \えきなんローヤー🕊 @ekinan_lawyer\若手弁護士が、刑事国選やら法テラス民事やらに5年ぐらい尽力すれば、法テラスに500万をはるかに超える寄付したのと同じで https://t.co/BnSmN5qDqB',1,'s_hirono','2021-10-30 23:11:41'),(503191,'2021-10-30 17:19:06','https://twitter.com/s_hirono/status/1454362209056804866','2021-10-30_16:04 奉納\#危険生物・弁護士脳汚染除去装置\#金沢地方検察庁御中_2020: \Guitar-Lawyer @guitar_ben\「今更聞けない、現代の憲法論」とか弁護士会の研修等でやってくれないかしら。私含め、司法試験依頼まともに勉強してないし https://t.co/bN0DinDYP1',1,'s_hirono','2021-10-30 23:11:41');
/*!40000 ALTER TABLE `tw_hirono` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */

 次がノートパソコンでのデータベースのリストアです。


655 10/30/2021 23:56 mysql -u ユーザ名 -p データベース名 < t.sql

 zshのコマンド履歴でコマンドを実行した時刻が昨夜の23時56分として記録されています。10月14日のデータまでしか保存されていなかったはずで、別の作業でデータベースに10月30日までのツイートを追加しました。

 10月14日のツイートが終わりになっていることをパソコンの画面の撮影で記録したつもりでいたのですが、スマホの写真を確認すると10月30日となっていました。これも不思議に思ったのですが、さらに目を疑う発見がありました。


> 2021-10-31 03.45.20.jpg https://t.co/rfresqgQZI

 今、ファイルの詳細を確認すると昨日10月30日の午後6時2分の撮影となっていましたが、ファイル名との時刻の食い違いはスマホで初めて目にする現象かと思います。

 この自動でつけられる写真ファイルの日時は、Dropboxのアプリによるものです。スマホでインストールしてあるアプリで、自動でアップロードも行っています。完全な自動ではなく、アプリの起動と操作が必要かもしれません。


> 2021-10-31 10.55.51.jpg https://t.co/P8FZD6D2MM

 5分ほど前にも同じパソコンの画面をスマホで撮影しているはずなのですが、ファイルが見当たらない状態だったので撮影をやり直しました。

 Twitterで「趙誠峰レストラン」などと表示された現象もありましたが、ポルターガイスト現象のいたずらのように思えることがあります。パソコンも機械なのでおかしくなることはあるのかもしれません。


> 2021-03-30-115736_ちょせいほレストラン@cho_seiho・2019年5月18日ななななななななななななななななななななななななななななななななななななななな.jpg https://t.co/mEG71IiVYr

 「趙誠峰レストラン」ではなく、「ちょせいほレストラン」でした。同じ頃、ジャーナリストの江川紹子氏のツイートでも似たような現象があったと記憶にあります。

- 2021年10月31日03時02分の登録: \奥村徹弁護士 @okumuraosaka\法律相談で「ネットで調べたところでは」とか言われると、たいていマイナスからのスタートになるhttps://kk2020-09.blogspot.com/2021/10/okumuraosaka_31.html

- 2021年10月31日03時06分の登録: \弁護士戸舘圭之オフィシャル/とってぃ/袴田事件弁護団 @todateyoshiyuki\ばべる先生とかたけるん先生とかですかね。私も聴きたいです。https://kk2020-09.blogspot.com/2021/10/todateyoshiyuki_31.html

- 2021年10月31日08時16分の登録: REGEXP:”近藤昌昭”/データベース登録済みツイートの検索:2021-10-30〜2021-10-31/2021年10月31日08時15分の記録:ユーザ・投稿:15/15件https://kk2020-09.blogspot.com/2021/10/regexp2021-10-302021-10.html

- 2021年10月31日08時30分の登録: \サイ太 @uwaaaa\古市憲寿という人がごく真っ当な意見を言っているのを初めて見たような気がするhttps://kk2020-09.blogspot.com/2021/10/uwaaaa_31.html

- 2021年10月31日08時36分の登録: \??? @un_co_the2nd\【甘利疑惑】金はもらった。口利きもあった。金を渡した方も大儲け。しかし、だれも刑事責任を問われない?(園田寿)https://kk2020-09.blogspot.com/2021/10/uncothe2nd_31.html

- 2021年10月31日08時38分の登録: \過食B @motaberarenaiyo\意志能力の程度によって多少の認知症でも意思確認できれば、と思いかけたけれれど、「推定相続人全員が強く希望するなら」という発想がhttps://kk2020-09.blogspot.com/2021/10/bmotaberarenaiyo_31.html

- 2021年10月31日08時38分の登録: \??? @un_co_the2nd\遵法意識が欠如した司法書士が引っ張られて湧いててヤッベエぞ〜ってなってるhttps://kk2020-09.blogspot.com/2021/10/uncothe2nd_0.html

- 2021年10月31日08時39分の登録: \??? @un_co_the2nd\「控訴審の弁護人が本人の意に反して私信等リークしてた」って書かれとるんやがhttps://kk2020-09.blogspot.com/2021/10/uncothe2nd_54.html

- 2021年10月31日08時43分の登録: twitter_log_search_”2021-10-30 00:09:34〜2021-10-31 08:42:50”_(該当件数:72/データベース登録数:494,052) _2021-10-31_084347の記録https://kk2020-09.blogspot.com/2021/10/twitterlogsearch2021-10-30-0009342021.html

- 2021年10月31日11時21分の登録: twitter_log_search_”趙誠峰.*レストラン”_(該当件数:5/データベース登録数:494,052) _2021-10-31_112126の記録https://kk2020-09.blogspot.com/2021/10/twitterlogsearch5494052-2021-10-31112126.html

 次がデータベースを更新したコマンドになります。8月25日以降のツイートの追加の処理です。


6141 10/30/2021 23:10 twilog-db.py hirono_hideki2021-10-30_215002.csv
6142 10/30/2021 23:10 twilog-db.py kk_hirono2021-10-30_092503.csv
6143 10/30/2021 23:11 twilog-db.py s_hirono2021-10-30_172505.csv

 ディスクトップパソコンでの処理ですが、これと同じことをノートパソコンでもやっているはずと思います。

 次がsshでログインしたノートパソコンのコマンド履歴ですが、なぜか同じ時刻に同じコマンドを実行したことになっています。


649 10/30/2021 23:30 twilog-db.py hirono_hideki2021-10-30_215002.csv
650 10/30/2021 23:31 twilog-db.py kk_hirono2021-10-30_092503.csv
651 10/30/2021 23:31 twilog-db.py s_hirono2021-10-30_172505.csv

 3つのコマンドが同じ時刻に見えたのですが、勘違いでした。ディスクトップパソコンが23時10分と11分の実行、ノートパソコンが23時30分と31分の実行として記録されています。

 データベースのリストアの実行が23時56分で、そのあとに上記の3つのコマンドを実行したという記憶なのですが、そうなっていません。なお、リストアの前にはデータベースの削除と新規作成を行っています。

 次がノートパソコンでのデータベースの更新になります。


658 10/31/2021 00:04 tw_hirono-mysql-add-note.py -n 1

 この直後に、ノートパソコンのデータベースの更新をディスクトップパソコンのデータベースに反映する自作のコマンドを実行したのですが、エラーが出て、この解決に2時半頃まで時間がかかりました。

 解決に繋がったのが次のコマンド履歴にある作業ですが、同じコマンドを何度も実行して失敗していました。設定ファイルの書式がネットの情報とは違っていたということもあります。

```
720 10/31/2021 02:28 gem update --system
721 10/31/2021 02:34 gem update
722 10/31/2021 02:39 vi Gemfile
723 10/31/2021 02:40 rbenv exec bundle install --path=vendor/bundle
724 10/31/2021 02:40 eval $(ssh-agent -s)\nssh-add ~/.ssh/id_rsa
725 10/31/2021 02:41 h-expct-ssh-sql-add.rb 192.168.1.33
```

 ローカルのIPアドレスは実際と違ったものに変更しました。時刻をみたとき2時30分頃という記憶だったのですが、2時41分のコマンドの実行でようやく成功したことになるかと思います。

 先日は、それまで普通にできていたノートパソコンからのWindows11のWSL2へのssh接続でしたが、エラーが出て接続できなくなり、余り調べないままWSL2のUbuntu自体をアンインストールしたということがありました。

 Ubuntuのバージョンのアップグレードもついでにやるつもりだったのですが、削除したあとで同じUbuntu20.04までしかインストールできないことに気が付きました。

 Ubuntuをインストールし直しても同じエラーが出て、あとになって解決と理解が深まったのですが、ネットの情報もまちまちでした。他の問題とは違い情報は多めでした。

- WSL2のポートフォワードを自動化するhttps://zenn.dev/fate_shelled/scraps/f6252654277ca0

- wsl2でsshサーバを起動し、外部からそこに接続 - Qiitahttps://qiita.com/yabeenico/items/15532c703974dc40a7f5

 Ubuntu20.04のWSL2をまるごと削除したのですが、60万件を超えるデータベースもそこそこの早さで処理が行われていました。しかし、ネイティブのLinuxとは数倍以上の時間がかかり、作業も非効率です。

 Linuxでやれる作業はLinuxで行い、それをWindows11で扱うということで割り切って考えるようになりました。

 メインで使っているディスクトップパソコンは、Ubuntu20.04とWindows11のデュアルブートですが、同時に起動することはできません。

 ディスクトップパソコンのWindows11で作業しているときは、ノートパソコンのLinuxでデータベースの更新やAPIでのブログ投稿などを行い、あとでディスクトップパソコンのLinuxに更新を反映させるという方針です。

 この環境を整えるまでにずいぶん時間がかかり、Linuxだけで作業を完結するという選択肢もあったのですが、告発状の本文はワープロソフトWordで作成することにしました。

 告発状の資料は、従来どおりMarkdownのテキストファイルですが、これはAtomなどのテキストエディタで同じように編集ができ、データの更新や管理は、これも従来どおりGitHubで行っています。

  • 〈〈〈 Linux Atom: 2021-10-31 12:23 〈〈〈