発想支援のビジュアル・プログラミング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[技術資料]]
3DグラフをBlockly上で表示するための手順です。~
(一部実機PCでのサーバ構築手順が含まれています)
#contents
*(手順1)サーバ構築 [#h448bcda]
横井さんのページを参照する ([[横井/研究室サーバー構築手順...
サーバー"OS編"から"セキュリティ編"のアンチウイルスソフト...
(手順2)が終わったら、サーバー"webサーバー編"のblocklyの項...
*サーバ関連の追加設定(必要になったら行う) [#s5911314]
**サーバのIPアドレス変更が必要なときの手順 [#pc7f6f39]
0)あらかじめ変更前IPアドレスのサーバーを停止させる
[root@localhost tmp]# systemctl stop sshd.service
ssh接続の場合、ログアウトしてサーバに接続できないことを...
[root@localhost tmp]# exit
ssh root@(前IPアドレス)で↓の表示が出ることを確認する
ssh: connect to host 192.168.0.◇◇◇ port 22: Connection r...
1)CentOSインストール時のような画面でIPアドレスは変更でき...
nmtui
ここでは矢印キーとEnterで移動•選択ができる~
#ref(nmtui1.JPG,,10%)
2)Edit a Connection→Editを選択し↓の画面へ移動
#ref(nmtui3.JPG,,10%)
3)「IPv4 CONFIGURATION」の<>内からManualを選択する
4)<Show>を選択~
#ref(nmtui4.JPG,,10%)
Addresses には192.168.0.◇◇◇/24をGateway には192.168.0.1、...
(◇◇◇には2〜255の番号&Airmacに繋がる全てのデバイスと被らな...
(%%192.168.0.1 がAirMac自体のアドレス?%%)
5)下へ行き~
「Automatically Connect」「Available to all users」にスペ...
6)<OK>→<Back>を選択し、今度は「Activate a connection」の...
#ref(nmtui5.JPG,,10%)
変更内容を反映させるため、一度リセットする~
→<Deactivate>を押して、<Active>になったところでもう一度押...
(表示では<Deactivate>に戻れば、有効になっている)
7)トップの画面で<OK>を押して元のコマンド入力へ戻る~
8)新しいIPアドレスで再起動
systemctl start sshd.service
(自動化するときはenableを付ける)
systemctl enable sshd.service
------
参考~
https://qiita.com/sango/items/816136188387221f05b3
------
**DNSの設定 [#fc945304]
1)ネットワークの設定を確認する
[root@localhost ~]# vi /etc/sysconfig/network-scripts/if...
(→○○○は有線でつないでいる先のポート番号によって変わる)
DNS1の部分を↓のように変更する
DNS1=192.168.0.1
//(GoogleのパブリックDNSである8.8.8.8であってもOK?)~
//→nmtuiでDNSを192.168.0.1にしたから合わせる必要あり?
2)変更内容を反映
[root@localhost network-scripts]# service network restart
------
参考
https://qiita.com/rockguitar67/items/6a39313ab94c9f5521e2
------
**yum関連で問題が出たときの解決策 [#ped19b2d]
yum ~~~を実行後に↓のようなエラーが出ることがある
***Case1.「mirrorlist.centos.org; 不明なエラー"」 [#b70c0...
[root@localhost idea_graph]# yum -y update
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.o...
release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos....
One of the configured repositories failed (不明),
and yum doesn't have enough cached data to continue. At...
safe thing yum can do is fail. There are a few ways to ...
1. Contact the upstream for the repository and get ...
problem.
2. Reconfigure the baseurl/etc. for the repository,...
upstream. This is most often useful if you are u...
distribution release than is supported by the re...
packages for the previous distribution release st...
3. Run the command with the repository temporarily ...
yum --disablerepo=<repoid> ...
4. Disable the repository permanently, so yum won't...
will then just ignore the repository until you p...
again or use --enablerepo for temporary usage:
yum-config-manager --disable <repoid>
or
subscription-manager repos --disable=<repoid>
5. Configure the failing repository to be skipped, ...
Note that yum will try to contact the repo. when...
so will have to try and fail each time (and thus...
slower). If it is a very temporary problem thoug...
compromise:
yum-config-manager --save --setopt=
<repoid>.skip_if_unavailable=true
Cannot find a valid baseurl for repo: base/7/x86_64
%%Case2. [#ge923d1f]%%
【解決策1】DNSの設定1),2)が行われているか確認する~
【解決策2】サーバのIPアドレス変更の6)でもう一度リセットし...
【解決策3(解決策1,2を試しても失敗する場合)】↓のファイルの...
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall ba...
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$...
#baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os...
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=updates&infra=$i...
baseurl=http://mirror.centos.org/centos/$releasever/upda...
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=extras&infra=$in...
baseurl=http://mirror.centos.org/centos/$releasever/extr...
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existi...
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=centosplus&infra...
#baseurl=http://mirror.centos.org/centos/$releasever/cen...
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
一番最後のエラー文が「base/7/x86_64」の場合は[base]、「ex...
参考
------
補足~
Cron Deamonから頻繁にメールがくる場合
/etc/cron.hourly/0yum-hourly.cron:
Repository google-chrome is listed more than once in the...
このメールが何度も来るときはgoogle chromeのレポジトリが重...
[root@localhost www]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo CentOS-fastt...
epel.repo ius-archive.repo
CentOS-CR.repo CentOS-Sources.repo CentOS-x86_6...
CentOS-Debuginfo.repo CentOS-Vault.repo epel-testing...
[root@localhost yum.repos.d]# vim google.chrome.repo
[root@localhost yum.repos.d]# rm google.chrome.repo
---
*よく使うコマンドの使い方(ssh,scp) [#mfaf0290]
**sshを使ってcentOS7サーバ(192.168.0.◇◇◇)に接続する方法 [...
1)コマンドプロンプトで以下を入力
C:\Users\~~~>ssh root@192.168.0.◇◇◇
(初回では先に"yes"を入力)パスワードを入力してログイン~
→[root@blockly ~]の表示になる~
2)cyber-space_analysis"ディレクトリへ移動~
[root@localhost ~]# cd /var/www/html/cyber-space_analysis
→発送支援のPythonファイル編集には主にこのフォルダ内を使う~
**scpで自分のPCのファイルをサーバーに送る方法 [#vcde404e]
(ファイルが置いてあるディレクトリへ移動)
scp [送るファイル名] root@192.168.0.◇◇◇:[送るディレクト...
(例)"test.txt"をcyber-space_analysisに送りたいとき~
→"test.txt"のディレクトリまで移動し
C:\Users\~~~>scp test.txt root@192.168.0.◇◇◇:/var/www...
ディレクトリ(ここではdic)を送るときは"-r"を付ける
scp -r dic root@192.168.0.130:/opt/mecab/lib/mecab
※逆も可能(ディレクトリcyber-space_analysisを自分のデスク...
C:\Users\~~~\Desktop>scp -r root@192.168.0.130:/var/w...
"OneDrive - 富山県立大学"にはなぜか送れない?
*(手順2)サーバ内への各種導入・準備(mecab導入,Textmining.p...
**サーバ上でTextmining.pyを動かすための準備 [#vcde404e]
***1.idea_graphディレクトリでTextmining.pyを実行し、エラ...
※「No module named 'MeCab'」が出たときはmecab-python3を入...
~
***2.まだMecab本体が入っていないの入れていく [#a5a633e8]
関連ライブラリのインストール~
sudo yum install -y bzip2 bzip2-devel gcc gcc-c++ git m...
作業フォルダを作成して移動~
mkdir -p ~/source/mecab
cd ~/source/mecab
ソースをダウンロードして解凍して移動~
wget 'https://drive.google.com/ucexport=download&id=0B4y...
tar zxvf mecab-0.996.tar.gz~
cd mecab-0.996
インストール先フォルダを作成~
sudo mkdir -p /opt/mecab
configure(コンパイルのための設定)を実行し、コンパイルして...
./configure --prefix=/opt/mecab --with-charset=utf8 --en...
make
sudo make install
インストールしたmecabの実行ファイル(のあるフォルダ)をパス...
bashの場合
echo "export PATH=/opt/mecab/bin:\$PATH" >> ~/.bashrc~
source ~/.bashrc~
~
------------------------------------------
※※↓この部分はたぶんやらなくてもOK※※~
ipadic(標準辞書)のインストール
作業フォルダを作成して移動
mkdir ~/source/mecab-ipadic
cd ~/source/mecab-ipadic
辞書ファイルを取得して解凍して移動
wget 'https://drive.google.com/uc?
export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM' -O meca...
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz~
cd mecab-ipadic-2.7.0-20070801~
設定してmakeしてインストール~
./configure --with-mecab-config=/opt/mecab/bin/mecab-con...
make
sudo make install
~~~~~
//mecab-0.996でopt/~/mecab/ipadicまでのディレクトリが作...
//neologd(拡張辞書)のインスト手順はやらない(あらかじめ用...
//neologdのコンパイルはwindowsと勝手が違うのでパス+~
//→dicをもう入れる?
~~~~~
---------------------------
~
***3.mecabの設定 [#cc67ff71]
%%scpでC:\Program Files\MeCabにあるdicを/opt/mecab/lib/me...
%%(ドライブにDELL内のipadicとmecab-ipadic-neologdをアップ...
1)scpでドライブにあるdicを/opt/mecab/lib/mecabに送り込む~
/opt/mecab/lib/mecab内にipadicがあったら、あらかじめ削除...
[root@localhost mecab]# rm -rf ipadic~
↓送る側のコマンドプロンプト~
C:\Program Files\MeCab>scp -r dic root@192.168.0.130:/op...
2)mecabrc内のdicdirを以下のように変更する~
[root@localhost ipadic]# vim /opt/mecab/etc/mecabrc~
dicdir = /opt/mecab/lib/mecab/dic/mecab-ipadic-neologd~
3)idea_graphまで移動~
[root@localhost idea_graph]# cd /var/www/html/cyber-spac...
4)Textmining.pyの110行目あたりのtagger = MeCab.Taggerの()...
tagger = MeCab.Tagger('-r /opt/mecab/etc/mecabrc')
------
参考~
UbuntuでMeCabのユーザ辞書に単語を追加してPythonで使えるよ...
https://qiita.com/cove_ht/items/d743a9d757dd3097a6f6
------
***4.ChromeDriverの導入 [#mb73ad77]
yumリポジトリ作成
[root@localhost idea_graph]# vim /etc/yum.repos.d/google...
新しくできたファイルに以下を記述
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$ba...
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key...
yum updateを実行(↓がどこかに表示されていたらOK?)
google-chrome ...
google-chrome/x86_64/primary ...
google-chrome
Chromeインストール
yum -y install google-chrome-stable
CentOSのクラッシュ対策用とChrome用フォントのインストール
[root@localhost /]# yum install -y libOSMesa google-noto...
pip用のバージョン確認
[root@localhost /]# google-chrome --version
出てきたバージョンを□□□に入れてpip
[root@localhost /]# pip install chromedriver-binary==□□□
※赤字でそのバージョンは無いと言われるので一番近いバージョ...
例:
ERROR: Could not find a version that satisfies the requi...
ERROR: No matching distribution found for chromedriver-b...
この場合,一番近い「92.0.4515.107.0」をpip~
----
久しぶりにChromeでwebスクレイピングを行う場合,ChromeDriv...
selenium.common.exceptions.SessionNotCreatedException: M...
Current browser version is 92.0.4515.131 with binary pat...
この場合もCurrent browser version is の部分の番号を□□□に...
----
~
seleniumとpyvirtualdisplayとlxmlをインストール
[root@localhost /]# pip install selenium
[root@localhost /]# pip install pyvirtualdisplay
[root@localhost /]# pip install lxml
***5.動作チェック [#iff43650]
1)google検索のトップページに行けるか確認
[root@localhost /]# google-chrome --headless --no-sandbo...
→ 後ろに--headless等を付けることでCUIベースのCentOSでもGP...
※おそらく文字が大量に流れてくると思われるが、一番後ろに</...
があれば、googleトップページのhtml表示版が出てきている感...
2)これで準備ができたので、Textmining.pyを起動してスクレイ...
[root@localhost /]# cd /var/www/html/cyber-space_analysi...
[root@localhost idea_graph]# python Textmining.py
コマンドプロンプトで↓みたいになっていればOK
【検索ワード】
属性データ: 夫婦 (半角改行で複数ワード入れられ...
任意のキーワード: 指定なし(←時間短縮のため今は指定なし)
地名データ: 指定しない (←key.txtを編集することで指定...
データフレームの大きさ: 30
発想支援を開始します
Twitterの分析中(1/3)
「夫婦」でスクレイピング中
0%| | 0/14 [0...
* Environment: production
WARNING: This is a development server. Do not use it ...
deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to qu...
* Restarting with stat
* Debugger is active!
* Debugger PIN: 174-577-420
100%|█████████████████████████████████| 14/14 [00:28<00:...
自然言語処理中
100%|███████████████████████████████████| 3/3 [03:42<00:...
Webの分析中(2/3)
Webのスクレイピング中
100%|███████████████████████████████████| 8/8 [00:08<00:...
自然言語処理中
100%|███████████████████████████████████| 3/3 [00:52<00:...
発想支援3Dグラフの表示(3/3)
*(手順3)Textmining.pyのBlockly化[#b0f38f52]
先にこのリンクのblocklyの部分を済ませておく~
https://www.pu-toyama.ac.jp/IS/IIE/IIE.IS.20210325.toyama...
**【Blocklyへの接続】(シークレットタブで開く) [#qe3fa072]
//残留キャッシュで更新ラグが起こることがないとのこと
1)あらかじめファイヤウォールの外部アクセス制限を解除して...
[root@localhost cgi-bin]# firewall-cmd --add-service=htt...
[root@localhost cgi-bin]# firewall-cmd --reload
2)Blockly(ブロック作成画面)への接続
http://192.168.0.◇◇◇/cyber-space_analysis/
**.py(.cgi)形式の処理ブロックの実装(CustomBlocksの「ANALY...
例としてTextminig.pyを実行するブロックを作る~
1-1)cgi形式のコピーを作り、cgi-binへ移動させる
[root@localhost idea_graph]# cp Textmining.py Textmining...
[root@localhost idea_graph]# mv Textmining.cgi /var/www/...
◎cgiファイルを自PCで作ってデスクトップからcgi-bin内に送る...
C:\Users\~~~\Desktop>scp ~~~.cgi root@192.168.0.13...
このとき改行コードをWindowsからLinux形式に変換する必要が...
[root@localhost cgi-bin]# nkf -Lu --overwrite ~~~.cgi
↓参考
https://blog.katsubemakito.net/linux/convert-linebreaks
1-2)追加するcgi内の最初を統一する
#!/home/nu/.pyenv/shims/python(←1,2行目)
# -*- coding: utf-8 -*-
~~~~~ import宣言 ~~~~~
print("Content-type: application/json")
print("\n\n")
#json形式にされた入力ファイルを読み取る
data = sys.stdin.read()
wine_df = pd.read_json(data)
~~~~~ 処理分 ~~~~~
→このwinw_dfをpythonのときと同じように処理していく~
1-3)一番最後も統一する
result_df=pd.DataFrame(result_x)
result_json=json.dumps(result_df.values.tolist())
print(result_json)
print('\n')
→最後の結果をデータフレームにしたものがjson.dumps()の中に...
2)実行権限を有効化する(lsで見たときファイルの色が白からカ...
[root@localhost cgi-bin]# chmod 755 Textmining.cgi
3)(新しいサーバで初めてANALYZEブロックを動かすときにやる...
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI
Require all granted
AddHandler cgi-script .py .cgi
</Directory>
4)average.jsにTextmining用のコードを書く
[root@localhost cgi-bin]# vim /var/www/html/cyber-space_...
cgiファイルが並ぶコードの一番下に新たに追加(今の例ではsc...
→ajax()内のディレクトリの部分を変更~
→新たに追加するたびにread_csvの番号を1増やしていく~
//OCR
Blockly.JavaScript['ocr'] = function (block) {
var value_jpg = Blockly.JavaScript.valueToCode(block, ...
Blockly.JavaScript.ORDER_ATOMIC);
var code = value_jpg + "$.ajax({type: 'POST',url: '../...
bin/ocr.cgi',contentType:
'application/json',data:JSON.stringify(a),async:false,su...
{console.log(data);a = data; if (!data[0]) { return; }...
{alert('Ajax失敗');} })";
return [code, Blockly.JavaScript.ORDER_ATOMIC];
};
//SC
Blockly.JavaScript['sc'] = function (block) {
var value_csv = Blockly.JavaScript.valueToCode(block, ...
Blockly.JavaScript.ORDER_ATOMIC);
var code = value_csv + "$.ajax({type: 'POST',url: '../...
bin/Textmining.cgi',contentType:
'application/json',data:JSON.stringify(a),async:false,su...
{console.log(data);a = data; if (!data[0]) { return; }...
{alert('Ajax失敗');} })";
return [code, Blockly.JavaScript.ORDER_ATOMIC];
};
5)average_block.jsにも同様に追加
[root@localhost cgi-bin]# vim /var/www/html/cyber-space_...
[]内の名前とcsv番号はaverageと統一
--appendField()内はブロックに表示される文章
--setTooltip()はブロックの説明文
--setCommentText()はブロックの左にある?の文章
#ref(cgi-average_block.png,,50%)
6)toolbox.xmlにもscの項目を追加
[root@localhost cgi-bin]# vim /var/www/html/cyber-space_...
#ref(cgi-toolbox.png,,50%)
7)httpdの更新
[root@localhost cgi-bin]# systemctl restart httpd
8)コードが正しいと作ったBlockが現れる
#ref(cgiBlock.png,,50%)
~
**(入力jsonファイル)Blockly画面上での3Dグラフの表示 [#o93...
average側の編集~
通常であればjsonファイルはServer.py送られ、ajax通信によっ...
1)average.jsにtwitter.html内の処理を行う関数を作成する。~
//3Dグラフ表示
Blockly.JavaScript['make_3Dgraph'] = function (block) {
var value_file = Blockly.JavaScript.valueToCode(block, 'f...
code = value_file + "const elem = document.getElementById...
return code;
};
#ref(3D-Block実行前.png,,30%)
~
twitter.jsonを入れて実行すると右上のJavaScriptに書いてあ...
#ref(3D-Block実行後.png,,30%)
~
◎Blockly上でエラーが出たときはここを参照
vim /var/log/httpd/error_log
他のログはhttpdに入っている
[root@localhost yum.repos.d]# vim /var/log/httpd/
access_log error_log-20210307 ssl_error_log
error_log ssl_access_log ssl_request_log
終了行:
[[技術資料]]
3DグラフをBlockly上で表示するための手順です。~
(一部実機PCでのサーバ構築手順が含まれています)
#contents
*(手順1)サーバ構築 [#h448bcda]
横井さんのページを参照する ([[横井/研究室サーバー構築手順...
サーバー"OS編"から"セキュリティ編"のアンチウイルスソフト...
(手順2)が終わったら、サーバー"webサーバー編"のblocklyの項...
*サーバ関連の追加設定(必要になったら行う) [#s5911314]
**サーバのIPアドレス変更が必要なときの手順 [#pc7f6f39]
0)あらかじめ変更前IPアドレスのサーバーを停止させる
[root@localhost tmp]# systemctl stop sshd.service
ssh接続の場合、ログアウトしてサーバに接続できないことを...
[root@localhost tmp]# exit
ssh root@(前IPアドレス)で↓の表示が出ることを確認する
ssh: connect to host 192.168.0.◇◇◇ port 22: Connection r...
1)CentOSインストール時のような画面でIPアドレスは変更でき...
nmtui
ここでは矢印キーとEnterで移動•選択ができる~
#ref(nmtui1.JPG,,10%)
2)Edit a Connection→Editを選択し↓の画面へ移動
#ref(nmtui3.JPG,,10%)
3)「IPv4 CONFIGURATION」の<>内からManualを選択する
4)<Show>を選択~
#ref(nmtui4.JPG,,10%)
Addresses には192.168.0.◇◇◇/24をGateway には192.168.0.1、...
(◇◇◇には2〜255の番号&Airmacに繋がる全てのデバイスと被らな...
(%%192.168.0.1 がAirMac自体のアドレス?%%)
5)下へ行き~
「Automatically Connect」「Available to all users」にスペ...
6)<OK>→<Back>を選択し、今度は「Activate a connection」の...
#ref(nmtui5.JPG,,10%)
変更内容を反映させるため、一度リセットする~
→<Deactivate>を押して、<Active>になったところでもう一度押...
(表示では<Deactivate>に戻れば、有効になっている)
7)トップの画面で<OK>を押して元のコマンド入力へ戻る~
8)新しいIPアドレスで再起動
systemctl start sshd.service
(自動化するときはenableを付ける)
systemctl enable sshd.service
------
参考~
https://qiita.com/sango/items/816136188387221f05b3
------
**DNSの設定 [#fc945304]
1)ネットワークの設定を確認する
[root@localhost ~]# vi /etc/sysconfig/network-scripts/if...
(→○○○は有線でつないでいる先のポート番号によって変わる)
DNS1の部分を↓のように変更する
DNS1=192.168.0.1
//(GoogleのパブリックDNSである8.8.8.8であってもOK?)~
//→nmtuiでDNSを192.168.0.1にしたから合わせる必要あり?
2)変更内容を反映
[root@localhost network-scripts]# service network restart
------
参考
https://qiita.com/rockguitar67/items/6a39313ab94c9f5521e2
------
**yum関連で問題が出たときの解決策 [#ped19b2d]
yum ~~~を実行後に↓のようなエラーが出ることがある
***Case1.「mirrorlist.centos.org; 不明なエラー"」 [#b70c0...
[root@localhost idea_graph]# yum -y update
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.o...
release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos....
One of the configured repositories failed (不明),
and yum doesn't have enough cached data to continue. At...
safe thing yum can do is fail. There are a few ways to ...
1. Contact the upstream for the repository and get ...
problem.
2. Reconfigure the baseurl/etc. for the repository,...
upstream. This is most often useful if you are u...
distribution release than is supported by the re...
packages for the previous distribution release st...
3. Run the command with the repository temporarily ...
yum --disablerepo=<repoid> ...
4. Disable the repository permanently, so yum won't...
will then just ignore the repository until you p...
again or use --enablerepo for temporary usage:
yum-config-manager --disable <repoid>
or
subscription-manager repos --disable=<repoid>
5. Configure the failing repository to be skipped, ...
Note that yum will try to contact the repo. when...
so will have to try and fail each time (and thus...
slower). If it is a very temporary problem thoug...
compromise:
yum-config-manager --save --setopt=
<repoid>.skip_if_unavailable=true
Cannot find a valid baseurl for repo: base/7/x86_64
%%Case2. [#ge923d1f]%%
【解決策1】DNSの設定1),2)が行われているか確認する~
【解決策2】サーバのIPアドレス変更の6)でもう一度リセットし...
【解決策3(解決策1,2を試しても失敗する場合)】↓のファイルの...
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall ba...
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$...
#baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os...
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=updates&infra=$i...
baseurl=http://mirror.centos.org/centos/$releasever/upda...
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=extras&infra=$in...
baseurl=http://mirror.centos.org/centos/$releasever/extr...
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existi...
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=centosplus&infra...
#baseurl=http://mirror.centos.org/centos/$releasever/cen...
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
一番最後のエラー文が「base/7/x86_64」の場合は[base]、「ex...
参考
------
補足~
Cron Deamonから頻繁にメールがくる場合
/etc/cron.hourly/0yum-hourly.cron:
Repository google-chrome is listed more than once in the...
このメールが何度も来るときはgoogle chromeのレポジトリが重...
[root@localhost www]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo CentOS-fastt...
epel.repo ius-archive.repo
CentOS-CR.repo CentOS-Sources.repo CentOS-x86_6...
CentOS-Debuginfo.repo CentOS-Vault.repo epel-testing...
[root@localhost yum.repos.d]# vim google.chrome.repo
[root@localhost yum.repos.d]# rm google.chrome.repo
---
*よく使うコマンドの使い方(ssh,scp) [#mfaf0290]
**sshを使ってcentOS7サーバ(192.168.0.◇◇◇)に接続する方法 [...
1)コマンドプロンプトで以下を入力
C:\Users\~~~>ssh root@192.168.0.◇◇◇
(初回では先に"yes"を入力)パスワードを入力してログイン~
→[root@blockly ~]の表示になる~
2)cyber-space_analysis"ディレクトリへ移動~
[root@localhost ~]# cd /var/www/html/cyber-space_analysis
→発送支援のPythonファイル編集には主にこのフォルダ内を使う~
**scpで自分のPCのファイルをサーバーに送る方法 [#vcde404e]
(ファイルが置いてあるディレクトリへ移動)
scp [送るファイル名] root@192.168.0.◇◇◇:[送るディレクト...
(例)"test.txt"をcyber-space_analysisに送りたいとき~
→"test.txt"のディレクトリまで移動し
C:\Users\~~~>scp test.txt root@192.168.0.◇◇◇:/var/www...
ディレクトリ(ここではdic)を送るときは"-r"を付ける
scp -r dic root@192.168.0.130:/opt/mecab/lib/mecab
※逆も可能(ディレクトリcyber-space_analysisを自分のデスク...
C:\Users\~~~\Desktop>scp -r root@192.168.0.130:/var/w...
"OneDrive - 富山県立大学"にはなぜか送れない?
*(手順2)サーバ内への各種導入・準備(mecab導入,Textmining.p...
**サーバ上でTextmining.pyを動かすための準備 [#vcde404e]
***1.idea_graphディレクトリでTextmining.pyを実行し、エラ...
※「No module named 'MeCab'」が出たときはmecab-python3を入...
~
***2.まだMecab本体が入っていないの入れていく [#a5a633e8]
関連ライブラリのインストール~
sudo yum install -y bzip2 bzip2-devel gcc gcc-c++ git m...
作業フォルダを作成して移動~
mkdir -p ~/source/mecab
cd ~/source/mecab
ソースをダウンロードして解凍して移動~
wget 'https://drive.google.com/ucexport=download&id=0B4y...
tar zxvf mecab-0.996.tar.gz~
cd mecab-0.996
インストール先フォルダを作成~
sudo mkdir -p /opt/mecab
configure(コンパイルのための設定)を実行し、コンパイルして...
./configure --prefix=/opt/mecab --with-charset=utf8 --en...
make
sudo make install
インストールしたmecabの実行ファイル(のあるフォルダ)をパス...
bashの場合
echo "export PATH=/opt/mecab/bin:\$PATH" >> ~/.bashrc~
source ~/.bashrc~
~
------------------------------------------
※※↓この部分はたぶんやらなくてもOK※※~
ipadic(標準辞書)のインストール
作業フォルダを作成して移動
mkdir ~/source/mecab-ipadic
cd ~/source/mecab-ipadic
辞書ファイルを取得して解凍して移動
wget 'https://drive.google.com/uc?
export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM' -O meca...
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz~
cd mecab-ipadic-2.7.0-20070801~
設定してmakeしてインストール~
./configure --with-mecab-config=/opt/mecab/bin/mecab-con...
make
sudo make install
~~~~~
//mecab-0.996でopt/~/mecab/ipadicまでのディレクトリが作...
//neologd(拡張辞書)のインスト手順はやらない(あらかじめ用...
//neologdのコンパイルはwindowsと勝手が違うのでパス+~
//→dicをもう入れる?
~~~~~
---------------------------
~
***3.mecabの設定 [#cc67ff71]
%%scpでC:\Program Files\MeCabにあるdicを/opt/mecab/lib/me...
%%(ドライブにDELL内のipadicとmecab-ipadic-neologdをアップ...
1)scpでドライブにあるdicを/opt/mecab/lib/mecabに送り込む~
/opt/mecab/lib/mecab内にipadicがあったら、あらかじめ削除...
[root@localhost mecab]# rm -rf ipadic~
↓送る側のコマンドプロンプト~
C:\Program Files\MeCab>scp -r dic root@192.168.0.130:/op...
2)mecabrc内のdicdirを以下のように変更する~
[root@localhost ipadic]# vim /opt/mecab/etc/mecabrc~
dicdir = /opt/mecab/lib/mecab/dic/mecab-ipadic-neologd~
3)idea_graphまで移動~
[root@localhost idea_graph]# cd /var/www/html/cyber-spac...
4)Textmining.pyの110行目あたりのtagger = MeCab.Taggerの()...
tagger = MeCab.Tagger('-r /opt/mecab/etc/mecabrc')
------
参考~
UbuntuでMeCabのユーザ辞書に単語を追加してPythonで使えるよ...
https://qiita.com/cove_ht/items/d743a9d757dd3097a6f6
------
***4.ChromeDriverの導入 [#mb73ad77]
yumリポジトリ作成
[root@localhost idea_graph]# vim /etc/yum.repos.d/google...
新しくできたファイルに以下を記述
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$ba...
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key...
yum updateを実行(↓がどこかに表示されていたらOK?)
google-chrome ...
google-chrome/x86_64/primary ...
google-chrome
Chromeインストール
yum -y install google-chrome-stable
CentOSのクラッシュ対策用とChrome用フォントのインストール
[root@localhost /]# yum install -y libOSMesa google-noto...
pip用のバージョン確認
[root@localhost /]# google-chrome --version
出てきたバージョンを□□□に入れてpip
[root@localhost /]# pip install chromedriver-binary==□□□
※赤字でそのバージョンは無いと言われるので一番近いバージョ...
例:
ERROR: Could not find a version that satisfies the requi...
ERROR: No matching distribution found for chromedriver-b...
この場合,一番近い「92.0.4515.107.0」をpip~
----
久しぶりにChromeでwebスクレイピングを行う場合,ChromeDriv...
selenium.common.exceptions.SessionNotCreatedException: M...
Current browser version is 92.0.4515.131 with binary pat...
この場合もCurrent browser version is の部分の番号を□□□に...
----
~
seleniumとpyvirtualdisplayとlxmlをインストール
[root@localhost /]# pip install selenium
[root@localhost /]# pip install pyvirtualdisplay
[root@localhost /]# pip install lxml
***5.動作チェック [#iff43650]
1)google検索のトップページに行けるか確認
[root@localhost /]# google-chrome --headless --no-sandbo...
→ 後ろに--headless等を付けることでCUIベースのCentOSでもGP...
※おそらく文字が大量に流れてくると思われるが、一番後ろに</...
があれば、googleトップページのhtml表示版が出てきている感...
2)これで準備ができたので、Textmining.pyを起動してスクレイ...
[root@localhost /]# cd /var/www/html/cyber-space_analysi...
[root@localhost idea_graph]# python Textmining.py
コマンドプロンプトで↓みたいになっていればOK
【検索ワード】
属性データ: 夫婦 (半角改行で複数ワード入れられ...
任意のキーワード: 指定なし(←時間短縮のため今は指定なし)
地名データ: 指定しない (←key.txtを編集することで指定...
データフレームの大きさ: 30
発想支援を開始します
Twitterの分析中(1/3)
「夫婦」でスクレイピング中
0%| | 0/14 [0...
* Environment: production
WARNING: This is a development server. Do not use it ...
deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to qu...
* Restarting with stat
* Debugger is active!
* Debugger PIN: 174-577-420
100%|█████████████████████████████████| 14/14 [00:28<00:...
自然言語処理中
100%|███████████████████████████████████| 3/3 [03:42<00:...
Webの分析中(2/3)
Webのスクレイピング中
100%|███████████████████████████████████| 8/8 [00:08<00:...
自然言語処理中
100%|███████████████████████████████████| 3/3 [00:52<00:...
発想支援3Dグラフの表示(3/3)
*(手順3)Textmining.pyのBlockly化[#b0f38f52]
先にこのリンクのblocklyの部分を済ませておく~
https://www.pu-toyama.ac.jp/IS/IIE/IIE.IS.20210325.toyama...
**【Blocklyへの接続】(シークレットタブで開く) [#qe3fa072]
//残留キャッシュで更新ラグが起こることがないとのこと
1)あらかじめファイヤウォールの外部アクセス制限を解除して...
[root@localhost cgi-bin]# firewall-cmd --add-service=htt...
[root@localhost cgi-bin]# firewall-cmd --reload
2)Blockly(ブロック作成画面)への接続
http://192.168.0.◇◇◇/cyber-space_analysis/
**.py(.cgi)形式の処理ブロックの実装(CustomBlocksの「ANALY...
例としてTextminig.pyを実行するブロックを作る~
1-1)cgi形式のコピーを作り、cgi-binへ移動させる
[root@localhost idea_graph]# cp Textmining.py Textmining...
[root@localhost idea_graph]# mv Textmining.cgi /var/www/...
◎cgiファイルを自PCで作ってデスクトップからcgi-bin内に送る...
C:\Users\~~~\Desktop>scp ~~~.cgi root@192.168.0.13...
このとき改行コードをWindowsからLinux形式に変換する必要が...
[root@localhost cgi-bin]# nkf -Lu --overwrite ~~~.cgi
↓参考
https://blog.katsubemakito.net/linux/convert-linebreaks
1-2)追加するcgi内の最初を統一する
#!/home/nu/.pyenv/shims/python(←1,2行目)
# -*- coding: utf-8 -*-
~~~~~ import宣言 ~~~~~
print("Content-type: application/json")
print("\n\n")
#json形式にされた入力ファイルを読み取る
data = sys.stdin.read()
wine_df = pd.read_json(data)
~~~~~ 処理分 ~~~~~
→このwinw_dfをpythonのときと同じように処理していく~
1-3)一番最後も統一する
result_df=pd.DataFrame(result_x)
result_json=json.dumps(result_df.values.tolist())
print(result_json)
print('\n')
→最後の結果をデータフレームにしたものがjson.dumps()の中に...
2)実行権限を有効化する(lsで見たときファイルの色が白からカ...
[root@localhost cgi-bin]# chmod 755 Textmining.cgi
3)(新しいサーバで初めてANALYZEブロックを動かすときにやる...
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI
Require all granted
AddHandler cgi-script .py .cgi
</Directory>
4)average.jsにTextmining用のコードを書く
[root@localhost cgi-bin]# vim /var/www/html/cyber-space_...
cgiファイルが並ぶコードの一番下に新たに追加(今の例ではsc...
→ajax()内のディレクトリの部分を変更~
→新たに追加するたびにread_csvの番号を1増やしていく~
//OCR
Blockly.JavaScript['ocr'] = function (block) {
var value_jpg = Blockly.JavaScript.valueToCode(block, ...
Blockly.JavaScript.ORDER_ATOMIC);
var code = value_jpg + "$.ajax({type: 'POST',url: '../...
bin/ocr.cgi',contentType:
'application/json',data:JSON.stringify(a),async:false,su...
{console.log(data);a = data; if (!data[0]) { return; }...
{alert('Ajax失敗');} })";
return [code, Blockly.JavaScript.ORDER_ATOMIC];
};
//SC
Blockly.JavaScript['sc'] = function (block) {
var value_csv = Blockly.JavaScript.valueToCode(block, ...
Blockly.JavaScript.ORDER_ATOMIC);
var code = value_csv + "$.ajax({type: 'POST',url: '../...
bin/Textmining.cgi',contentType:
'application/json',data:JSON.stringify(a),async:false,su...
{console.log(data);a = data; if (!data[0]) { return; }...
{alert('Ajax失敗');} })";
return [code, Blockly.JavaScript.ORDER_ATOMIC];
};
5)average_block.jsにも同様に追加
[root@localhost cgi-bin]# vim /var/www/html/cyber-space_...
[]内の名前とcsv番号はaverageと統一
--appendField()内はブロックに表示される文章
--setTooltip()はブロックの説明文
--setCommentText()はブロックの左にある?の文章
#ref(cgi-average_block.png,,50%)
6)toolbox.xmlにもscの項目を追加
[root@localhost cgi-bin]# vim /var/www/html/cyber-space_...
#ref(cgi-toolbox.png,,50%)
7)httpdの更新
[root@localhost cgi-bin]# systemctl restart httpd
8)コードが正しいと作ったBlockが現れる
#ref(cgiBlock.png,,50%)
~
**(入力jsonファイル)Blockly画面上での3Dグラフの表示 [#o93...
average側の編集~
通常であればjsonファイルはServer.py送られ、ajax通信によっ...
1)average.jsにtwitter.html内の処理を行う関数を作成する。~
//3Dグラフ表示
Blockly.JavaScript['make_3Dgraph'] = function (block) {
var value_file = Blockly.JavaScript.valueToCode(block, 'f...
code = value_file + "const elem = document.getElementById...
return code;
};
#ref(3D-Block実行前.png,,30%)
~
twitter.jsonを入れて実行すると右上のJavaScriptに書いてあ...
#ref(3D-Block実行後.png,,30%)
~
◎Blockly上でエラーが出たときはここを参照
vim /var/log/httpd/error_log
他のログはhttpdに入っている
[root@localhost yum.repos.d]# vim /var/log/httpd/
access_log error_log-20210307 ssl_error_log
error_log ssl_access_log ssl_request_log
ページ名: