Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

1
Xをワンライナーで実行するように「anybody」を設定するにはどうすればよいですか?
投稿された一般的なソリューションsudo dpkg-reconfigure x11-commonは、グラフィカルプロンプトを表示する実行ですが、これを非対話的に使用したいと考えています。 シナリオは、(Vagrantプロビジョニング中に)rootとしてマシンにSSHで接続しstartx、通常のユーザーとして一度実行して、いくつかの構成ファイルを生成してから、次の手順に進む必要があるというものです。 私が単純にできない理由su otheruser startxは、Xauthority / meが別のユーザーとしてSSH経由で接続されているためです...

2
su認証失敗、sudo欠落
vim-minimalパッケージを削除した後、インストールしようとしたGUI Vimと競合していたため、パッケージsudoが表示されなくなりsu、認証に失敗しました。 [portOdin@localhost ~]$ su Password: su: Authentication failure [portOdin@localhost ~]$ sudo bash: sudo: command not found... 私もzshを試し、新しいユーザーを作成しましたが、同じ問題がありました。 うまくいく場合su、または代替手段がある場合は、で再インストールできsudo yum install sudoます。Fedora 20を使用しています。

3
印刷ジョブ「認証のために保留」
ここの指示に従って、Udoobuntu 12.04 LTSを実行しているARMベースのUdoo クワッドに Sambaプリントサーバーをインストールしました。 Sambaサーバーは機能しており、(guest ok = yesサーバーので設定した後smb.conf)資格情報を入力しなくても "print $"(プリンタードライバー)フォルダーを参照できます。クライアント側のプリンターのインストール中に(Ubuntu 13.10で)プリンターを参照することはできますが、印刷ジョブがサーバーに送信されません。それらは、ステータスメッセージ"Held for authentication"と共にクライアントの印刷キューに置かれます。 で/etc/samba/smb.conf報告されている次のセクションを使用して、ゲストがプリンタにアクセスできるようにサーバーを構成しましたtestparm。 [printers] comment = All Printers path = /var/spool/samba create mask = 0700 guest ok = Yes printable = Yes print ok = Yes browseable = No クライアントはなぜ認証が必要であると考えているのですか?また、修正は何ですか?
9 ubuntu  samba  printing  arm 

2
GNUをコンパイルしてブートストラップすることは可能でしょうか?
新しいGuixリリースが少し前に出ました。そして、glibc、gcc、およびguixをHURDおよびMachにブートストラップできれば、Linux以外のGNUシステムを使用できるというアイデアを得ました。ただし、bash、emacs、binutils、coreutils、initシステムなどのソフトウェアも必要です。Linuxに依存するシステムコールがあるものはありますか?LFSのようにできますか?
9 gcc  glibc  hurd 

1
/ proc / modulesで(F)とマークされたモジュール
3.10システムでは、/ proc / modulesにリストされている一部のモジュールに(F)のマークが付いています。その原因を知りたい(F)。モジュールが強制的にロードされておらず、カーネルでビルドされていたと思います。/ proc / modulesを作成するカーネルコードを教えてください。 usb_storage 56610 0 - Live 0xffffffffa005d000 (F) このモジュールをアンロードしてリロードすると、(F)が消えます。

3
コマンドラインからOsIndications efi変数を書き込む/編集/更新する方法は?
超高速ブート(POST中にキーボードドライバーが読み込まれない)を使用しているときにUEFIファームウェアセットアップユーティリティを起動する必要がある場合は、 "Os Indications" efi変数に書き込みます。私のOSはUbuntu 14.04カーネル3.13.0-35-genericです。 OsIndications 変数はUINT64ビットマスクを返します OsIndicationsSupported 変数はUINT64ビットマスクを返します EFI_OS_INDICATIONS_BOOT_TO_FW_UIファームウェアは、ファームウェアのユーザーインタフェースで停止するOSの要求をサポートしている場合のビットは、ファームウェアによってOsIndicationsSupported変数に設定することができます。 EFI_OS_INDICATIONS_BOOT_TO_FW_UIOSは、次の起動時にファームウェアのユーザー・インターフェースで停止するファームウェアのために望む場合ビットは、OsIndications変数にOSによって設定することができます。 EFI_OS_INDICATIONS_BOOT_TO_FW_UI= 0x0000000000000001- UEFI仕様2.3.1Cのページ312 私のファームウェアには、次回の起動時にファームウェアセットアップユーティリティに入る機能があります。 $ hexdump /sys/firmware/efi/vars/OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c/data 0000000 0001 0000 0000 0000 0000008 私は上の新しい変数を作成することができます/sys/firmware/efi/efivars使用して $ printf\x07\x00\x00\x00\x00" > myvar-12345678-1234-1234-1234-123456789abc ただし、efi変数に書き込むと、次のようなOsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c結果になりますwrite error: Invalid argument。 新しいefivarfsの使用 # printf "x00\x00\x00\x01" > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c -bash: printf: write error: Invalid argument # printf "x00\x00\x00\x01" > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c …

2
setuidが実行可能ファイルで機能しないのはなぜですか?
スクリプトでsetuidを有効にするとセキュリティの問題が発生するため、デフォルトでは無効になっていますが、実行可能ファイルで機能することを期待しています。この投稿で説明されている手順に従って、出力としてuidを示す実行可能ファイルを作成しました。シェルスクリプトでsetuidを許可します しかし、実行前と実行後の両方で同じuid(1000)を返しますsudo chmod +s ./setuid-test。これは、setuidが実行可能ファイルに影響を与えないことを意味すると思います。なぜ、どのように解決するのですか? ソースコード: #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } 構築して実行 $ gcc -o setuid-test setuid-test.c $ ./setuid-test 1000 $ sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test $ ./setuid-test 1000 実行するとls -la、これは私が得るものです: me@me:~$ ls -la setuid-test -rwsrwsr-x 1 …

4
ユーザーがログインできる時間を制限する
Ubuntu 12.04上に構築されたいくつかのBackbox 3.13システムがあります。私の10代の1人は、「スリープ」と呼ばれるこのことの概念を理解しておらず、コンピュータで遊ぶために立ち上がる傾向があります。私はその行動を制限しようとしています。私たちは数日間働いたナニーを試しました。その後、設定がまだ適切であったとしても、それはまだその十代が彼女のユーザーアカウントとインターネットへのアクセスを取得することを許可していました。 いくつかの調査の後、を変更してみることにしました/etc/security/time.conf。どうやら、ファイルにどのコマンドを入力しても、ユーザーアカウントにログインできるため、正しく実行していないようです。私たちは彼女に午後9時から午前6時までのアクセスを許可しません。私はまだ私がいつもコンピューターにアクセスできる必要があります。ここに私が試したいくつかの構文があります: 1. login;*;username;A12100-0600 2. login;*;username;!A12100-0600 3. login;*;username;!A12100-0600 login;*;my username;A10000-2400 4. login;*;!username;A12100-0600 私はこれをどのように行うかを理解しようとすることで、ここで気が狂います。私が見落としている、または間違って入力しているのは簡単なことだと思います。どんな援助もいただければ幸いです。

2
APEIの一般的なハードウェアエラー
先週、私のサーバー(Debian Jessieを実行している)が2回再起動しました。Syslogで、再起動する前にこれを確認しましたが、他の時点では確認できません。 Aug 15 13:32:58 hoshimiya kernel: [296512.005355] {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1 Aug 15 13:32:58 hoshimiya kernel: [296512.005360] {1}[Hardware Error]: It has been corrected by h/w and requires no further action Aug 15 13:32:58 hoshimiya kernel: [296512.005361] {1}[Hardware Error]: event severity: corrected Aug …
9 hardware 

2
/ tmpを誤って削除した
偶然、私は走ったsudo rm -r /tmp、それは問題ですか? を使用して再作成しましたがsudo mkdir /tmp、問題は解決しましたか? ディレクトリを再作成した後、Ubuntu 14.04のnautilusのサイドバーの場所セクションに/ tmpが表示されますが、これは以前にはありませんでしたが、問題ですか。 最後に、sudo chown $USER:$USER /tmp以前と同じようにアクセスできるように実行する必要があります..この後、副作用はありますか? ちなみに、bashのオートコンプリートを使用しようとすると、この一見関連するエラーが表示されます bash:here-documentの一時ファイルを作成できません:権限が拒否されました

2
端末の背景が透明なレンジャー画像プレビュー
私はレンジャーでの画像プレビューが好きですが、端末が透明でも好きです。 w3mと透明な背景で画像プレビューを機能させる方法は本当にありませんか?(必要に応じてターミナルエミュレータを変更します。現在はurxvtです)
9 w3m  ranger 

2
meld 3.11をUbuntu 14.04にインストールするにはどうすればよいですか?
meld 3.11をUbuntu 14.04で動作させようとしています 以下の方法で試してみました」 cd ~ git clone https://git.gnome.org/browse/meld cd meld sudo ln -s ~/meld/bin/meld /usr/bin/meld しかし、ターミナルでmeldを実行すると、次のエラーが発生します Traceback (most recent call last): File "/usr/bin/meld", line 223, in <module> setup_settings() File "/usr/bin/meld", line 197, in setup_settings cwd=melddir) File "/usr/lib/python2.7/subprocess.py", line 522, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 710, in …

1
複数の一時エイリアスを作成する
私はrootユーザーではないため、すべてのエイリアスが作成されたグローバルエイリアスファイルにアクセスできませんが、ログインしているセッションでのみアクティブなエイリアスをいくつか作成します。コマンドalias x='cd /parent/child'を使用して、xコンソールで入力するだけで使用できるエイリアス&dirを/ Parent / Childに変更します。 ただし、複数のエイリアスを作成したいし、作成するエイリアスを毎回入力する必要もありません。 すべてのalias = 'do this'行をファイルに入れて(777権限を付与)、ファイルを実行すると、これらのすべてのエイリアスがログインするたびに作成されることを期待しました。しかし、それは起こりませんでした。 例: alias x='cd /parent/child' alias y='cd /a/b/c' alias z='tail -0f some.log' 私もファイルでこれを試しましたが無駄でした: alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log' 私が試したエイリアス名は、グローバルエイリアスにすでに存在していませんでした。(エイリアスを入力して、画面に出力を見ました)。
9 alias 

1
現在のステータスを使用して、GNU ddrescue(1.18.1)の完了までのループ/時間を推定するにはどうすればよいですか?
背景/コンテキスト: 私は現在、GNU ddrescue 1.18.1を実行して、disk2s1パーティションに仮想ディスクイメージを書き込んでいる間にケーブルが切断されたUSBからデータを回復しています。最初は2番目のパーティション(disk2s2)を回復していて、3番目のフェーズ(分割)に達したことに気付きました。イメージをネットワークストレージに配置しています。 質問: このフェーズがループすることに気づきました。現在のステータス情報から、発生する可能性が高いループの数を計算する方法はありますか? 状態: 更新/編集: ですから、ddrescueツールを使用して、ループ/完了の時間をどのように推定できるかについては、まだ非常に興味があります。コメントに従って、現在実行中のdisk2s1パーティションのログファイルの評価を追加しています(disk2s2は14.5時間後に完了し、1人のユーザーが約6時間中断しました)。 完了したパーティションログ 完了したばかりのパーティションについて、ログ検査の結果を次に示します。 リファレンス(ddrescueアルゴリズムの注意): 4アルゴリズム GNU ddrescueはddの派生物ではありません。また、あるデバイスから別のデバイスにデータをコピーするために両方を使用できるという点を除いて、ddとは関係ありません。主な違いは、ddrescueは高度なアルゴリズムを使用して、故障したドライブからデータをコピーし、追加の損傷をできるだけ少なくすることです。 Ddrescueは進行中のレスキューのステータスを効率的に管理し、最初に適切な部分をレスキューしようとし、後で悪い(または遅い)領域内の読み取りをスケジュールします。これにより、故障したドライブから最終的に回復できるデータの量が最大になります。 標準のddユーティリティを使用して、障害が発生したドライブからデータを保存できますが、データが順次読み取られるため、ドライブの先頭にエラーがある場合は、ドライブを使い果たすことなく何も救うことができません。 他のプログラムはデータを順番に読み取りますが、エラーが見つかった場合は小さいサイズの読み取りに切り替えます。これは、エラー領域でより多くの時間を費やし、できるだけ早くそれらから抜け出すのではなく、表面、ヘッド、およびドライブ機構に損傷を与えることを意味するため、これは悪い考えです。この動作により、残りの適切なデータを救う可能性が減少します。 ddrescueのアルゴリズムは次のとおりです(ユーザーはいつでもプロセスに割り込むことができますが、不良ドライブがカーネルが停止するまでddrescueを長時間ブロックする可能性があることに注意してください)。 1)オプションで、マルチパートまたは以前に中断されたレスキューのステータスを説明するログファイルを読み取ります。ログファイルが指定されていないか、空または存在しない場合は、すべてのレスキュードメインを未試行としてマークします。 2)(最初のフェーズ;コピー)入力ファイルの未試行部分を読み取り、失敗したブロックを非トリムとしてマークし、それらを超えてスキップします。遅いエリアを越えてスキップします。スキップされた領域は、後で2つの追加パス(トリミング前)で試行され、すべてのレスキュードメインが試行されるまで、各パスの後で方向が逆になります。3番目のパスは、スキップを無効にしたスイープパスです。(目的は、大きなエラーをすばやく区切り、ログファイルを小さく保ち、トリミングの開始点を作成することです)。未試行の領域のみが大きなブロックで読み取られます。トリミング、分割、再試行はセクターごとに行われます。各セクターは最大2回試行されます。このステップの最初は(通常、大きなブロックの読み取りの一部として、場合によっては単一セクターの読み取りとして)、以下のステップの1つで2番目は単一セクターの読み取りとして。 3)(第2フェーズ、トリミング)読み取りは、トリミングされていない最小のブロックのリーディングエッジから、不良セクターが見つかるまで、一度に1セクターずつ転送します。次に、不良ブロックが見つかるまで、同じブロックの後縁から一度に1セクターずつ逆方向に読み取ります。トリミングされていないブロックごとに、見つかった不良セクターを不良セクターとしてマークし、そのブロックの残りの部分を、読み取ろうとせずに非分割としてマークします。トリミングされていないブロックがなくなるまで繰り返します。(トリミングされていない大きなブロックは、小さいブロックを連結することによって生成されるため、エッジでの適切なデータの割合は小さくなります)。 4)(第3段階;分割)読み取りは、最大の非分割ブロックの中心から一度に1つのセクターを、不良セクターが見つかるまで転送します。次に、見つかった不良セクターが最初に試行したものでない場合は、不良セクターが見つかるまで、同じブロックの中心から一度に1セクターずつ逆方向に読み取ります。ログファイルが「--logfile-size」よりも大きい場合、ログファイルのエントリ数が「--logfile-size」を下回るまで、最大の非分割ブロックを順番に読み取ります。残りのすべての非分割ブロックのセクターが7未満になるまで繰り返します。次に、残りの非分割ブロックを順番に読み取ります。 5)(第4フェーズ;再試行)オプションで、指定された再試行パスの回数に達するまで、不良セクターの読み取りを再試行します。すべての不良セクターは、各パスで1回だけ試行されます。Ddrescueは、不良セクターが回復不能であるかどうか、または再試行後に最終的に読み取られるかどうかを知ることができません。 6)オプションで、後で使用するためにログファイルを書き込みます。 合計エラーサイズ( 'errsize')は、すべての非トリミングブロック、非分割ブロック、および不良セクターブロックのサイズの合計です。コピーフェーズ中に増加し、トリミング、分割、再試行中に減少する可能性があります。ddrescueが失敗したブロックを分割してそれらを小さくすると、エラーの数が増加する一方で、合計エラーサイズが減少する可能性があることに注意してください。 ログファイルは定期的にディスクに保存されます。また、ddrescueが終了したときや中断されたときも保存されます。したがって、クラッシュが発生した場合は、ほとんど再コピーせずにレスキューを再開できます。保存の間隔は、ログファイルのサイズに応じて30秒から5分まで変化します(大きなログファイルはより長い間隔で保存されます)。 また、同じログファイルを、入力ファイルの異なる領域をコピーする複数のコマンド、および異なるサブセットでの複数のリカバリ試行に使用できます。この例を見てください: まず、ディスクの最も重要な部分を救出してください。ddrescue -i0 -s50MiB / dev / hdc hdimage logfile ddrescue -i0 -s1MiB -d -r3 / dev / hdc hdimage logfile 次に、いくつかの重要なディスク領域を救出します。ddrescue …
9 ddrescue 

1
bashスクリプトでのマルチスレッド/フォーク
次の形式のbashスクリプトを作成しました。 #!/bin/bash start=$(date +%s) inFile="input.txt" outFile="output.csv" rm -f $inFile $outFile while read line do -- Block of Commands done < "$inFile" end=$(date +%s) runtime=$((end-start)) echo "Program has finished execution in $runtime seconds." whileループから読み込みます$inFile、ライン上でいくつかのアクティビティを実行して、結果をダンプ$outFile。 以下のよう$inFile3500+ラインの長さで、スクリプトが完全に実行するための6-7時間かかります。この時間を最小限に抑えるために、このスクリプトではマルチスレッドまたはフォークを使用することを計画しています。8つの子プロセスを作成すると、からの8行$inFileが同時に処理されます。 これはどのように行うことができますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.