タグ

関連タグで絞り込む (201)

タグの絞り込みを解除

Linuxに関するremixedのブックマーク (157)

  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
  • SELinux 参考URL - えんでぃの技術ブログ

    SELinuxシリーズ 記事は、SELinuxシリーズの7記事目です。 Linuxプロセスアクセス制御の概要 SELinuxの概要 SELinux Type Enforcement SELinuxの実践 (参考) SELinuxのRBAC、UBAC、MLS、MCS (参考) SELinux Module Policyのソースコード読解、ビルド 参考URL ←今ココ 1〜3記事目は、4記事目を理解するための前提知識をカバーしています。 4記事目が最も重要で、SELinuxの具体的な操作方法やコマンド、トラブルシューティング手順を紹介しています。 5記事目以降は参考情報です。 SELinuxの関連記事は、SELinuxタグから探せます。 一連の記事はFedora環境を前提として書いています。 FedoraやRHELに類するディストリビューションであればほぼ同等の挙動になると思いますが、他のデ

    SELinux 参考URL - えんでぃの技術ブログ
  • xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか? - Qiita

    xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか?ShellScriptUNIXシェル芸POSIXUnix哲学 はじめに xargs コマンドは「なにか凄そうだけどよく分からないコマンド」としてよく知られています。使う人は使うけど何をやっているのか全くわからないコマンドです。また、やっていることがわかっても実際に使ってみると、空白やクォーテーション文字でエラーになってしまう使い方がとても難しいコマンドです。この記事はそういうよくわからない xargs はどういうコマンドなのか解説します。この記事を読むと xargs を「完全に理解した」と言えるようになるでしょう。 xargs コマンドが難しい理由は、xargs 自体の設計や実装の問題で古い時代の制限が多いからです。仕様が意味不明で一貫性がなくで他のコマンドと正しく

    xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか? - Qiita
  • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

    はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものになるのかをこの記事で解説しています。この記事は私の予言であり目標です。 シェルスクリプトの失われた30年の進化を取り戻す! 残念なことに、シェルスクリプトの世界は 30 年前から大きく変わっていません。それまでの間、プログラミング言語の世界、ソフトウェア開発

    シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
  • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

    IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

    Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
  • 削除したファイルをlsofで復元する | OSDN Magazine

    たとえば、あなたが午後いっぱいを費やして製作したオーディオ・ファイルの再生を楽しみながら、「やあ、こいつはすごい音だ! こっちに移動しておくとしよう」と思ったとする。そのとき、潜在意識が違和感を唱えるのだ。「ええと、mvだっけ、rmじゃないのか?」…やっちまった。そのショックはよくわかる。誰にでもありうる失敗だ。だが、失われたファイルを取り戻す簡単な方法はある。しかも、それはどの標準Linuxシステムでも使える方法だから、覚えておいて絶対に損はない。 簡単に説明すると、Linuxファイルシステム上にあるように見えるファイルは、実際はinodeへのリンクに過ぎない。inodeには、ファイルのあらゆるプロパティ(アクセス権や所有権など)のほか、ファイルの中味が実際に存在するディスク上のデータブロックのアドレスも記録される。rmコマンドでファイルを削除すると、ファイルのinodeを指すリンクは削

    削除したファイルをlsofで復元する | OSDN Magazine
  • 第775回 step-caで自前のLet's Encrypt/ACMEサーバーをUbuntu上に構築する | gihyo.jp

    最近のWebサイトを表示する際は、サーバー証明書とTLSを利用したセキュアな接続が大半になってきました。これはセキュリティ意識の向上もさることながら、Let's Encryptに代表される「サーバー証明書の更新の自動化」もその一助となっていることでしょう。今回はこのLet's Encryptっぽいサービスをローカルネットワーク内部に構築してみましょう。 図1 step-caを使えば、自己署名証明書であってもLet's Encryptと同じ方法で自動更新できる Let's EncryptとACMEプロトコル Let's Encryptは無償でサーバー証明書を発行し、自動的に更新処理を行える認証局です。インターネットに関わる名だたる企業・団体の多くが参加することで、300万サイト以上という非常に多くの利用者を抱えているにも関わらず、10年以上に渡って無償でオープンな組織運営を続けています。 L

    第775回 step-caで自前のLet's Encrypt/ACMEサーバーをUbuntu上に構築する | gihyo.jp
  • AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ。当時の社員が振り返る

    AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ。当時の社員が振り返る 1990年代後半に、米Yahoo!などに代表されるインターネット系企業の株が高騰したインターネットバブルが発生しました。 そのバブルが2000年前後にはじけると、ユーザー数の拡大を背景に資金調達をしてきた企業の多くが投資家からの資金を得られなくなり、行き詰まり始めます。 Amazon.comもそうした状況のなかで先行きを不安視された企業の1つでした。2001年4月の週刊東洋経済の記事には、最高値の10分の1程度にまで下がった株価のグラフとともに、「莫大な酸素(キャッシュ)を燃やし続けている」「2000年12月末時点で2000億円を超える債務超過だ」と記されています。 当時Amazon.comのデジタルメディア部門ディレクターであったDan Rose氏

    AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ。当時の社員が振り返る
  • シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita

    この中で私が特に気に入ったコマンドは dateround です。次点は dategrep です。この二つは特に強力で、awk やその他のコマンドを使って日時をこねくり回すような「無駄に難解なコード」を書かずに Dateutils のコマンド群だけで大抵のことはなんでもできてしまいます。専用のことをするには専用のコマンドを作ることが重要であることを思い出させてくれるでしょう。 Dateutils の重要な特徴と使用例 大抵のコマンドは機能の説明から想像できると思いますし、公式サイトにも例があるので詳細を一つ一つ説明することはしません。その代わりに「Dateutils の使いこなしに必要な考え方」が分かるような例をいくつか紹介します。 重要な注意点ですが Dateutils はロケールをサポートしていますが、原則としてシステムのロケール情報やユーザーの環境変数には依存していません。内部にロケー

    シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita
  • Microsoft’s Azure Linux distro is now generally available

    After using Azure Linux internally for two years and running it in public preview since October 2022, Microsoft this week finally made its distribution generally available. Azure Linux is an open-source container host OS for the Azure Kubernetes Service (AKS) that is optimized for Azure and aimed at making it easier for developers to use Microsoft's tools to deploy and manage container workloads.

    Microsoft’s Azure Linux distro is now generally available
  • Linux関連の最新状況にキャッチアップするための本「入門モダンLinux」

    以下イベントのプレゼン資料です。 https://forkwell.connpass.com/event/279042/

    Linux関連の最新状況にキャッチアップするための本「入門モダンLinux」
  • Linux におけるファイル I/O の基礎

    すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。 ファイルUnix におけるファイルとは、普通「通常ファイル」のことを指し、バイトがリニアに並んだデータ (byte stream) のことである。 ファイル内のバイトは読み書きが可能で、指定されたバイトから開始する。この開始バイトはファイル内の「位置」と考えることができ、ファイルポジションまたはファイルオフセットという。 通常ファイルとは別に、スペシャルファイルというファイルとして表現されたカーネルオブジェクトがある。Linux では、スペシャルファイルとしてデバイスノード・名前付き

  • [シェル] カッコの意味と役割まとめ [Bash, Linux]

    シェルスクリプトで使用されるカッコいろいろ シェルスクリプト(コマンド)で使われるカッコにはそれぞれ異なる文法上の意味があります。ここでは8種類のカッコの使い方についてまとめます。 [] 角括弧、bracket、ブラケット [[]] 二重角括弧、double bracket、ダブルブラケット () 丸括弧、parenthesis、パーレン (()) 二重丸括弧、double parenthesis、ダブルパーレン $() ドル丸括弧、ドルパーレン $(()) ドル二重丸括弧、ドルダブルパーレン {} 波括弧、brace、ブレース ${} ドル波括弧、ドルブレース [] 角括弧、bracket、ブラケット [] ブラケットは test コマンドど等価のコマンドです。 【 test 】コマンド(基礎編)――ファイルの有無などを判定する:LinuxコマンドTips(221) – @IT te

    [シェル] カッコの意味と役割まとめ [Bash, Linux]
  • Kubernetes: cgroup v2 使用時に "failed to create fsnotify watcher: too many open files" エラーが発生する問題の対策 - Qiita

    Kubernetes: cgroup v2 使用時に "failed to create fsnotify watcher: too many open files" エラーが発生する問題の対策cgroupskubernetescontainerdcgroup-v2 はじめに Kubernetes 1.25 で cgroup v2 が GA しました。Kubernetescgroup v2 に移行するとメモリ QoS が導入され、Pod のメモリ使用量が増加した際の安定性が向上するメリットがあります1。そこでクラスタを Kubernetes 1.25 にアップグレードする際に一緒に cgroup v2 に移行したのですが、移行後に kubectl logs -f コマンドやノードのホスト上で journalctl -f を実行した際に次のエラーが発生するようになりました。

    Kubernetes: cgroup v2 使用時に "failed to create fsnotify watcher: too many open files" エラーが発生する問題の対策 - Qiita
  • EUの「チャット規制法」でLinuxなどのオープンソースOSが違法化してしまう可能性大

    欧州議会では、メールやチャットサービスの提供者に通信内容の監視を義務付ける「チャット規制法」が議論されています。このチャット規制法について「規制対象がオープンソースOSのパッケージ管理システムにも及んでおり、既存のOSが違法状態になる可能性がある」という懸念が指摘されています。 EUR-Lex - 52022PC0209 - EN - EUR-Lex https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=COM:2022:209:FIN EU chat control law will ban open source operating systems - Blog | Mullvad VPN https://mullvad.net/en/blog/2023/2/1/eu-chat-control-law-will-ban-open-sou

    EUの「チャット規制法」でLinuxなどのオープンソースOSが違法化してしまう可能性大
  • Linuxコンテナの「次」としてのWebAssembly、の解説

    はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

    Linuxコンテナの「次」としてのWebAssembly、の解説
  • Bashの括弧のノウハウ(まとめ) - Qiita

    すでにQiitaにもいくつか記事があるが 1、Bashでの各種の括弧はそれぞれ意味がある。 自分でも知らなかったBashの括弧もあったので、改めてまとめてみた。 なお、Bashの話ではあるが、Bourne shell(/bin/sh)としても動くサンプルコードは sh コードとしてある。 bracket [ ] shからある伝統的なコマンドで、test と等価。式の結果を、0が真、1が偽の真偽値で返す。 if と組み合わせて用いることが多い。 そう、シェルでは[はコマンドなのである。2 [と] の前後にはスペースが必要で、後続のコマンドがある場合は;で終わらせなければならない。なぜなら前述のとおり [はコマンドで、[ から ] までが一連のコマンドと引数の組み合わせだからだ。(]は必須な引数という位置付け)

    Bashの括弧のノウハウ(まとめ) - Qiita
  • eBPF - 入門概要 編

    1. eBPFとは? eBPF(extended Berkeley Packet Filter)はLinuxカーネルが提供する機能の一つで、カーネル空間で動作する仮想マシン(Virtual Machine)で、主にネットワークパケットやシステム動作のトレーシング用途で提供されます。それ以外にも、システムのセキュリティ対策、そして近年では各種クラウドアプリケーションの高速化などでも利用されており、近年クラウド界隈を中心にホットな技術です。 より具体的には、カーネルモードで動作するサンドボックス化された仮想マシンにユーザが用意した任意のBPFバイトコードを流し込んでその仮想マシン上で実行し、カーネルのイベント(例えばカーネルの任意の関数が実行された、システムコール、特定のパケットを受信したなど)をフックしてそれらの情報をユーザランドのアプリケーションに通知およびデータ共有などが可能です。そのた

    eBPF - 入門概要 編
  • GoogleのShell Style Guideの邦訳 - Qiita

    背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

    GoogleのShell Style Guideの邦訳 - Qiita