投稿

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

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

見覚えのないポート7070

イメージ
 ネットワークの確認作業中… 家庭内ネットワークの確認を定期的に行うのに、最近はFing(アプリ)を使用することが多い。 非常にできが良く、 Andorid版 , iOS版 ともに提供されている。 で、少し時間が合ったので詳細を確認してみた… メインのマシンの内容が以下 家庭内でノートから接続するのにsshを使用しているので、22は問題ない。 開発で使っているので80もOK。 samba経由でファイル共有するので、139と445も問題ない。(ちなみに外部に出すマシンは塞いだほうが良いです) 前回、娘の練習で画面共有の設定を行ったので、5900も理解している。 ところが、7070だけは認識していないポートなので???となった。 7070って… ちなみに、7070のサービスは「realserver」となっている。 昔Windowsを利用している頃は、realPlayerとかrealServerを利用したことが有るけど、Ubuntuを使うようになってから利用した憶えがない。 念の為、ググってみる。 まぁいくつか使っているが…どれも見覚えがない。 https://hi-nemos.com/port/?port=7070 少々気持ちが悪い。 これは、ちゃんと調べておく必要がある。 さて、該当のマシンで詳細に調べてみる。 $ lsof -i -P | grep 7070 anydesk   794256 yoshimura   32u  IPv4   48832      0t0  TCP *:7070 (LISTEN) おお! AnyDeskの待ち受けということが分かった! 確かに、外部から緊急でマシンのデータを使うことが有るので、外部からの接続を受けるために自動起動設定しているのだった(笑) はっきりと原因が分かってよかった… という作業は定期的に行っておくのは大事ですな…。

SSDのベンチマーク

イメージ
測定してみた  前回購入したSamsungのSSD がやや遅かったので、しっかり測定してみた。 Windowsだと、 CrystalDiskMark が一般的なんだけど、Linuxでは動作しない。 で、調べてみるとほぼ同じような処理をするクローンが存在していた。 その名も「 KDiskMark 」で、画面構成もテスト内容も同じ。 KDEベースなので、先頭にKが付いていますね…。 $ sudo add-apt-repository ppa:jonmagon/kdiskmark $ sudo apt update $ sudo apt install kdiskmark インストールはこれだけ。 ちゃっちゃとインストールして、実行してみる。 こちらが、もともとのSSD。 Sequencial readは 3000MB/s なので、そこそこ速い(しかし書き込みは遅い!) でもって、こちらが増設したSamsungのSSD Sequencial Readは、半分程度の速度なんだけど、書き込みもRandom アクセスは倍程度の速度が出ている。 大きなファイルの読み込みは、元のDiskの方が速いものの、Randomと書き込みはSamsungの方が倍くらい速いのが分かる。 前回、書いたように、遅く感じなかったのは、この辺りが理由と思われる。 /homeなんて、細々書き込むことが多いので、Randomが速ければ体感速度は速いはずですね…。多分…。知らんけど…。 と、作業の合間に計測してみた結果です。

SSDの増設

イメージ
使用量が85%を超過 ( ゚д゚)ハッ! と気づいたら、メインSSD(500GB)の85%を超えて使っていた。 データ用のHDD(4TB)はバックアップなどに使用する目的で、すでに余分なデータは逃しているはずなのに…。 あぁ、仮想マシンのイメージが大きいんだ。 Windows10に200GB、Ubuntuに20GB、Rocky Linuxやら…一時的なものも含めると結構な量になっていた。 NVMe M.2のSocketが1つ空いているので、増設することにした。 Samsung 980 を購入 pro にしようか迷ったものの、1万円の金額差は無駄に感じたので、スタンダードな980を選定。容量は1TB。 それでも、3500MB/秒なら良いかなぁ…と。 念の為、長尾製作所のヒートシンクも手配しました。 開封の儀 木曜の夜に注文して、本日到着。 早速、開封して設置することに。 特に問題もなく、取説通りにヒートシンクも装着! マザーボードに装着! 電源投入! まぁ、この程度の作業なんて躓く所がない。 データの移行 とりあえず、フォーマットとマウントを行なう。 ext4でフォーマット /home2 を作成し、ここにマウント mkdir /home2 fstabにUUIDを書いて、マウント先 /home2を指定 /home以下をコピー  # cp -a  /home/* /home2/ /homeを/home_bacupにリネーム  # mv /home /home_backup 新規にhomeを作成  # mkdir /home /etc/fstab を書き換え /home2にマウントしていたものを/homeにマウント reboot まあ、実際のところ、この程度です。 再起動して、正しくマウントされているのを確認。 増設前 content_copy $ df -s Filesystem 1K-blocks Used Available Use% Mounted on udev 16371712 0 16371712 0% /dev tmpfs 3280184 3936 3276248 1% /run /dev/nvme0n1p2 490691512 398857

ChromeBookをサブディスプレイにする

イメージ
サブディスプレイはお勧め これだけ、オンラインが一般化してくると、オンライン会議専用でも欲しくなってくる。  開発用メインのマシンは、27インチ+24インチのマルチディスプレイで利用中。 (次女娘が使いたいというので…譲った) Macbookは、Zoomなどする時はほぼモバイルディスプレイを接続して2台ディスプレイ体制。 さて、Thinkpad(Ubuntu)は、持ち運び用のメインとして利用しているのだけれど、家で使用する場合はサブディスプレイが欲しい。  ところが、Macbookに接続するのに使っているのは、バッテリー内蔵で悪くはないのだけれど、接続の手間と設置(カバーを立てかけ用に細工)するのが、ひと手間かかる…。  しかも、Zoomでよく使用する部屋に置いてあって、持ち運ぶのが面倒…。 良い方法が無いかと思案して以下の方法を利用することに。 ・日頃、寝転がってメールやSlackを確認したり、ちょっとした作業やWEBの閲覧に使用しているChromeBookを必要に応じてサブディスプレイ化する。 ・特殊な設定は、面倒なので極力簡単にしたい。 ということで、用意したのがこれ! ダミープラグ! といっても、初号機や弐号機を操作するためのものでは決して無い (あれば欲しいけど…) 同じ名前だし、意味合いも同じなので仕方がないのだが… 正式名称は「HDMIダミープラグ」 これは、PCのHDMI端子に差し込むことで、外付けディスプレイが存在するかのように振る舞ってくれる。  解像度やリフレッシュレートも自由に変えられるという優れ物。  ちなみに僕は、 SWEETECH HDMI仮想ディスプレイ【1個入り】 HDMIダミープラグ  を、600円弱で購入。(一応4K対応)  いろいろな所が出していますが、1000円以下といったところですかね。  主な目的は、解像度の低いディスプレイが接続されたサーバなどに差し込んで、リモートで操作するときに広い画面として利用するなどなど…。 まあ、アイデア次第という感じ。  こいつを、Thinkpadに差し込み、拡張ディスプレイとして設定。 実際の配置に合わせt、調整。  今回は、左側にChromebookを置くことにする。 Ubuntuの場合は、標準でVNCサーバの機能を持っているので、画面を共有設定するのみ。 Windowsな人は、Tigh

PHP でなぜかjsonエラー

イメージ
外部サーバ上では動作  サーバに設置されているコードをテストしていて、おかしなエラーが出ることに気づいた。 Message: Call to undefined function json_encode() って、何で?って感じ…。 今回、新たに立てたVPSでは、Ubuntu20.04 + Apache2 + PHPで問題なく動作している。 その前のサーバも、同様な構成で動作している。 いつも使っているLocalマシン上で動作しない。 気持ち悪いし、テストできないので、原因追及をする。 このマシンだけは、2年前ほどに新規に調達したマシンで、当初よりUbuntu18.04で運用。 昨年20.04にdist upgradeしたマシン。 Cleanに入れてはいないので、その影響かも…。 phpinfo()を実行すると、jsonの項目がない。 そりゃ、動かないよね。 そこで、端末から念の為、入れてみる。 $ sudo apt install php7.4-json パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています                状態情報を読み取っています... 完了 php7.4-json はすでに最新バージョン (7.4.27-1+ubuntu20.04.1+deb.sury.org+1) です。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 おや?入っているという。 $  sudo apt list | grep json php-json-schema/focal,focal,now 5.2.9-1 all [インストール済み、自動] php-json/focal,focal,now 2:8.0+91+ubuntu20.04.1+deb.sury.org+1 all [インストール済み] php-services-json/focal,focal,now 1.0.3-1build1 all [インストール済み] php5.6-json/focal 5.6.40-57+ubuntu20.04.1+deb.sury.org+1 amd64 php7.0-json/focal 7.0.33-57+ubuntu20.04.1+deb.sury.org+1 amd64 php7.1-json

UbuntuにWi−Fi子機アンテナ

イメージ
 メインで利用しているマシンは、回線の口とフロアが異なるので、 回線は速ければ良いが、取り回しも重要 メインで利用しているLinuxマシンは Wi-Fiルータ→中継器→有線→SwitchingHub→PC という経路で動かしている。 この場合、上り下りともに、約60Mbps〜80Mbpsの速度が常時出ている。 スマートフォンで、直接ルータに接続すると、600Mbpsとか出るので、その1/10というのは少々残念だけど、不便なことはない。 Wi-Fi子機を入手 今回、USB接続の子機 ELECOMのWDC-433DU2HBKを入手したので、動作するのかも含めて検証してみた。 こんなタイプのもので、向きが換えにくいデスクトップ型の場合は、案外良い形状。 とりあえず、USBに挿して、dmesgで確認すると、Elecom と型番は認識している。 念の為、lsusbでも見てみるが、 Bus 003 Device 002: ID 056e:4007 Elecom Co., Ltd WDC-433DU2HBK と出力され、問題はなさそう。 次は、ドライバだ。 いろいろ調べてみると、Ubuntu16.04の頃から使われているらしい。 チップは、RealtechのRTL8811AUらしい。 Linuxでは、RTL8812もしくはRTL8821用でOKらしい。 CoreDumper  さんのは、少し古い記事だが、参考にしてみる。 ソースコードを持ってきて確認すると,すでに機器のIDは登録されていた。 で、makeするのだが、通らない。 ムムム…。 結構時間をとられたものの、改善しないので、別の方法を探る。 Kikou's Log  さんに記載のあるgithubのソース( https://github.com/aircrack-ng/rtl8812au )をcloneして試す。 今度は、問題なくbuild完了。 ただ、今はDKMSで動かしているので、ブログの手順では動作しない。(ドライバを見つけてくれない) そこで、gitにあるREADMEを見ると、ちゃんとDKMS用の手順が載っていた。 $ sudo make dkms_install 少々buildに時間がかかるが、問題なく生成。 再起動後、Wi-Fiを認識するようになった。 残念なことに、2.4GHz/5GHzを同一のSSID

UTMのUpadateで大幅改善

イメージ
アップデートで超改善 前回構築したM1 Mac上の仮想マシン でキー入力などがうまくいかず、苦労していたところが、あっけなく解消してしまった。 homebrewを使用しているので、各種updateを行っている時に、utmのバージョンが上がっているのに気づいた。 でもって、2.2.4にversionを上げたところ、機能アップと不具合の改善が行われていた。 まずは、前回苦戦したキーボードの入力を認識しない件に関して、大きな変化があった。 ほぼ全てのキーを正しく認識することが分かった。 ほぼ、というのは、「英数」と「かな」のみ全く認識していない。ただそれ以外は、一応OKっぽい。 問題は、mozcでの日本語入力の切り替えだ。 デフォルトでは「⌘+スペース」を押すことで、入力ソースの切り替えに設定されているのだが、MacOS側の入力が先に反応してしまい、仮想マシンに入力が渡らない。  Mac上での⌘+スペースはspotlightがデフォルトになっているので、画面上にspotlightの検索画面が表示されてしまう。 そこで、基本使用してしないspotlightをオフにしてみると、難なく仮想マシンに入力が渡ることが判明した。 これで、無事に入力の切り替えが可能になった。 本当は、「英数」「かな」でOFF/ONを切り替えたかったけれど、まったくキーを認識していないので、仕方なくこの方法で運用することにした。 ネットワークも楽に 前回のバージョンでは、ホストと仮想マシン間でNATでしか接続できない状況だったのが、あらたにbridge接続ができるようになった。 これで、外部の他のマシンからのアクセスが容易に利用できるようになった。 設定は以下の箇所を変更するだけ。 設定を保存し、仮想マシンを起動すると、ホストマシンと同じセグメントでIPを取得できている。 これで、Apacheを起動すれば、外部のマシンからWebサーバとしてアクセスできる。 ポートフォワードなどの設定をする必要もなく、簡単にサーバ環境をテストできるわけだ…。 ということで、utmを利用する価値は格段に上がった感じです。 ちなみに、iOS版も出ているので、その上でも仮想マシンが構築できるような感じ?なのかな。試していないのでなんとも言えないけれど…。

M1 Macの仮想マシンでUbuntu

イメージ
 M1 Mac速いけどまだ足りない… M1 Chip搭載のMacbookProを入手して、いろいろとテストしている。 確かに速い!メモリ8GBで苦しいんじゃ?と思ったけど全然そんなことないし、Intelの16GB相当と言えるような感じ。 バッテリーの持ちも本当に良いし、ZoomやSkypeを使うときはメインマシンとなっている。 さて、今回はこれまでx86対応が遅れている箇所を検証してみた。 目的はM1 Mac上に仮想環境を構築し、その中でLinuxを動作させること。 VirtualBoxが動作しないので、他に方法はないのかと探してみると、OpenSource Base(QEMUを使用したもの)で、UTMというのが存在することがわかった。 しばらく、OSXから離れていたので、情報不足でした。 そこで、こいつを使用して構築を試みる。 intel系のコードの場合、rosset2が変換して動かすものの、初期変換に時間がかかることと、ドライバ等は正常動作しないことが多い。 仮想マシンは、M1のnativeで動作させたいので、以下の方針で進める。 仮想マシンはArm64 CPUとする OSは、Arm64に対応したもの できれば、使い慣れているUbuntuもしくは他のLinux 色々と探してみると、すでに同じ構成でのレポートがあった。 参考にしたのは、「 第672回 UTMを使ってM1 Mac上でUbuntuを動かす 」だ。 UTMのインストール これは、どのインストール方法を選択するかで、変わってくる。自分のマシンはHomebrewを導入済みなので、当然brewでインストールする。 (https://github.com/utmapp/UTM/releases/tag/v2.1.2) $ brew update $ arch -arm64 brew upgrade $ arch -arm64 brew install --cask utm 何の問題もなく進む。 brewを使用していない人は、dmgを落とすか、AppleStoreで有料購入できるらしい。 仮想マシンの構築 さて、UTMを起動して、仮想マシンを作成する。 メモリは8GBしかないので、とりあえず3GB割り当てることにした。 Ubuntu程度なら、2GBでも充分動くけど、快適に動かせるように少し余分に…。 Ubuntu

apt updateで署名エラー

 Ubuntuでいつものupdate中に メインマシンで使っているUbuntu20.04で、更新がある(conkeyでデスクトップに表示されている)ので、いざ更新しようとすると…。 $ sudo apt update 取得:1 file:/var/cuda-repo-ubuntu2004-11-3-local  InRelease 無視:1 file:/var/cuda-repo-ubuntu2004-11-3-local  InRelease 取得:2 file:/var/cuda-repo-ubuntu2004-11-3-local  Release [564 B] 取得:2 file:/var/cuda-repo-ubuntu2004-11-3-local  Release [564 B] ヒット:3 http://archive.ubuntulinux.jp/ubuntu focal InRelease ヒット:4 http://archive.ubuntulinux.jp/ubuntu-ja-non-free focal InRelease                                                                              ︙  ︙ エラー:16 https://repo.skype.com/deb stable InRelease                                              以下の署名が無効です: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <se-um@microsoft.com>  ︙  ︙ 4,196 kB を 5秒 で取得しました (867 kB/s)                      パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています        状態情報を読み取っています... 完了 アップグレードできるパッケージが 10 個あります。表示するには 'apt list --upgradable' を実行してください。 W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデッ

clamavがディスクを喰い潰す

 Ubuntu20.04+clamav  先週、VirtualboxのSnapshotを廃棄して、ディスクの空きを大幅にあけた。 昨日の段階では、特に問題なしだった。  本日、外出から戻ってみると、空き容量が不足しているのでゴミ箱を空にしてくれと通知が表示されている。あれ???  一応カラにして、空き容量を見ると、0%…むむむ。 何か作業を行おうとしても、/tmpに書き込むタイプのものは動作しない。 オンメモリのみで動くものだけで、チェックを行なう。 $ du -sc ./* として、home内を確認するが、記憶に有る量とそれほど変わっていない。 ということは、システム系と思われる。 ひょっとして、SSDが逝ったか? バックアップはちゃんと取れているか? など、作業しながら気になることをリスト化。 1つずつ確認して、潰していく予定。 いままで、こんなことはなかったのになぁ。 先週何したっけ?とそこでふと新規に設定した物を思い出した。 怪しいのは、Antivirusか!? と思い、/var/log/clamav 以下を確認すると… clamav.logが120GB程度に膨れていた。 これと、clamav_scan.log が併せて250GB程度で、空き容量を食い潰していた。 Web系はブラウザに avast の拡張機能を仕込んでいる。 以前はいろいろと使用していたが、最近は基本危険なところは踏まないようにしているのと、怪しそうなところはchromebookなどで確認することにしている。 ただ、最近の動向を確かめるために、clamavを仕込んで、定期的にdaemonでフルチェックを行なっていた。 こいつが、何らかの動作不良を起こしたのか、実際にVirus拾って過剰反応したのか… マシンをまともに動かすために、先のLogを消すしか無かったので、詳細を取りそこねてしまった。 といって、今からデーモンを起動するのは、時間的に面倒なことになるし… もう少し経ってから、動作確認をすることにする。 明日止まってしまうと、仕事に支障が出てしまうもんな。 ひとまず、デーモンを停止 $ sudo service clamav-deamon stop clamav-freshclamはそのまま動かす。定義ファイルの更新だけはしておかないと、手動で動かす時に面倒になる。 来週にでも、確認する

e-taxでの確定申告

イメージ
 10万円の価値がある 個人事業主なので、青色申告を行なっているが、今年の分からe-taxを使用しない場合、控除額が65万円→55万円と減っている。 e-taxを使用して申請すれば控除額は65万円のままだ。 という情報を昨年知っていたので、少しずつ準備をしてきた。 マイナンバーカードの入手 カードリーダーの入手 この2つが必須だ。カードリーダーがない場合は税務署に行って、データを入力、パスワード方式を使うこともできるとのこと。 マイナンバーカードについては、時間がかかるものの申請→取得まで2ヶ月くらいで完了する。 役所に行って、パスワードを入力。カードに書き込んだらその場で受け取れた。 今年の春から、保険証になるとのことなので、取得しておくしかない。 さて、カードリーダーは、色々と上手くいかないらしい。 カードリーダーを認識しない マイナンバーカードを認識しない 正常に読み取れない などなど…。まぁパスワードを忘れたというのは、問題外ですね。 自分の環境詳細 ただでさえ、上手くいかないという情報、上手くいったという情報など玉石混合なのでやってみるしかない。 まずPC環境だが Ryzen5 搭載のデスクトップ Ubuntu20.04で運用 仮想マシン(virtualbox)でWindows10 pro 青色申告用には「やよいの青色申告」をwindows上で使用 カードリーダーは、試しなので動けばOKということで、安くて動作しそうなものを入手。 価格は、1400円以下。現在は少し上がっていて1800円前後らしい。 【gemalto IDBridge CT30】https://amzn.to/3cdomCY 【対応OS】 Windows 7/Windows Vista/Windows XP/Windows 2000/Windows Server 2003/2008 R2/Mac OS X Panther/Tiger/Leopard/SnowLeopard/Linux & UNIX/Solaris 10 ということなので、信じて買ってみた。 実際の申請 もろもろ1年間の、仕入・売上、経費などの入力が完了し、確定申告用の書類(青色申告決算書と所得税確定申告書B)が完成したら申請となる。 どうしても上手くいかない場合は、税務署に出向いてパスワード方式で申請すればなん

JuliaLangを習得

イメージ
Julia言語って?  少し前から気になっていたので、少しずつマスターすることに。 MITで2010年少し前に発表されていて、2012年に公開。 まだ、若い言語ですね…。 で、どんな言語かと言うと動的型付け言語で、Pythonにすごく似ているので、知っていれば学習が楽。 JITで実行直前にコンパイルするため、初回はコンパイル分だけ遅めだけど、実行速度はC言語なみ。 しかも、Pythonのライブラリや、Cのライブラリを簡単に呼び出して使えるという変態ぶり。 MATLABやoctaveなんかと同様なベクトルや行列などが利用できるので、覚え直さなくていい。 数学処理や実験系の人は、楽なんじゃね?と思うわけです…。 高校の数学なんかも、こういったソフト使用すれば良いのになぁ。 本家は、 https://julialang.org 基本のインストールは、ダウンロード&展開して終了なので、超簡単。 PATHの通っているディレクトリにリンクを生成して完了。 $ ln -s /opt/julia-1.5.3/bin/julia ~/bin/ 基本的には、CUIで使用するけれど、Jupyter Notebookでも使える。 vscodeに拡張機能入れれば、vscode上でも実行できるというのが素敵。 起動すると、こんな派手なREPLという対話型環境が利用できるようになっている。 一応、本も探してみたけれ、知名度がまだ低いせいか、多くは出版されていない。 以下の本は、Pythonくらい知らないと、やや理解が難しいかもしれない。 網羅的に紹介されているけれど、詳細は本家サイトを参照というのが多め。 でも、はじめてJuliaを触る人には指針となるかな。 まあ、Julia自体、Helpも結構親切なので、なんとかなる。 例えば、パッケージPlotsを使おうとした例 julia> using Plots ERROR: ArgumentError: Package Plots not found in current path: - Run `import Pkg; Pkg.add("Plots")` to install the Plots package. などと表示してくれる。 そこで、 julia> import Pkg julia> Pkg.

UbuntuでThunderbird78系に(snap版)

イメージ
 前回、「 UbuntuでThunderbird78系に変える 」ということで、本家よりtar.gz版を展開して差し替える作業で動作テストした。 Ubuntu(というかLinuxOS)では、様々なインストール方法があって、これまでUbuntuはaptを前提でパッケージが提供されてきた。 最近は、snapを使ったパッケージに移りつつある感じ。 管理方法が全く異なるので、早く統一して欲しい気がしますな…。 今回は、sanp版Thunderbirdを使って環境構築を行なってみました。 - 標準の「Ubuntuソフトウエア」(AndoridのPlay,iOSのAppStore,WindowsのStoreと言えば想像できるでしょうか…)から、Thunderbirdを検索してインストールするだけで完了。 ちなみに、aptでインストールしたThunderbirdとはインストール先も管理方法も異なるため、同時に入れることが可能です。動作確認後、apt版を削除すればOKなので、安心して試せます。 ~$ df -h Filesystem      Size  Used Avail Use% Mounted on udev            7.7G     0  7.7G   0% /dev tmpfs           1.6G  2.2M  1.6G   1% /run /dev/nvme0n1p2  468G  166G  279G  38% / tmpfs           7.7G  211M  7.5G   3% /dev/shm tmpfs           5.0M  4.0K  5.0M   1% /run/lock tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup /dev/nvme0n1p1  511M  6.2M  505M   2% /boot/efi /dev/loop2       56M   56M     0 100% /snap/core18/1885 /dev/loop4       67M   67M     0 100% /snap/thunderbird/92 /dev/loop3      141M  141M     0 100% /snap/gnome-3-26-1604

壊れたSDカードからのデータ取り出し

イメージ
 SDカードは壊れます USBメモリも壊れます…。 ということを皆さんは知らないのか、自分のは壊れないと思っているのか…。 忘れているのか…。 お客さんから急な連絡がありました。 カメラのSDカードが使えなくなったと…。 ELECOM製の32GBだというので、ELECOMに聞いてみると良いですよと、最初は返答。 すると2日ほどして、「3万円以上かかると言われたので躊躇している。一度チェックしてくれないか?」 いや、オイラがやったって、出来るかどうかわからんし…。 手間暇かけると、それくらいの費用になりますよと返答したけど、無理矢理メディアを渡され…。 仕方なく、持ち帰ってチェック。 確かに認識はしないが、fdiskで見ると、パーティションは認識している。 $ sudo fdisk -l ディスク /dev/sdb: 29.45 GiB, 31609323520 バイト, 61736960 セクタ Disk model: SD Card Reader   単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x00000000 デバイス   起動 開始位置 最後から   セクタ サイズ Id タイプ /dev/sdb1           8192 61736959 61728768  29.4G  c W95 FAT32 (LBA) ということは、論理的に壊れたのか? $ lsblk NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT sdb      8:16   1  29.4G  1 disk  └─sdb1   8:17   1  29.4G  1 part  OKっぽい感じ…。 これなら修復可能かも…。 Photorecを思い出すのに苦労した… Linux用の修復ツールがなかなか思い出せず、なんだっけ?と思いつつ検索して分かった。 昔、HDDが壊れたときに使えないか試した記憶が…。 http://baker-street.jugem.jp/?eid=181 ここに綺麗にまとめてありました。ありがたや。 早速、インストール。

Ubuntu20.04にLibreOffice7

イメージ
 現状はLibreOffice6.4 すでに20.04が出て半年が経過したけれど、LibreOfficeなどのパッケージは安定板6系列しか配信されていない。 2020年8月6日にLibreOfficeはVersion7系がリリースされていて、結構機能アップされている。 LibreOffice 7.0 リリースノート 少し前に、Excelで採用されたtextjoin( )などが実装されている。 それから、MS Officeのデータとの互換性に重要な、インポート/エクスポートフィルタが改善されて、ずいぶんレイアウト情報等が正確になったらしい。 一応、主なものは以下の通り ODF 1.3 document support Skia graphics engine + Vulkan support. Better Microsoft Office DOCX / XLSX / PPTX support. remove Adobe Flash export support HiDPI, import/export, and other improvements. ということで、7系を入れて確認してみることにする。 Windows版は目的のバージョンをダウンロードしてインストールするだけなので、まぁ問題はなさそう。 (そもそもWindows自体ほとんど使用していないので関係ない) 現在使用しているバージョンを確認する。 6.4.5.2が標準の最新バージョンで有ることが分かる。 (サブマシン上のスクリーンショット) 更新作業 LibreOffice7系のリポジトリを追加する。 $ sudo add-apt-repository ppa:libreoffice/libreoffice-7-0 $ sudo add-apt-repository ppa:libreoffice/ppa 続いて、パッケージのアップデートを行なう。 $ sudo apt full-upgrade すると、7系を入れるけどいいか?と聞いてくるはずなので「y」で進める。 まぁ、ざらざら〜と必要なパッケージをダウンロードして、更新完了。 もう本当に、簡単で笑える。 起動して確認してみる。 ぱっと見ただけでは、区別つかないけれど、バージョン情報は明らかに違っている。 現時点での最新バージョン7.0.1.2がインスト

UbuntuでThunderbird78系に変える

イメージ
 Thunderbirdって使っていますか? 昔、Windowsをメインで使用していた頃は、Becky!、EdmaxとかOutlook Expressや、AL-Mailやemacsなど渡り歩いていましたが、Linuxを使い始めた頃、Sylpheed→Thunderbirdを使うようになった懐かしい記憶があります。 MacOSでも、Windowsでも、Linuxでも設定や、メールボックス・アドレス帳の移行がフォルダごと持っていくだけで環境設定が完了するという素晴らしさで、愛用しています。 新しいノートを買って、OS入れた直後に、メインマシンから.thunderbirdを固めてコピーしてやれば設定が完了するので、すごく楽なんですよね〜  なにせ、通常使用しているメールアドレスが8個ほどあるので、それぞれ設定するのは超面倒なのです…。 新版が出ているのに… 少し前から新版が出ていて、気になっているものの、Ubuntuの配信では、バージョン68系のままですね。 Ubuntuを18.04→20.04に変えてみましたが、Thunderbirdはまだ68系のままです。 でも、本家に行くと、各プラットフォームごとに78系が用意されています。 ちゃんと、32bit版もあって、少し古めのOSでも利用可能ですね〜 Ubuntuで新版を使ってみる 本家サイトから、Linux版をダウンロードしてきます。 → thunderbird-78.2.1.tar.bz2 (66MB) でした。 $ tar xjf thunderbird-78.2.1.tar.bz2  Linuxでは一般的な圧縮方法なので、普通に解凍可能です。(解凍後約213MB) すると、thunderbirdというフォルダが出来上がり、中に一式入っています。 そもそも apt でインストールしたthunderbirdは、/usr/bin/thunderbird ですが、こいつはリンクなんですよね〜。 $ ls -l  `which thunderbird` lrwxrwxrwx 1 root root 33  7月  1 23:11 /usr/bin/thunderbird -> ../lib/thunderbird/thunderbird.sh* ということで、削除しても問題ないので、さっくり消します。 $ sudo rm

csvqのbuild #2

 昨日のエントリーに情報 昨日書いた「 csvqのbuild 」に対して、作者さん(Yuki @qittu)から連絡を頂いた。 blogglerで記事を書くと、IFTTTでtwitterにエントリーを投稿するようになっているんだけど、それを見てくれたらしい。 https://twitter.com/qittu/status/1300758790812233728 丁寧に、build方法を連絡してくれました…。 ということで、念の為、確認作業を行なっておく。 インストール手順も、twitterで紹介された方法に修正されているので、その通りで問題なく完了。 $ env GO111MODULE=on go get github.com/mithrandie/csvq main.goだけを差し替えて、makeでのbuildも確認。 無事に完了しました。 で、出来上がったcsvqですが、バージョンは変わらず。 ただ、サイズは、14,517,230バイトと、350バイト程小さくなってるんだな…。(面白い!) ありがたや〜ありがたや〜。 ということで、実際の開発業務に戻ります…。

csvqのbuild

使おうと思ったら、無かった… 以前あまりに便利だったので、buildして使っていた「 csvq 」だけど、マシンを入れ替えた際に入れ忘れていたらしい…。 前にbuildした時は、さっくりと動作したので、最新バージョンを持ってきてbuildすればいいやぁと思って作業してみると、エラーを吐きまくる。 バイナリ持ってきてきても良いけど、時間がある今なので、頑張ってみることにした。 Installation Install executable binary Download an archive file from release page . Extract the downloaded archive and add a binary file in it to your path. Build from source Requirements Go 1.11 or later (ref. Getting Started - The Go Programming Language ) Build with one of the following ways Use go get $ go get github.com/mithrandie/csvq Build with strict dependencies $ go get -d github.com/mithrandie/csvq Change directory to $GOPATH/src/github.com/mithrandie/csvq $ env GO111MODULE=on go install githubに書かれているとおりに、 $ go get github.com/mithrandie/csvq すると、以下のようなエラーが大量に…。 $ go get github.com/mithrandie/csvq # github.com/mithrandie/csvq ../../go/src/github.com/mithrandie/csvq/main.go:35:17: cannot use cli.StringFlag literal (type cli.StringFlag) as type cli.Flag in slice literal: cli.StringFlag does