Đây là lệnh yadm 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 mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
yadm - Tuy nhiên, một trình quản lý Dotfiles khác
SYNOPSIS
yadm lệnh [lựa chọn]
yadm git-lệnh-hoặc-bí danh [lựa chọn]
yadm trong đó [-f] [-w thư mục]
yadm nhân bản url [-f] [-w thư mục]
yadm cấu hình tên [giá trị]
yadm cấu hình [-e]
yadm danh sách [-a]
yadm mã hóa
yadm giải mã [-l]
yadm alt
yadm uốn tóc
MÔ TẢ
yadm là một công cụ để quản lý một bộ sưu tập các tệp trên nhiều máy tính, bằng cách sử dụng
kho lưu trữ Git được chia sẻ. Ngoài ra, yadm cung cấp một tính năng để chọn các phiên bản thay thế
của các tệp dựa trên hệ điều hành hoặc tên máy chủ. Cuối cùng, yadm cung cấp khả năng
quản lý một tập hợp con các tệp an toàn, được mã hóa trước khi chúng được đưa vào
kho.
HÀNG
lệnh git or bí danh git
Bất kỳ lệnh nào không được xử lý nội bộ bởi yadm được chuyển qua git(1). Git
lệnh hoặc bí danh được gọi với yadm kho lưu trữ được quản lý. Làm việc
thư mục cho các lệnh git sẽ được cấu hình cây làm việc (Thường $ HOME).
Các tệp Dotfiles được quản lý bằng cách sử dụng tiêu chuẩn git các lệnh; thêm vào, cam kết, đẩy, kéo, Vv
cấu hình lệnh không được chuyển trực tiếp qua. Thay vào đó, hãy sử dụng gitconfig
lệnh (xem bên dưới).
alt Tạo liên kết tượng trưng cho bất kỳ tệp được quản lý nào khớp với quy tắc đặt tên được mô tả trong
phần ALTERNATES. Thường không cần thiết chạy lệnh này, vì yadm
tự động xử lý thay thế theo mặc định. Hành vi tự động này có thể
bị vô hiệu hóa bằng cách thiết lập cấu hình yadm.auto-alt thành "false".
nhân bản url
Sao chép một kho lưu trữ từ xa để theo dõi các tập tin dotfiles. Sau nội dung của điều khiển từ xa
kho lưu trữ đã được tìm nạp, một "hợp nhất" của nguồn gốc / chủ được cố gắng. Nếu có
các tệp xung đột đã có trong cây làm việc, quá trình hợp nhất này sẽ không thành công và
thay vào đó là "đặt lại" nguồn gốc / chủ sẽ được thực hiện. Đó là vào người dùng để giải quyết
những xung đột này, nhưng nếu hành động mong muốn là có nội dung trong
kho lưu trữ ghi đè lên các tệp hiện có, sau đó "khôi phục cài đặt gốc" sẽ hoàn thành
rằng:
đặt lại yadm - nguồn gốc / bản gốc cứng
Kho lưu trữ được lưu trữ trong $ HOME / .yadm / repo.git. Theo mặc định, $ HOME sẽ được sử dụng
như cây làm việc, nhưng điều này có thể được ghi đè với -w tùy chọn. yadm có thể
buộc phải ghi đè kho lưu trữ hiện có bằng cách cung cấp -f tùy chọn.
cấu hình Lệnh này quản lý các cấu hình cho yadm. Lệnh này hoạt động chính xác theo cách của chúng
git-config(1) không. Xem phần CẤU HÌNH để biết thêm chi tiết.
giải mã
Giải mã tất cả các tệp được lưu trữ trong $ HOME / .yadm / files.gpg. Các tệp được giải mã sẽ được
liên quan đến cấu hình cây làm việc (Thường $ HOME). Sử dụng -l tùy chọn sẽ
liệt kê các tệp được lưu trữ mà không cần giải nén chúng.
mã hóa
Mã hóa tất cả các tệp phù hợp với các mẫu được tìm thấy trong $ HOME / .yadm / mã hóa. Xem
Phần ENCRYPTION để biết thêm chi tiết.
gitconfig
Chuyển các tùy chọn đến git cấu hình chỉ huy. Từ yadm đã sử dụng cấu hình lệnh
để quản lý cấu hình của chính nó, lệnh này được cung cấp như một cách để thay đổi
cấu hình của kho lưu trữ được quản lý bởi yadm. Một trường hợp hữu ích có thể là
định cấu hình kho lưu trữ để các tệp chưa được theo dõi được hiển thị trong các lệnh trạng thái. yadm
ban đầu định cấu hình kho lưu trữ của nó để các tệp chưa được theo dõi không được hiển thị. nếu bạn
muốn sử dụng hành vi git mặc định (để hiển thị các tệp và thư mục chưa được theo dõi), bạn
có thể loại bỏ cấu hình này.
yadm gitconfig --unset status.showUntrackedFiles
giúp đỡ In bản tóm tắt về yadm lệnh.
trong đó Khởi tạo một kho lưu trữ mới, trống để theo dõi các tập tin dotfiles. Kho được lưu trữ
in $ HOME / .yadm / repo.git. Theo mặc định, $ HOME sẽ được sử dụng như cây làm việc, nhưng điều này
có thể được ghi đè với -w tùy chọn. yadm có thể bị buộc phải ghi đè lên một hiện có
kho lưu trữ bằng cách cung cấp -f tùy chọn.
In danh sách các tệp được quản lý bởi yadm. Các -a tùy chọn sẽ gây ra tất cả các tệp được quản lý
được liệt kê. Nếu không, danh sách sẽ chỉ bao gồm các tệp từ hiện tại
thư mục hoặc bên dưới.
uốn tóc Cập nhật các quyền như được mô tả trong phần PERMISSIONS. Nó thường là
không cần thiết để chạy lệnh này, vì yadm tự động xử lý quyền bằng
vỡ nợ. Hành vi tự động này có thể bị vô hiệu hóa bằng cách thiết lập cấu hình
yadm.auto-perms thành "false".
phiên bản
In phiên bản của yadm.
CẤU HÌNH
yadm sử dụng tệp cấu hình có tên $ HOME / .yadm / config. Tệp này sử dụng cùng một định dạng
as git-config(1). Ngoài ra, bạn có thể kiểm soát nội dung của tệp cấu hình thông qua
yadm cấu hình lệnh (hoạt động giống hệt như git-config). Ví dụ, để tắt
thay thế bạn có thể chạy lệnh:
cấu hình yadm yadm.auto-alt sai
Sau đây là danh sách đầy đủ các cấu hình được hỗ trợ:
yadm.auto-alt
Tắt liên kết tự động được mô tả trong phần ALTERNATES. Nếu bị vô hiệu hóa,
bạn vẫn có thể chạy yadm alt theo cách thủ công để tạo các liên kết thay thế. Tính năng này là
được bật theo mặc định.
yadm.auto-perms
Tắt các thay đổi quyền tự động được mô tả trong phần PERMISSIONS. Nếu như
bị vô hiệu hóa, bạn vẫn có thể chạy yadm uốn tóc theo cách thủ công để cập nhật quyền. Cái này
tính năng được bật theo mặc định.
yadm.ssh-perms
Tắt các thay đổi quyền đối với $ HOME / .ssh / *. Tính năng này được kích hoạt bởi
mặc định.
yadm.gpg-perms
Tắt các thay đổi quyền đối với $ HOME / .gnupg / *. Tính năng này được kích hoạt bởi
mặc định.
THUẬT TOÁN
Khi quản lý một tập hợp các tệp trên các hệ thống khác nhau, có thể hữu ích khi có
cách tự động để chọn phiên bản thay thế của tệp cho một hệ điều hành khác,
máy chủ hoặc người dùng. yadm triển khai một tính năng sẽ tự động tạo ra một liên kết tượng trưng
sang phiên bản thích hợp của tệp, miễn là bạn tuân theo một quy ước đặt tên cụ thể.
yadm có thể phát hiện các tệp có tên kết thúc bằng:
## or ## OS or ## OS.HOSTNAME or ## OS.HOSTNAME.USER
Nếu có bất kỳ tệp nào được quản lý bởi yadmKho lưu trữ của tôi phù hợp với quy ước đặt tên này,
các liên kết tượng trưng sẽ được tạo cho phiên bản thích hợp nhất. Điều này tốt nhất có thể là
được chứng minh bằng ví dụ. Giả sử các tệp sau được quản lý bởi yadmKho lưu trữ của tôi:
- $ HOME / path / example.txt ##
- $ HOME / path / example.txt ## Darwin
- $ HOME / path / example.txt ## Darwin.host1
- $ HOME / path / example.txt ## Darwin.host2
- $ HOME / path / example.txt ## Linux
- $ HOME / path / example.txt ## Linux.host1
- $ HOME / path / example.txt ## Linux.host2
Nếu chạy trên Macbook có tên "host2", yadm sẽ tạo ra một liên kết tượng trưng trông giống như
điều này:
$ HOME / path / example.txt -> $ HOME / path / example.txt ## Darwin.host2
Tuy nhiên, trên một Mackbook khác có tên "host3", yadm sẽ tạo ra một liên kết tượng trưng trông
như thế này:
$ HOME / path / example.txt -> $ HOME / path / example.txt ## Darwin
Vì tên máy chủ không khớp với bất kỳ tệp nào được quản lý, nên phiên bản chung chung hơn là
đã chọn.
Nếu chạy trên máy chủ Linux có tên "host4", liên kết sẽ là:
$ HOME / path / example.txt -> $ HOME / path / example.txt ## Linux
Nếu chạy trên máy chủ Solaris, liên kết sử dụng phiên bản "##" mặc định:
$ HOME / path / example.txt -> $ HOME / path / example.txt ##
Nếu không có phiên bản "##" nào tồn tại và không có tệp nào phù hợp với OS / HOSTNAME / USER hiện tại, thì không có liên kết
sẽ được tạo ra.
Hệ điều hành được xác định bằng cách chạy uname -s, HOSTNAME bằng cách chạy hostname -svà USER bằng cách chạy
id -u -n. yadm sẽ tự động tạo các liên kết này theo mặc định. Điều này có thể bị vô hiệu hóa
bằng cách sử dụng yadm.auto-alt cấu hình. Ngay cả khi bị vô hiệu hóa, các liên kết có thể được tạo thủ công bằng cách
chạy yadm alt.
MÔI TRƯỜNG
Nó có thể hữu ích để quản lý các tệp bí mật, như khóa SSH hoặc GPG, trên nhiều
các hệ thống. Tuy nhiên, làm như vậy sẽ đưa dữ liệu văn bản thuần túy vào kho lưu trữ Git, thường
cư trú trên một hệ thống công cộng. yadm triển khai một tính năng có thể giúp mã hóa dễ dàng
và giải mã một tập hợp các tệp để phiên bản mã hóa có thể được duy trì trong Git
kho. Tính năng này sẽ chỉ hoạt động nếu gpg(1) lệnh có sẵn.
Để sử dụng tính năng này, một danh sách các mẫu phải được tạo và lưu dưới dạng $ HOME / .yadm / mã hóa.
Danh sách các mẫu này phải liên quan đến cấu hình cây làm việc (Thường $ HOME). Dành cho
thí dụ:
phím .ssh / *.
.gnupg / *. gpg
yadm mã hóa lệnh sẽ tìm tất cả các tệp phù hợp với các mẫu và nhắc
mật khẩu mở khóa. Khi mật khẩu đã được xác nhận, các tệp phù hợp sẽ được mã hóa và lưu dưới dạng
$ HOME / .yadm / files.gpg. Các mẫu và tệp. Gpg sẽ được thêm vào yadm kho
vì vậy chúng có sẵn trên nhiều hệ thống.
Để giải mã các tệp này sau hoặc trên một hệ thống chạy khác yadm giải mã và cung cấp
mật khẩu chính xác. Sau khi các tệp được giải mã, các quyền được tự động cập nhật như
được mô tả trong phần PERMISSIONS.
LƯU Ý: Bạn nên sử dụng kho lưu trữ riêng khi giữ các tệp bí mật,
mặc dù chúng đã được mã hóa.
GIẤY PHÉP
Khi các tệp được kiểm xuất khỏi kho lưu trữ Git, các quyền ban đầu của chúng phụ thuộc
dựa trên umask của người dùng. Điều này có thể dẫn đến các tệp bí mật có quyền hạn chế.
Để ngăn chặn điều này, yadm sẽ tự động cập nhật quyền của các tệp bí mật.
Quyền "nhóm" và "người khác" sẽ bị xóa khỏi các tệp sau:
- $ HOME / .yadm / files.gpg
- Tất cả các tệp phù hợp với các mẫu trong $ HOME / .yadm / mã hóa
- Thư mục SSH và các tệp, .ssh / *
- Thư mục GPG và các tệp, .gnupg / *
yadm sẽ tự động cập nhật các quyền theo mặc định. Điều này có thể bị vô hiệu hóa bằng cách sử dụng
yadm.auto-perms cấu hình. Ngay cả khi bị vô hiệu hóa, các quyền có thể được cập nhật theo cách thủ công bằng
chạy yadm uốn tóc. Quá trình xử lý thư mục SSH có thể bị vô hiệu hóa bằng cách sử dụng yadm.ssh-perms
cấu hình.
Sử dụng yadm trực tuyến bằng các dịch vụ onworks.net