Sassコンパイラのメモ。
Prepros、npm-script、11ty & webpack、Vite、が使える。
/*************************************************************************************/
PreprosをInstallしてみる:
https://prepros.io/downloads (prepros download、でググった)
Debian(Ubuntu)との違い
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/Debian%28Ubuntu%29%a4%c8%a4%ce%b0%e3%a4%a4
の12.で以前Instしたアプリを参考にする。Prepros Slackware、でググってもヒットしないので
テキトーにやる。
$ ar x Prepros-7.26.0.deb
$ ls -l
total 129248
\-rw-r–r– 1 ore root 452 Jun 16 yy:zz control.tar.zst
\-rw-r–r– 1 ore root 132203035 Jun 16 yy:zz data.tar.zst
\-rw-r–r– 1 ore root 4 Jun 16 yy:zz debian-binary
(zstって何だ?、これまでのtar.xzとは違うな。Zstandardというらしい)
$ ls -l /mnt2/slackware64/*/*zst*.txz
\-rw-r–r– 1 root root 437228 Jan 21 2022 /mnt2/slackware64/l/zstd-1.5.2-x86_64-1.txz
(Slackにもあるな~、Instするか)
$ sudo installpkg /mnt2/slackware64/l/zstd-1.5.2-x86_64-1.txz
$ grep -E ‘bin|lib’ /var/log/packages/zstd-1.5.2-x86_64-1 | sed s@^@/@ | xargs ldd | grep found
(依存の不足は無かった)
$ tar xf control.tar.zst (controlの中身を見てVersionを確認する)
$ mkdir package-prepros; cd package-prepros
$ tar xpf ../data.tar.zst
$ mv -i usr/share/doc usr/
$ ls -l usr/share/
total 12
drwxr-xr-x 2 ore root 4096 Jun 4 yy:zz applications
drwxr-xr-x 3 ore root 4096 Jun 4 yy:zz lintian
drwxr-xr-x 2 ore root 4096 Jun 4 yy:zz pixmaps
(lintianて何だ。lintianはDebianのパッケージを検査するためのツール、無関係だがそのまま)
$ ls -l usr/lib/prepros/chrome-sandbox
\-rwsr-xr-x 1 ore root 53840 Jun 4 yy:zz chrome-sandbox
$ sudo chown -R root:root .
$ ls -l usr/lib/prepros/chrome-sandbox
\-rwxr-xr-x 1 root root 53840 Jun 4 yy:zz chrome-sandbox
(chown_rootをやるとSUIDが外れてしまう?)
仕方ないので、一般ユーザでtarをやってエラー無しならsudo_tarをやるか。今までのpkgも見直しか?。
SUID付いてるかだけ確認するか。sudo付けないと実行できないアプリは今まで無かったからいいか?。
なるほど、chromeの時は最後にSUIDを付け直してる。以降は削除とやり直し。
$ sudo chown -R ore .
$ rm -rf usr
$ tar xpf ../data.tar.zst (エラーが無ければ以降を実行する)
$ rm -rf usr
$ sudo tar xpf ../data.tar.zst
$ sudo mv -i usr/share/doc usr/
$ sudo makepkg ../prepros-7.26.0-x86_64-1.txz
$ sudo installpkg ../prepros-7.26.0-x86_64-1.txz
$ grep -E ‘bin|lib’ /var/log/packages/prepros-7.26.0-x86_64-1 | sed s@^@/@ | xargs ldd | grep found
(依存の不足は無かった)
$ GTK_IM_MODULE=fcitx prepros &
[6] 23205
darkstar:packages$ [23205:0616/181528.651356:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are “tcp” and on UNIX “unix”)
[23205:0616/181528.651467:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are “tcp” and on UNIX “unix”)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
libGL error: MESA-LOADER: failed to open iris: libLLVMMCJIT.so.13: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません (search paths /usr/lib64/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris: libLLVMMCJIT.so.13: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません (search paths /usr/lib64/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: libLLVMMCJIT.so.13: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません (search paths /usr/lib64/dri, suffix _dri)
libGL error: failed to load driver: swrast
[23244:0616/181528.702534:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
[23244:0616/181528.702655:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not create a backing OpenGL context.
[23244:0616/181528.702705:ERROR:gl_display.cc(790)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[23244:0616/181528.704342:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
[23244:0616/181528.704420:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not create a backing OpenGL context.
[23244:0616/181528.704473:ERROR:gl_display.cc(790)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[23244:0616/181528.704516:ERROR:gl_display.cc(824)] Initialization of all EGL display types failed.
[23244:0616/181528.704561:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
一応起動できて、プロジェクトファイル(ディレクトリ)を開けたが、index.htmlとかassetsディレクトリが
作成されなかった。prepros.configファイルだけ作成された。ダメか?こりゃ。
LLVMはこっちで入れたが、使わなそうなので外しておいた。
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/Rust
依存がありそうなのでまた入れた。
$ sudo installpkg /mnt2/slackware64/d/llvm-13.0.0-x86_64-2.txz
$ GTK_IM_MODULE=fcitx prepros &
[6] 29412
darkstar:packages$ [29412:0616/192901.630885:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are “tcp” and on UNIX “unix”)
[29412:0616/192901.630991:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are “tcp” and on UNIX “unix”)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
(prepros:29412): Gtk-WARNING **: 19:29:18.826: Could not find the icon ‘user-home-symbolic-ltr’. The ‘hicolor’ theme
was not found either, perhaps you need to install it.
You can get a copy from:
\ http://icon-theme.freedesktop.org/releases
でも変わらないなあ~。Winの方にもInstしたところ、同じ動作だった。index.htmlとかassetsディレ
クトリは自動で作成されなかった。とりあえず無問題らしい。
がしかしここでも、起動してからしばらく経つと右クリックでプロジェクトファイルのメニューを開く
事ができなくなる現象が発生した。WMが貧弱だからか?。まあ使えない事はないがCtrl+oでファイル
オープンができないから解消できなくて、今のところ再起動しかなくメンドクサイ。
twmのメニュー>Focus、で解決した。
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/%b4%ca%c1%c7%a4%caWindowManager%20twm%20%a4%cb%a5%af%a5%bb%a4%ac%a4%a2%a4%c3%a4%bf
/*************************************************************************************/
残りの、npm-script、11ty & webpack、Vite、は node.js のようなので、Instも以下でやる。
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/CSS%a4%ce%c0%df%b7%d7
/*************************************************************************************/
参考情報:
気になった件:
Linuxコマンドのchownを使うとSUIDはリセットされるか?
ChatGPT
はい、chown コマンドを使用すると、ファイルの所有者やグループが変更される際にSUID(Set User ID)ビットがリセットされます。これは、セキュリティ上の理由から設計されています。SUIDビットは特権の昇格を伴うため、所有者が変更されるとその設定が解除されます。
\
Webアプリには、chrome-sandboxが入っている事があるが、chrome-sandboxにSUIDが付いていても良いのか? (後から、Webアプリではなくデスクトップアプリだった事に気付いた。ブラウザ機能を流用したデスクトップアプリということなんだろう)
ChatGPT
chrome-sandbox にSUID (Set User ID) ビットが付いていることは、特定の状況下では許容されることがありますが、慎重な取り扱いが必要です。以下に、その理由と影響について詳しく説明します。
chrome-sandbox の役割
chrome-sandbox は、Google ChromeやChromiumベースのブラウザが安全に動作するためのサンドボックス環境を提供するためのツールです。サンドボックスは、ブラウザが実行するプロセスを隔離し、セキュリティを向上させるために使用されます。
SUIDビットの役割
SUIDビットが設定されたプログラムは、そのプログラムの実行時に所有者の権限で動作します。chrome-sandbox にSUIDビットが設定されている場合、これにより、サンドボックスが正しく機能するために必要な特権が与えられることがあります。
セキュリティの考慮
SUIDビットが設定されたプログラムは、セキュリティリスクを伴う可能性があります。特に、悪意のあるユーザーがこのプログラムを利用してシステムに不正アクセスを試みる可能性があります。そのため、SUIDビットが設定されるプログラムは慎重に管理されるべきです。
chrome-sandbox の SUIDビット
chrome-sandbox にSUIDビットが設定されていることは一般的であり、以下の理由で設定されています:
1.サンドボックスの有効化:特定のセキュリティ機能(例:名前空間の分離、特権分離)を有効にするために必要です。
2.ブラウザの機能性の維持:ブラウザが適切に動作するために、特定のシステムリソースや機能にアクセスする必要があります。
管理方法
1.検証:インストールされているchrome-sandboxが信頼できるソースから取得されたものであることを確認します。公式のリポジトリや信頼できる配布元からのものであることが重要です。
2.アップデート:常に最新のセキュリティパッチが適用されたバージョンを使用します。
3.監視:システムのセキュリティ監視を行い、不正アクセスの試みを検知します。
まとめ
chrome-sandbox にSUIDビットが設定されていることは、サンドボックス機能を適切に動作させるために必要な場合があります。しかし、SUIDビットが設定されているプログラムはセキュリティリスクを伴う可能性があるため、信頼できるソースからのインストールと適切な管理が重要です。
Installまたは展開時のメッセージ:
# zstd (real-time compression algorithm)
# Zstandard, or zstd for short, is a real-time compression algorithm
# providing high compression ratios. It offers a very wide range of
# compression/speed trade-off, while being backed by a very fast
# decoder. It also offers a special mode for small data, called
# dictionary compression, and can create dictionaries from any sample
# set.
# Homepage: http://zstd.net/