タグ

LinuxとQiitaに関するmoritataのブックマーク (20)

  • Linuxカーネルパラメータのチューニング&設計 - Qiita

    Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって

    Linuxカーネルパラメータのチューニング&設計 - Qiita
  • Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita

    はじめに 2024年1月1日に VGS-Zero (Video Game System - Zero) という RaspberryPi Zero 2W のベアメタル環境で動作するオリジナルのゲーム機エミュレータと SDK を公開しました。 VGS-Zero は、RaspberryPi Zero 2W をテレビに HDMI ケーブルで接続し、USB ゲームパッドで遊ぶタイプ(据え置き型)の新しいゲーム機です。 無料でゲームを開発&販売ができる SDK も公開していて、開発したゲームを完全ロイヤリティフリーで自由に販売して頂くことができます。 なお、OS は Linux ではなく独自カーネルです。 特徴 VGS-Zero の特徴について、カーネル視点とゲーム機視点の両面から解説します。 独自カーネルの特徴 ラズパイ全般(※Picoを除く)は Linux で動かすのが一般的ですが、VGS-Zer

    Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita
  • 最大32人 パルワールド Linux 専用サーバの立て方 - Qiita

    現在のパルワールドは「Steam版」のみ専用サーバに接続できます。 「Xbox PC Game Pass版」は招待コードを使ったマルチプレイのみ可能で、その場合は最大4人までのプレイに限られます。 ゲーム内で設定できるマルチプレイでは、1 つの世界に同時に最大 4 人が参加できますが、専用サーバーをホストした場合、その数は最大 32 人になります。 (非公式ですが、設定すればそれ以上も…) キャラクターはワールドに依存し、最初から Linux で専用サーバを建てることで、友人と 24 時間パルワールドをプレイすることができます。 よってパルワールドでは 24 時間の稼働に適した専用サーバ(Dedicated Server)プログラムが開発元からリリースされています。 この記事は Linux にある程度精通した方向けになっています。 またサーバが置かれた環境のネットワークポート開放の知識も必

    最大32人 パルワールド Linux 専用サーバの立て方 - Qiita
  • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

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

    シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
  • awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita

    はじめに 2023年、長い時を経て awk がとうとう Unicode (UTF-8) と CSV に対応しました 🎉🎉🎉 awk で日語がうまく扱えない(場合がある)、Excel が出力する CSV ファイルが扱えない(場合がある)、といった問題が解決に向けて一歩に進みます。 去年、家 awk (One True Awk, nawk) に Unicode サポートが Brian Kernighan の手によって追加されたと話題になった(参照)ことを覚えているでしょうか? Brian Kernighan が誰だか知らない方がいるかもしれないので説明すると、オリジナルの awk の開発者の一人で awk の頭文字、Alfred Aho、Peter Weinberger、Brian Kernighan の一人です。通称「K&R」の「プログラミング言語C」や「プログラミング言語AWK」

    awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

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

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
  • 【早い!安い!うまい!】VSCode+WSL+Dockerで簡単に開発環境構築 - Qiita

    三種の神器 今やWSL,Docker,VSCodeは使えて当たり前という雰囲気になってきたので、初心者のためにすごく適当簡単に導入手順をまとめたよ 卍最強の環境卍を構築するため以下の4ステップで解説するよ WSL2の導入 Dockerの導入 VSCodeの設定 使ってみる 1. WSL2の導入 そもそもWSLって何?という方もいらっしゃると思いますが、Windows内でLinux環境を使うことができるぜということだけ覚えておけばOKです 導入についてはPowerShellで以下コマンドを実行するだけ! インストールしたらPCのスタートメニューからUbuntuを開き、ユーザ名とパスワードを設定しよう (Ubuntuを開くだけでユーザ名とパスワードを作成するための入力が求められます) WSLを真面目に知りたい方はこちら↓ https://learn.microsoft.com/ja-jp/wi

    【早い!安い!うまい!】VSCode+WSL+Dockerで簡単に開発環境構築 - Qiita
  • Linuxでkerlを使用して複数バーションのErlang/OTPを導入する - Qiita

    GNU/LinuxでのErlang/OTPの導入手段はいくつかあるが、ここでは kerl を使う方法を採用する。以下のような利点がある。 簡単に導入できる ( build と install コマンドを実行するだけ) 最新版のErlang/OTPが使える (erlang.orgで配布されているソースコードからビルドするのでリリース直後から使える) 複数バージョンのErlang/OTPを導入・管理できる 特に3はErlangで複数のシステムを開発・保守する際に重宝する。Erlangの異なるバージョンだけでなく、同じバージョンでビルドオプションを変えたもの(HiPEのあり/なし、最小構成のアプリケーションのみなど)をいくつでも導入して、切り替えながら使える。 準備 Erlangのビルドに必要なパッケージを導入する。 Fedora、RHEL、CentOSの場合 $ sudo yum instal

    Linuxでkerlを使用して複数バーションのErlang/OTPを導入する - Qiita
  • Linux でキーボードのレイアウトを変更する - Qiita

    はじめに Linux でキーボドのレイアウトを変更し用途思ったのですが、意外とハマったので自分のメモ用も兼ねてまとめます。一時的な設定ではなく永続的な設定について述べます。 間違い等あればご指摘いただけると嬉しいです。 環境 ディストリビューション: Arch Linux 目標 キーボードのUS配列への変更(元々JIS配列にしていた) Caps lock と 左Ctrl キーの入れ替え 設定内容 色々と調べてみた結果、Arch Linux (Linux一般?) は仮想コンソールとXorg(GUI)でのキーボード設定を別々に管理しているようです。 コンソールでのキーボード設定 - ArchWiki Xorg でのキーボード設定 - ArchWiki コンソールでのキーボード設定 基設定 コンソールでのキーボード設定 - ArchWiki によると、 仮想コンソールのキーボードマッピング (

    Linux でキーボードのレイアウトを変更する - Qiita
  • Arch Linux インストール俺々式完全版

    概要 私事ですが、初めてArch Linux をインストールして利用し始めてから2 年近くが経ちました。 Arch LinuxLinux の中でも特にカスタマイズ性に優れている魅力がありますが、一方でそれが選択肢を多くさせてインストール手順を難解にさせている部分もあるかと思います。 ここでは自分がこの2 年間で少しずつ試行錯誤してアップデートさせてきた個人的Arch Linux のインストール手順について公開しようと思います。 Arch Linux は先に述べたとおりカスタマイズ性に優れていますので、インストールする人によって全然違う環境となるものなのですが、個人的に最高と思われる環境を構築する手順を公開しますので、これからArch Linux のインストールに挑戦する人や、既にインストールされている方々にも、一つの参考と慣ればと思います。 前提条件 今回は以下の環境にArch Lin

    Arch Linux インストール俺々式完全版
  • Linuxの新しいsandbox機構「Landlock」 - Qiita

    はじめに この記事ではLinuxの新しいsandbox機構であるLandlockのサンプルの使い方を概説します。 詳細で正確な情報は公式のページ https://landlock.io/ やLinux kernelのソースコード中にありますので、必要な場合はそちらを参照してください。 サンドボックスが欲しいわけ 一般的なLinuxディストリビューションとスマートフォンOSの両方を使い、それぞれで様々なアプリを使っている方は大きな違いに気付くと思いますが、前者はユーザーのデータはホームディレクトリと呼ばれる共通のディレクトリに格納され、他のアプリのためのデータを自由に参照できます。それに対し、スマートフォンの場合は各アプリが独自のデータ領域を持ち、他のアプリのデータを参照するには手間のかかるプログラミングとユーザーの同意が必要になります(バイパスできてしまう場合は脆弱性とみなされます)。 L

    Linuxの新しいsandbox機構「Landlock」 - Qiita
  • マルチゾーンでFirewalldをらくらく設定 - Qiita

    はじめに 先日、firewalldで特定IPアドレスのみsshを許可する という記事を書いては見たものの、-add-rich-rule というオプションを使ってゴリゴリの特別ルールでの対応がどうも引っかかった。Firewalldといえばiptablesの後継として比較的新しいライブラリであり、もっと洗練されたうまいやり方があるはずだと。 そこで色々調べた結果、あったあった。その名もマルチゾーン機能。この機能を使うことにより、かなり柔軟かつ効率的に設定できることが分かったので今回調べたことを共有したい。 環境 CentOS 8 firewalld 0.8.0-4 Firewalldの利点 まずはおさらいとして、Firewalldって何がいいのか見てみよう。 参考文献[1]によると、iptablesに対するFirewallの利点は以下とされている。 送信元IPやネットワークインターフェイスで定

    マルチゾーンでFirewalldをらくらく設定 - Qiita
  • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita

    はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメのとして名前が挙がる名著です。しかしこのは古いです。POSIX でシェルが標準化される以前ので、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れたでも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古いはこれだけではありません。オライリーから出版されているも古いばかりです。いつ頃に(原書が)書かれたなのかを確認した方が良いでしょう。 ということでレビューというていで、古くなってしまった内容の訂正を行いたいと思います。新しく「入門UNIXシェルプログラミング

    名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
  • WSL2でsystemdを動かすDistrodが便利だった件 - Qiita

    この記事について WSL 上にインストールした Linux で systemctl コマンドが使用できない問題を解決します。 この記事では Ubuntu 20.04 LTS を使用して説明していますが、他のディストリビューションでも手順に大きな違いは無いと思いますので、参考にしていただければと思います。 環境 この記事は以下の環境にて動作を確認しています。 Windows 10 Pro 21H2 ( OS Build : 19044.1645 ) Windows Terminal v1.12.10982.0 Distrod v0.1.5 WSL2 ( Kernel version: 5.10.102.1 ) Distrodとは? 公式では以下の様に説明されています。 Distrod is a systemd-based meta-distro for WSL2 that allows yo

    WSL2でsystemdを動かすDistrodが便利だった件 - Qiita
  • macOSでもWSLみたいなLinux環境を手に入れる - Qiita

    macOSでもLinuxの仮想環境が欲しい時はある Dockerを利用するなど、macOSであってもLinux環境が欲しい時はあります。 Microsoft365や、Adobe CCなど、macOSWindowsでしか使えないプロプライエタリなソフトウェアを使う、開発もほとんどの場合macOSネイティブで問題ない、でもDockerも使う、などのように主たる作業はmacOSでやりながらLinuxもちょっと使わないといけないということは多々あります。 VirtualBoxなどを利用することによって、仮想環境にLinuxをインストールし利用することはできますが、WindowsにおけるWSL (Windows Subsystem for Linux) のようにネットワークやファイルシステムが統合されたように見える環境を構築するのは面倒です。 そこで、"macOS subsystem for Li

    macOSでもWSLみたいなLinux環境を手に入れる - Qiita
  • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

    EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

    めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
  • Linuxディレクトリ構造 - Qiita

    Linuxディレクトリ構造とファイルの種類 Linuxのディレクトリ構造もまともに把握できないまま開発をしていたのでこの機会に勉強してみました。 Linux入門者は、まずLinuxの構造について先に習得し、Linuxに適応するのに早いです。 Linuxファイルシステム構造 [全体構造図] 🚩me/はただのユーザー名の例として認識してください。 / (root) 最上のディレクトリであるルートディレクトリを意味。リナックスのすべてのディレクトリたちのスタート地点。すなわち、すべてのディレクトリを絶対経路で表記する際にこのディレクトリから始める必要がある。 /bin /binフォルダはBinary Folderの略で、OSの最小限の正常な駆動のため、すべてのユーザーが使用する実行ファイルが入っているフォルダ。 つまり、基的なコマンドが保存されたディレクトリで、cat、chmod、chown

    Linuxディレクトリ構造 - Qiita
  • (今はまだ)WSL1にUbuntu 20.04を入れるな - Qiita

    Ubuntu 19.10(Eoan Ermine), 18.04 LTS (Bionic Beaver), Debian 10 (Buster), Fedora 31, OpenSUSE Leap 15 具体的にこんな事が起きるぞ Ubuntu 18.04からアップグレードできない そもそもdo-release-upgrade -dが途中でコケるなどしてアップグレードできない。筆者環境のUbuntu 18.04 LTSはsudo apt upgradeするとE: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).などと言われた3。 それで sudo apt --fix-broken install すると… sleep: cannot read realti

    (今はまだ)WSL1にUbuntu 20.04を入れるな - Qiita
  • ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita

    上記の画像を見ると分かる通り、カラフルで見やすいですね。右図のようにディレクトリのツリー表示にも対応しています。さらに --icons オプションを付けると、ファイルタイプに応じたアイコン表示も可能です。 bat 続いて cat コマンドの代替である bat の紹介です。 ファイルの拡張子に応じてソースコードを色付けして表示してくれます。また less のようなページャの機能も持っており、行数の長いファイルを渡すと自動でページャモードで開いてくれます。 hexyl hexyl はバイナリダンプコマンド od の代替コマンドです。bat の開発者と同じ方が開発しています。

    ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita
    moritata
    moritata 2020/02/26
    拒否反応多いのは、多分表題の紹介のせいだろうな。代替でこんなのあるよ!だったら多分素直に受け取ったのではないかと…
  • Linux perfで快適に計測するためのtips - Qiita

    これがあるのとないのとでは分かりやすさが全然違うので、perfを使う時は常に入れておくようにすると便利です。 2. --call-graph は fp 以外で使う 上記の問題を解決すると perf record + perf report では何が呼ばれているかおおむね分かることが多いのですが、call graphを出すために perf record -g をすると [unknown] というのが出てきてしまうことがあります。(以降の計測結果はRack::Utils::HeaderHashを使ったRuby VMのベンチをRubyのmasterで走らせたものです) Samples: 38K of event 'cycles:ppp', Event count (approx.): 271180000 Children Self Command Shared Object Symbol - 1

    Linux perfで快適に計測するためのtips - Qiita
  • 1