タグ付けされた質問 「unix」

Unixは、もともと1969年にBell LabsのAT&T従業員グループによって開発された、マルチタスク、マルチユーザーのコンピューターオペレーティングシステムです。

3
libmagic / fileに.docxファイルを検出させる
他の場所で見られるように、docx、xlsx、およびpttxはZIPです。Webアプリケーションにそれらをアップロードするとき、file(libmagicおよびを介してpython-magic)ZIPとして検出します。 ファイルの内容をデータベースにblobとして保存しますが、当然、どのような種類のファイルであるかをユーザーに信頼したくありません。したがってfile、ダウンロード中にファイル名を信頼し、自動的に生成したいと思います。 修正できることは知っ/etc/magicていますが、フォーマット(magic(5))は私には複雑すぎます。Debianのバグでこの問題に関するバグレポートを見つけましたが、2008年以降のものであるため、すぐには修正されないようです。 私の他の唯一の選択肢は、ユーザーを実際に信頼することですが(ただし、コンテンツをblobとして保存する)、ファイル名に基づいてファイル拡張子のみをチェックすることです。このようにして、一部の拡張機能を禁止し、他の拡張機能を許可できます。また、ユーザーがファイルを再ダウンロードするときに、アップロードした方法に関係なく使用できます。ただし、ファイルを他のユーザーと共有する場合、このソリューションは安全ではありません。ファイルの名前を変更してアップロードできるようにするだけです。 何か案は? 最後に、docxなどのマジックナンバーのリストを見つけましたが、これらをmagic(5)フォーマットに変換することはできません。
17 linux  debian  unix  mime 

6
Git-git pullを使用した受信後フック「有効なgitディレクトリが見つかりませんでした」
それは非常に奇妙ですが、gitリポジトリを設定し、以下で受信後フックを作成する場合: echo "--initializing hook--" cd ~/websites/testing echo "--prepare update--" git pull echo "--update completed--" フックは実際に実行されますが、git pullを適切に実行することはできません。 6bfa32c..71c3d2a master -> master --initializing hook-- --prepare update-- fatal: Not a git repository: '.' Failed to find a valid git directory. --update completed-- だから私は今、フックにクローンをポストレシーブで更新させる方法を自問していますか? この場合、プロセスを実行しているユーザーは同じであり、そのすべてがユーザーフォルダー内にあるので、私は本当に理解していません...手動で cd ~/websites/testing git pull 問題なく動作します... その上で助けていただければ幸いです どうもありがとう
17 unix  git  hook 

8
インターフェイス経由のネットワークトラフィック量を監視する
特定のネットワークインターフェイス、たとえばeth0でトラフィックを監視する方法(使用率のライブビューを取得する方法など)はありますか? ここでの問題は、ボックスにあるツールのセットが固定されており、ほとんどのRHEL展開であるため、アドオンツールを使用できないことです。 基本的なものを探しており、通常はiostatのように存在します。

4
envファイルから環境変数を読み取り、コマンドを実行するユーティリティ(フォアマンよりも軽量)はありますか?
foreman .envファイルを読み取り、コンテンツから環境変数を設定し、プログラムを実行できます 例えば foreman run -e vars.env myprogram ...しかし、それは他の多くのことを行います(そして、主にProcfile形式を使用して物事を開始することに関係しています)。 .envファイルの読み取りと新しい環境でのコマンドの実行に焦点を合わせたシンプルな(Linux / Unix)ツールはありますか? サンプル環境ファイル(http://ddollar.github.io/foreman/#ENVIRONMENTから): FOO=bar BAZ=qux

1
プロセスを停止せずにバックグラウンドで実行する-(ctrl + z)?
次のようにコマンドラインで通常どおりに入力してプロセスを開始した場合 wget http://site.com/bigfile.zip そして、それをバックグラウンドに移動したいと決めた場合、バックグラウンドにそれを置くために、ctrl+zそしてbg 1(またはjobsIDを取得する必要がある場合は最初に)のようなものを使用できることを知っています。 私の質問は、ジョブを停止せずにフォアグラウンドからバックグラウンドに直接移動する方法があるかどうかです-それ以外の別のショートカットのようにctrl+zそれを行います。 また、私は追加することができますことを実現し&、バックグラウンドで起動して、元のコマンドの最後に、しかし問題はあなたがフォアグラウンドでプロセスを起動したときによろしくにあり、その後、あなたがバックグラウンドに移動したい実現します。

3
タイムスタンプを含むファイル名の優先形式
「unix」はファイルに「/」と「\ 0」以外のすべてを含めることができることを知っていますが、システム管理者は、入力としてスペースを好むものがほとんどないため、はるかに小さい設定を持つ傾向があります... 「:」や「@」の特別な意味。 最近、ファイル名にタイムスタンプが使用されている別のケースを見ましたが、異なる形式で少し遊んで「より良い」ようにした後、私は考えたものではなく「ベストプラクティス」を見つけようと思いましたここで質問して、人々の考えを見てみましょう。 考えられる「一般的な」解決策(p = prefixおよびs = suffix): syslog / logrotate / DNSのような形式: p-%Y%m%d-suffix = prefix-20110719-s p-%Y%m%d%H%M-suffix = prefix-201107191732-s p-%Y%m%d%H%M%S-suffix = prefix-20110719173216-s 長所: それは「共通」であるため、「十分」は「最良」よりも優れている可能性があります。 変なキャラクターはいません。 「日付/時刻blob」を他のすべてのものと簡単に区別できます。 短所: 日付のみのバージョンは読みやすくなく、時間を含めると目が出血し、秒も「笑」になります。 TZを想定しています。 ISO-8601-形式 p-%Y-%m-%d-s = p-2011-07-19-s p-%Y-%m-%dT%H:%M%z-s = p-2011-07-19T17:32-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T17:32:16-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T23:32:16+0200-s 長所: 場所がない。 TZを考慮に入れます。 人間が読むのは「悪くない」(日付のみが良い)。 $(date --iso = …


6
会社のためのLinuxネットワークの構築-どこから始めればいいですか?
これはやや負荷の大きい質問になります。私は1962年以来存在している会社でプログラミングを行っています。多くのこと、特にコンピューター/ネットワークに関するものは非常に時代遅れです。もう少し背景を説明しましょう。 同社はすでにWindowsサーバーを運用しています。サーバーでは、多くのコンピューターの共有ネットワークドライブにファイルがあり、いくつかのプログラムもあります。これは、アカウンティングやインベントリなどへの企業全体のアクセスが許可され、ファイルが共有される方法です。残念ながら、どの設計でも強力なシステム管理者が関与したことはありません。会計システムはFoxproで実行されています。ファイルは完全に無秩序です。従業員は一般的に自分のやり方を知っているように見えますが、成長して規模を拡大するには、このネットワークをすばやく把握する必要があります。私が必要とするもののいくつか: リレーショナルデータベース。ネットワーク上のすべてのコンピューターを介してアクセスでき、以下を保存します。 ファイル(すなわち、図面、引用、完成したプロジェクトの写真など) 従業員(その後、コンピューター化されたタイムカード入力などの作業を開始できます) 請求書、売掛金、在庫 パスワード管理 ジョブ追跡 このデータベースの上にカスタムアプリケーションを構築してすべてを強化し、Webサイトが社内のものとやり取りできるようにするAPIを構築したいと思います。明らかに、新しいシステムを構築するときに既存のシステムをそのまま残しておく必要があります。私はウェブのバックグラウンドから来ています...そして、Unix(ウェブサイトにサービスを提供する多数のサーバーを管理しました)、PHP、およびフロントエンド開発に非常に満足しています。私はすでによく知っているオープンソース技術に固執したいと思います。 私の最大の疑問は、どこから始めればいいのかということです。サーバーラックを購入して、まったく新しいネットワークの構築を開始するだけですか?準備ができたら全員を新しいネットワークにプッシュしますか、それとも両方を同時に使用し、古いネットワークから徐々に移行しますか? これは1年以上かかるプロジェクトかもしれないと思います。いくつかのガイダンス-システム設計に関するリソース、開始方法など、本当に感謝しています。私は仕事に喜んで取り組みます-ビジョンを作成するのに助けが必要です。

13
Bashシェルスクリプトの代替スクリプト
UNIXワークステーションに移行しました。Bashシェルスクリプトの私の記憶は学校以来衰退しており、構文が非常に紛らわしいと感じています。タスクを自動化するために他のスクリプト言語がどのように使用されているのか疑問に思っています。私が聞いた最も人気のあるものは、PerlとPythonです。 どのスクリプト言語が実際の店舗で最も広く使用されていますか? C / C ++構文に最も似ているスクリプト言語はどれですか? 私が知らない別のスクリプト言語はありますか? ご協力いただきありがとうございます、 スコット
16 unix  scripting 


4
/ dev / sdaと/ dev / sda1の違い
/ dev / sdaがrawデバイスであり、/ dev / sda1がパーティションまたは仮想デバイスであることを知っています。 しかし、なぜsda#が時々現れるのか、特定のシステムでのみ現れるのかについて、少し混乱しています。これが発生する原因は何ですか?おそらく、sda#ドライブが表示されないのは、パーティションが作成されていないときですか?それとも、ハードウェア間で同じではないでしょうか? そして、なぜ両方をマウントできるのですか?(時々)パーティションはマウント可能であるべきではありませんか? 提供できるリソースや色は大歓迎です。前もって感謝します。
16 linux  unix  mount  hard-drive 


3
プログラムファイルは/ usr / binにありますが、使用できません
明らかに私のファイルは /usr/bin $ ls /usr/bin/ngrok /usr/bin/ngrok しかし、chownそれを試みるとエラーが表示されます $ sudo chown my_user:users /usr/bin/ngrok chown: cannot dereference '/usr/bin/ngrok': No such file or directory さらに実行しようとしても失敗します! $ ngrok bash: ngrok: command not found $ sudo /usr/bin/ngrok sudo: /usr/bin/ngrok: command not found ここで何が起きてるの?

3
Unix(またはLinux)に進行中のコアダンプを停止するメカニズムはありますか?
(非常に)大きなプロセスがクラッシュしてコアをダンプしており、他の情報(おそらくアサートメッセージ、または何か他のもの)から原因がわかっているとします。 この場合は無駄であるため、コアダンプが完全に生成されるのを停止する方法はありますか? たとえば、コアダンププロセスの-9を強制終了すると、コアファイルの生成が中断されますか? 明らかに、コアダンプが不要であることを事前に知っている場合は、ulimitを適切に設定するか、OSのさまざまなコアファイル制御ユーティリティを使用できます。 しかし、この質問は「すでに進行中のコアダンプ」段階に関するものです... (たとえば、私が/programming/18368242/how-to-bypass-a-2tb-core-dump-file-system-limitのリクエスターで あり、5を無駄にしたくないと想像して ください -6 TBのディスク容量:))
15 linux  unix  dump 

3
rsyncを使用してソースから宛先にファイルを移動しますか?
rsyncは私のプロジェクトに適していますか? 次のことを行う必要があります。 -SSH経由でソースから宛先フォルダーに ファイルをコピーします。-すべてのファイルがコピーされていることを確認します。-コピー 後にソースファイルを削除します。 -競合する名前がある場合、ファイルの名前を変更する必要があります。 私はオプションを使用できるようです:--remove-source-files(ソースファイルを削除する ため)しかし、rsyncはどのように競合を管理しますか? 私のプロジェクトのユースケース: サーバーAで科学計算を実行すると、結果がフォルダー「プロセス」に挿入されます。計算ごとに、/ process / calc1のようなリポジトリがあります。 ここで、リポジトリ "/ calc1"をサーバーBに転送し(/ process / calc1を取得)、サーバーAから "calc1"を削除します 。...別の計算中に、サーバーAで"/ process / calc2"を取得します。また、サーバーBの「/ process /」ディレクトリにある「calc2」を移動するという考え方もあります。サーバーBには次のようになります 。- / process / calc1-/ process / calc2 (およびサーバーAの/ process /は空です)。 新しい計算の後にサーバーAに「/ process / calc1」などの別のフォルダーがある場合(「/ process / calc1」がサーバーBに既に存在する場合)、rsyncは競合をどのように管理しますか(サーバーB)。 rsyncでルールを追加し、サーバーBで「/ process / calc1」の名前を「process / calc1R2」に変更することは可能ですか?など(例:calc1R3)? …

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