Tải bản đầy đủ (.pdf) (10 trang)

Sử dụng Windows cho các dịch vụ Unix

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (615.48 KB, 10 trang )

Sử dụng Windows cho các dịch vụ Unix

Bạn có muốn chạy các ứng dụng tốt nhất trên cả hai hệ điều hành
Windows và Unix? Trong bài viết này chúng tôi sẽ giới thiệu cho các
bạn về một tùy chọn cho công việc này: Thành phần Posix của
Microsoft. Nó sẽ khiến các ứng dụng của Unix cho rằng chúng đang sử
dụng các ứng dụng Unix nhưng thực sự khi đó chúng đang sử dụng
Windows.

Sớm hay muộn thì mỗi người quản trị cũng thấy rằng anh ta muốn một điều
là có thể chạy các chương trình ứng dụng bằng nhiều hệ điều hành trên đồng
thời một máy và sau đó cố gắng để tìm ra một giải pháp để làm được điều
đó.

Có thể bạn thích sử dụng Microsoft Exchange nhưng bạn vẫn muốn có được
các công cụ e-mail mã nguồn mở giống như SpamAssassin hay fetchmail.
Hoặc có thể bạn đang sử dụng các ứng dụng Unix cho các dịch vụ mạng,
nhưng bạn lại thực sự muốn chạy chúng dưới Windows để bạn có thể tích
hợp chúng thành toàn bộ mô hình bảo mật mạng của bạn. Trong bất kỳ
trường hợp nào bạn cũng mong muốn có thể chạy các chương trình tốt từ các
hệ điều hành.

Trong trường hợp của tôi, tôi đã thực hiện giải pháp này khi đang nâng cấp
một ứng dụng cũ và tôi đã mắc một lỗi trong việc mua một bo mạch chủ mới
của Intel mà vẫn không thích hợp với sự hỗ trợ của driver Linux. Nếu tôi sử
dụng hệ thống này thì nó có thể chạy được Windows, nhưng hầu hết các
phần mềm của tôi trên hệ thống này chỉ được thiết kế cho Unix.
Giải pháp thông thường với tình trạng này là bắt buộc bản thân bạn phải
chọn một platform bằng cả các danh sách chi tiết mang nặng tinh lợi và hại
cho mỗi hệ điều hành và cả việc sử dụng các kỹ thuật tiến bộ đã được xác
nhận và sau đó phát triển với các công cụ giúp ích có sẵn. Nhưng lý do bạn


gặp tình trạng này là bởi vì bạn muốn sử dụng các ứng dụng từ các platform
để phát triển hầu hết các ứng dụng luân phiên nghĩa là sử dụng cái nào tốt
hơn, là tối ưu.

Một cái nữa ở đây có thể làm được đó là có thể chạy nhiều hệ thống song
song hay sử dụng kỹ thuật ảo để chạy nhiều platform trên hệ thống đơn. Có
một thuận lợi khi sử dụng phương pháp này là sẽ đem lại giá thành thấp đỡ
tốn chi phí cho cả hai loại hệ điều hành. Mặc dù vậy cũng có những vấn đề
phát sinh do người dùng sử dụng các phương pháp khác nhau trong các lĩnh
vực khác nhau.

Nhưng có một lựa chọn khác mà không phải bất kỳ ai cũng biết đó là để
chạy các ứng dụng Unix của bạn dưới Windows bằng việc sử dụng Posix,
dịch vụ của Microsoft cho Unix. Theo mô hình này, hệ điều hành hoạt động
thực là Windows trong khi hệ thống cung cấp Posix-compliant cho hệ điều
hành. Các ứng dụng Unix cho rằng chúng đang sử dụng Unix thông thường,
nhưng thực ra chúng đang sử dụng tài nguyên Windows.

Hình vẽ này sẽ giải thích rõ ràng hơn. Nó sẽ rất dài nhưng chỉ cần một đoạn
ngắn trên màn hình cũng giúp bạn hiểu nó nghĩa như thế nào.

Trong ví dụ này, một người dùng Windows đã vào được Windows XP thông
qua cấu trúc bash cục bộ bằng việc sử dụng Posix trong SFU. Môi trường
nhìn trông khá giống với hệ thống Unix nhưng thực tế là Windows XP.

Posix cho Windows đã có trong một thời gian ngắn. Kỹ thuật này được gọi
là Interix và được phát triển bởi công ty Softway Solutions đã sử dụng cùng
với Windows NT. Microsoft có được công ty này vào mùa thu năm 1999 và
sau đó kết hợp Interix với vài NFS khác và kỹ thuật NIS vào gói bán lẻ được
gọi là các dịch vụ cho Unix 2.0 (cũng được biết đến như SFU). Bây giờ nó

đã phát triển thành SFU v3.0 và SFU v3.5có thể download miễn phí (bạn có
thể download tại đây
).

Microsoft đang chuyển tiếp lại sản phẩm này bằng việc tích hợp nó vào
Windows. Với thành phần Posix được đặt tên lại là Subsystem cho Unix
Applications (SUA). Sự chuyển tiếp này bắt đầu với Windows Server R2
nhưng nó cũng là chiến lược đang hướng đến cho Vista. Việc ghi nhãn hiệu
mới cũng biểu thị rằng SUA là bản viết lại của Posix – bao gồm sự hỗ trợ
64-bit platform, các giao diện Open Database Connectivity (ODBC), và sự
tích hợp hơn với Microsoft Visual Studio. Nhưng với các ứng dụng user-
space thì nó vẫn là Interix.

Về cơ bản, Posix ánh xạ các tài nguyên Windows vào môi trường Unix bằng
việc cung cấp một sự lựa chọn “cá nhân” trong Windows thông qua một
thiết lập các APIs và các tuyên bố giống Unix. Ví dụ, các account người
dùng không được lưu trong file /etc/passwd truyền thống mà thay vì đó được
truy cập thông qua các thư viện gọi giống như getpwnam và getpwuid. Sau
đó Posix ánh xạ đến hệ thống xác nhận Windows thông qua SAM database
API đã có.

Mô hình này cho phép sự xác nhận Windows lưu công việc liền mạch,
không quan tâm đến lưu bản thân nó là một dữ liệu nhóm và người dùng cục
bộ, một NT domain đã có, hay một Active Directory domain. Mặt xấu của
vấn đề này là dữ liệu tài khoản người dùng bị giới hạn để có thể lưu những
gì trong SAM database. Thành phần NIC server của SFU cung cấp cho
Posix là có thể mở rộng cho Active Directory, nhưng những thuộc tính này
lại không được sử dụng bởi vì Posix chỉ có thể làm việc được với SAM
database API.


×