スキップしてメイン コンテンツに移動

投稿

ラベル(Linux)が付いた投稿を表示しています

LS-WTGLをハックし、sshログインする

初期状態のリンクステーションは外部からの接続が制限されている。 この為、sshでログインできるようにハックする。 ここではDebian上で操作する。 javaの実行環境 java の実行環境構築する。 Java Runtime Environment (JRE) をインストールしておけばいいはず。 # apt install openjdk-11-jre ツールの導入と実行 リンクステーション向けにツールが公開されている。 acp_commander.jar https://github.com/Stonie/acp-commander このファイルを置いたディレクトリにて次のコマンドを入力するとヘルプが見られる。 $ java -jar acp_commander.jar リンクステーションのIPアドレスが 192.168.0.2 の時、 rootパスワードを削除し、telnetサービスを立ち上げるのは次のコマンドで行う。 $ java -jar acp_commander.jar -t 192.168.0.2 -o これでリンクステーションにtelnetで接続可能になった。 rootパスワードの設定 rootのパスワードを設定しておく。 # passwd Changing password for root Enter the new password (minimum of 5, maximum of 20 characters) Please use a combination of upper and lower case letters and numbers. Enter new password: Re-enter new password: Password changed. sshサービスの起動 telnetで接続後、/usr/local/sbin/sshd を実行するとsshサービスが起動できる。 起動前に /etc/sshd_config を変更し設定を変える必要がある。 # sed -i 's/\#PermitRootLogin no/PermitRootLogin yes/' /etc/sshd_config # grep PermitRo...

TFTPサーバーを導入 on CentOS 8

CentOS8 に TFTPサーバーを構築する。 日本語のサイトは xinetd 経由で動作させる記述が多いが、出来るだけ余計なものを導入したくないので systemd で動作をさせた。 [参考] Configure TFTP Server on CentOS 8 https://linuxhint.com/tftp_server_centos8/ インストール 次のコマンドでインストール出来る。 $ sudo dnf install tftp-server インストール後の状態確認 systemdのユニットファイルを確認してみる。 $ systemctl list-unit-files 300近くあるので制限して表示すると2つのファイルが見つかる。 $ systemctl list-unit-files | grep tftp tftp.service indirect tftp.socket disabled それぞれのファイルは次の場所にある。 /usr/lib/systemd/system/tftp.service /usr/lib/systemd/system/tftp.socket 中身については以下の通り。 $ cat /usr/lib/systemd/system/tftp.service [Unit] Description=Tftp Server Requires=tftp.socket Documentation=man:in.tftpd [Service] ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot StandardInput=socket [Install] Also=tftp.socket $ cat /usr/lib/systemd/system/tftp.socket [Unit] Description=Tftp Server Activation Socket [Socket] ListenDatagram=69 [Install] WantedBy=sockets.target ...

CentOSのGUI環境について

前回、CentOS8 の環境構築を行った。 CentOS 8.1 を 仮想環境VirtualBox にインストール on Win10 https://atsreport.blogspot.com/2020/05/centos-81-virtualbox-on-win10.html ディスク容量を絞ってインストールした為、GUIが入れられなかった。 OSのインストール後、パッケージマネージャ dnf を用いて導入したが、 重たかった為に他のGUIも試すことにする。 最小限のインストールを行った後、GUIを導入する。 dnfのグループを用いたインストールを行うが、 デフォルトでは GUI は GNOME しか用意されていない。 Extra Packages for Enterprise Linux repository を導入しインストールできるパッケージを増やしてKDEとXFCEを導入してみる。 [root@localhost ~]# dnf install epel-release epelリポジトリを追加すると、パッケージグループが増えている。 [root@localhost ~]# dnf group list Last metadata expiration check: 0:03:16 ago on Sat May 9 17:09:14 2020. Available Environment Groups: Server with GUI Server Workstation KDE Plasma Workspaces Virtualization Host Custom Operating System Installed Environment Groups: Minimal Install Available Groups: Container Management .NET Core Development RPM Development Tools Development Tools Graphical Administration Tools Headless Management Legacy UNIX Compatibi...

CentOS 8.1 を 仮想環境VirtualBox にインストール on Win10

CentOS 8 のテスト環境を作ることにした。 用いたディスクイメージは CentOS-8.1.1911-x86_64-boot.iso http://ftp.riken.jp/Linux/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-boot.iso VirtualBox は 6.0.20 を利用。 https://www.virtualbox.org/ インストール 仮想環境の設定を少し変更。 [ストレージ]のHDDサイズ - 8GB [システム]のチップセット - "ICH9" [ネットワーク]の割当 - "ブリッジアダプター" ディスクよりブートしウィザードに従いインストールを行う。 最初に言語の設定があるので日本語にした。 その後、タイムゾーンの設定が東京になっていなかったのでこれを変更。 パーテーションのレイアウトなどは自動で行った。 ネットワークを有効にし、インストールするソフトウェアは "最小限のインストール" を選択。 ダウンロードするファイルは約300MiB。 この間にrootパスワードとユーザを作成する。 ちなみに、GUI無しのサーバーでインストールするとダウンロードするファイルが400MiBぐらいで、インストール途中で止まってしまった。 インストールのバージョン [root@localhost ~]# cat /etc/centos-release CentOS Linux release 8.1.1911 (Core) [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="8 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="8" PLATFORM_ID="platform:el8" PRETTY_NAME="CentOS Linux 8 (Core)" ANSI_COLOR=...

smashing を docker で動かしてみる

smashing とは ダッシュボード用のソフト。 [公式]  http://smashing.github.io/smashing/ ruby で開発されていて、カスタマイズするためにruby、CoffeeScript等を用いる。 うまくカスタマイズすればデジタルサイネージとして使える。 dockerhub に公開されているイメージでsmashingを動作させるための方法。 次のイメージを利用する。 visibilityspots/smashing https://hub.docker.com/r/visibilityspots/smashing 次のコマンドでsmashingを起動する。 $ sudo docker run -d -p 8080:3030 visibilityspots/smashing ブラウザで http://localhost:8080/ にアクセスするとダッシュボードが表示される。

RaspberryPi にて トラブル?

$ uname -a Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux RaspberryPi 3B に Raspbian Buster をインストールして更新した。 すると次のような画面が表示された。 パッケージの設定 ┌────────────────────┤ Pending kernel upgrade ├────────────────────┐ │ │ │ Newer kernel available │ │ │ │ The currently running kernel version is 4.19.75-v7+ which is not the expected kernel version 4.19.75-v8+. │ │ │ │ Restarting the system to load the new kernel will not be handled automatically, so you should consider │ │ rebooting. ...

ノートPC ( HP Pavilion TouchSmart 10 ) にXubuntuを入れた話

以前、次のような記事を書いた。 Na01mini に Ubuntu 19.04 をインストールした https://atsreport.blogspot.com/2019/06/na01mini-ubuntu-1904.html このときはハードウェアが32bitであった為32bitのUbuntuをインストールすることになった。 今回は次の64bitマシンをSSD化しXubuntuをインストールした。 スペック HP Pavilion TouchSmart 10-e003AU AMD A4-1200 APU (1.0GHz, 1MB L2キャッシュ) 2GB (2GB×1) (1066MHz,DDR3L SDRAM) オンボード AMD Radeon™ HD 8180 グラフィックス 10.1インチワイドHDブライトビュー・タッチディスプレイ (1366×768/最大1677万色) https://jp.ext.hp.com/lib/products/portables/personal/spec_pdf/pavilion_10e-000_touchSmart_dp.pdf もともとWindows8.1(64bit)であったのをWindows10Home(64bit)にアップグレードしてあったが、とても処理が重く使いみちがなかった。 処理が重い理由の1つがHDDだと思ったのでSSD120GBに交換した。 SSDはパソコン工房で2000円で買えた。厚さ7mmでないと入らない。 LITEON PH6-CE120 Pavilion TouchSmart 10-e003AU の分解については色んなページを参考にした。 ドライバは必須だが、スクレイパーが有るといい。無いと分解できなかったかも。 http://ayati.cocolog-nifty.com/blog/2014/06/pchp-pavilion-1.html https://wakeari.danman.jp/entry/paviion-ts-10-e021au-ssd http://h10032.www1.hp.com/ctg/Manual/c04019490.pdf 交換完了し、最初 FreeBSD12.1 をインストールした。 ところがタッチパネ...

Docker イメージの作り方

図を書く必要ができた。 絵ではなく製図でもなくフローチャートのような図なので、 そこまで細かく書く必要はない。 CADを使いたかったのだが、どれが良いかわからない。 そこでDockerを使ってテストを行うことにした。 とりあえずaptコマンドでCADを検索してみると次のようなパッケージが見つかった。 LibreCAD:https://librecad.org/ SagCAD : http://sagcad.sourceforge.jp/ KiCad EDA : http://www.kicad-pcb.org/ PythonCAD : https://ja.osdn.net/projects/sfnet_pythoncad/ OpenSCAD : http://www.openscad.org/ 次のパッケージもあったが今回は除外した。 LeoCAD : https://www.leocad.org/ LEGOブロック組立 XTrackCAD : http://www.xtrkcad.org/ 鉄道模型用 そもそも DockerHub に有れば作る必要もないのでまず検索してみた。 # docker search cad すると caddy 関連のイメージがたくさん引っかかったが、CADは見当たらなかった。 というわけで Dockerイメージを作ることにした。 イメージの作り方は次の方法がある。 ベースとなるイメージからコンテナを作り、その中にログインしパッケージをインストール。 その後コンテナからイメージを作成する。 Dockerfileに上記の順序を記述し自動的にイメージを作成 今回は次のサイトを参考にDockerfileからイメージを作成した。 [参考] Dockerfileとdocker buildコマンドでDockerイメージの作成 https://www.atmarkit.co.jp/ait/articles/1407/08/news031.html 今回は次のようなDockerfileを作った。 $ cat Dockerfile FROM ubuntu RUN apt update RUN apt install librecad -y CMD ["...

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。

Linux において コンソール (Textログイン) で日本語を表示する

Linux のコンソールでは、フレームバッファを使い日本語を表示することができる。 多くのLinuxでは通常グラフィカル環境をセットアップするのであまり影響ないかもしれない。 グラフィカルの画面で Ctrl + Alt + F1 等を押したり、XをインストールしなかったりするとCUIの画面のみを触ることになる。 しかし、日本語設定になっていると ( LANG=ja_JP.UTF-8 ) エラーメッセージに日本語が出力されるが表示できない。 $ man sl sl ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ この状態を避けるためには、日本語を出力しない 又は 日本語を表示できるようにする。 日本語を出力しないように英語の出力をするためには次のコマンドを実行する。 $ LANG=C このコマンドは一時的なのでログアウトするとまた元に戻る。 日本語を表示出来るようにするには、フレームバッファを用いると表示できる。 次のような仮想コンソールがあるようだが、fbterm をインストールした。 fbterm  https://code.google.com/archive/p/fbterm/ jfbterm  https://ja.osdn.net/projects/jfbterm/ kmscon  https://github.com/dvdhrm/kmscon zhcon  http://zhcon.sourceforge.net/ 以下はUbuntuでの話。 まず、インストール。 # apt install fbterm fbtermを実行するユーザをvideoグループに追加。 # gpasswd -a [username] video 該当ユーザでログインしfbtermを起動。 $ fbterm これでコンソールで日本語が表示されるようになる。

Linuxのランレベルとsystemd の関係と 切り替え方

Linux にはランレベルと言う物がある。 モードによりシステムの動作が変わるのでどんな状況で動いているかがわかる。 systemd が導入されるとこのランレベルに変わるものが導入された。 どの様にランレベルを変更できるか下記に記述する。 ランレベル /etc/inittab 0 電源オフ 1 シングルユーザモード 2 マルチユーザモード(ネットワークはオフ) 3 マルチユーザモード(ネットワークはオン) 4 未使用 5 グラフィカルモード 6 再起動 現在のランレベルは次のコマンドで確認できる。 $ runlevel 一時的な変更は次のコマンドで行う。次の例は ランレベルを1に変更する例。 # init 1 恒久的に変更するためには /etc/inittab を修正する必要がある。 次のように記述されているなら次回起動時はランレベル3になる。 id:3:initdefault: systemd では管理の仕方が変わりランレベルは次のようになった。 0 -> poweroff.target 1 -> rescue.target 3 -> multi-user.target 5 -> graphical.target 6 -> reboot.target 2と4に対応するものは無い。 このtargetファイルは /etc/systemd/ に色々ファイルが有り、 この中のファイルは /lib/systemd の中のファイルのシンボリックファイルになっている。 /etc/systemd/system/default.target は何のファイルのシンボリックリンクになっているかでランレベルが決まる。 現在のランレベルは次のコマンドで確認できる。 $ runlevel または、次のコマンドでも確認できる。 $ systemctl get-default systemctl で表示されるのは、現在セットされている内容を見ているので 厳密には今のランレベルというわけではない。 一時的にランレベルを変更するのは次のコマンド。 # systemctl isolate graphical.target または次のコマンドでも変更できる。 # ini...

ftpコマンドでサーバーからファイルをダウンロードする

ftpコマンドでサーバーからファイルをダウンロードしたい。 昔、Windowsでバッチファイルを組んで使っていたが忘れてしまったので、 それを思い出しながらまとめてみた。 ftpコマンドには -n オプションがある。 このオプションは自動起動しないようにするオプションなので、 このオプションを付けて起動したftpコマンドにリダイレクトで必要な操作を与える。 $ ftp -n < ftpfile このときの ftpfile ファイルは操作する内容を書いておく。 === ftpfile === open FTPSERVER user USERNAME PASSWORD prompt bin get GETFILENAME mget GET*FILE*NAME quit === ftpfile === 1行目はログイン先のftpサーバの指定 2行目はログイン名とパスワードの設定 (例えば ユーザ名 anonymous パスワード anony@example.com) この後ログインした後の操作を記述する。 [参考]ftpコマンド処理を自動化したい https://www.itmedia.co.jp/help/tips/linux/l0462.html

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

Ubuntu テキストログインしたときに日本語表示する

Ubuntu 19.04をインストールした。 次のコマンドでテキストログインになりXは起動させない。 # systemctl set-default multi-user.target グラフィカルログインをしていた時と比べると 使用するメモリが400MBほど少なくなった。 GUIはLXQtをインストールしてある。 テキストログインすると日本語が読めない。 ネットワーク上のファイルは日本語で書かれていたりするので 日本語が表示できないのは辛い。 そこでfbtermをインストールした。 # apt install fbterm フレームバッファは /dev/fb0 を使うのでこれにアクセスできないといけない。 この為、自分自身をvideoグループに所属させた。 $ usermod -aG video USERNAME これで fbterm を入力すると画面が切り替わり日本語が表示できるようになる。 各種設定は .fbtermrc ファイルにする。 フォントの指定などが行える。 取り敢えずフォントサイズを少し大きくしておいた。 また、自動で起動するようにも設定した。 次の内容を .bashrc に追加した。 case "$TERM" in linux*)     fbterm     ;; *)     ;; esac これで自動的にfbtermが起動する。

仮想環境 VirtualBox に CentOS インストール直後にしておくべきこと

テスト用に度々CentOS7をインストールしているので インストール後にしておくべきことをリストアップ。 CentOS7の最小インストールを想定。 yum update を実行 sudo の設定 ( /etc/sudoers.d/ 内に設定ファイルを配置 ) sshd の設定 ( 最低限ログインできるように。できれば公開鍵認証などの設定) ユーザ環境の設定(.bashrc や .vimrc 等) yum install epel-release ( EPEL リポジトリの追加 ) VirtualBox Guest Additions をインストール。 これを実行するために、 bzip2、kernel-devel、gcc、make、perl が必要。 make は最初から入っている模様。 # yum install bzip2 kernel-devel gcc make perl この他、セキュリティに関すること selinux の設定 firewalld の設定 好みによって日本語のmanページをインストール yum install man-pages-ja ( 日本語manページ ) telnetが必要ならインストールする。 クライアントなら yum install telnet サーバーなら yum install telnet-server おまけ 旧来より使われていたコマンドが置き換わっているので、 その対応について。詳細は参考先を参照。 curl <= wget の代わり ip  <= ifconfig の代わり ss  <= netstat の代わり firewall-cmd <= iptables の代わり [参考] CentOS7から変わったネットワーク系のコマンド https://qiita.com/haisaihiroki/items/87fe137f00b5c625f607

軽量なウェブブラウザ

smashing のダッシュボードを表示するにはウェブブラウザが必要。 その為、出来るだけ軽量なブラウザをインストールしたい。 候補としては次のようなブラウザを考えた。 尚、OSはUbuntu。 Dillo https://www.dillo.org/ とても軽い。機能が限定的でJavaScriptが使えない模様。 日本語が表示できないためカスタマイズが必要。 爆速ブラウザDilloの日本語文字化けを直す http://kowaimononantenai.blogspot.com/2015/02/dillo.html 上記サイトによると、 次の内容のファイルを配置すればいいみたいだが、うまくいかなかった。 ===~/.dillo/dillorc=== font_serif="fonts-japanese-mincho" font_sans_serif="fonts-japanese-gothic" font_cursive="fonts-japanese-gothic" font_fantasy="fonts-japanese-gothic" font_monospace="fonts-japanese-gothic" =========================== epiphany $ sudo apt-get install -y epiphany-browser Midori https://www.midori-browser.org/ $ snap install midori でインストールできる。 snapコマンドは入ってなければインストールする必要あり。 Arora https://github.com/arora/arora $ sudo apt install arora でインストール。

ダッシュボード dashing 関連のサイト集

smashing wiki https://github.com/Smashing/smashing/wiki smashing Additional Widgets https://github.com/Smashing/smashing/wiki/Additional-Widgets dashingまとめ https://qiita.com/miyay/items/e4bfe6ab84ec1ff1c674 Raspberry Piで作るお手軽Dashbord https://qiita.com/moonstruckdrops@github/items/c58528df1ad4632cff52 Dashingで簡単にダッシュボードを作る方法 https://www.ryuzee.com/contents/blog/6861 モダンなダッシュボード用フレームワークDashing入門 https://blog.qnyp.com/2013/05/09/try-dashing/ 朝専用ダッシュボード onTV #powered by RaspberryPi and Dashing https://qiita.com/nori-dev-akg/items/f9119612c46fcddfb5e2 いまさら dashing で俺得ダッシュボードを作って heroku にデプロイしたのでメモしとくよ https://blog.a-know.me/entry/2015/07/19/100605 Dashingのカスタムウィジェットを作成する http://kimh.github.io/blog/jp/dashing/creating-custom-dashing-widget-ja/ CoffeeScript入門(前編) ― CoffeeScriptの基本構文 https://www.buildinsider.net/web/rubyonrails4/0901

smashing を設定してみる

smashing のみを実行するとヘルプが出る。 $ smashing Commands: # Creates a new widget, dashboard, or job.   smashing generate (widget/dashboard/job) NAME # Describe available commands or one specific command   smashing help [COMMAND] # Installs a new widget from a gist (skip overwrite).   smashing install GIST_ID [--skip] # Runs the specified job. Make sure to supply your auth token if you have one set.   smashing job JOB_NAME AUTH_TOKEN(optional) # Sets up ALL THE THINGS needed for your dashboard project.   smashing new PROJECT_NAME # Starts the server in style!   smashing start # Stops the thin server   smashing stop smashing install GIST_ID とあるが、この GIST_ID を  GitHub Gist https://gist.github.com/ で調べて実行するとネットからダウンロードしてインストールしてくれる。 ●RSS feedのインストール RSSを表示する Wedgit が欲しかったので RSS feed https://gist.github.com/bsag/5894847 を次のコマンドでダウンロードした。 $ smashing install 5894847 ※ このコマンドはプロジェクトのルードディレクトリで実行する。 RSS feed のページにインストール手順が書...

smashing をインストールしたが 起動しない

smasshing を使ってダッシュボードを作ってみた。 Raspberry Pi にダッシュボードをインストールしデジタルサイネージ(電子看板)を作る https://atsreport.blogspot.com/2019/06/raspberry-pi.html 仮想環境に構築し色々設定し起動してみたがエラーが出て起動しない。 bundler: failed to load command: thin (/usr/local/bin/thin) ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. 環境によるみたいで次の内容を Gemfile ファイルに次の追記すると起動した。 === gem 'execjs' gem 'therubyracer' === [参考] Dashingで簡単にダッシュボードを作る方法 https://www.ryuzee.com/contents/blog/6861

sudoに設定したのに有効にならない

以前、sudoの設定をした。  sudo の設定  https://atsreport.blogspot.com/2017/12/sudo.html パスワードを入力しなくても使えるように次の設定をした。 # userユーザーにパスワードなし設定を行う場合 user    ALL=(ALL)    NOPASSWD: ALL この設定は /etc/sudoers ファイルに書き込まれている。 編集は visudo コマンドを用いて行う。 sudoers ファイルにかかれている設定は後方に書かれている内容が有効になる。 つまり、次のように書かれていると user はsudoコマンドにパスワードが必要になる。 ===sudoers===  user    ALL=(ALL)    NOPASSWD: ALL  user    ALL=(ALL)    ALL ===sudoers=== また、sudoersファイルの末尾には次の行がある。 #includedir /etc/sudoers.d↲  これはコメントアウトではないため sudoers.d/ ディレクトリの内容も参照される。 なので設定ファイルは sudoers.d/ディレクトリに置けば有効になる。 このとき、次のコマンドで設定ファイルを編集しなければいけなかった。 $ sudo visudo -f /etc/sudoers.d/$(whoami) ※ $(whoami) は 好きなファイル名に変えてもよい。 直接変更してしまったため、syntax errorとなりsudoが使えなくなった。 root パスワードがわからないのでsuコマンドも使えず、 仕方がないのでシングルユーザモードで起動し修正をした。 pkexec コマンドが使えれば、 このコマンドがsudoの代わりになるのですぐに直すことができる。 [参考] 日本語マニュアル sudo https://linuxjm.osdn.jp/html/sudo/man8/sudo.8.html 日本語マニュアル sudoe...