トップページ⇒linux
1002コメント401KB

Linux使ってみて普及するわけないと思った時89 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2016/10/30(日) 09:56:12.66ID:mEpRJ6Ty
前スレ
Linux使ってみて普及するわけないと思った時88
http://hayabusa6.2ch.net/test/read.cgi/linux/1471413499/

今回もマック信者が憤死するの?
0232login:Penguin2016/11/07(月) 02:18:38.41ID:LcJW/th2
どこでも使われてるから当然総務でも使われてる。
それを総務だけで使われてるって言い出しそうだなw
0233login:Penguin2016/11/07(月) 04:50:41.34ID:YbB4KMeK
「困った時のLinux頼み」-Linuxサーバを使う米マイクロソフト

米マイクロソフトは、米アカマイが運用するLinuxサーバを使って、Microsoft.comサイトを攻撃者から守ろうとしている。

 米Microsoftは、自社ウェブサイトを攻撃者から守るために、Linuxを使っている。

 Microsoftは、Microsoft.comサイトを保護し、ウイルスやワーム、DoS攻撃などに対する同サイトの脆弱性を低減するため、
米Akamaiが運用するLinuxベースのサーバを利用している。

 Microsoftは、過去2週間で少なくとも3つの深刻なワームおよびウイルス攻撃を受け、混乱の渦中にある。
Microsoft.comウェブサイトも、DDoS(分散サービス拒否)攻撃により、少なくとも2回ダウンした。
Linuxオペレーティング・システム(OS)はWindowsの最大のライバルであり、

Microsoft自体がLinuxサーバを使うということは大きな意味を持つ。

http://m.japan.cnet.com/story/20060667/
0234login:Penguin2016/11/07(月) 06:05:03.37ID:aVJdIDkG
「Windows 10」のアップデートが許可なく開始され、
その更新がうまくいかずにPCが不安定になったとして訴えを起こしていた旅行代理店経営者が、
Microsoftから1万ドルの賠償金を受け取ることになった。

 これはThe Seattle Timesが報じたもので、
賠償金を受け取るのは、
カリフォルニア州サウサリートの旅行代理店経営者だという。
同紙は米国時間6月25日付けの長文記事で、
MicrosoftがPCユーザーにWindows 10のインストールを強制しているとして厳しい批判を受けている
件について取り上げている。

マイクロソフト、「Surface 3」の生産を2016年内に終了へ

 「当社は、これ以上の訴訟費用の発生を避けるために控訴を取り下げた」と、
Microsoftの広報担当者は27日に電子メールで回答を寄せた。

http://japan.cnet.com/news/business/35084973/
0235login:Penguin2016/11/07(月) 06:09:32.02ID:lcCNGaCS
>>232
>>231はLinuxの話だろ。
0236login:Penguin2016/11/07(月) 08:01:55.38ID:Z2EsCLxN
Linux最大にワケわからんのは
ダイナミックリンクがクソほども機能してないこと

例えば
libc バージョン1でビルドした
↓
バージョン1.1が出た 1.0と完全互換だよ
↓
libc.soやaなどをを上書きして1.1にする
↓
アプリケーション「libcのバージョンが違うから動かないも〜ん」


こういうのはダイナミックリンクではない


バカ「互換性ガー」

だから互換性があるとlibcの開発元も言ってるし
そもそも互換性があるかないかを決めるのはお前じゃねえ


擁護するバカがワケ分からんことを言い出すのもLinux最大のガンだな
0237login:Penguin2016/11/07(月) 12:03:14.00ID:6OilAJJ+
なにってだこいつ
0238login:Penguin2016/11/07(月) 12:10:23.00ID:Lcd8XqJa
野良ビルドするような香具師ならなんとか出来るはず。
0239login:Penguin2016/11/07(月) 12:33:55.16ID:6OilAJJ+
なんとか出来るっていうか完全に間違ってんだよ
どうせディスるためにわざと嘘ついてんだろうけど


「libcのバージョンが違うから動かないも〜ん」 ってのは多分「GLIBC_xxx not found」の事指してんだろうけど、そもそもこれはglibc自身がどのバージョンとの後方互換性を持ってるかを表してるもの
そして>>236が例で挙げてる「1.0->1.1」の変更で完全に後方互換性を維持してるよって言うんであればそもそも出ないし、出るんであるならバグだからレポートすべき
もっとも1.0なんて太古の時代はまだ互換性に気を使ってなかった気もするし100%維持してるわけではないから絶対ではないが

なのでこの場合>>236が適当なこと言ってるって判断するのが一番妥当だし、そうでないんなら実際に再現可能なケースを示せばいい

更にglibcが維持してるのは「後方互換性」であって「1.1用にビルドされたものが1.0でも動く」っていうのではない
これはWindowsも同じ
件の「GLIBC_xxx not found」がでるのは大抵この逆のケースで出ることが多い
0240login:Penguin2016/11/07(月) 12:46:22.07ID:lcCNGaCS
>>236
>ダイナミックリンクがクソほども機能してないこと
  →ダイナミックライブラリに互換性がないこと
>こういうのはダイナミックリンクではない
  →こういうのは互換性があると言わない
言いたいのはこういう事だよね?

共有ライブラリーを解剖する
https://www.ibm.com/developerworks/jp/linux/library/l-shlibs/
>・ メジャー番号は、異なるライブラリー・バージョン間で互換性が無い可能性を示し、
>・ マイナー番号はバグ修正のみを表すのです。
>メジャー番号が同じでマイナー番号が高いライブラリーをロードすれば安全であり、
>メジャー番号が今よりも高いライブラリーをロードするのは安全な習慣ではない

libxxx.so.1.0と完全互換のはずのlibxxx.so.1.1に互換性がなければ開発元が悪い。
でもそれはLinuxの問題ではなくそのライブラリのそのバージョン固有の問題だ。
libcはすでにVer2.24だけど、それは本当にlibcの話なのか?
0241login:Penguin2016/11/07(月) 15:38:37.66ID:Y6T5sUAa
マカー憤死(爆笑)
0242login:Penguin2016/11/09(水) 15:45:54.09ID:TKpUg+Fh
このスレの内容全てが普及しないことの証左となっている
不毛な議論、煽り、罵倒、嵐
0243login:Penguin2016/11/09(水) 16:18:42.02ID:rsRlLWo1
linux陣営は全力でコレ
信頼されてないからミッションクリティカルな部分は他のOS
マイクロソフトは携帯参入によってより高品質なOSを作れるようになり
(symbian等は優れたOS)
今までなかったルーターやIOT等にも携帯の技術を応用して格安で売りさばき
linuxやfreebsdを駆逐するだろうな
0244login:Penguin2016/11/09(水) 17:20:38.15ID:GfXkWwky
>>243
Windows10に怒り心頭の大槻教授のブログ。
やはりWindows10は互換性など無く使えない代物だった(笑)
-------------------------------------------------------------

(略)

眠れないPC作業のバカらしさ。
 まず4っつの銀行のインターネットバンキングのやりなおし。
M銀行3口座、R銀行1口座、Y銀行1口座のうち、Y銀行だけが無傷。
あとのM銀行とR銀行は登録のし直し。しかしその修正はネット上ではできなかった。
 やむなくそれぞれの銀行のネットバンキング担当者の指導を受けてなんとか復帰した。
これに3日無駄な努力を費やした。
M銀行の担当者は笑いながら『M銀行のインターネットバンキングでwindoes10は推奨していません』とコメント。
推奨しないならなぜ昨年の早い時期にそのように注意画面を出さなかったのか、とどなってやった。

 次に困ったのはテレビ転送装置のwavecastだった。
これにアクセス(ログイン)しようとすると『 windows使用者はFIREFOXを使え。 ダウンロードはここをクリックせよ』と出るのでそのとうりやったがまったくFIREFOXなどインストールできなかった。
これを20回ぐらい繰り返したがまったくダメ。ここで怒り心頭。

 次に太陽光発電状況送信のための『えこー眼鏡』と『発電見張り番』のログイン。
これも簡単にはできなくなりお手上げ。
 これらは元のGOOGLE CHROMEを復帰させこらから無理やり入って
(つまりwindows10にする前のプラウザで)なんとか解決した。

ばかばかしい限り。一部元に戻さなければならないのなら、一体何のためのwindows変更だったのか!
 私はこの1週間、windows10にしたおかげでとんでもない時間の浪費を強いられた。
このような難行、苦行をやらせたメーカーは責任をとれ!
 そこで教訓。『PC関連、慣れないものにうっかり手を出すな!』

(略)
0245login:Penguin2016/11/09(水) 17:30:39.87ID:Rskx94Xf
すごい人来た
0246login:Penguin2016/11/09(水) 21:10:23.91ID:z1EEl9oI
>>245
そいつあちこちでコピペしてたよw

どこのコピペでも、
でもLinuxにしたらもっと被害甚大じゃね?っていう
結論になってたw
0247login:Penguin2016/11/09(水) 22:35:17.64ID:W8/AIoy0
いまのところ銀行サイトで不具合はないけどなぁ(iceweasel)。
バージョンアップの時もね。
0248login:Penguin2016/11/09(水) 22:42:29.66ID:zs/+a1ax
プラズマの力です
0249login:Penguin2016/11/10(木) 06:02:55.01ID:L1V0i1Zl
「困った時のLinux頼み」-Linuxサーバを使う米マイクロソフト

米マイクロソフトは、米アカマイが運用するLinuxサーバを使って、Microsoft.comサイトを攻撃者から守ろうとしている。

 米Microsoftは、自社ウェブサイトを攻撃者から守るために、Linuxを使っている。

 Microsoftは、Microsoft.comサイトを保護し、ウイルスやワーム、DoS攻撃などに対する同サイトの脆弱性を低減するため、
米Akamaiが運用するLinuxベースのサーバを利用している。

 Microsoftは、過去2週間で少なくとも3つの深刻なワームおよびウイルス攻撃を受け、混乱の渦中にある。
Microsoft.comウェブサイトも、DDoS(分散サービス拒否)攻撃により、少なくとも2回ダウンした。
Linuxオペレーティング・システム(OS)はWindowsの最大のライバルであり、

Microsoft自体がLinuxサーバを使うということは大きな意味を持つ。

http://m.japan.cnet.com/story/20060667/
0250login:Penguin2016/11/10(木) 07:05:40.44ID:3fvsHFk8
「Windows 10」のアップデートが許可なく開始され、
その更新がうまくいかずにPCが不安定になったとして訴えを起こしていた旅行代理店経営者が、
Microsoftから1万ドルの賠償金を受け取ることになった。

 これはThe Seattle Timesが報じたもので、
賠償金を受け取るのは、
カリフォルニア州サウサリートの旅行代理店経営者だという。
同紙は米国時間6月25日付けの長文記事で、
MicrosoftがPCユーザーにWindows 10のインストールを強制しているとして厳しい批判を受けている
件について取り上げている。

マイクロソフト、「Surface 3」の生産を2016年内に終了へ

 「当社は、これ以上の訴訟費用の発生を避けるために控訴を取り下げた」と、
Microsoftの広報担当者は27日に電子メールで回答を寄せた。

http://japan.cnet.com/news/business/35084973/
0251login:Penguin2016/11/10(木) 10:25:12.16ID:Dny249wh
linuxのアプリは、
ダイナミックリンク設定(そういうオプションがあるもの)でビルドしても

「ビルド時のライブラリ」でないと動作しないんだよ


だから互換性があろうがなかろうが更新してしまうと一切動かない


linuxはスタティックとダイナミックの区別ができてない
0252login:Penguin2016/11/10(木) 10:34:57.55ID:Dny249wh
GTK+とかGDとかQTとか使うもの、fontconfigとかもそうだが

とにかくすべて、ダイナミックリンク設定であるにもかかわらず

ライブラリを新しいもの、あるいは古いものに更新すると完全に動作しないか
文字が全部「□」になったりする


余計なことをしたかと思ってそれまで動いていたビルド設定(つまりOSがリリースされたときにある設定)
のファイルをそのまま使ってもムダ

「ライブラリに新機能追加や機能廃止があったからオプションにも変更ガー」
ねえよそんなもん
そんなモンとっくに調べてる


次のOSリリースでバージョンが新しくなっているにもかかわらず正常動作するから
設定ファイルやビルド設定に違いがあるのか見てみたら前バージョンとの差異は一切ない

つまり、「ファイルをそのまま使ってビルド試してみた」ときに動かないといけないはずなんだよな
ところが正常に動かなかった


スタティック設定でビルドし直すと正常

つまりダイナミックリンクが機能してないのだ


こんなだからlinuxは流行らない
0253login:Penguin2016/11/10(木) 10:47:17.66ID:Dny249wh
Windowsの場合(例えばVC++ライブラリを使うもの)
 VC++2010ランタイムv1.0を前提にビルドする
 VC++2010ランタイムv1.1が出た
 そのままランタイムファイルを上書きする
 互換性が保証されている限りそのまま動作する


Linuxの場合 (例えばGTK2)
 GTK2ライブラリv1.0を使ってビルドする (ダイナミックリンク有効)
 GTK2ライブラリv1.1が出た
 そのままライブラリファイルを1.1に上書きする
 「GTK2library Wrong versionなんちゃら」とか出て動かない



「自分は何のライブラリバージョンでビルドされたか」を保持してるんだよな
linuxのアプリはすべて

これがおかしいっつの
ビルド時のバージョンでしか動かないってのはダイナミックリンクじゃねえじゃん

linuxのダイナミックリンクってのは
ファイルの置き場が違うだけのことかよ

たとえば自分の置かれてるフォルダと同じ所にライブラリファイルが置かれているのがスタティックで
/usr/binなどアプリ固有フォルダでないところにライブラリが置かれているのがダイナミックだと


ビルド時のバージョンでしか動かないならどこを見ようとも
それはダイナミックリンクではない

 
0254login:Penguin2016/11/10(木) 11:35:21.68ID:yDRtJe9R
頭悪すぎて草
0255login:Penguin2016/11/10(木) 11:53:20.98ID:yDRtJe9R
http://hayabusa6.2ch.net/test/read.cgi/linux/1466587869/216-

ライブラリを新しいもの、あるいは古いものに更新すると完全に動作しないか
文字が全部「□」になったりするのに10年前のfirefoxが今でも普通に動くのはなぜですか大先生!?!?
0256login:Penguin2016/11/10(木) 14:40:21.80ID:lwOzdpXH
パッケージの依存情報にたとえばgtk1.0が必要と書いてある
それをgtk1.0のライブラリを1.1に上書きしてしまえばそりゃ動かなくなるがなw
普通は1.0と1.1のライブラリーは共存させるだろ
1.1が1.0と共存できないという場合(conflict)は1.1のパッケージを
インストールしようとすると1.0に依存するパッケージを削除しようとする
そこで通常ユーザーは1.1をインストールすることは問題であることに気づく
自分で1.1をmakeして1.0に上書きしてしまったときはアウトだけどな
0257login:Penguin2016/11/10(木) 14:47:49.00ID:lwOzdpXH
普通Linuxのライブラリーはファイルの添字にバージョン番号を付けて
異なったバージョンでも共存できるようにしている。
0258login:Penguin2016/11/10(木) 15:54:18.74ID:Dny249wh
ハナから1.0でしか動かないとあるなら話は分かるが

「それは元々ダイナミックリンクにふさわしくない」(1.0だけなのだから)

ので、ダイナミックリンクで動作するようなビルドオプションはないはずだ


ダイナミックリンクってのは、バージョンが変わったとしても
互換性がある限りは動くようにしたい、というものだろう

自分で持つのも何だから、共有ライブラリとしてあるものを使おうと

共有ということは「ユーザーは新しいものをインストールしないでずっと同じもの固定にしてくれる」
とは限らんわけだろ

それがLinuxではまったく働いてない
0259login:Penguin2016/11/10(木) 15:56:30.12ID:lwOzdpXH
https://ja.wikipedia.org/wiki/DLL%E5%9C%B0%E7%8D%84
0260login:Penguin2016/11/10(木) 15:57:18.26ID:Dny249wh
 

「ビルドしなおしガー」


それは動くんだけど

ダイナミックリンクじゃねえだろ


Windowsでいう、VBや.netで

バージョン変わったらビルドしなおしなんてクソアプリはない

1.1から2.0はともかく
0261login:Penguin2016/11/10(木) 16:01:41.97ID:Dny249wh
互換性が失われたときはいいのよ

それは再ビルドしても動かない

だがLinuxの場合、ダイナミックリンクとウソついてるからタチ悪い話

ダイナミックリンクは互換性がある限りは再ビルドなしで動かせるようにしたものだ

スタティックリンクなら自分の中に持っているから変更ができず、
よって互換性問題もそもそも存在しない

ウソダイナミックだから互換性があるにも関わらず余計な手間をかけさせる
0262login:Penguin2016/11/10(木) 16:27:57.74ID:yDRtJe9R
https://abi-laboratory.pro/tracker/timeline/glibc/
https://abi-laboratory.pro/tracker/timeline/gtk+/
https://abi-laboratory.pro/tracker/timeline/fontconfig/

とりあえず各ライブラリのバージョン間のバイナリ後方互換性がどの程度維持されてるかのデータ置いときますね ニッコリ
0263login:Penguin2016/11/10(木) 17:17:23.42ID:lwOzdpXH
https://social.msdn.microsoft.com/Forums/ja-JP/392edbd0-aa19-4cb4-a0c5-0f7aa3066731/dll?forum=csharpgeneralja
0264login:Penguin2016/11/10(木) 17:19:24.25ID:lwOzdpXH
DLLとは、動的なリンクによって利用されるライブラリのことである。
Windowsでは、DLLファイルの拡張子として「.dll」が付く。
DLLでは、様々なアプリケーションプログラムで使用される汎用的な
機能がモジュール化されており、実行ファイルがリンクを読み込むこと
によって共通して利用できるようになっている。
0265login:Penguin2016/11/10(木) 22:57:47.06ID:gQKYyR/k
>>262
各ライブラリっていうわりにたった三つじゃねーかw
よく使われるもの上位10個ぐらいは書きなよ
0266login:Penguin2016/11/10(木) 23:33:00.97ID:nwhHmVhn
>>265
いや十分だろ
0267login:Penguin2016/11/11(金) 02:08:49.47ID:GGHDE/pq
>>236
今まではアプリ開発者が、他人が作ったライブラリに関して、無関心だった。
アプリが依存しているライブラリが、更新されたら、新しいものを使うだけだった

つまり、1.0も含めて、それ以降のすべてのバージョンを受け入れる。
1.0 <= 依存ライブラリ

2.0は、メジャー更新だから、インターフェースが変わるため、
実行される前にリンクエラーとなり、アプリは実行されないので安全

例えば、自分は関数、abc(引数1)を使っていたが、
その関数は、abc(引数1, 引数2)に更新されたため、引数の数が合わず、リンクエラー

1.1は、マイナー更新だから、インターフェースが変わらないから、アプリは実行されるが、
関数abc内で処理が変わったため、バグるようになるかも知れない

この場合、エラーの直前まで、中途半端に実行されるため、
外部ファイルなどに保存していた場合、不整合が起きるので危険

だから最近では、マイナー更新でも動かないように指定する。
1.0 <= 依存ライブラリ < 1.1

1.0.1, 1.0.2など、バグ・セキュリティ修正のみを認める

アプリ開発者は、依存ライブラリが更新されたら、
その都度、自分でテストして、自分のアプリも更新する
02682672016/11/11(金) 02:20:50.64ID:GGHDE/pq
自己修正
>2.0は、メジャー更新だから、インターフェースが変わるため、
>実行される前にリンクエラーとなり、アプリは実行されないので安全

リンクエラーでも、その関数が使われる、直前までは実行されてしまうのか?
それともリンクエラーは、アプリ起動前のチェックだったか?

よくわからんけど、リンクエラーの直前までは実行されてしまうのなら、
そこまでの処理で、外部ファイルなどに保存していた場合、不整合が起きるので危険
0269login:Penguin2016/11/11(金) 03:47:47.07ID:LzqWI+89
>>268
Windows DLLならライブラリ使用手続き時にファイルが見つからなくてエラー
概ねDLLを使用してるソースファイルにある関数実行時かクラスのインスタンス生成時
0270login:Penguin2016/11/11(金) 04:08:11.30ID:wv3QEhkX
ダイナミックリンクライブラリ(Windows)/共有ライブラリ(Linux)ならこうだ
みたいな決め付けで語ってる人が多い気がするけど仕組み上は大差ない
ライブラリ提供側の運用や管理の厳格さとシステムで共有されるライブラリの
数がWindowsとLinuxで遭遇する不具合の確率に影響してるのだろう
0271login:Penguin2016/11/11(金) 11:06:28.14ID:RxX68zOd
QtみたいなC++ libraryでABI壊れるのはまあしょうがない。GCCのバージョンで
違うこともあるし。
0272login:Penguin2016/11/11(金) 16:14:53.79ID:LBQhGosA
マカー憤死
0273login:Penguin2016/11/11(金) 21:20:41.04ID:0g28mT37
ソースどころか、LinuxバイナリがWindows上でほぼ完璧に動く
という日がほどなく到来する。現状でもほぼそれに近いが。

Windows vs Linuxという対立軸が問題にされたのは遙か古の
時代。Linuxバイナリを動かす+αで最適なプラットフォームは
何か、という時代に突入しつつあるのが現状なのだ。
0274login:Penguin2016/11/11(金) 21:24:04.10ID:WISjMcmI
マカー憤死
0275login:Penguin2016/11/11(金) 22:21:56.78ID:nf5BSThc
>>270
確かにダイナミックリンクライブラリの仕組み自身は大差ないよ。

だからダイナミックリンクライブラリの仕組みではなく
ダイナミックリンクライブラリの利用方法の仕組み自体にWindowsは手を入れた。

それがSide-by-Sideという仕組みで同じダイナミックリンクライブラリの
バージョン違いを複数インストールすることができるようにして
適切なバージョンを使えるようにしている。

これは複数のアプリでダイナミックリンクライブラリを共有して使うことで
メモリとディスクの節約になるという利点に反するものであり
Linux陣営はWindowsに対してありえないとぶーぶー言っていたもんだが、

最近のLinuxはDockerと言うものを使ってライブラリだけではなく
ユーザーランド全体(カーネル以外)を、アプリ専用に用意することで、
更に多くのメモリとディスクを消費する方法が話題になっている(笑)
0276login:Penguin2016/11/12(土) 01:39:49.70ID:QeaqjRcX
例えば、アプリの1.0を1MBとして、
1.0.1の修正(パッチ)部分は、100KBとすると、

1.0の部分はコピーせずに、パッチだけを保存しておいて、
1.0.1の起動には、「1.0 + パッチ」の形で、容量を節約できないの?
差分バックアップみたいな、やり方

その代わり、1.0.2の起動には、「1.0 + 1.0.1のパッチ + 1.0.2のパッチ」となり、
すべての差分が必要になる

ディストリのUpgradeもそう。
すべてのバージョンを経過していかないといけない。
バージョンを飛び越せない

まあ、ファイル数も増えるから、アプリの起動も遅くなるし、管理するのも面倒だが
0277login:Penguin2016/11/12(土) 01:57:33.96ID:Ny1hstn1
>>275
> だからダイナミックリンクライブラリの仕組みではなく
> ダイナミックリンクライブラリの利用方法の仕組み自体にWindowsは手を入れた。

それも含めて大差ないって言ってる
0278login:Penguin2016/11/12(土) 03:05:39.47ID:+S/ta2F2
>>277
大差あるよw

そもそもWindowsはWindowsが管理しないアプリも含めて
アプリを自由にインストールしても問題ないレベルに達している。

Linuxの場合は、ディストリが用意したアプリしか対応しない。
それ以外のアプリは再コンパイルしないとまともに動作しない。
0279login:Penguin2016/11/12(土) 03:07:41.92ID:+S/ta2F2
>>276
> 1.0.1の起動には、「1.0 + パッチ」の形で、容量を節約できないの?
> 差分バックアップみたいな、やり方

将来のWindows Updateは差分更新に
http://pc.watch.impress.co.jp/docs/news/1028408.html

>  米Microsoftは3日、今後のWindows Updateに差分型更新となる
> 「Unified Update Platform (UUP)」を導入すると発表した。

>  現在のWindows Updateは、常にフルサイズのバイナリをダウンロードするため、
> 特に大型アップデートの場合はダウンロードに時間がかかる。UUPが導入されると、
> その端末に必要なものだけをダウンロードする差分型となるため、データサイズは従来から
> 約35%削減されることになる。また、どのダウンロードが必要かの処理はサービス側でされるため、
> 更新確認の時間も短縮される。これらの変更は、サーバーサイドでのものとなるため、
> 表面上はWindows Updateに特に変更は見えない。

>  UUPは、次期大型アップデート「Creators Update」から正式採用されるが、
> 徐々にテスト導入を行なう予定で、同日公開されたInsider Preview Build 14959の
> スマートフォン版は既にこの仕組みを採用。2016年末までにPC向けに、
> その後、IoT版とHoloLens版にも試験導入する。
0280login:Penguin2016/11/12(土) 12:08:57.16ID:ZJ2C4+tA
>>278
各ライブラリはsonameってのを持ってるってことを知らないんだね
だから古い方を必要とするアプリケーションはビルドなんてし直さなくてもlibfoo.so.1.1.1の持つsonameであるlibfoo.so.1という名のシムリンクを辿って古い方を使えることも知らないんだね
だから新しい方を必要とするアプリケーションはlibfoo.so.2.1.1の持つsonameであるlibfoo.so.2という名のシムリンクを辿って古い方を使えることも知らないんだね
だからそれらは全て別のファイルなので共存できることも知らないんだね
だから君は頭が悪いんだね(^^)
0281login:Penguin2016/11/12(土) 12:46:11.78ID:BREaCxQc
不具合は自分の知識でなんとかしてね^^ これがLinux 普及するわけないよね
0282login:Penguin2016/11/12(土) 13:59:12.26ID:dYHyduvS
linuxのライブラリ管理が優れていたらandroidはjavaモドキにならなかっただろ
0283login:Penguin2016/11/12(土) 14:00:27.29ID:cXsceqFW
>>281
Windowsフォーラムでおま環と言われたのと同じだな。
0284login:Penguin2016/11/12(土) 14:04:33.80ID:7JwZfOJ3
>>280
その仕組の問題点が、libfoo.so.1 という名前で使われるのが 実際には
libfoo.so.1.1.1 なのか libfoo.so.1.1.2 なのかがアプリケーションではわからず
互換性があるという事になっているが、なかった場合にアプリケーションが正しく動かない原因になるんだよ。

Windows ではすべてのバージョンの違いに対して互換性があるとは限らないという
前提に立っており、アプリケーションごとにどのバージョンを使うかを指定できるんだよ。
これはビルド時だけで決められるわけじゃなくて、実行ファイル名.manifestというファイルを
作ることでビルドすること無く後から変更することだってできる。

https://msdn.microsoft.com/ja-jp/library/ms235531.aspx
> 発行者構成ファイルは、発行者ポリシー ファイルとも呼ばれる XML ファイルです。これは、あるバージョンの
> side-by-side アセンブリを使用するアプリケーションおよびアセンブリを、同じアセンブリの別のバージョンを
> 使用するようにグローバルにリダイレクトします。
> たとえば、バグ修正やセキュリティの変更が side-by-side アセンブリに配置され、修正したバージョンを
> 使用するようにすべてのアプリケーションをリダイレクトする場合に、依存関係を変更できます。
>
> アプリケーション構成ファイルは、あるバージョンの side-by-side アセンブリを使用する独自のアプリケーションを、
> 同じアセンブリの別のバージョンを使用するようにリダイレクトする XML ファイルです。
> アプリケーション構成ファイルを使用すると、グローバル発行者構成ファイルで定義されているバージョンとは
> 別のバージョンの side-by-side アセンブリを使用するように、特定のアプリケーションをリダイレクトできます。

アプリケーションごとっていうのが重要で、アプリケーションAではlibfoo.so.1.1.1を使うが、
アプリケーションBではlibfoo.so.1.1.2を使うってことができる。
libfoo.so.1という名前を使っている以上、それは全てのアプリで共有する情報で
一つのアプリのためにシンボリックリンクを変更すると、他のアプリにも影響が出る。
0285login:Penguin2016/11/12(土) 14:27:27.08ID:ZJ2C4+tA
>>284
> libfoo.so.1.1.1 なのか libfoo.so.1.1.2 なのかがアプリケーションではわからず
だーーーかーーーーらーーーーーー、ホント頭わりーな

libfoo.so.1.1.1 と libfoo.so.1.1.2 が両方同じsonameなんだったらそれは互換性があることを表してるの
もし互換性がないのに同じsonameなんだったらそれはバグだからレポートすれば良い
(あるいはテスト段階のいつでも互換性崩すよってなってるシンボルの変更だったりなんか意図があっての場合ももちろんあるが)
だからそもそも各アプリケーションはそんなこと意識する必要ないの


そんなにLinuxは互換性の問題があるっていうんなら他人も確認できる形の具体例をいくつか挙げてみろよ
前の前スレ辺りからゴカンセイガーってアホなこと言ってるやつが湧いてるが一つも実例がでてこないぞ?
0286login:Penguin2016/11/12(土) 14:59:12.05ID:7JwZfOJ3
> libfoo.so.1.1.1 と libfoo.so.1.1.2 が両方同じsonameなんだったらそれは互換性があることを表してるの
そうとは限らない。

何かを変えたのであれば、それは何かの動きが変わっている。
たとえバグ修正であったとしても、バグの挙動が正常に「変わっている」

もしアプリがそのバグの挙動に依存していれば、アプリを修正して「ビルド」しなおさなければならない。

Linuxはオープンソース専用みたいなもんだからビルドして修正するという流れなのだろうが、
Windowsではオープンソースでないものもサポートするために
ビルドしなくても済むようなレベルの仕組みを作ってる。
0287login:Penguin2016/11/12(土) 15:02:18.73ID:7JwZfOJ3
> そんなにLinuxは互換性の問題があるっていうんなら他人も確認できる形の具体例をいくつか挙げてみろよ

その互換性の問題をなくすために、毎回ビルドし直してるだろ。
それはオープンソース専用でなければほぼ不可能だから
非オープンソースの物が少ないんだよ。

具体例は数少ない非オープンソースで何年も前に
ビルドしたアプリを新しいディストリで動かす場合に限られるが、
そもそもそれが排除されてしまっている。
0288login:Penguin2016/11/12(土) 15:05:54.84ID:ZJ2C4+tA
つかこいつ何のためにsonameってものがあると思ってんだよw

こいつの言うように互換性がないのにlibfoo.so.1.1.1とlibfoo.so.1.1.2っていうrealnameにするんならそのままsoname=realnameにすりゃいいだけなのに
その代わり互換性を表すためのsonameの存在が無意味になるから互換性を維持したままlibfoo.so.1.1.1のバグ修正するためにはバージョンはどうすればいいんだ、更にはlibfoo.so.1.1.1を使ってるライブラリ全部をビルドし直さないといけないのか?
みたいなまさにこいつの言ってる通りの馬鹿なことになるけどな

Windowsにはsonameがないから代わりにSxSみたいなものでそれに相当することをしてるってだけ
0289login:Penguin2016/11/12(土) 15:10:38.94ID:ZJ2C4+tA
こいつまだビルドし直すのが互換性のためだと思ってやがる、ホント頭悪すぎるwww

何度も言うがビルドし直すってのは別に動かすためにするものじゃない
互換性のないバージョンがリリースされた時に、ビルドし直さなければそのまま古いものが使われる
なので新しいものを使うためにビルドし直すってだけ
0290login:Penguin2016/11/12(土) 15:20:48.19ID:7JwZfOJ3
> こいつの言うように互換性がないのにlibfoo.so.1.1.1とlibfoo.so.1.1.2っていうrealnameにするんならそのままsoname=realnameにすりゃいいだけなのに

それは理想論。

互換性があるはずと思ってリリースした後に、バグで互換性がない状態が発覚するんだよ。

はい、たしかに、バグですよ?テスト不足ですよ?

100%完璧に問題ない状態でリリースできてるなら
アプリにバグなんて存在しないわw

ライブラリのバグの動作に依存したアプリっていうのも実際に存在するわけで
ライブラリのバグを直すことがアプリが動かなくなる原因になることだってある。
そういった場合にわざとバグが有るバージョンを使う方法が必要なんだよ
もちろんそのアプリ専用でだ。
0291login:Penguin2016/11/12(土) 15:21:58.07ID:ZJ2C4+tA
馬鹿なの?
ならWindowsのSxSだってマニュフェストがバグってりゃ動かないわな?
頭大丈夫?????
0292login:Penguin2016/11/12(土) 15:24:36.66ID:ZJ2C4+tA
あー、アプリ自身が持ってるから他のアプリには影響出さずに出来ますよって意味?
0293login:Penguin2016/11/12(土) 15:25:40.33ID:7JwZfOJ3
> soname=realnameにすりゃいいだけなのに

はい、sonameを廃止してすべてrealnameにすればいいです。
なぜそうしないの?すりゃいいだけといってるならそうすべき。

ライブラリのすべてのバージョンは互換性がない可能性があるという前提にして
バージョン番号つきファイル名で作成されされるべきで、
シンボリックリンクで切り替えるという仕組みは持たせる必要はない。

その代わりアプリごとにどのバージョンを使うかを決めることが出来、
必要ならば使用するバージョンを後から変更できる仕組みを作る。
それがWindowsがやっていること。
0294login:Penguin2016/11/12(土) 15:26:42.82ID:7JwZfOJ3
>>292
やっと理解したかwww
リンクはってるんだからちゃんと読めや
0295login:Penguin2016/11/12(土) 15:44:29.02ID:ZJ2C4+tA
>>294
ゴメン、まともな知識もってる相手だと思わずに流し読みしかしてなかったw

その上で続けるとすると、(別人かもしれんけど)まず最初の>>278では
> Linuxの場合は、ディストリが用意したアプリしか対応しない。
> それ以外のアプリは再コンパイルしないとまともに動作しない。
って言ってるよね?

それに対して>>280でそれは間違ってるってことを指摘した
これはおk?
0296login:Penguin2016/11/12(土) 16:00:40.86ID:Qqeh/71H
アプリってw
いかにもゆとり世代って感じだなpw
0297login:Penguin2016/11/12(土) 16:01:30.43ID:yNe4W2hC
>>290
>そういった場合にわざとバグが有るバージョンを使う方法が必要なんだよ
>もちろんそのアプリ専用でだ。

Linuxではラッパースクリプトで環境変数を設定すればよい。

共有ライブラリーを解剖する
https://www.ibm.com/developerworks/jp/linux/library/l-shlibs/
>プログラムが既にリンクされている場合には、
>環境変数LD_LIBRARY_PATHを設定することによって、
>その振る舞いを変更することができます。
>動的リンカーは、デフォルトでサーチすべきディレクトリーのリストを含む、
>/etc/ld.so.confで制御されます。
>LD_LIBRARY_PATHで規定されたパスはどれも、ld.so.confに
>リストアップされたパスよりも前にサーチされます。
>ですからユーザーは、こうした設定をオーバーライドすることができるのです。
0298login:Penguin2016/11/12(土) 17:18:35.99ID:ZJ2C4+tA
アプリ毎に云々っていうんなら>>297だよなぁ
あとはLD_PRELOADとか

読み返してみたが結局それらの存在を知らなかったって事なのかな
それともなんかそれらじゃ駄目な理由があるんだろうか


仮にそれらの存在を知らないとすると、アプリケーションがビルド時にはlibfoo.soが指すlibfoo.so.1.1.1が使われて、新しい環境での実行時にはlibfoo.so.1がlibfoo.so.1.1.2を指してるのでそっちが使われる
ここでlibfoo.so.1.1.2だと問題があるのでそのアプリだけlibfoo.so.1.1.1を使いたい
でもシムリンクのターゲットを変えると全体に影響が出ちゃう!っていう思考になるわな
まあ普通はそこで「だから問題だ!」じゃなくて「なんかいい方法無いかな?」って調べてそれらの存在を知るわけだが


ただそれでもまだ>>278>>287みたいな「ビルドしなおせば云々」ってのの説明はつかないなぁ
0299login:Penguin2016/11/12(土) 18:11:28.97ID:zVBG8JUB
EMの無線WiFiの接続できなくなったら、もうお手上げ。

色々読んでも「GCCでコンパイルして」てとこで
ネットから何も直接DLできないんでどうしたもんだかw
0300login:Penguin2016/11/12(土) 18:40:27.93ID:Nrv47R9N
名前が違うだけちゃうんか?
中身は数十バイトの同じファイルだったりとか…。
0301login:Penguin2016/11/13(日) 03:08:03.25ID:E7GywQ3z
例えると、再ビルドは、スクリプトのシバンを変えるのと同じ

自分がpython2でコーディングしていたが、数年後にpython3が出たから、それで試してみたい。
テストしたら、python3でも正常に動いたので、シバンを変える

(python2・3は、互換性が無いから、通常そのままのソースコードでは動かないけど)

#!/usr/bin/python2
#!/usr/bin/python3

この例では、スクリプトだから、コンパイルしないけど
0302login:Penguin2016/11/13(日) 03:29:36.42ID:WbtZf3C8
そしてバイナリっていうのは、そのシバンを変えられないことと一緒。
0303login:Penguin2016/11/13(日) 05:38:00.31ID:m3W6roGT
そんなもの変えられないのが普通
#!/usr/bin/perl
に変えようとしてるようなもの
0304login:Penguin2016/11/13(日) 08:31:56.96ID:CW1Dcalk
この糞馬鹿まだ互換性の問題なんかないことを認めないのな
嘘で相手をおとしめるとか完全に朝鮮人の手口だわ
0305login:Penguin2016/11/13(日) 10:29:07.52ID:AD2H9CCI
304は「朝鮮人」と言うワードをネガティブな意味で使っています。
これは立派なヘイトスピーチです。
0306login:Penguin2016/11/13(日) 11:07:13.95ID:GVGRDxj7
自分が相手の日本人を論破出来ないときの悔しい専門用語が、
土人、シナ人、朝鮮人なんだよな。
0307login:Penguin2016/11/13(日) 11:15:55.26ID:/bgP+cyH
まぁでも沖縄での土人騒動は実際自業自得だししょうがない
>>304はさぁ
0308login:Penguin2016/11/13(日) 11:52:49.37ID:FbaDrxSC
>>307
機動隊員がバカ。
大阪のだからな(笑)
あれっ?誤爆か?
まあでもいいや。
0309login:Penguin2016/11/13(日) 12:06:09.97ID:ksv8R54a
OSとツール類を問題なくインストールするまでの敷居が未だに高い
逆にそれしかやらないのに「俺使いこなしてる」感を漂わせて初心者を叩く輩も多い
そんな感じだな
0310login:Penguin2016/11/13(日) 12:31:03.70ID:2KAMDF2Y
>>309
ツールのインスコなんてWindowsより簡単だろ。
Windowsなんてツールがどこに有るか探すだけでも大変。
0311login:Penguin2016/11/13(日) 12:45:53.06ID:gBHnuA2k
windowsだったらググればすぐ出てくるし、まあインストールすればすぐ使えるだろう。
linuxの場合、いちいち設定する必要があったり、普通にapt installするだけだと
バージョンが古くて必要な機能がなかったりするから、
結局ソース取ってきてビルドすることがあって、時間の無駄だなあと思うことがよくある
0312login:Penguin2016/11/13(日) 13:12:25.15ID:beH+vL+2
つか、ユーザーにビルドさせてるようだ普及はしないな。
0313login:Penguin2016/11/13(日) 14:31:02.78ID:tbdukskE
勝ち負けなんて最後までわからんよ
維持していくだけで回りが転けていくてのもよくあることだからな
0314login:Penguin2016/11/14(月) 17:32:06.27ID:0kACIr6I
どうせ違法ダウンロードツールとかだろ、そんなもんWindowsでやっとけ。
0315login:Penguin2016/11/14(月) 17:39:59.54ID:A69L9zXZ
>>314
その結果が誤認逮捕w
0316login:Penguin2016/11/15(火) 08:26:59.46ID:YufbOOfG
マカー憤死
0317login:Penguin2016/11/15(火) 13:03:29.20ID:RzfivPgP
艦これはよ。
0318login:Penguin2016/11/15(火) 19:43:34.26ID:kzpgM0U0
Windowsがすごいと思うのはUnixクローンじゃないところだ
それでPCでシェアとっちゃったんだから
Mac選ぶやつの方が分かんないよ
0319login:Penguin2016/11/15(火) 20:17:01.24ID:bg1j+Shl
WindowsはMS-DOSの頃からの積み重ねがあったからな
0320login:Penguin2016/11/15(火) 20:38:40.35ID:D0SqJQIo
WindowsはもともとIBMがOS/2として作ってたもんなんだよな
それをMSが勝手に共同開発やめて売り出したのがWindows95
0321login:Penguin2016/11/15(火) 21:10:13.74ID:v0VpfOji
なるほど
0322login:Penguin2016/11/15(火) 21:13:55.30ID:b5dqfjHY
NTは関係ないぞ
0323login:Penguin2016/11/15(火) 21:24:16.00ID:bOD/MdPz
NTはDECのVMSを開発したたデヴィッド・カトラーが開発した
OS/2とは関係ない
VMSのアーキテクチャをベースとしたマイクロカーネルを採用した近代的なOS
0324login:Penguin2016/11/15(火) 21:27:21.41ID:bOD/MdPz
2000,XP,Vista,7,8,10は全部NT系のOS
0325login:Penguin2016/11/15(火) 21:31:42.63ID:bOD/MdPz
95,98,MEがOS/2系
0326login:Penguin2016/11/15(火) 21:53:48.15ID:RzfivPgP
Windowsはなんだかんだとフリーソフトの温床にはなってたな。
0327login:Penguin2016/11/15(火) 22:09:25.36ID:YMl4Qa11
>>320
にわか嘘おつ

>>323
お見事!
詳しいねえ
0328login:Penguin2016/11/16(水) 00:05:33.79ID:nY9bZKjh
俺はWINEが大嫌いだ


ああいうのがあると、ぜってえネイティブやろうとしなくなる
windows用のみ作って、

あとはwineで動かしてね動かなかったらシラネ


ってなる
0329login:Penguin2016/11/16(水) 00:16:58.27ID:nY9bZKjh
てかLinuxってセキュリティに関しては危ないよなあ

glibcなどの基幹ライブラリに重大なバグが!
↓
自分でソースからビルド
↓
今までのglibcを置き換える
↓
何もかも動かなくなる


これだもんな
デストリブ〜タぁ〜からのリリースを待たないといけない

Fuckintoshみたいにマイナーだから攻撃を受けないだけで

この間に攻撃されたらどうするんだろ

てかなんでglibcは置き換え不可能なんだ
これがビルド時のやつでしか動きませんワガママなのか
0330login:Penguin2016/11/16(水) 00:35:34.26ID:twbha2zw
>>329
> デストリブ〜タぁ〜からのリリースを待たないといけない

大抵はセキュリティ情報(ニュース)が出る前か出ると同時に
リリースされているから待っていれば良いでしょ
0331login:Penguin2016/11/16(水) 01:10:05.25ID:qjlAYN+x
>>328
それはない、linuxでのプログラミングのほうが圧倒的に簡単だから
■ このスレッドは過去ログ倉庫に格納されています