はじめに この記事は以下の記事で事故がなぜ起きたかを技術的に理解し筆者のtipsを共有しようと思い書きました。あくまで筆者のtipsですので、これが正しいとは限りません。 やはり、下記のコマンドが原因でした。 [root@foo script]# ls -l | sh 事故そのものは ls コマンドに -l を付けて実行してしまった事で、ls コマンドが出力したシンボリックリンクが以下の様になってしまったという話です。
![ls -l はなぜ事故を起こすのか](https://cdn-ak-scissors.b.st-hatena.com/image/square/9d5603196c491196026d4a301a40303428aa7ee5/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--NbmBxFM9--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3Als%252520-l%252520%2525E3%252581%2525AF%2525E3%252581%2525AA%2525E3%252581%25259C%2525E4%2525BA%25258B%2525E6%252595%252585%2525E3%252582%252592%2525E8%2525B5%2525B7%2525E3%252581%252593%2525E3%252581%252599%2525E3%252581%2525AE%2525E3%252581%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Amattn%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2IwYjA3ZWIzODAuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)
はじめに この記事は以下の記事で事故がなぜ起きたかを技術的に理解し筆者のtipsを共有しようと思い書きました。あくまで筆者のtipsですので、これが正しいとは限りません。 やはり、下記のコマンドが原因でした。 [root@foo script]# ls -l | sh 事故そのものは ls コマンドに -l を付けて実行してしまった事で、ls コマンドが出力したシンボリックリンクが以下の様になってしまったという話です。
AMDのZen 2アーキテクチャの新製品が発売されて沸き立っているが悲しいお知らせがある。最近のGNU/Linuxディストロはブートしない。例えばUbuntu 19.04はブートしない。 理由は、ハードウェア乱数を返す命令、RDRANDに不具合があり、常に-1を返すのだという。このため、rdrandを直接使っているsystemdが失敗し、結果としてブートできなくなる。 AMDによればこの問題はBIOSアップデートで修正可能であるという。しかしこれはとても怪しい陰謀論を考えたくなる。なぜRDRANDが常に-1を返すような不具合が未然に発覚せずに製品リリースまでこぎつけてしまったのか。なぜファームウェアのアップデートで修正可能なのか。まさかバックドアなのではないか。 陰謀論はともかくとして、もう一つの問題は、なぜsystemdはRDRANDを直接使っているのかということだ。Linuxカーネルの
Unix/Linuxで文字コード変換に使用される、iconvコマンドの使い方についてのメモ書きです。*1 iconvコマンドの基本的な使い方 オプションの指定方法 入力データの文字コード 「-f (--from-code)」で指定する。 出力データの文字コード 「-t (--to-code)」で指定する。 省略すると、ロケールから自動的に決定される。 入力データ 標準入力から読み込む。(リダイレクト or パイプ) コマンドの引数として指定してもよい。 出力データ 標準出力に書き込む。(リダイレクト or パイプ) 「-o (--output)」で指定してもよい。 #標準入出力を使う例 iconv -f SJIS -t UTF8 < sjis.txt > utf8.txt #標準入出力を使わない例 iconv -f SJIS -t UTF8 sjis.txt -o utf8.txt 複数フ
こんにちは。今回のテーマは『Slackwareに日本語デスクトップ環境を構築する』です。Slackwareの日本語デスクトップ環境構築は想像していたよりアッサリ終わりました。設定ファイルで設定しても別の設定が邪魔して反映されないなどのトラブルもありませんでした。Slackwareはとてもシンプルで素直なディストロだと実感しました。当記事がお役に立てば幸いです。 【関連記事】 Slackware 14.1をインストールする Slackware 14.1を使ってみた デスクトップを起動して日本語環境をつかえるようにする 本記事はSlackware 14.1をインストールするの続きという位置づけになっています。インストールに関してはそちらをご覧いただければと思います。今回はインストール時にXfceデスクトップ環境を導入した前提で書いています。SlackwareではKDEもインストール時に指定でき
メニュー トップページ Slackware Linuxとは 導入関係 インストール方法 自前リポジトリ + tagpath 指定でのインストール インストールしたけど、何をすればいいの? パッケージ管理 Slackwareのパッケージ管理 sbopkgを使う 設定 ユーザーの作成 日本語環境を作る GUI(XDM)を使ったログイン まめ知識 よく使うコマンド システムの起動 パーティション、ディスク MBR MBR-GPT GPT専用ディスク ブートローダ LILO ELILO GRUB2 GRUB Legacy 起動設定ファイル 起動モード、ランレベル rc.d init.d ネットワーク ネットワークの設定 ネットワークフィルタ iptables tcpwrapper xinetd inetd X Window System(GUI) X Window Systemとは? ウインドウマ
cronで文字化けするときの対処について紹介します。 1.cronで文字化けする原因 cronでスクリプトを時間指定で実行することがあると思いますが、cronはユーザーのシェルで起動しないため、ユーザーの環境変数は引き継がれません。 つまり、cron起動時には文字コードの環境変数LANGの設定などが行われておらず、デフォルトの文字コード以外の文字を標準出力するスクリプトやプログラムを実行すると、文字化けが発生します。 0 0 * * * /home/foo/foo.sh 2.cronで文字化けしないようにする cronで実行したときに文字化けしないようにするには、cronの中でexport(sh・bash)またはset(csh・tcsh)を実行します。 例えば、bashの場合「crontab -e」で編集画面を開き、プログラムやスクリプトの実行前にexportコマンドを実行します。 0 0
この記事はLinux Advent Calendar 2014の25日目ですヽ(=´▽`=)ノ 今回はLinux Kernel Hack入門編ということで入門的なことを書いてみたいと思います。 まず使用する環境ですけど最近出たばっかのFedora 21のWorkstationにしました。まあ、今回の内容的にはディストリビューションは問わないんですが、多くの人が馴染んでいるであろうfedora系というかパッケージマネージャがyumということでこれにしてみました。 自分は普段Arch Linuxなんですけど、こっちだとkernelのmake install時にちょっとしたスクリプトを書く必要があったりするのもあって、fedoraのほうが手軽かなというのもあります。 カーネルコード・リーディング ブラウザベースでコード・リーディング 読めるソースは大概メインラインのカーネルということになりますが
CentOS 7ではsystemdが導入されているので、サービスの管理が従来と大きく変わっています。詳しい解説はsystemd徹底入門のスライドを参照するとして、ここでは「前のコマンドはsystemdでどう入力するの?」というのだけ、簡単にまとめてみました。 サービス名にはsshdを指定していますが、もちろん任意のサービスが指定できます。 サービスの起動、終了など 操作SysV InitSystemd 起動/etc/init.d/sshd startsystemctl start sshd 終了/etc/init.d/sshd stopsystemctl stop sshd 強制終了PID探してkill -9systemctl kill -s 9 sshd 再起動/etc/init.d/sshd restartsystemctl restart sshd 設定反映/etc/init.d/s
直接実行した場合、別シェルが呼び出されますが、ドットコマンドでは実行したシェル(カレントシェル)から呼び出されます 例)test.sh hoge=123 echo $hoge直接実行 [user@system work]$ ./test.sh 123 [user@system work]$ echo $hoge →シェル変数の設定値は実行シェルには引き継がれない ドット「.」コマンドで実行 [user@system work]$ . ./test.sh 123 [user@system work]$ echo $hoge 123→値が設定されている ※ドットの場合は実行権限が無くても実行できます
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く