Tải mô-đun mô-đun


12

Tôi đang cố gắng biên dịch "Mô hình khí hậu toàn cầu" bằng các lệnh sau.

module unload pgi gcc
module load gcc/4.6.3 pgi/11.8

Khi tôi thực hiện chúng, thiết bị đầu cuối trả lời với command not found.

Tôi đang làm gì sai? Cách đúng đắn để làm điều này là gì?


Bạn có thể giải thích "Mô hình khí hậu toàn cầu" là gì không? Bạn đang nhận được những hướng dẫn đó ở đâu?
Oli

1
Tôi sẽ phải đưa trả lời này trong một chú thích nhưng có thể không phải do thiếu uy tín :( Có vẻ như environment-moduleskhông phải là có sẵn trong 12.04, nhưng từ 12.10 trên trở lên: < packages.ubuntu.com/search?keywords=environment-modules >
tssch

Câu trả lời:


25

Chỉ cần để tóm tắt các ý kiến trước và câu trả lời và thêm một chút đầu tay kinh nghiệm cài đặt:

Bạn đang tìm kiếm modulelệnh được cung cấp bởi gói Mô-đun Môi trường . Nó là một công cụ để sửa đổi môi trường shell (PATH nhưng cũng là bí danh, v.v.) và phổ biến cho nhiều cụm nhiều người dùng như cụm tính toán hiệu năng cao.

Các hướng dẫn bạn nhận được có lẽ từ một số cụm HPC, vì bạn muốn chạy mô hình khí hậu toàn cầu. Tìm hiểu thêm về Mô-đun Môi trường trên HPC tại đây.

Bây giờ đối với một cái gì đó thực sự liên quan đến Ubuntu : Thực sự không quá khó khăn để thiết lập Mô-đun Môi trường trong Ubuntu. Tôi mới thực hiện nó trong vòng chưa đầy 10 phút cho Ubuntu 14.10 và shell Bash.

Như đã đề cập trong các bài đăng khác, bạn có thể cài đặt Mô-đun Môi trường từ repos (gói environment-modules).

Sau đó, bạn chạy add.modules. Nó sẽ đặt một vài dòng vào tập tin initalization shell của bạn, trong trường hợp này ~/.bashrc:

case "$0" in
          -sh|sh|*/sh)  modules_shell=sh ;;
       -ksh|ksh|*/ksh)  modules_shell=ksh ;;
       -zsh|zsh|*/zsh)  modules_shell=zsh ;;
    -bash|bash|*/bash)  modules_shell=bash ;;
esac
module() { eval `/usr/Modules/$MODULE_VERSION/bin/modulecmd $modules_shell $*`; }
#module() { eval `/usr/bin/modulecmd $modules_shell $*`; }

Bạn cần bỏ ghi chú dòng cuối cùng và nhận xét hoặc xóa dòng thứ hai. Dòng này xác định modulelệnh bạn đang tìm kiếm. Nó chạy hiệu quả modulecmd bashcộng với các đối số bạn đưa ra.

Tôi có cảm giác rằng chức năng này thực sự không an toàn lắm vì nó đánh giá bất cứ thứ gì bạn cung cấp cho nó trong các đối số của nó. Một số người dùng có thể nhận xét về cách cải thiện điều này.

Bây giờ bạn chỉ cần tạo một số thư mục chứa cái gọi là modulefilesvà thêm nó vào $MODULEPATH, ví dụ như với module use /path/to/your/modulefiles. Có những ví dụ cho các modulefiles ngoài kia trên các interwebs.

Tôi thấy đây là một công cụ rất tiện dụng không chỉ dành cho các cụm nhiều người dùng. Tôi sử dụng nó để chuyển đổi giữa các bản phân phối Python khác nhau.


1
Tôi nghĩ rằng đây nên là câu trả lời được chấp nhận cho câu hỏi
uy tín

ví dụ liên kết tệp mô-đun đã chết
muenalan


1
Yêu cầu mọi người dùng chạy /usr/share/modules/bin/add.modulesdường như là bất tiện. Tôi đã thêm ". /Etc/profile.d/modules.sh" vào đầu tệp /etc/bash.bashrc Đó có thể là một giải pháp cho người dùng có bash làm vỏ đăng nhập của họ. Lưu ý, điều này chỉ cần thiết cho đăng nhập GUI. Đăng nhập SSH đã hoạt động trước khi thay đổi. Bạn nghĩ gì, đây là một giải pháp tốt hay bạn đề nghị một cái gì đó khác?
Erik Sjölund

Tôi có thể thấy rằng gói mô-đun môi trường trong lịch sử đã thay đổi phương thức để đưa chức năng 'mô-đun' vào vỏ của bạn. Trên hệ thống Red Hat cũ hơn, /etc/profile.d/modules.shtôi phải có nguồn để cung cấp chức năng mô-đun (tôi đã sử dụng rpm -ql environment-modulesđể hiểu những tập tin nào có sẵn). Trên Ubuntu, điều đó sẽ là dpkg-query -S /usr/share/modules- điều đó sẽ giúp bạn hiểu những gì gói cung cấp.
qneill

6

Đối với những người "đọc lướt" (nhìn vào bạn Seth): Đây KHÔNG PHẢI LÀ CÂU HỎI VỀ MÔ HÌNH KernEL. Đó là một câu hỏi về việc thao túng các biến môi trường vỏ bằng cách sử dụng một công cụ có tên là ENIRONMENT-MODULES. Nếu bạn hoàn toàn quen thuộc với các mô-đun hạt nhân, bạn sẽ nhận ra không có công cụ nhân tiêu chuẩn (tập lệnh hay nói cách khác) có tên là "mô-đun". Tất cả các công cụ thao tác mô-đun viết tắt mô-đun là mod (lsmod, insmod, modprobe, v.v.). Và không có mô-đun có tên gcc.

Các mô-đun môi trường ( http://modules.sourceforge.net/ ) là một công cụ môi trường khác để chuyển đổi môi trường thực thi trong trình bao. Nó giúp những người cần Python 2.4 và Python 2.7 trên cùng một máy. Hoặc nó giúp mọi người quản lý các trình biên dịch và thư viện Intel v. GNU.

Thật không may, các mô-đun môi trường không phải là một gói cho Ubuntu 12.04 LTS.

Các tùy chọn bao gồm cài đặt từ nguồn (theo liên kết ở trên), nâng cấp lên 14.04 LTS hoặc xem các tệp deb. Trong ba, tôi sẽ cài đặt từ nguồn. Tệp gỡ lỗi phụ thuộc vào libtcl8.6, trong tình trạng tương tự, không khả dụng trên 12.04LTS.


4

Có lẽ bạn đang cố gắng sử dụng gói phần mềm chưa được cài đặt trên máy của mình. Tất nhiên tôi không thực sự chắc chắn, nhưng tôi đoán là bạn đang cố gắng sử dụng các mô-đun môi trường . Nếu đó là chính xác, bạn có thể cài đặt các mô-đun môi trường từ kho lưu trữ Ubuntu tiêu chuẩn.

Nhưng hãy lưu ý rằng các mô-đun môi trường là một chương trình khá cũ. Trang chủ lưu ý bản cập nhật cuối cùng của công cụ trợ giúp vào năm 2011, thông báo bản quyền không đi xa hơn năm 1999. Vì vậy, không có gì đảm bảo rằng gói phần mềm này hoạt động hoàn hảo với các phiên bản Ubuntu hiện tại. Nó có thể, nhưng bạn không thể chắc chắn.


2
Đó là một nỗi đau lớn để thiết lập, nhưng nó hoạt động rất tốt và là một tiêu chuẩn thực tế trên các cụm nhiều người dùng.
Emmet

0

Đây không phải là trường hợp module loadkhông hoạt động , module loadkhông phải là một lệnh tiêu chuẩn trong Ubuntu.

Nếu bạn đang cố tải một mô-đun hiện có, đó sudo modprobe <modulename>là lệnh bạn đang tìm kiếm. Và bạn có thể sử dụng rmmodhoặc modprobe -rđể dỡ một mô-đun.


Oli Tôi đang nhận các hướng dẫn này từ hướng dẫn sử dụng mô hình khí hậu toàn cầu "ECHAM6". Các dòng được đề cập ở trên 'tải mô-đun' được đề cập trong hướng dẫn để tải trình biên dịch từ thiết bị đầu cuối ...
uzair mannan

4
Anh ta đang cố gắng sử dụng chương trình mô-đun môi trường (thường được cài đặt trên các cụm) để quản lý các biến môi trường cho các trình biên dịch khác nhau, triển khai MPI, v.v. không tải các mô-đun hạt nhân.
Emmet

nó thực sự tồn tại, chúng tôi sử dụng nó hàng ngày trong công ty của chúng tôi: P
Bruno Pereira

modulelà một công cụ được sử dụng để thay đổi phiên bản công cụ và libs từ phiên bản này sang phiên bản khác, giống như virtualenv là python, nhưng thay vào đó, nó thay đổi đường dẫn và biến của bạn để phản ánh các thiết lập khác, ví dụ: tải mô-đun gcc-4.8 sẽ tải gcc-4.8, mô-đun tải gcc-4.7 sẽ tải 4.7, v.v.
Bruno Pereira

0

chỉ cần thêm nó vào dòng đầu tiên của tập lệnh của bạn. Sau đó, lệnh mô-đun sẽ được đọc bởi tsch.

#!/bin/tcsh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.