並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 367件

新着順 人気順

linux grep オプションの検索結果1 - 40 件 / 367件

  • 知っておきたかったLinuxサーバ設計、構築、運用知識まとめ - hiroportation

    サーバ業務周りの管理、運用について役に立ちそうなナレッジをまとめました。 長期的に書いているため用語に統一性がなかったり、不足分など随時修正したいと思います。 1. サーバ設計 サーバスペックはどうするべき? 使用するOSは? CentOS開発終了について MWは何を使うべきか Webサーバ構築にはどちらを使うべき?Apache?Nginx? サーバセキュリティで最低限押さえておきたいことは? listenするポートは最小限にしましょう ファイアウォール設定で送受信IPアドレス、ポートの通信制御はしておきましょう 外部に出る際にはプロキシサーバを経由するようにする 随時パッチを当てるようにする linuxでのアンチウイルスソフトの検討 個人アカウントで変更系コマンドは実行させないようにする ログについて考えること ストレージ容量には気をつける データベースはどう決めたら良いか MySQLか

      知っておきたかったLinuxサーバ設計、構築、運用知識まとめ - hiroportation
    • Linuxの基礎用語を完全理解するためにエンジニアが作成した「10のミニプロジェクト」とは?

      by Adam Harvey Linuxを利用していると「シェル」や「grep」「プロセス」といった言葉を目にします。エンジニアのCarl Riis氏はそんなLinuxの基礎用語の意味や仕組みをさまざまなウェブサイトから学習し、「10のミニプロジェクト」を作成することでスキルを向上させたとして、その詳細を公開しています。 Getting better at Linux with 10 mini-projects - carltheperson https://carltheperson.com/posts/10-things-linux GitHub - carltheperson/10-things-linux: Getting better at Linux with 10 mini-projects. https://github.com/carltheperson/10-thing

        Linuxの基礎用語を完全理解するためにエンジニアが作成した「10のミニプロジェクト」とは?
      • MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)

        先日、メインの開発環境を MacOS から Windows 10 Professional へと移しました。理由としては主に2点で、現在仕事を自宅の固定席で行っており PC を持ち運びする必要がなくなったため Mac より高速で安価な Windows デスクトップ機を使いたいこと(Ryzen 9使いたい!)、WSL2 が正式版となり使ってみた感じ問題なく WSL2 で仕事の開発ができそうだったことが挙げられます。 WSL2 はふつうに Linux なので問題なく開発環境の構築が行なえ、Windows からも VSCode Remote のおかげでで違和感なくWSL2上のコードを編集、実行ができ快適な開発が行えています。(なお、WSL2 についての記事は山程溢れているので、ここでは殆ど触れません。) しかしながら、WSL2 ではないふつうの Windows 上で開発する機会が出てきたので、M

          MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)
        • Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記

          インストール方法 bat ripgrep, ripgrep-all fd, fselect starship exa, lsd, nat nushell navi, tealdeer delta hyperfine xsv, csview py-spy bandwhich, gping, ht, dog hexyl, bingrep broot tokei genact, globe, glitchcat monolith shellharden fnm, volta pastel gitui, onefetch, git-interactive-rebase-tool skim watchexec dust, diskonaut, dua-cli, dutree zoxide ytop, bottom, zenith mcfly sd, desed topgrade pueue proc

            Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記
          • 0から始めるNode.jsパフォーマンスチューニング

            近年の Node.js は API のサーバとしてはもちろん、Nuxt.js や Next.js といった SSR や BFF などフロントエンドのためのバックエンド言語としての人気が高まっています。 フロントエンドエンジニアがコンテキストスイッチ少なくバックエンドの整備ができることは非常に大きな利点です。 ですが、フロントエンド(ブラウザ側)とバックエンド(サーバ側)ではパフォーマンスチューニングで見るべき点が大きく違います。 しかし Node.js アプリケーションのパフォーマンスイシューの見つけ方などがまとまっている資料は少ないです。 そこで、本記事ではフロントエンドエンジニアが Node.js でパフォーマンスイシューを見つけ、改善するため自分が普段パフォーマンスチューニングを依頼されているときにみている基礎的なポイトをまとめていきます。 1. 計測ステップlink Node.js

              0から始めるNode.jsパフォーマンスチューニング
            • 冴えないAWS環境の育てかた α | DevelopersIO

              中山です ソリューションアーキテクトとして、AWS環境の利活用をお手伝いするお仕事をしています。 まれによく見るAWS環境 とりあえずこれを見てほしい。 これが絶対にだめと言いたいわけではないです。 一時的な検証環境だったり、とにかくスピード重視でサービスをデリバリーさせる必要があったり、サービスの提供者側が何ら責任を負わない・障害時のビジネスインパクトが無い(そんな状況あるのか?)という前提があったり、状況次第ではこれで十分な時もあると思います。 しかし、一般的な業務システムやサービスの場合にはいろんな意味で不十分でしょう。 では、このような環境をどのように育てていくとよいでしょうか。 この記事では、そんな育てかたの一例を紹介していきたいと思います。 なお、本記事はくっそ長いです。 ちなみに、最終的にはこうなります。 文字が小さすぎて読めない! ちょっとそこのハ○キルーペ貸してくれーw

                冴えないAWS環境の育てかた α | DevelopersIO
              • 運用・保守 インフラエンジニアの時によく使ってたLinuxコマンド - Qiita

                概要 Linuxのコマンドって多種多様にあるけど、 どういうのを知ってたら良いのかという情報があんまり無いなと思ったので、 インフラエンジニアで運用と保守を経験してよく使うコマンドと、どういう時に使ってたかを書いて行こうと思います。 注意 Linuxのディストリビューション(種類)はRHEL、CentOSです。他のディストリビューションだとパスが違ったり使えないコマンドだったりするのでご留意ください。多分そんなに多く無いはず。。 オプションとかは基本書いてないので、内容読んで興味あれば調べてみてください。需要あれば実行例もあげますが。。 運用・保守でよく使ってたLinuxコマンド 指定したパスにあるファイル、ディレクトリを拡張子 .tar.gz で一つにまとめられます。 あとは解凍も出来ます。zipみたいなもんです。Linuxサーバで取得した情報をひとまとめにしてローカルに持ってくるという

                  運用・保守 インフラエンジニアの時によく使ってたLinuxコマンド - Qiita
                • systemd serviceから呼ぶシェルではsudoではなくsetprivを使う - 赤帽エンジニアブログ

                  Red Hatの森若です。 自分でsystemdのservice unitを作るときに、起動用のいくつかのコマンドを記述したシェルスクリプトを呼ぶ事は(理想的ではないですが)あるかと思います。 今回はこの場合に、sudoを利用するとまずい理由を説明して、かわりにsetprivを使うほうがよいという話です。 例題用のservice 実行してみる 別のcgroupだと何がまずいのか? 対策はsetprivコマンド 例題用のservice sudoによるまずい動作を確認するためのできるだけ単純な例として、hoge.service を用意します。 /opt/hoge/hoge.sh #!/bin/bash sudo -u moriwaka sleep 5000 /etc/systemd/system/hoge.service [Unit] Description=hoge [Service] Ty

                    systemd serviceから呼ぶシェルではsudoではなくsetprivを使う - 赤帽エンジニアブログ
                  • 3分でできる!最高のDockerfileを書いたあとにやるべき1つのこと - Qiita

                    概要 Dockerfileを書くためのベストプラクティスを読んで、ベストプラクティスなDockerfileを作った/作りたい人が対象です。 そのDockerfileで大丈夫かを3分でチェックできるツールをつくりました。Hadolintのような、単なるDockerfileのLinterではなく、ビルドしたイメージの中身まで細かく分析します。 通常のLinterでは原理的に不可能な、ベースイメージに存在している危険性も含めて調べることができます。 ←GitHubのStarもらえると嬉しいです。 Dockleの内部で使われているツールはTrivy, Vulsなどと同じなので、そのあたりを踏まえて、動作原理を別記事にまとめました。 人を震えさせるツール「Dockle」の仕組みを解説 なお、DockerHubで人気のコンテナに対して試した結果をサイトにして公開しています。操作方法もふくめて、別記事に

                      3分でできる!最高のDockerfileを書いたあとにやるべき1つのこと - Qiita
                    • シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

                      シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ

                        シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita
                      • シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog

                        この記事は、 NTT Communications Advent Calendar 2022 4 日目の記事です。 こんにちは。 SDPF クラウド・仮想サーバーチームの杉浦です。 普段は OpenStack の開発・運用をしています。 みなさんはシェル芸と聞いてどのようなコマンドを想像しますか? 私は以下のような怖いコマンド 1 を想像していました # 無限に process を fork するコマンドです # 実行するときは自己責任でお願いします :(){ :|:& };: ですがシェル芸はもっと親しみやすくて 2 実用的なものです。 私はシェル芸のシェの字もできないくらいシェル芸初心者だったのですが、 1日1問、半年以内に習得 シェル・ワンライナー160本ノック という本を完走してシェル芸チョットワカルようになったので、本の宣伝をしつつ完走した感想を紹介しようと思います。 1日1問、

                          シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog
                        • リンカ

                          ついに、リンカの説明をするときが来た。 ここに至るまでに、何度「リンカのところで説明する」と書いただろうか? ここまで読んできた人ならば、 リンカというものが、なにやら色々やっているんだな、というのはわかってきたのではないかと思う。 筆者が常々思っていることのひとつに、「C言語に関する書籍は、リンカの説明をおざなりにしすぎだ」というのがある。 多くのC言語の書籍は、 コンパイラがソースコードをアセンブリコードに変換します アセンブラがアセンブリコードを機械語に変換します リンカが機械語をリンクして実行ファイルが作られます と、いう解説がなされがちである。この説明を見たら、多くの人が、「え、リンクってなんですか?」と、思うに違いない。 アセンブラには、「人間が読めるニーモニックを、機械が読める機械語に変換する」みたいな、最低限の説明が付くものの、 リンカの説明は「リンクをします」のひとことだ

                          • なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する

                            なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決するShellScriptUNIXSQLitePOSIXQiitadelika 「利用者は数十億人!? SQLiteはどこが凄いデータベース管理システムなのか調べてみた」の続きです。 はじめに 複雑な構造のデータを扱うのであればシェルスクリプトや Unix (POSIX) コマンドでデータ管理を行うのは避けるべきだと思います。解決不可能な問題が多いからです。しかしそれでも何かしらの理由でやろうと考える(やらなければいけない)のであれば SQLite を使うのをおすすめします。シェルスクリプトや Unix コマンドは行単位の単純なテキストデータをシーケンシャルにデータ処理するのが前提となっており、改行や空白が含まれるデータや複雑な構造のデータ扱うのは苦手です。またシェル

                              なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する
                            • とほほのSELinux入門 - とほほのWWW入門

                              SELinux の有効化状態を調べるには getenforce コマンドを使用します。 # getenforce Enforcing:検知して拒絶する Permissive:検知してログに書き込むが、拒絶まではしない Disabled:無効。検知も拒絶もしない SELinux の有効化状態を一時的に切り替えるには setenforce コマンドを使用します。OS を再起動すると元の状態に戻ります。 # setenforce 0 # 一時的にpermissiveモードに変更 # setenforce 1 # 一時的にenforcingモードに変更 恒常的に変更するには /etc/selinux/config を書き換えて OS を再起動します。/etc/sysconfig/selinux を編集と紹介されてたりしますが、これは /etc/selinux/config へのシンボリックリンクで

                              • えっちな grep をつくった - はやくプログラムになりたい

                                H(uman-friendly) な grep コマンド hgrep をつくりました. github.com '\w+ で検索した時の出力 ファイルを特定のパターンで検索し,マッチした箇所を構文ハイライトしたコード片で表示します.超ざっくり言うと,ripgrep で検索して bat でマッチ箇所付近を表示するような感じです. grep -C によるコンテキスト表示に似ていますが,マッチ行が近い時は1つのコード片にまとめる,周囲何行を表示するかをヒューリスティックに少し賢く決めているなど,ちょっと出力は工夫しています. 動機 手元のリポジトリでコードを検索する時は 単純に grep で検索してマッチ結果を眺める grep | fzf のように検索結果を fzf で絞り込んだりプレビューする vim $(grep -l ...) のように検索結果をエディタで開く あたりを使い分けているのですが

                                  えっちな grep をつくった - はやくプログラムになりたい
                                • 【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その6:Dockerのファイルシステムってどうなってるの? 〜 | SIOS Tech. Lab

                                  説明だけではわかりにくいと思いますし、私も最初この説明だけでは全くわかりませんでした。なので、実践してみたいと思います。以下のような構成をもとに、実際にOverlayFSを構築します。upperdirはここでは使いませんし、一旦その存在を忘れてもらってOKです。OverlayFSはややこしいので、順を追って説明していきます。 lowerdirに相当する2つのディレクトリ「lower01」「lower02」、upperdirに相当するディレクトリ「upper」、mergeddirに相当するディレクトリ「merged」 を作成します。 期待する動きとしては、lower01ディレクトリにあるhoge.txt(中身はhogeと書いてある)と、lower02ディレクトリにあるfuga.txt(中身はfugaと書いてある)の両方のファイルがmergedディレクトリに表示されるというものです。upper

                                    【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その6:Dockerのファイルシステムってどうなってるの? 〜 | SIOS Tech. Lab
                                  • Qemuのしくみ (の一部) - VA Linux エンジニアブログ

                                    1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション 1.2 QemuのCPUエミュレーション 1.3 Qemuのスレッド 2. 追加のI/OスレッドとAioContext 2.1 追加のI/Oスレッド 2.2 AioContext 2.3 Big Qemu Lock 3. AioContextの各種イベント処理 3.1 AioHandler 3.2 event_notifier 3.3 タイマー、Bottom half 3.5 スレッドプール 執筆者 : 箕浦 真 こういう 仕事をしていると、ときどきQemuの仕組みや内部動作をお客様に説明する必要があることがあるが、そういう時に「Qemuの〜についてはここを見てね」と言えるような文書があるといいなぁと思って自分で作ってみることにした。 1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション Qemuはコンピ

                                      Qemuのしくみ (の一部) - VA Linux エンジニアブログ
                                    • Goのロギングライブラリ 2021年冬 - moriyoshiの日記

                                      この記事はPySpa Advent Calendar 2021の14日目のエントリーとして書かれました。昨日のエントリーは冷凍食品でウキウキ引きこもり生活 でした。ちなみに私も70ℓの冷凍庫を購入しましたが本当にライフチェンジングでした。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位

                                        Goのロギングライブラリ 2021年冬 - moriyoshiの日記
                                      • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

                                        はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

                                          【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
                                        • 画像ファイルやデータベースの文字列を「grep」のように検索できる「ripgrep-all」

                                          Linuxのコマンドラインで文字列を検索する際に必要不可欠なコマンドといえば「grep」です。しかし、grepは動画ファイルやPDFファイルの文字列を検索できないのが弱点。そんなgrepの弱点を克服し、動画ファイルのメタデータやデータベースのレコード、画像ファイル内の文字列まで検索可能なコマンドが「ripgrep-all(rga)」です。 GitHub - phiresky/ripgrep-all: rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc. https://github.com/phiresky/ripgrep-all rgaはLinuxに限らずWindowsやmacOSでも利用することが可能。今回はUbuntu 20.04でrgaを利用してみます。以下のコマンドを

                                            画像ファイルやデータベースの文字列を「grep」のように検索できる「ripgrep-all」
                                          • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

                                            eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

                                              Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
                                            • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

                                              技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

                                                プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
                                              • Windows Subsystem for Linuxガイド 第1回 基本編

                                                写真01: Windows Subsystem for Linux(WSL)は、Windows 10/11の中でLinuxを動作させるための仕組み この記事では、Windows Subsystem for Linux(以下WSLと表記する)のインストールから基本的な設定までを解説する。なお、記事の読者としては、ある程度Windowsを使い慣れていることを想定するが、必ずしもLinuxのコマンドになれているとは限らないレベルを想定している。 WSLの基本的なこと WSLとは、Windows 10/11の中でLinuxのアプリケーションを実行する仕組みだ。これを利用することで、Windowsの中でLinuxが実行可能になる。また、Windows 11からは、コンソールアプリケーションだけでなく、Linux GUIアプリケーションの利用も可能になっている。現在サポート期間にあるWindows10

                                                  Windows Subsystem for Linuxガイド 第1回 基本編
                                                • Efficient Linuxコマンドライン

                                                  Linuxスキルをレベルアップする実用的な実践書。本書では、コマンドを組み合わせて複雑なコマンドを作成することで、手動で行われているタスクを自動化するための方法を学びます。具体的には、パスワードの管理、大量のテストファイルの生成、テキストファイルを変換してデータベースのように扱う方法など、現実的なビジネスの問題を解決する方法を明らかにします。単なるテクニックではなく、背後で何が行われているかについても学べるので、Linuxのシェルに対する理解が深まります。それと同時に、Linuxコマンドに関するさらに上級レベルの知識とテクニックが身につきます。 賞賛の声 監訳者まえがき まえがき 第I部 主要な概念 1章 コマンドの組み合わせ 1.1 入力、出力、パイプ 1.2 コマンドラインに取り掛かるための6個のコマンド 1.2.1 コマンド① wc 1.2.2 コマンド② head 1.2.3 コマ

                                                    Efficient Linuxコマンドライン
                                                  • GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様

                                                    OpenAIが作成したチャットAIの「GPT-4」を利用して、新しいプログラミング言語の「TenetLang」をコーダーのルークさんが作成しています。 GPT-4 Designed a Programming Language https://lukebechtel.com/blog/gpt4-generating-code GPT-4のような大規模言語モデル(LLM)は、世界中に存在するあらゆるプログラミング言語を何十億回も読み込んでいます。LLMはプログラミングも可能であることは知られていますが、ルークさんは「私の知る限り、GPT-4で独自のプログラミング言語を作成するといった事例はこれまでありません」と記しています。そこで、ルークさんはGPT-4を使って新しいプログラミング言語を創造することに決めた模様。 ルークさんは最初にGPT-4に対して「ソフトウェア開発における大まかな統一理論

                                                      GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様
                                                    • NLB + Fluentd の構成でファイルディスクリプタが枯渇する謎の現象を解消した話 - Repro Tech Blog

                                                      Repro インフラチーム (SRE + 分析基盤) の伊豆です。今回は、Repro のデータ収集基盤で私たちが遭遇した問題を紹介したいと思います。 具体的には、AWS Network Load Balancer(NLB) + Fluentd の構成でファイルディスクリプタが枯渇する謎の現象に遭遇したので、その問題の調査記録と解決策を共有します。また、この問題を解消するにあたり Fluentd に PR を送ったのでそれの紹介もします。 https://github.com/fluent/fluentd/pull/2352 データ収集基盤の構成 Repro のデータ収集基盤はFlunetd High Availability Configをもとに構成され、大まかに次のようになっています。 SDK からアップロードされたデータは、転送用 Fluentd(log forwarders)を経由し

                                                        NLB + Fluentd の構成でファイルディスクリプタが枯渇する謎の現象を解消した話 - Repro Tech Blog
                                                      • たのしく学ぶLinuxカーネル開発(第一回): `rm -rf /`実行時にカーネルパニックさせる - Qiita

                                                        はじめに Linuxカーネル開発を学ぶためにhello worldモジュールからはじめて少しづつ強化する記事を過去にいくつか書きました。これはちゃんとやれば身に付くことは身に付くのですが、非常に地味なので、よほどカーネルに興味を持っている人以外には退屈でしょう。そこで、目的をもって特定の機能をカーネルならではの方法で実現する記事を書けば面白いのでは…となったのでここに初回を書くことにしました。 対象読者はCライクなプログラミング言語での開発経験がある人です。Cのポインタがわかればなおよし。もしできればOSカーネルについての基本的な知識も欲しいです。 背景 UNIXが誕生してから現在に至るまでrm -rf /によって全ファイルをぶっ飛ばす事件が後をたちません。GNUのcoreutilsに入っているrmではルートディレクトリ("/")への操作を特別扱いして容易に悲劇を起こさなくするpreser

                                                          たのしく学ぶLinuxカーネル開発(第一回): `rm -rf /`実行時にカーネルパニックさせる - Qiita
                                                        • 第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp

                                                          パイプライン処理とは GUIは非常に直感的です。はじめて使うアプリであっても、なんとなくそれなりに動かせてしまうという点で、優れたインターフェイスと言えます。しかし効率を突き詰めると、軍配が上がるのはGUIよりもCLIでしょう。本連載の読者であれば、UnixライクなOSのCLIが持つパワーについては当然ご存知かと思います。 とはいえ、古典的なUnixコマンドの多くは、単体ではそれほど強力なものではありません。というのも、ひとつひとつのコマンドはシンプルに、特定の用途においてのみ上手く動作するよう設計されていることがほとんどだからです。こうしたコマンド群に無限のシナジーを与えるのが「パイプライン処理」です。標準入出力を通じて複数のコマンドを直列に繋げることで、複雑な処理をインスタントに組み立てることができるパイプラインは、まさにUnix哲学の体現であり、CLIの真髄はここにあると言ってもよい

                                                            第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp
                                                          • POSIXコマンドは「どの環境にもあるコマンド」ではないよという話 - Qiita

                                                            はじめに POSIX コマンドはどの環境にもある(追加インストールの必要がない)コマンドだと思われがちですがこれは間違いです。POSIX コマンドにどの環境にもあるという性質は有りません。POSIX コマンドの中でどの環境にもあるコマンドは実際には半分程度しかありません。 関連記事 POSIX準拠 とは本当はどういうことなのか?「POSIXで規定されたものだけを使う」ではありません 補足 Linux は POSIX に準拠してないからだという意見もあるかとは思いますが、現実に使われている環境を無視して「どの環境にもある」と主張しても意味はありません。 本当にどの環境にもあるコマンドとは? 全 POSIX コマンドは 160 個 POSIX コマンドは全部で 160 個あります。そのうち 22 個はシェルにビルトインされているコマンドなのでどの環境にもあると言えます。残りは 138 個のコマ

                                                              POSIXコマンドは「どの環境にもあるコマンド」ではないよという話 - Qiita
                                                            • Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO

                                                              Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 はじめに Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 今回はできるだけ外部ライブラリやフレームワークを使わずにGo言語の標準機能のみで開発しました。 これからバックエンドにGo言語を使用することを検討されている方の参考になれば幸いです。 ※この記事は既にGo言語の開発環境をセットアップ済みで基本的な文法を学

                                                                Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO
                                                              • vmlinuxのヒミツ - VA Linux エンジニアブログ

                                                                1. vmlinuzの怪 2. vmlinuxの入手 3. ELFファイル 4. ELFセクション 5. セクションの意味 6. Linuxのセクションとldscript 7. .cpuidle.textセクション 8. おわりに 執筆者 : 箕浦 真 1. vmlinuzの怪 Linux (カーネル) のファイル名といえば、/boot/vmlinuz-<version>だ。なんでlinux-<version>とかじゃないのだろうか。 vmの方は、これはおそらくBSD Unixのカーネルvmunixに倣ったものだろう。ベル研究所のResearch Unixを、VAXのハードウェアを生かして仮想記憶 (Virtual Memory) 機能を大幅に強化したため、vmunixとした。 zの方は、これは圧縮されていることを表す。なぜZで圧縮なのかはよくわからないが、圧縮の意味なのだ *1。 現在一

                                                                  vmlinuxのヒミツ - VA Linux エンジニアブログ
                                                                • Linuxシステムの勉強に役立つコマンドの紹介 - セキュアスカイプラス

                                                                  こんにちは、SSTでWeb脆弱性診断用のツール(スキャンツール)開発をしている坂本(Twitter, GitHub)です。 先日の記事では Linux のネットワークインターフェイス名を出発点として systemd や udev について調査しました。 どうやって調査したかというと、 検索キーワードをあれこれ試してみて、見つかった記事から気になるコマンドや設定ファイルがあれば、実際の内容を確認し、 そこからmanページを辿ってパッケージ情報にさかのぼり、パッケージがインストールした他のコマンドや設定ファイルの一覧から構成を把握し、 さらに関連するコマンドや設定ファイルをmanページで辿って・・・ というサイクルを繰り返しました。 時には同じmanページを数度に渡って辿り直し、読み直したりして自分の中の情報を整理しました。 読者の皆様は、そのような時どうされますか? 初めて触るLinuxディ

                                                                    Linuxシステムの勉強に役立つコマンドの紹介 - セキュアスカイプラス
                                                                  • Node.jsコンテナイメージを極限まで軽量化! サイズを1/10以下に|SHIFT Group 技術ブログ

                                                                    はじめにSHIFT DAAE の shinagawa です。表題の通りNode.jsで作成したコンテナのイメージサイズの軽量化に挑戦しました。 背景近年の多様化・高速化するビジネスに対応するITシステムの構築を実現する「クラウドネイティブ」の構成要素の一つとして 「コンテナ」という仮想化技術が存在し、当部門でも活用を進めております。 このコンテナイメージを作成するにはアプリケーションコードやライブラリ・モジュールなどの依存物、ランタイム等を1つのイメージとして組み立てて作成しますが、 この構成要素が増えるとイメージサイズが肥大化し保管時のストレージのコストの増加やイメージの転送、環境への展開に時間がかかることになります。 従ってイメージのサイズを削減することは、これらの点を改善することにつながります。 ここではネット上で紹介されている、あらゆる打ち手を組み合わせてコンテナイメージの軽量化に

                                                                      Node.jsコンテナイメージを極限まで軽量化! サイズを1/10以下に|SHIFT Group 技術ブログ
                                                                    • 由来で覚えるlinux用語集 - Qiita

                                                                      随時更新予定。。。 ls = list | list segments(コメント欄参照) ln = link mv = move cd = change directory cp = copy rm = remove mkdir = make directory rmdir = remove directory chown = change owner chmod = change mode cat = catenate || concatenate tac = catの逆コマンド(ファイルを逆から出力) grep = "g/RE/p" || globally search a regular expression and print ping = 潜水艦などで使われるアクティブソナーの発する音波 sh = shell bash = Bourne again shell su = subs

                                                                        由来で覚えるlinux用語集 - Qiita
                                                                      • ssh を Google Authenticator PAM module で二要素認証化する(CentOS 8) - setodaNote

                                                                        2023-01-10 以下の記事を教えてもらい、比較的簡単に ssh にワンタイムパスワード認証を追加できるようだったので CentOS 8 でも試してみました。 Raspberry Pi の場合と異なり、SELinux による制御を考慮する必要があったので、それを踏まえて設定しました。 Setting up two-factor authentication on your Raspberry Pi - Raspberry Pi https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ 設定方針 Google Authenticator PAM module の設定 sshd の設定 接続テスト 付録 A: 認証コードが正しいのにログインできない 設定ファイルの確

                                                                          ssh を Google Authenticator PAM module で二要素認証化する(CentOS 8) - setodaNote
                                                                        • Proxy環境下で使うKubernetes | IIJ Engineers Blog

                                                                          社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 皆さんがdocker, kubernetesを使う環境にはhttp proxyがありますか? 多くのエンタープライズネットワークがそうであるように、IIJのオフィスでもProxyを通らないとInternetへアクセスすることはできません。今回はそんなProxy環境下でKubernetesを使う話です。 Proxyの存在がどれほど生産性を低下させていることか。多くのエンジニアが一度は思ったことがあるのではないでしょうか。昨今はリモートワークの機会が多く、VPNとの合わせ技で以前にも増してProxyに苦しめられる場面が増え

                                                                            Proxy環境下で使うKubernetes | IIJ Engineers Blog
                                                                          • N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ

                                                                            この記事は、ドワンゴ Advent Calendar 2022の8日目の記事です。 N予備校では、過去の記事でも触れた通りAWS CodeBuildを日常に利用しています。 この記事では、導入した経緯や実際の利用例などについてご紹介できればと思います。 AWS CodeBuildを導入した経緯 開発当初についてはGo製のCIツールであるDroneを利用しており、v0.5からv0.8まで利用していました。 Droneを利用していた際にはたびたび以下のような事象に遭遇しました。 サーバーがなんらかの理由でやたら停止してしまう cacheがよく壊れる エージェント数が十分に確保できておらずビルド開始まで待たされる 構築したインフラ起因での問題も多数ありましたが、開発を進める上で障害にはならないもののやや開発者体験を損なうという、なかなかイマイチな環境の中で開発していたかと思います。 Drone自

                                                                              N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ
                                                                            • 【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast | メルカリエンジニアリング

                                                                              【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast Merpay Architect / Mercari Microservices Platform チームの伊藤です。この記事は Merpay Tech Openness Month の3日目の投稿となります。本稿では、先日開催した開発ライブ実況のイベントで紹介した筆者の開発環境(Vim / Go)について、言語に依存しない「全般的な設定」と「Goの設定」の2つに大別して解説します。Vim に関する話題が多いですが、Go のために自作したツールについての解説はエディタに依存しないので、他のエディタを利用している方々もぜひご一読ください。 開発ライブ実況とは 「他人の開発風景を覗いてみよう!」というコンセプトのもとに弊社が開催して

                                                                                【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast | メルカリエンジニアリング
                                                                              • 第662回 Docker+Selenium ServerでWebブラウザ自動操作環境を作る | gihyo.jp

                                                                                今回は、Selenium ServerによるWebブラウザ自動操作環境を、Ubuntu上にDockerを使って簡単に構築する方法を紹介します。 Webブラウザの自動操作を可能にするSelenium Seleniumは、Webアプリケーションのテストを、人が操作することなく自動で行うために開発されているソフトウェアです。本来は「テストの自動化」のために開発されたソフトなのですが、Webブラウザを用いて行っている業務の自動化や、Webサイトの情報を自動収集するスクレイピングなどにも使われています。 今回、主に紹介するのは「Selenium Server」を使う方法ですが、他に「Selenium IDE」というFirefoxおよびGoogle Chrome用の拡張機能も開発・配布されています。Selenium IDEを使えば、デスクトップ環境でWebブラウザの操作を記録し、簡単に再実行させること

                                                                                  第662回 Docker+Selenium ServerでWebブラウザ自動操作環境を作る | gihyo.jp
                                                                                • Amazon Linux 2 で「rm -rf /*」を実行してみた | DevelopersIO

                                                                                  噂の最狂コマンドを実行してみたくなった みなさんはrm -rf /*でOSを破壊しようとしたことはありますか? 流石の私もないです。 rm -rf /*は、OSのrootディレクトリ配下を確認なしで全て削除すると言われる 最狂コマンドです。 rm -rf /という似たコマンドもありますが、こちらは、–no-preserve-rootというオプションを付けなければ、削除処理が実行されない安全仕様になっています。そのため、rm -rf /*の方がより凶悪仕様とも言えます。 今回は無性にOSが壊れゆく様を見たいと思ったので、Amazon Linux 2上でrm -rf /*を実行してみて、どこまで壊れるのか確認してみます。 また、rm -rf /*実行後、緊急モードなどから復旧できそうなら、復旧にもチャレンジしてみます。 いきなりまとめ rm -rf /*はやっぱり キケン。遊び半分でしてはいけ

                                                                                    Amazon Linux 2 で「rm -rf /*」を実行してみた | DevelopersIO