タグ

linuxに関するAkazaのブックマーク (444)

  • CentOS 7でOS管理者パスワードを忘れた時に変更する方法 - Qiita

    従来との違い 管理者のパスワードを忘れてログインできなくなった場合はシングルユーザモードに入ってパスワードを変更する、というのがCentOSのみならずLinux全般でのお作法であった。 しかしCentOS 7では旧来のシングルユーザモードに相当するレスキューモードに入ってもrootユーザのパスワードを要求されるので、その手は使えなくなっている。 エマージェンシーモード(レスキューモードとの違いはルートパーティションだけ読み取り専用でマウントする)というのもあるが同様にrootユーザのパスワードを入力する必要がある。 CentOS 7では以下のURLに書かれている方法を使用するが、検証の結果、手順に多少誤りがあるようなので、より良い手順を書き出しておく。 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linu

    CentOS 7でOS管理者パスワードを忘れた時に変更する方法 - Qiita
    Akaza
    Akaza 2018/10/04
    これ全然覚えられない
  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
    Akaza
    Akaza 2018/09/14
    KSM(Kernel Shared Memory)について。
  • Remote Code Execution in Alpine Linux

    tl;dr I found several bugs in apk, the default package manager for Alpine Linux. Alpine is a really lightweight distro that is very commonly used with Docker. The worst of these bugs, the subject of this blog post, allows a network man-in-the-middle (or a malicious package mirror) to execute arbitrary code on the user’s machine. This is especially bad because packages aren’t served over TLS when u

  • CentOS 7などのSystemdに対応したデーモンプログラムを作る

    B! 82 0 0 0 RHEL 7系のCentOS 7などではそれまでRHEL 6系で使われていたSystem V系のinitから Systemdを用いたデーモン管理がベースになるようになりました。 CentOS 7でデーモンを自作したいものがあって作ったので 基的な作り方についてまとめておきたいと思います。 Systemd (systemctl) デーモン体作成 最小限の設定 サービスファイル rsyslogの設定ファイル logrotate インストール/アンインストールスクリプト 動作チェック まとめ Systemd (systemctl) initのときには/etc/init.d/の中にデーモン名の(通常)シェルスクリプトが入っていて、 このスクリプトがstartとかstopとかの引数を受ける様に作られ、 直接 # /etc/init.d/httpd start とかするか、

    CentOS 7などのSystemdに対応したデーモンプログラムを作る
    Akaza
    Akaza 2018/09/14
  • シェルスクリプトでのtrapの使い方 - 理系学生日記

    シェルスクリプトでシグナルをトラップするには、みたいなことを考えることがあって、そういえば trap という日頃なかなか思い出されない不憫なビルトインがあることを思い出しました。trap は bash のビルトインとして存在する便利なヤツですが、忘れられがちなので、ここで一つ、trap コマンドとはどういうものかを書いてみることにしました。 trap の基 trap は、その名前の通り、シグナルを補足(trap) するためのシグナルハンドラを設定するためのビルトインです。 シェルスクリプトを長時間動かすみたいなユースケースは結構あって、別言語で実装されたバッチプログラムの起動だったり、ファイルツリーを探索して何か集計したりするとか、他システムとファイルを送受信したりです。 こういう長時間動かすケースではときどき、「あれ、意図せずシグナルを送られちゃったりしたときどうしよう」みたいなことを

    シェルスクリプトでのtrapの使い方 - 理系学生日記
    Akaza
    Akaza 2018/09/11
    trap ~ ERR、 trap ~ EXIT
  • index | Alpine Linux

    Small. Simple. Secure. Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox. Alpine News 2024-01-26 Alpine 3.19.1 released 2024-01-26 Alpine 3.16.9, 3.17.7 and 3.18.6 released 2023-12-07 Alpine 3.19.0 released 2023-11-30 Alpine 3.15.11, 3.16.8, 3.17.6 and 3.18.5 released 2023-09-28 Alpine 3.18.4 released 2023-08-07 Alpine 3.15.10, 3.16.7, 3.17.5 and 3.

    Akaza
    Akaza 2018/09/05
  • sudoers で複数エントリがマッチする場合について

    /etc/sudoers に、自アカウントが(1)ユーザとして該当するエントリと(2)グループとして該当するエントリの両方が存在する場合、どう適用されるか?を調べてみた。 man sudoers すると以下のように記述されている。 When multiple entries match for a user, they are applied in order. Where there are multiple matches, the last match is used (which is not necessarily the most specific match). man sudoers つまり、後に合致した設定が有効になる。 例として、以下の条件を考える。 ユーザ foo は wheel グループに所属している。wheel グループに所属するユーザは全てのコマンドに対して、s

    sudoers で複数エントリがマッチする場合について
    Akaza
    Akaza 2018/08/30
  • Bashで文字列をエスケープをする - Qiita

    Bashで文字列をエスケープするのは案外面倒くさい。 そういえばシェル文字列をエスケープするコマンドとかありそうなのに知らないし…。まぁ僕が知らなかっただけで元からあるよって場合は誰か教えて下さい。 結論を先に書いておくと、今時の新規スクリプトは printf %q "$v" を使うのが一番確実かなと思う。Bash 4.3未満で~がエスケープされないバグとかあったけど未来の保守だけ考えれば良くて過去に持ち帰る必要が無いという要件が殆どだろうしやらないよりは1万倍マシ。 手順 面倒とはいえやらなきゃいかん。 で、とりあえず 'シングルクオート最強! $a "ho ge"' てな感じでシングルクオートで囲っておけば日語や空白文字や変数やダブルクオートとかが入ってても何でもそのまま文字列として扱える。これは特定文字にバックスラッシュを付けるとかよりよっぽど簡単だし、簡単ということはミスや漏れも

    Bashで文字列をエスケープをする - Qiita
    Akaza
    Akaza 2018/06/29
  • Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio

    Mackerelチームのエンジニアのid:itchynyです。 「mackerel-agentを入れるとloadavgが7時間ごとに上昇する」 先日、このような問い合わせを複数のお客さまから受けました。私も実験してみたところ、確かに再現しました。EC2 t2.microにmackerel-agentを入れて簡単なログ監視とプロセス監視を設定し、数日放置しました。 確かに、約7時間ごとにloadavgが上昇しています。この周期のcronの設定はしておらず、またmackerel-agent内部でも7時間ごとに行う処理はありません。しかし、プラグインを多く入れるほどloadavgのピーク値も上がります。 エントリーでは、この現象の原因について説明します。 loadavgが上昇する原因を調べるには、まずloadavg自体がどう計算されているかを知る必要があります。 まずは、Linuxがloada

    Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio
    Akaza
    Akaza 2018/06/13
  • TipsAndTricks/MultimediaOnCentOS7 - CentOS Wiki

    Before you continue and install nux-dextop, you may wish to read the thread on the nux forums regarding updates and the future. An alternative to nux-dextop is the rpmfusion third party yum repo but their choice of packages is not so broad. The thread is https://forums.nux.ro/index.php?t=msg&goto=4173 You will need to also install the EPEL repository as nux-dextop depends on this for some of its p

    Akaza
    Akaza 2018/06/12
  • CentOS7でSystemdがメモリリークしていて使用率がジワジワと上昇していた - YOMON8.NET

    ほとんどサービス動いてないサーバが急にメモリ使用率の警告出したので調べて見たら、1日に30MBくらい、1ヵ月で1GBくらいジワジワとSystemdがメモリリークしていたという話です。 事象 Systemdが異常にメモリを使っている。 $ ps aux | head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 60.9 2327496 2207392 ? Ss 1月15 191:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 root 2 0.0 0.0 0 0 ? S 1月15 0:00 [kthreadd] ... 何も動いていないのに2GBも何に使っているの?となった。 原因 結論から言うと、こちらのバグが原

    CentOS7でSystemdがメモリリークしていて使用率がジワジワと上昇していた - YOMON8.NET
    Akaza
    Akaza 2018/06/07
  • CentOS7.5 の fsnotify がレースコンディションを起こすバグを nginx + td-agent + in_tail プラグインで踏む - hibomaの日記

    2018/7/18 追記 3.10.0-862.9.1.el7 で fix されました hiboma.hatenadiary.jp 2018/7/4 追記 最新の情報はこちらにまとめています hiboma.hatenadiary.jp 2018/6/16 追記 CentOS Plus の kernel-plus では修正が入っています. 詳しくはこちらをご覧ください hiboma.hatenadiary.jp エントリの概要 CentOS7.5 の fsnotify() がレースコンディションを起こすバグを、 nginx + td-agent (fluentd) + in_tail プラグインで踏んだ際の調査内容を記していきます. イントロダクション このエントリを書いた時点では、CentOS 7.5.1804 以降でリリースされているカーネルは 3つありますが、カーネルの fsnotif

    CentOS7.5 の fsnotify がレースコンディションを起こすバグを nginx + td-agent + in_tail プラグインで踏む - hibomaの日記
    Akaza
    Akaza 2018/06/06
  • 第4章 Keepalived を用いたロードバランサーの初期設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

    ロードバランサーの管理 1. ロードバランサーの概要 Expand section "1. ロードバランサーの概要" Collapse section "1. ロードバランサーの概要" 1.1. keepalived 1.2. haproxy 1.3. keepalived および haproxy 2. Keepalived の概要 Expand section "2. Keepalived の概要" Collapse section "2. Keepalived の概要" 2.1. 基的な Keepalived ロードバランサーの設定 2.2. 3 層の keepalived ロードバランサーの設定 2.3. keepalived スケジューリングの概要 Expand section "2.3. keepalived スケジューリングの概要" Collapse section "2.3

    第4章 Keepalived を用いたロードバランサーの初期設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
    Akaza
    Akaza 2018/05/30
  • PostgreSQL performance on EXT4 and XFS | PostgreSQL Addict

    In case you haven't noticed, the schedule for pgconf.eu 2015 was published a few days ago. One of my talks is called PostgreSQL Performance on EXT4, XFS, F2FS, BTRFS and ZFS and aims to compare PostgreSQL performance of modern Linux file systems (and also impact of various tuning options like write barriers, discard etc.). It's not an entirely new talk - it's a reworked (and significantly improved

    PostgreSQL performance on EXT4 and XFS | PostgreSQL Addict
  • CentOS7でPPPoE接続+ルータ構築 - Qiita

    ネットワークはよくわかならいけど家にサーバを建てたくなったのでNetworkManagerとFirewallDでどうにかこうにかやったことのメモ 環境 NICが2つあるマシンで、WAN側でPPPoE接続しつつ、LAN側もWANに接続できるようにしたい。 ~{Modem}―――[NIC1]=[NIC2]―――(LAN) 名前 割当

    CentOS7でPPPoE接続+ルータ構築 - Qiita
  • Dockerコンテナが遅くなるもう一つの原因 | POSTD

    前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ

    Dockerコンテナが遅くなるもう一つの原因 | POSTD
  • ttyとかptsとかについて確認してみる - Qiita

    psコマンドのTTY列にttyとかptsはたまた?など表示されますが、良く分かってなかったのでメモ 参考 ttyについて ttyやptsってなんぞ? ttyとptsの違い sshで入れなくなっても精神的ダメージをらわない素敵な方法 調べてみる ttyについてウィキペディアでは以下のように書いてあります。 ttyとは、標準入出力となっている端末デバイス(制御端末、controlling terminal)の名前を表示するUnix系のコマンドである。元来ttyとはteletypewriter(テレタイプライター)のことを指す。 これはttyコマンドの説明ですね。 ttyコマンドをタイプすることで標準入力、標準出力となっている端末デバイスを表示すると。 試しにターミナルからSSHログインしているサーバーでコマンドを実行してみます。 上記の/dev/pts/0が端末デバイスとなっているようですが

    ttyとかptsとかについて確認してみる - Qiita
    Akaza
    Akaza 2018/04/24
  • RHEL 7.5 で Python 2.7 が deprecated になりました - methaneのブログ

    Red Hat Enterprise Linux 7.5 がリリースされ、そのリリースノートで "Python 2 has been deprecated" とアナウンスされました。 Chapter 54. Deprecated Functionality - Red Hat Customer Portal Python 2 has been deprecated Python 2 will be replaced with Python 3 in the next Red Hat Enterprise Linux (RHEL) major release. 次のメジャーバージョンでは Python 2 が Python 3 に置き換えられるから、 RHEL 7.5 から Python 2.7 が deprecated 扱いになるということです。 Ubuntu 18.04 LTS では m

    RHEL 7.5 で Python 2.7 が deprecated になりました - methaneのブログ
    Akaza
    Akaza 2018/04/12
    思い切ったな
  • Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ

    概要 netstatやssコマンドにより、あるホストと他のホストとのコネクションを一覧表示できる。しかし、Webシステムの場合、クライアントが並行接続するため、 同一ホストから複数のポートを介してコネクションを確立しているケースが多い。コネクション数が大きい場合は、1万以上のコネクションが表示され、ホスト間のコネクション状況を人間の目で概観することが難しかった。 そこで、同一ホストとのコネクションを集約表示し、コネクション状況を概観する 「lstf」 (「えるえすてぃーえふ」)コマンドをつくった。 github.com lstfの特徴は以下の通り。 コマンド実行ホストを起点に、active openコネクションかpassive openコネクションを判定する。つまり、接続をする側かされる側かを判定する。 各ホストフローごとにコネクション数を表示する Goで実装されているポータビリティ。i3

    Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ
  • LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ

    Linuxサーバの障害対応で社内で伝統的に使われているテクニック。I/Oで完全にブロックしているポイントを特定するノウハウ。 問題対応のため、怪しいプロセスをstraceしてみる read(2)やwrite(2)でブロックしていることを発見する read(2)やwrite(2)、connect(2)の引数にはファイルディスクリプタ番号がみえる プロセスIDとファイルディスクリプタ番号を使って、/proc//fd/ の中身をみると、ソケットI/Oで刺さっている場合はソケット番号を発見できる netstat からソケット番号でgrepして接続先を発見する [y_uuki@hogehoge ~]$ sudo strace -p 10471 Process 10471 attached - interrupt to quit read(58, <unfinished ...> Process 10

    LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ