Top image

Perl Monk

主にPerlとRaspberryPiの個人的技術研鑽


Raspberry Pi OSにVSCodeのリポジトリがあるか確認と暫定対処

2021/02/14 20:00
category:RaspberryPi

うわぁぁぁやめてー(心の叫び

GIZMODO⇒ラズパイに一部のファンからブーイング。オープンソースらしくない挙動に不信感

リポジトリにmicrosoftが追加され、パッケージ更新の度にMicrosoftへのアクセスが発生します。

その為、IPの情報が送信され何かに使われるんじゃないかっていう事とGPGキーを取得してしまうので、オープンソース的な部分で如何なものかという懸念だと思われます。

ちなみにライト版だろうがデスクトップ版だろうが組み込まれます。

必要なリポジトリは追加したらええやんと思うんですが、個人的にはVSCode使わないし余計なものが入ってるのが嫌なのです。ライト版は除外してほしかったなぁ。リポジトリなので仕方ないのかな。

タイミングとしては2021/01/25アップデートから仕様が変わったようです。

※ちなみに2021/02/14時点での確認なので、今後はどうなるかわかりません。

現在既に入ってしまっているか確認しましょう。

nixCraft⇒Heads up: Microsoft repo secretly installed on all Raspberry Pi’s Linux OS

lsb_release -a
ls -l /etc/apt/sources.list.d/
ls -l /etc/apt/trusted.gpg.d/
cat /etc/apt/sources.list.d/vscode.list

こちらのコマンドで確認できます。

2021/1/11 時点でのRaspberry Pi OS Lite検証環境が手元にあったので実際に試してみました

■apt-get upgrad 実施前

root@dev:~# lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
root@dev:~# ls -l /etc/apt/sources.list.d/
total 4
-rw-r--r-- 1 root root 187 Jan 11 21:54 raspi.list
root@dev:~# ls -l /etc/apt/trusted.gpg.d/
total 0
root@dev:~# cat /etc/apt/sources.list.d/vscode.list
cat: /etc/apt/sources.list.d/vscode.list: No such file or directory

※この時点ではまだ無い

■apt-get upgrad 実施 ※注意 これやるとVSCodeリポジトリが追加されるって事です

root@dev:~#  apt-get upgrad

■apt-get upgrad 実施後

root@dev:~#  lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
root@dev:~#  ls -l /etc/apt/sources.list.d/
total 8
-rw-r--r-- 1 root root 187 Jan 11 21:54 raspi.list
-rw-r--r-- 1 root root 203 Feb 15 16:17 vscode.list
root@dev:~#  ls -l /etc/apt/trusted.gpg.d/
total 4
-rw-r--r-- 1 root root 641 Feb 15 16:17 microsoft.gpg
root@dev:~#  cat /etc/apt/sources.list.d/vscode.list
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main

な・・・なんじゃこりゃあぁぁぁ!

■apt-get update 確認

root@dev:~# apt-get update
Hit:1 http://packages.microsoft.com/repos/code stable InRelease ←★ここっすね
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Hit:3 http://raspbian.raspberrypi.org/raspbian buster InRelease
Reading package lists... Done

暫定対応

・sudo apt-get update だけなら問題ない事を確認済み ※aptデータベース自身の更新だけです

・sudo apt-get upgrade をやるとアウト ※パッケージの全更新

・その為パッケージは個別でアップデート(具体的にはどのパッケージでアウトかまでは調べてません。)

・入ってしまっていたら諦めるか、nixCraft記事の手順で無効化する

・とりあえずRaspberry Pi OS にあるRelease date: January 11th 2021のバージョンを手元に保存しといておく。

※セキュリティパッチ適用は自己責任でね。


Perl小ネタ:モジュールのインストールにcpanmを使う

2021/01/25 21:00
category:Perl

■cpanm インストール:RHEL CentOS系 yumコマンド

yum install perl-App-cpanminus

■cpanm インストール:Debian系 aptコマンド

apt-get install cpanminus

■モジュールインストール & アップデート

cpanm 【モジュール名】

■モジュール情報表示

cpanm --info 【モジュール名】

■モジュールアンインストール

cpanm --uninstall 【モジュール名】

■モジュールを指定ディレクトリにインストールする

cpanm -L ディレクトリ 【モジュール名】
例えば cpanm -L extlib 【モジュール名】 の場合、以下のように場所を指定することで読み込み可能
use FindBin;
use lib $FindBin::Bin.'/extlib/lib/perl5';
use 【モジュール名】;

AndroidでL2TPにてVPN接続し、暫くしたら切れる場合

2020/12/24 00:00
category:サーバ全般

AndroidでL2TPにてVPN接続し、暫くしたら切れる場合

あなたのスマホはもしかして Google Pixel3 ではないですか・・・

その場合は・・・

Google Pixel3 には L2TPのKeep Alive が実装していないからです!!!

そんな馬鹿な・・・www

前使ってた京セラのandroid8はあったよ・・・!

頼むよGoogle。

スマホ側ではどうしようもないので、VPNサーバの方で調整する必要があります。

Keep Aliveの機能をオフにし、タイムアウトを別の機能で補えばまあ機種によっては代替となりえます。

ヤマハのルータ系でいうと

l2tp keepalive use off

で無効にし、

l2tp tunnel disconnect time 600

で10分通信がなければ切れるように自分はしました。

すごいハマったので、検索して誰かの調査する時間が減ればと思い一応書いてみました。


windows10のVPN接続をタスクスケジューラに登録し、切断されたら自動接続させる

2020/11/30 21:00
category:サーバ全般

まずやりたかったことは

・VPNが切れていたら自動接続。接続していれば何もしない

・定期実行時、コマンドプロンプトのウインドウを表示させない

・上記を出来る限りシンプル

です。

これでOKみたいな情報がイマイチよくわからなかったので、ちょっとまとめてみました。

> read more


RaspberryPiでtorrentサーバを立ち上げダウンロードを行う

2020/11/05 21:00
category:RaspberryPi

torrentサーバを作ってみました。

ここではTransmissionというLinux向けのツールを使っていますが、Transmission自体のインストールはすぐできます。

torrent自体、ラズパイOSとかのダウンロードで普通に使われているモノですが、悪用厳禁です。

以下はあくまで参考例なので、それぞれの環境に合わせて構築して下さい。

↓↓↓

> read more


Perl小ネタ:コマンドラインから実行した場合の引数を取得

2020/09/27 21:00
category:Perl
$ perl ファイル 引数1 引数

等、コマンドラインで実行した場合の引数は

@ARGV

に格納されます。

my $arg1 = $ARGV[0];
my $arg2 = $ARGV[1];

Perl小ネタ:配列が空であるかどうか判定

2020/09/26 21:00
category:Perl
if ( @array ) {
	print @array;
}

@arrayをそのまま渡します。空である場合は偽判定になります。


Perl小ネタ:配列の重複削除

2020/09/25 20:00
category:Perl

■grepを使った重複の削除

my %count;
@array = grep( !$count{$_}++, @array );

%count は一時的に使うハッシュ。上記で@arrayの重複が削除されるが、細かい部分は説明出来るほど理解が進んでいない。


Perl小ネタ:配列の並び替えを逆にする

2020/09/24 20:00
category:Perl

■配列の並び替えを逆にして再度格納します

@list = reverse(@list);

Perl小ネタ:配列をソートする

2020/09/23 20:00
category:Perl

■配列を数値で昇順ソート

@array = sort { $a <=> $b } @array;

■配列を辞書順で昇順ソート

@array = sort { $a cmp $b } @array;

降順にする場合は$aと$bを入れ替えます。

文字列データを数値でソートしようとするとエラーになります。


< Prev Page
[ page:2 ]
Next Page >