ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2024年3月25日月曜日

sambaにwindowsでアクセスできない

解決方法: クライアント側(windows)の再起動で直った。マジで謎。なんでだ…w ラズパイが死にかけたので再セットアップしたのだが、セットアップしたsambaにwindwsからアクセスできない。smb.confはバックップしたやつを使っているので設定はあっているはずだ。pingも通る。 エクスプローラーからip指定(\\xxx.xxx.xxx.xxx)でアクセスすると、ユーザとパスワードを聞かれ、入力しても拒否される。ラズパイ側のsmbdを再起動すると今度はユー/パスワードも聞かれずに拒否された。資格情報マネージャーも直した。でもダメ。なんで?? で、windowsを再起動したらなぜかすんなり繋がってしまった。なんで?まあいっかつながったから。。

2024年1月23日火曜日

Ubuntu 22.04(ubuntu cinnamon 22.04 lts)のブラウジングがクソ重い

 原因はどうやらDNSっぽい。名前解決できねぇ。

ネットワーク接続設定からDNS設定してもだめだ。

インストールした直後でこれか…クソすぎる。

だからlinuxは普及しねぇんだよ。なーにが簡単だ。クソが。

nslookupしたら127.0.0.53がタイムアウトだって。

127.0.0.53・・・ systemd-resolvedか。。。。

 systemd-resolvedが悪さしてしてそうなので、こんなクソは無効にしましょう。

$sudo systemctl stop  systemd-resolved

 $sudo systemctl disable  systemd-resolved

 で無効にしたらNetworkManagerでDNSを設定してNetworkManagerを再起動。

もしくはもう直接resolve.confにdns書いてしまえ。

インストールしたらすぐ使えるとか嘘じゃん…。そういうとこだぞ。
 





2023年5月13日土曜日

PrivateGPTをローカルで動かしてみた(動かなかった!!)

先に結論を言っとくと、環境がちょっと古すぎて、cpuが拡張命令をサポートしてないせいでコアダンプしてるっぽい

privategpt.ioじゃなくて、githubの方の話
(ていうかこれ名前同じで紛らわしいんだけど、それぞれ別モンだよね?)

実行結果は見ての通りで、お亡くなりになりましたわよ

$python privateGPT.py
llama.cpp: loading model from models/ggml-model-q4_0.bin
llama.cpp: can't use mmap because tensors are not aligned; convert to new format to avoid this
llama_model_load_internal: format     = 'ggml' (old version with low tokenizer quality and no mmap support)
llama_model_load_internal: n_vocab    = 32000
llama_model_load_internal: n_ctx      = 1000
llama_model_load_internal: n_embd     = 4096
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 32
llama_model_load_internal: n_layer    = 32
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 2 (mostly Q4_0)
llama_model_load_internal: n_ff       = 11008
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 7B
llama_model_load_internal: ggml ctx size = 4113748.20 KB
llama_model_load_internal: mem required  = 5809.33 MB (+ 2052.00 MB per state)
...................................................................................................
.
llama_init_from_file: kv self size  = 1000.00 MB
AVX = 1 | AVX2 = 0 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 0 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 1 | VSX = 0 | 
Using embedded DuckDB with persistence: data will be stored in: db
Illegal instruction (コアダンプ)

で、どんな環境でやったのかって言うと、cpuは Ivy Bridge世代(i5-3550)でosはlinux(Manjaro)。GPUは…何だったかな、Radeon HD6600とかそんなんだったと思う(多分gpu関係ないけど)。ちょっと調べた感じではどうもavx2が使えないとだめっぽいです。ほえ〜
テストデータ state of the union transcript の読み込みは完走した。ただしクッソ時間かかる。2時間くらい?メモリは8Gくらいだったから、クッソ遅いのはメモリのせいかも。いややっぱCPUだな古いし。
動かせたら青空文庫のテキストをデータセットにして見ようと思っていたんだけど、キッツそう。
まあ、動いてないんですけどね

2022年12月27日火曜日

Raspberry Pi OSでNASがマウントできない件

fstabに書いても再起動するとマウントできない件について。
調べたところ、ネットワークが有効になる前にマウントしようとし失敗していた。
なので、起動時にマウントしないで、マウントポイントにアクセスが行われたタイミングでマウントするように変更して事なきを得た。
具体的には、noautoとx-systemd.automountをつけてマウントする。以下のような感じ。
//xxx.xxx.x.xxx/ /mnt/nas cifs username=XXXX,password=XXXX,vers=1.0,uid=1000,gid=1000,file_mode=0755,dir_mode=0755,noauto,x-systemd.automount 0 0
(*我が家のnasはちょっと古くてver=1.0がついている)

ちなみに、我が家のラズパイは
Raspberry Pi 3 Model B Plus Rev 1.3
で、有線LANが1000BAS-Tなのだが、内部バス的にはUSB2.0でつながっているそうで、ちょっと速度が物足りないのであった…

2021年9月16日木曜日

raspberry piでopencl

raspberry piに乗ってるGPUでopenCLしてみた
ぐぐると、VC4Cを使う方法がまず出てくる。
軽く試してみたところ
  • VC4CLStdLib はビルドできる。
  • VC4C はビルドエラー。
  • という状況になった。


    できないのもなんか悔しいので試行錯誤した結果、なんとか動いたので、その時のメモ。以下手順
    1. 必要なものを入れる
    2.   $ sudo apt-get update
        $ sudo apt-get upgrade
        $ sudo apt-get install cmake git libraspberrypi-dev
        $ sudo apt-get install ocl-icd-opencl-dev ocl-icd-dev
        $ sudo apt-get install opencl-headers clinfo
        $ sudo apt-get install clang clang-format clang-tidy
        
    3. gitからVC4Cを持ってくる
    4.   $ mkdir opencl
        $ cd opencl
        $ git clone https://github.com/doe300/VC4CLStdLib.git
        $ git clone https://github.com/doe300/VC4C.git
        $ git clone https://github.com/doe300/VC4CL.git
        
    5. 順番にビルド&インストール
    6.   $ bash -c "cd VC4CLStdLib && mkdir build && cd build && cmake .. && make && sudo make install && sudo ldconfig"
        $ bash -c "cd VC4C && mkdir build && cd build && cmake .. && make && sudo make install && sudo ldconfig"
        $ bash -c "cd VC4CL && mkdir build && cd build && cmake .. && make && sudo make install && sudo ldconfig"
        
    7. clinfoで確認
    8.   $ sudo clinfo
        

    2021年9月8日水曜日

    raspberry piでmonacoinをマイニングしてみる

    暇だったので、ラズパイ3でcpuマイニングしてみた。
    ハッシュレートは35Kくらい
    うんちすぎて草
    消費電力は7wくらいだけど、普通に赤字なのでやるだけ無駄である。
    冷却を考えないと、すぐスロットリングになるので、負荷テストに使えるかもしれない。


    てじゅんのめも
  • OSはraspbian(32bit)
    1. 必要そうなパッケージを入れる。適当にパッケージ入れたからいらんもん入っているかも・・・。
    2. % sudo apt-get install aclocal automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++
    3. cpuminer-multiをgit cloneしてソースを取ってくる。
    4. % git clone --depth 1 https://github.com/tpruvot/cpuminer-multi.git
    5. cloneしたcpuminer-multiのディレクトリでbuild.shを叩く。
    6. % cd cpuminer-multi/;./build.sh
    7. 実行。
    8. % ./cpuminer.exe -a lyra2rev2 -o stratum+tcp://プールurl:ポート -u ユーザ -p パスワード

    2021年8月16日月曜日

    単純なjsonから値を取る方法

    以下の様な単純なjson


    $ cat test.json

    {"item1":"value1","item2":"value2","item3":"value3"}


    から、例えばitem2の値を取る場合。

    $ cat test.json|grep -o '"item2":"[^"]*'|awk -F'"' '{print $4}'


    整形しているjsonとか配列の要素とかは取れないけど。

    jqとか使ったほうが多分楽。大人の事情でインストールできない場合とか用

    2021年8月10日火曜日

    curlでhttpステータスコードを取る方法のメモ

    -oオプションでレスポンスをファイルに落として、httpステータスコードを標準出力に出す。 

    curl https://www.google.com -w '%{http_code}\n'  -o response.html

    2021年7月28日水曜日

    shadowファイルのパスワードの確認

     

    事情があって、shadowファイル(/etc/shadow)に設定されているパスワードを確認しなければならなかった。

    その際のメモ。

    ・shadowファイルのパスワードフィールドにはソルト値が含まれている

    構造は

    ハッシュ方式+ソルト値+ハッシュ

    ハッシュ方式は、先頭の$+数値で、数値がハッシュ方式を表している。

    現在は6($6)で、sha512が選択されている。

    ハッシュ方式の次の$からその次の$の前部分までがソルト値

    ソルト値の後ろにハッシュが入っている。

    -> $6$ソルト$ハッシュ

    perlのcryptで確認できる。(*以下はたぶん$のエスケープが必要)

    perl -e 'print crypt("パスワードの平文", "$6ソルト$");"

    2021年7月1日木曜日

    Linux UUID

    たまたまRHELのレスキューモードでディスクのUUIDを調べる必要にかられたため、その時のメモ。


    レスキューモードだとファイルシステムが/mnt/sysimageにマウントされる。

    https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/installation_guide/sect-rescue-mode

    というわけで、レスキューモードでシステムのUUIDを調べるには、レスキューモードのプロンプトで次のようにすればいいんじゃあないかな。

    $ ls -l /mnt/sysimage/dev/disk/by-uuid/

    2021年6月27日日曜日

    Linux 証明書のインポート

    LinuxでCA証明書をインポートする。
    1. RHELの場合 
    1.1. 証明書ファイルを /usr/share/pki/ca-trust-source/anchors/ または/etc/pki/ca-trust/source/anchors/に配置する。
    1.2. update-ca-trust を実行する。

    2. Ubuntuの場合
    2.1. /usr/share/ca-certificates/ の下にディレクトリを作成する。
    2.2. 2.1で作成したディレクトリに証明書ファイルを置く。
    2.3. /etc/ca-certificates.conf に、2.2 で置いたファイルへの、/usr/share/ca-certificates/ からの相対パスを追加する。
    2.4. /usr/sbin/update-ca-certificates を実行する