くだらねえ質問はここに書き込め! Part 234
■ このスレッドは過去ログ倉庫に格納されています
まずは2ch-Linux-Beginnersを読みましょう。 いろいろとまとめられているので(・∀・)イイ!! http://www12.atwiki.jp/linux2ch/ 読んでも解決しなかったら、質問を書きこむ前にここを読もう。 http://www12.atwiki.jp/linux2ch/?About 質問に対して答えてもらったら、お礼よりも、結果報告。 過去ログ検索 Google検索 https://www.google.com/search?hl=ja& ;as_q=検索語句&as_sitesearch=2ch.net%2Ftest%2Fread.cgi%2Flinux%2Fhttps://www.google.com/search?hl=ja& ;as_q=検索語句&as_sitesearch=5ch.net%2Ftest%2Fread.cgi%2Flinux%2F ※前スレ くだらねえ質問はここに書き込め! Part 233 http://mao.5ch.net/test/read.cgi/linux/1536848825/ 日本語フォント入れてfbterm使えば出来るけどKmsconのほうがいいと思います # fdisk loop_sps.img デバイス ブート 始点 終点 ブロック Id システム loop_sps.img1 2048 43007 20480 83 Linux loop_sps.img2 43008 83967 20480 83 Linux loop_sps.img3 83968 204799 60416 83 Linux # losetup -f /dev/loop0 # losetup /dev/loop0 loop_sps.img # losetup -a /dev/loop0: [0801]:1312473 (/home/hoge/loopback/loop_sps.img) # sudo kpartx -av loop_sps.img add map loop1p1 (252:0): 0 40960 linear /dev/loop1 2048 add map loop1p2 (252:1): 0 40960 linear /dev/loop1 43008 add map loop1p3 (252:2): 0 120832 linear /dev/loop1 83968 # ls /dev/mapper control loop0p1 loop0p2 loop0p3 # mount /dev/mapper/loop0p1 /mnt/data1 mount: ファイルシステムタイプを指定する必要があります ディスクイメージでディスクの扱い方を勉強中です スパースファイルの10MBファイルをext4に変換後、20MBごとに分割しました mountしようとしてもfsを指定しろと出るんですが何が問題なんでしょう?ext4を指定してもこのままです # mount loop_sps.img /mnt # df -Th | head -n1 && df -Th | grep mnt Filesystem Type Size Used Avail Use% Mounted on /dev/loop0 ext4 93M 1.6M 85M 2% /mnt こうすれば普通にmountされますが・・・ linuxのディストリには、目指すべき方向性が盛り込まれている。 なぜ、エロ目的のディストリがないのか?!? >>537 それは文字化けじゃなくて代替文字(U+fffd)が表示されてるだけ 正常な動作だよ PSFフォント自作すれば512文字(からASCIIを除いた分)の日本語文字は使えるようになるんじゃね >>542 ディストリっていうかアプリの話じゃないだろうか どんなことがしたいの? >>542 ディストリがあなたのために何ができるかを問うのではなく、あなたがディストリのために何ができるかを問うてほしい 画面に「LI」と出たまま止まってしまうのですが次に何をしたらいいですか? >>548 おじさんにチミのlilo.conf見せてみ 15年くらい前に作られてそうなのに最新版に対応してるのがすごいな >>550 これはディストリっていうかテーマだし、萌えとエロは違うだろ >>528 ありがとうございます。 もうちょっと詰めた配置にするようにはできませんか。 column -xとls -xではls -xのほうが効率のいい並べかたをしてくれます。 >>531 #!/bin/sh のスクリプトは、bash 特有の文法を使っていないけど、 #!/bin/bash は、使っている bash 特有の文法を使っていれば、#!/bin/sh とは書けない! #!/bin/bash と書かなければならない #!/bin/sh の方が、他のシェルとの互換性が高い 指定した範囲の数字を順番に出力するコマンドってなんだったっけ? $ hoge 2 5 2 3 4 5 ↑みたいなやつ >>562 ありがとう でも難しすぎてヒントとは気付けなかった gpartedでHDDをコピーしてそのHDDから起動するということは出来ないって事? インストしたHDDの中身をgparted使って複製して複製したやつを起動したいという簡単な話なんだど。 出来るけど必要な情報を提供しない&人の話聞かない奴には無理 >>526 https://serverfault.com/questions/167416/how-can-i-automatically-change-directory-on-ssh-login >>555 #!/bin/bash でスクリプト書いたとき、 sh script.sh で実行したときと bash script.sh って実行したときで 挙動が違ったことがあった。 一行目のシェルで実行してくれるわけじゃないんだな。 >>565 >>241 で最終的に仮想環境にしたいっていうことなら、 もう仮想環境にいれて仮想ではMBRで使っちゃえば? win10上VMWare上のubuntu16.04上で作業しています SDカードの移行のため、ソースとなるSDからRawイメージをPCへ圧縮して読み出しました sudo sh -c "dd if=/dev/sdb | gzip -c > SourceSD.img.gz" SDカードを差し替えた後、新SDへの書き込みは以下でうまくできました gzip -c SourceSD.img.gz | dd of=/dev/sdc 移行先のデバイスでは問題なく動作しています この後なんですが、imgファイルの中身をちょっと覗きたくなって、Rawイメージの中から 特定のパーティションをマウントしようと考えました。 そこでまずはSourceSD.img.gzを展開しようと gzip -dc SourceSD.img.gz | dd of=SourceSD.img としましたが、SourceSD.imgのサイズはSourceSD.img.gzと同じになり fdisk -l SourceSD.img としても、パーティションの状態が確認できません 要するに展開出来ていないということなのでしょうが、これはいったいなぜなのでしょうか うまく展開して、PC上でマウントできる状態にしたいので、アドバイスお願いします >>569 shやbashにとってはシェバンはただのコメントだからね スクリプトに+xして直接実行したときだけexecveが特別にその一行目を解釈するから意味を持つ https://linuxjm.osdn.jp/html/LDP_man-pages/man2/execve.2.html あら gunzip -dc < SourceSD.img.gz | dd of=SourceSD.img 以下でいけましたぁ 質問は取り下げます たくさんテキストファイルがあり、 それぞれのファイルの行の配列はこんな感じです(フォーマットは定型です) data1 hoge=2352 fuga=345 data2 hoge=4634 fuga=35767 最終的に、 data1=345 data2=35767 というような抽出したいのですが、何かよい方法はありませんでしょうか。 やりたいことは、条件で引っ掛けた行の○行下を抜いてくるというものです。 上データの場合、data1の2行下を抜く。data2の2行下を抜く。という方法があればお教えください。 awk -F'=' 'NR%3 == 1 {x=$1} NR%3 == 0 {print x"="$2}' hoge.txt ありがとうございます。 しかしながら、肝要なことを書き忘れました。 申し訳ありません。 以下の行は、テキストファイル行の途中にあります ;(中略) data1 hoge=2352 fuga=345 data2 hoge=4634 fuga=35767 ;(中略) なので、data1の2行下、data2の2行下というように、 特定文字列のn行下という風に指定したいのです。 egrep -A2 ‘data1|data2’ | egrep -v -- ‘--‘ | >>576 PanasonicのLet's NoteにDebian GNU/Linuxを入れています。 Xfce4デスクトップ環境において、電源ケーブルを差し込んで充電モードに切り替えると 画面の輝度が最低になり、更にキーボード操作も受け付けなくなります。 輝度調整キーを押すと再びキーボードなどが操作できるようになりますが、 電源ケーブルを接続する度に↑こういうことをするのは少し手間ですし、 何より原因不明で気持ち悪いです。 そこで原因を突き止めてできれば解決もしたいのですが、 ラップトップパソコンでの電源管理に関するトラブルでは どういったログを見ればよいでしょうか。ご教示ねがいます。 (例えばapt関連の事象なら/var/log/apt以下のファイルを調べればよい、 というような具合にどこそこのログファイルに電源管理のログが記録されている みたいなことが知りたいです) >>578 >>577 をもとに sed "/^data[0-9]\{1,\}$/!d; $(yes 'N;' | head -n 2) s/\n.*=/=/;" >>580 よくわからんけどTLPでも入れてみたら >>578 そこに書いてある分だけでいいなら sed -e '/^data[12]$/{N;N;s/\n.*=/=/;}' で済むかもしれないが誤認識の心配はしなくていいの? そこに書いてある分だけじゃないなら、おおざっぱに考えても a) 処理対象となる各レコードの先頭行を認識して処理する。 b) 1個以上のレコードから成るブロックを処理する。 というパターンがあると思うんだが。>>577 は b で書いた。 sedって単純な正規表現は使えるようになったけど>>577 みたいなのは訳わからん もっと覚えんとなぁ >>569 sh script.sh, bash script.sh などでは、シェバンは使われない シェバンが使われるのは、 ./script.sh のような、ファイル名自体がコマンドになる場合に、 カーネルがシェバンを読んで、どのシェル・アプリで実行するか決める (script.sh には、実行権限も付ける必要がある) シェバンにはシェル以外にも、ruby, python なども指定できる Ruby で作った re = /^data/ # 正規表現 result = [ ] # 末尾の改行を削除して、配列に読み込む input_ary = File.readlines( "input.txt", chomp: true ) input_ary.each_with_index do | line, index | # 1行ずつ処理する if line.match re # マッチした時 str = input_ary[ index + 2 ] # 2行下 if pos = str.index( "=" ) # = が有れば、それ以降を取り出す result.push line + "=" + str[ pos + 1 .. -1 ] end end end puts result ubuntu16.04LTS 64bitにキャノンのプリンタドライバをインストールしたいのですが パッケージの拡張子がrpm なので、alienコマンドを使ってインストールしようとしましたがエラーに・・・ sudo alien bjfilterpixus860i-2.4-0.i386.rpm bjfilterpixus860i-2.4-0.i386.rpm is for architecture i386 ; the package cannot be built on this system 回避する方法ありませんかね? ちなみに64bit版のドライバはアップされていませんでした。 >>592 レスの意図が読み取れんのやが どう呼ばれるかまで追ってないけど多分execve関連のコードやろな >>592 systemcallなら解るわ シェバンを使う使わないもあるだろうし特権必要かもな https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%90%E3%83%B3_ (Unix) >ファイル先頭のシバンを認識するのは、OSの execve システムコール(exec を参照)を処理するルーチン中のプログラムローダーである。 普通に書いてある >>573 >>586 ありがとう。 今まで実行権限つけて実行していたけど、どう動くか知らなかったので勉強になります。 シェバンはカーネルが実行するんやで 勉強になりました。w ┌┴┐┌┴┐┌┴┐ -┼-  ̄Tフ ̄Tフ __ / / _ノ _ノ _ノ ヽ/| ノ ノ 。。 /\___/ヽ /ノヽ ヽ、 / ⌒''ヽ,,,)ii(,,,r'''''' :::ヘ | ン(○),ン <、(○)<::| |`ヽ、 | `⌒,,ノ(、_, )ヽ⌒´ ::l |::::ヽl . ヽ ヽ il´トェェェイ`li r ;/ .|:::::i | /ヽ !l |,r-r-| l! /ヽ |:::::l | / |^|ヽ、 `ニニ´一/|^|`,r-|:「 ̄ / | .| | .| ,U(ニ 、)ヽ / | .| | .|人(_(ニ、ノノ] この流れなら聞ける気がする!! ld-linux-x86-64.so.2とかはなんでreadelfで見るとDYN(Shared object file)でしかもプログラムヘッダにはPT_INTERPもないのに実行できるの? OS起動してないPCからハードディスクのデータって抜き出せるの? >>601 USBメモリにインストールされたLinuxや、USBメモリのWindows起動ディスクでパソコンを起動して、内蔵ハードディスクにアクセスする。 手順 コンビニにいく→Linuxなら8GBのUSBメモリを買う。1000円しない。Windows10なら念のため16GBの方が良いかもな。→起動ディスク作成解説のYouTubeなりを見る。→USBから起動→内蔵ハードディスクのデータを取り出す。 些細なファイルなら起動用のUSBに保存して構わんが、データ量が大きいなら、コピー先となる容量の大きい外部ハードディスクやUSBメモリを挿しとけ。 注意はWindowsからはLinuxは見えない。復旧したい内蔵ハードディスクがLinuxのファイルしすてむなら、起動USBメモリもLinuxでなければならない。。 ところがLinuxからはWindowsの入ったハードディスクは見えるので、Windowsの起動ディスクが作成できない状況ならLinuxのUSB起動ディスクからファイルを救出することとなる。 >>600 .so, .dll などの共有動的リンクライブラリを読み込むには、たぶん、読み込む専門の関数がある ルール通りに、作ればよいだけ Ubuntuのタスクマネージャを見ていて思ったのですが Windows (7, 10)と比べてメモリは多く消費しているのにディスク使用率がかなり少ないですよね もしかしたら僕の環境のせいかもしれないのですが Linuxが(メモリを消費する割に)軽いのはディスクアクセスが少ないからなんですかね。 >>585 全く同じこと思ってますw シャドウなんたらとかあの辺の仕組みを理解しないといけないんだろうけど そのうち分かるだろうと思ってるうちに15年経ってしまった ガッツリman見るしかないのかな >>604 最近のsystemdはRAMに余裕があれば/tmpをRAMに置いたりするよね Windowsは特別に設定してない限り一時フォルダをCドライブに置いたような >>606 >そのうち分かるだろうと思ってるうちに15年経ってしまった 俺もなんだけど低脳は長い間やっていても、脳レベルが低い、 脳レベルの低さを補うために必死に努力しないといけないのにろくに努力しないもんだから 低レベルで進化がストップだからな。 一方、高脳は15年もやっているとマスターレベルに進化しているんだろうが >>606 とりあえずこの「パスワードファイルとシャドウパスワードファイルについて」節くらいのことわかっとけば十分じゃね https://blog.amedama.jp/entry/linux-shadow-passwd CentOSで、wgetの画像版みたいなのありませんでしょうか。 URL指定して、その先のキャプチャをとってくれるようなコマンドです urltopng http;//www.hoge.com -o /tmp/hoge.png ↑こんな感じで簡単に指定できるとものすごく助かります 画像版ってなんだよ HTMLをなんだと思ってるんだ 結局はhtmlやらcssやらダウンロードしてきてレンダリングするしか方法無いからな chromiumやfirefoxをヘッドレスで動かしたらできるやろ >>616 ありがとうございます。 ヘッドレス(ブラウザ?)って言葉がヒントになって 該当する情報を見つけられました。 いろいろ調べなきゃいけないようですが なんとかできそうです ありがとうございます。 Mozilla Firefoxには少し前まで「--screenshot」っていうそのものズバリのオプションがあったんだけど どういう訳が削除されちゃったみたい。公式ドキュメントからも消えてるし。 ただWebページを画像として保存するっていうのは 一聞すると荒唐無稽に思えるかもしれないけど ブラウザ間の互換性とかを調べるのに手っ取り早くて確実だったりするんだよね。 $ cat foo.txt 123abc $ perl -pei 's/\d+//' foo.txt Can't open s/\d+//: そのようなファイルやディレクトリはありません. 123abc $ perl -pe 's/\d+//' -i foo.txt $ cat foo.txt abc perlでsed記法ができるらしいがsedと違ってperlの-iは後ろじゃないとダメとか何このトラップ ていうかいい加減 -longopt←こういう記法廃れてほしい。 特にJava関係のアプリに多く見受けられる印象があるけど --longopt←こういう形式のほうが標準入力(-)オプション終了(--)とかのパースがしやすいし (慣れの問題でもあるものの)「自然」。 と、いうか-longoptでもいいからどっちかにしてくれ……! >>620 $cat foo.txt 123abc $sed -ei 's/[0-9]*//' foo.txt sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます $ # まあ、当たり前だね。 >>614 wget は、クローラーだろ 何階層まで再帰するかとか、 ダウンロードするファイルの拡張子も指定できる Ruby のクローラーの本でも、最初は、wget で作る。 その後、同じものをRuby, Selenium WebDriver, Nokogiri で、スクレイピングする >>620 そりゃ、-i は無引数のスイッチじゃない! 引数が必要なオプションだから、引数は、-i の直後に書かないといけない オプションには無引数のものと、引数を取るものがある。 すべてのコマンドで、そのルール Ruby でコマンドラインオプションを処理する、ARGV.options, OptionParser でも見れば? >>624 $ sed --version sed (GNU sed) 4.2.2 $ cat foo.txt 123abc $ sed -i 's/123//' foo.txt $ cat foo.txt abc BSD版のsed不便じゃないの? GNU版が便利なんだよ。 macOSを含めBSD版はやるきねーから $ sed -re -i 's/a/A/' foo.txt sed: -e expression #1, char 1: 不明なコマンド: `-' $ sed -rei 's/a/A/' foo.txt sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます $ sed -ire 's/a/A/' foo.txt $ perl -i.bak -pe 's/\w+/123/' foo.txt $ ls foo.txt foo.txtre foo.txt.bak まぁ-iだけは分けた方が確実だな -iの直後にオプション並べても接尾辞扱いされるようだし >>627 >sed -i 's/123//' foo.txt むしろこれで、引数の区別が出来たのに、驚いた! 最後に、/ が付くかどうかで、 置換指定の文字列と、ファイル名は区別が付くのか? >>630 文字列の内容では区別していないね -e や -f でスクリプトを明示的に指定していない場合は オプション(とその引数)をすべて取り除いた後に残ったコマンドライン引数の一つ目を、スクリプトとしている そして更に残ったものがファイル名 Perl の場合はスクリプトファイル名だね。 どちらも、コマンドラインを簡略化できる良い仕様だ。 個人的にはスクリプトなのかスクリプトファイル名なのか 分からなくなるおマヌケさんだという自覚があるから 必ず -e か -f を使うけどね。 >>555 531です。有難うございます。シェルを書く時に違いに気をつけます >>633 Debian系で#!/bin/shのシェルスクリプトを書くと動作不良起こすかも Debian系のshはbashじゃなくてdashだからさ dashはDebian版ashで、ashはBSD版の軽量Bourne Shell shってことは当然bash特有の機能は使えない 汎用的にしたのが裏目に出る悲しみ 片面2層のDVDvideoをBraseroでリッピングしたisoファイルはVLCプレーヤでできます。 このisoファイルをk9copy3.03で4.6GBほどのisoファイルに圧縮したのですがVLCプレーヤで再生できません DVDーRに焼いてみてもVLCプレーヤで再生できません このisoファイルをディスクイメージマウンターでマウントするとTSファイルがつくれており、これらは動画プレーヤで再生できます。 どうしたら圧縮したisoファイルを未圧縮のisoファイルのようにVLCプレーヤで再生できますか? >>635 WindowsのVLCしか使ったことないけど。 ツールからエラーメッセージがだせるだろ、たぶん。 そのログを見たら何かわからないかな ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる