Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

makepp_sandboxes - Trực tuyến trên đám mây

Chạy makepp_sandboxes trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh makepp_sandboxes có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


makepp_sandboxes - Cách phân vùng một bản dựng makepp

MÔ TẢ


D: --do-xây dựng,
--không xây dựng,
--không đọc,
--đọc, I: - trong hộp cát,
- hộp cát bên trong, O: - out-of-sandbox, S: - hộp đựng,
--sandbox-warning,
--sandbox-cảnh báo, V: --hộp cát ảo

Có một số lý do mà bạn có thể muốn phân vùng cây tệp cho một makepp
xây dựng:

1. Nếu bạn biết rằng phần lớn cây không bị ảnh hưởng bởi bất kỳ thay đổi nào được thực hiện đối với
các tệp nguồn kể từ bản dựng trước, sau đó bạn có thể yêu cầu makepp giả định rằng các tệp
trong những phần đó của cây đã được cập nhật, có nghĩa là thậm chí không phải
tải các tệp trang điểm của chúng, chưa nói đến việc tính toán và kiểm tra các yếu tố phụ thuộc của chúng. (Ghi chú
Tuy nhiên, các tệp makefiles được tải rõ ràng vẫn được tải.)

2. Nếu bạn có nhiều quy trình makepp truy cập vào cùng một cây, thì bạn muốn nâng
một lỗi nếu bạn phát hiện ra rằng hai quy trình đồng thời đang viết cùng một phần của
cây, hoặc một quá trình đang đọc một phần của cây mà một quá trình đồng thời là
viết. Dù bằng cách nào, bạn có một điều kiện đua trong đó thứ tự tương đối của các sự kiện
trong hai quá trình đồng thời (không thể đảm bảo) có thể ảnh hưởng đến kết quả.

Makepp có các cơ sở hộp cát giải quyết cả hai mối quan tâm.

Sandboxing Các lựa chọn
Các tùy chọn makepp sau đây có thể được sử dụng để đặt các thuộc tính hộp cát của cây con
được cho bởi con đường và tất cả các tệp và tệp tiềm năng của nó:

--không xây dựng con đường
--do-xây dựng con đường
Đặt hoặc đặt lại thuộc tính "dont-build". Bất kỳ tệp nào có tập thuộc tính này được giả định là
đã được cập nhật và sẽ không có kiểm tra bản dựng nào được thực hiện. Mặc định được đặt lại
(tức là "do-build"), ngoại trừ nếu bạn có "RootMakeppfile", trong trường hợp đó mọi thứ
bên ngoài id cây con "dont-build" của nó.

- hộp đựng con đường
- trong hộp cát con đường
- hộp cát bên trong con đường
- out-of-sandbox con đường
Đặt hoặc đặt lại thuộc tính "trong hộp cát". Một lỗi sẽ xảy ra nếu makepp làm theo cách khác
viết một tệp với thuộc tính này được đặt lại. Kiểm tra bản dựng vẫn được thực hiện, trừ khi
thuộc tính "dont-build" cũng được thiết lập. Giá trị mặc định được đặt (tức là "trong hộp cát"), trừ khi
có bất kỳ - hộp đựng tùy chọn, trong trường hợp đó, mặc định cho tất cả các tệp khác là
đặt lại (tức là "out-of-sandbox").

--sandbox-warning
--sandbox-cảnh báo
Hạ cấp các vi phạm "trong hộp cát" và "không đọc" xuống cảnh báo thay vì lỗi.
Điều này rất hữu ích khi có hàng trăm trường hợp vi phạm, để bạn có thể thu thập tất cả
chúng trong một lần chạy và thực hiện hành động sửa chữa thích hợp. Nếu không, bạn chỉ thấy
một lần vi phạm cho mỗi lần gọi makepp và bạn không biết còn lại bao nhiêu lỗi cho đến khi
tất cả chúng đều đã được sửa.

- không đọc con đường
--đọc con đường
Đặt hoặc đặt lại thuộc tính "dont-read". Một lỗi sẽ xảy ra nếu makepp làm theo cách khác
đọc một tệp với bộ thuộc tính này. Giá trị mặc định được đặt lại (tức là "do-read").

--hộp cát ảo
Không viết lại thông tin bản dựng của các tệp không được tạo bởi quy trình makepp này. Cái này
rất hữu ích khi chạy các quy trình makepp đồng thời với các hộp cát chồng chéo và bạn
chắc chắn rằng không có hai quy trình nào sẽ cố gắng xây dựng cùng một mục tiêu. Makepp sẽ
sau đó không lưu vào bộ nhớ đệm thông tin bổ sung về các tệp mà nó đọc, bởi vì
có thể có những người đọc đồng thời khác.

Mỗi thuộc tính trong số 3 thuộc tính này áp dụng cho toàn bộ cây con, bao gồm cả các tệp không
chưa tồn tại. Các đường dẫn cụ thể hơn ghi đè các đường dẫn ít cụ thể hơn. Một đường dẫn được chỉ định có thể là một
tệp riêng lẻ, ngay cả khi tệp chưa tồn tại.

Nếu một thuộc tính được đặt và đặt lại trên cùng một đường dẫn chính xác, thì tùy chọn sẽ xuất hiện
ở xa nhất về bên phải trên dòng lệnh được ưu tiên.

Sandboxing cho Tăng tốc
Nếu bạn muốn ngăn makepp mất thời gian xử lý các tệp mà bạn biết là đã
cập nhật (cụ thể là các tệp được tạo bởi một công cụ xây dựng không phải là makepp),
sau đó --không xây dựng là lựa chọn dành cho bạn.

Cho đến nay, trường hợp phổ biến nhất đối với việc tối ưu hóa như vậy là bạn biết rằng mọi thứ không
tại hoặc bên dưới thư mục bắt đầu đã được cập nhật. Điều này có thể được thông báo cho
makepp bằng cách sử dụng "--không xây dựng /. --do-xây dựng .".

Sandboxing cho Đồng thời Quy trình
Một kỹ thuật có thể giảm độ trễ của bản dựng là có nhiều quy trình makepp hoạt động
trên cùng một cây. Điều này hơi khó quản lý hơn một chút so với việc sử dụng -j Tùy chọn,
nhưng nó cũng có thể hiệu quả hơn đáng kể vì:

· Với hộp cát, các quy trình có thể đang chạy trên nhiều máy chủ, chẳng hạn như thông qua một công việc
hệ thống xếp hàng. Tăng -j giới hạn cuối cùng làm cạn kiệt tài nguyên CPU của một
máy chủ duy nhất và thậm chí có thể làm chậm quá trình xây dựng do quá trình phân nhánh quá nhiều.

· -j hiện không thực hiện song song một số tác vụ tiêu tốn thời gian của makepp như tải
makefiles, quét, xây dựng các phụ thuộc ngầm trong khi quét và kiểm tra
sự phụ thuộc.

Rủi ro lớn nhất với cách tiếp cận này là việc xây dựng có thể trở nên không xác định nếu
các quy trình có thể tương tác đồng thời với nhau. Điều này dẫn đến việc xây dựng hệ thống
tạo ra các kết quả không chính xác một cách thường xuyên và không có cơ chế đơn giản để xác định lý do tại sao
nó xảy ra.

Để giải quyết rủi ro này, nên phân vùng cây giữa các quá trình đồng thời
sao cho nếu bất kỳ quá trình nào truy cập hệ thống tệp không đúng cách, thì lỗi là
được nâng lên một cách xác định ngay lập tức. Thông thường, điều này được thực hiện bằng cách gán cho từng
xử lý đồng thời một "hộp cát" trong đó nó được phép viết, trong đó các hộp cát không
hai quá trình đồng thời có thể chồng chéo lên nhau.

Ngoài ra, mỗi quy trình đánh dấu hộp cát của bất kỳ quy trình đồng thời nào khác
là "dont-read". Nếu một quá trình đọc một tệp mà một quá trình đồng thời khác chịu trách nhiệm
để viết (và do đó có thể chưa được viết), sau đó lỗi sẽ được phát sinh
ngay lập tức.

Sandboxing cho Tuần tự Quy trình
Khi bản dựng được phân vùng cho các quá trình makepp đồng thời, cũng thường có
mối quan hệ tuần tự giữa các cặp quy trình khác nhau. Ví dụ, có thể có một
hàng chục quy trình biên dịch đồng thời, theo sau là một quy trình liên kết duy nhất không thể bắt đầu
cho đến khi tất cả các quá trình biên dịch hoàn tất. Mối quan hệ tuần tự như vậy phải
được thực thi bởi bất kỳ cơ chế nào đang điều phối các quy trình makepp khác nhau (ví dụ:
hệ thống xếp hàng công việc).

Khi các quy trình có mối quan hệ tuần tự đã biết, thông thường không cần phải nâng
lỗi khi họ truy cập vào cùng một phần của cây, vì dù sao thì kết quả vẫn là
xác định.

Tuy nhiên, nó thường có lợi khi chỉ định --không xây dựng tùy chọn cho người phụ thuộc
quy trình (quy trình liên kết trong ví dụ của chúng tôi) thông báo cho nó về các khu vực đã
đã được cập nhật bởi các quy trình tiên quyết (các công việc biên dịch trong ví dụ của chúng tôi). Trong này
theo cách này, chúng tôi tránh hầu hết các công việc không cần thiết của việc xây dựng các mục tiêu vô hiệu vốn chỉ là
Đã cập nhật.

Sử dụng makepp_sandboxes trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Chân đế
    Chân đế
    Chân đế là một mã nguồn mở hiện đại, miễn phí
    trình soạn thảo văn bản được tạo đặc biệt cho Web
    Phát triển. Được viết bằng HTML, CSS và
    JavaScript với các công cụ trực quan tập trung và
    chuẩn bị...
    Tải xuống dấu ngoặc
  • 2
    Trình biên dịch Pascal miễn phí
    Trình biên dịch Pascal miễn phí
    Trình biên dịch Pascal 32/64/16-bit dành cho
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Nâng cao, Nintendo NDS và DOS;
    tương thích ngữ nghĩa với...
    Tải xuống Trình biên dịch Pascal miễn phí
  • 3
    Thông tin kỹ thuật số Canon EOS
    Thông tin kỹ thuật số Canon EOS
    Canon không có số lượng màn trập
    có trong thông tin EXIF ​​của một
    tệp hình ảnh, trái ngược với Nikon và
    ống nhòm. Không có cơ sở chính thức nào của Canon
    ứng dụng ...
    Tải xuống thông tin Canon EOS DIGITAL
  • 4
    rEFInd
    rEFInd
    rEFInd là một nhánh của khởi động rEFIt
    người quản lý. Giống như rEFIt, rEFInd có thể
    tự động phát hiện khởi động EFI đã cài đặt của bạn
    trình tải và nó trình bày một giao diện đồ họa đẹp mắt
    menu tùy chọn khởi động ...
    Tải xuống rEFInd
  • 5
    Thể hiệnLuke GSI
    Thể hiệnLuke GSI
    Trang tải xuống SourceForge này là để
    cấp cho người dùng tải xuống nguồn của tôi được xây dựng
    GSI, dựa trên công trình vĩ đại của phhusson
    công việc. Tôi xây dựng cả Android Pie và
    Android 1 ...
    Tải xuống ExpressLuke GSI
  • 6
    Trình phát nhạc
    Trình phát nhạc
    Music Caster là một trình phát nhạc dạng khay
    cho phép bạn truyền nhạc địa phương của mình sang một
    Thiết bị Google Cast. Trong lần chạy đầu tiên,
    bạn sẽ cần phải nhấp vào mũi tên trong
    nhiệm vụ ...
    Tải xuống Music Caster
  • Khác »

Lệnh Linux

Ad