Tôi muốn buộc cập nhật các ứng dụng App Store từ dòng lệnh.
Tôi có thể làm cái này như thế nào?
Tôi muốn buộc cập nhật các ứng dụng App Store từ dòng lệnh.
Tôi có thể làm cái này như thế nào?
Câu trả lời:
Apple không cung cấp trình trợ giúp dòng lệnh hoặc bất kỳ lớp ca cao có thể viết mã nào mà bạn có thể sử dụng để tự động hóa. Không giống như bản cập nhật phần mềm tổng thể, cho phép cập nhật và cài đặt ngoài hộp, bạn có thể tạo kịch bản cho quá trình nhấp vào nút bằng chuột bằng Automator.
Tuy nhiên, cửa hàng ứng dụng đã được thiết kế ngược và phát hành mã nguồn mở cũng như một dạng nhị phân :
Quá trình cài đặt nhanh chóng và dường như khá đáng tin cậy trên phiên bản OS X 10.11 hiện tại:
brew install argon/mas/mas
Với nguồn được phát hành, tôi sẽ mong đợi một số triển khai khác của công cụ này sẽ bật lên, thậm chí có thể có một đoạn được viết bằng python.
Nếu ai đó đã đăng nhập vào mac (windowmanager đang chạy), bạn có thể sử dụng Automator và chức năng "xem tôi làm" để tự động cập nhật và lưu trữ mật khẩu lưu trữ của bạn trong tập lệnh khá không an toàn.
Dưới đây là hai hướng dẫn để giúp bạn bắt đầu nếu điều này đáp ứng nhu cầu của bạn.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Khi bạn có một kịch bản hoạt động, bạn có thể sử dụng lệnh dòng open
lệnh để khởi động nó.
Nếu ứng dụng App Store từng hiển thị chức năng đó thành kịch bản, bạn sẽ có nhiều tùy chọn hơn từ dòng lệnh. Nó sẽ là dễ sử dụng sdef
, sdp
và gen_bridge_metadata
để đổ toàn bộ từ điển kịch bản và kịch bản thứ sử dụng ruby từ dòng lệnh, nhưng hiện tại lựa chọn tốt nhất là nên sử dụng các mas
công cụ dòng lệnh.
softwareupdate
quy trình và thậm chí nó còn nối vào App Store trên Mountain Lion - nhưng nó chỉ dành cho các ứng dụng không phải trên App Store.
App Store đơn giản là không phù hợp với quản trị. Chỉ là một trình quản lý gói gần như không hữu ích hoặc đáng tin cậy như các trình quản lý gói thực sự như pkgsrc, cổng FreeBSD, aptitude, RPM, macports hoặc thậm chí là phần mềm. Theo kinh nghiệm của tôi, không thể đoán trước được và một bộ râu cho các nhà phát triển thương mại để chế ngự sản phẩm của họ. Vì vậy, thực sự chỉ có một cách hợp lý và có trách nhiệm, với tư cách là quản trị viên có thẩm quyền, để làm việc với App Store:
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.store_helper.plist
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.storeagent.plist
sudo mkdir /System/Library/LaunchAgents\ \(disabled\)/
sudo mv /System/Library/LaunchAgents/com.apple.store* /System/Library/LaunchAgents\ \(disabled\)/
Và chỉ cần đặt nó ra khỏi tâm trí của bạn, nó sẽ không gây rắc rối cho bạn nữa. ;-)
Thay vào đó, hãy sử dụng ARD, mặc dù không phải là trình quản lý gói, nó quản lý các gói, cài đặt, cập nhật và nâng cấp, nó sẽ làm những gì bạn muốn, tiết kiệm thời gian và không làm bạn thất vọng:
Đối với Apple Remote Desktop 3, cho 10.9:
Kiểm tra hướng dẫn quản trị viên trước để thuyết phục bản thân rằng đây là cách để đi:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
open ARD3_AdminGuide.pdf
Sau đó cài đặt:
curl -Ok http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/031-2845.20140313.rerft/RemoteDesktopAdmin372.dmg
hdiutil attach -quiet -noverify -nobrowse -noautoopen RemoteDesktopAdmin372.dmg
sudo installer -pkg /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg -target /
nhưng điều đó có thể gây ra một lỗi vui nếu không chạy 10.9 hoặc nếu không có phiên bản ARD nào trước đó được cài đặt và nếu có, hãy thử:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
hoặc để có hiệu lực như nhau (hoặc / hoặc ở đây, không cần sử dụng cả pkgutil và xar ... Tôi chỉ cần kỹ lưỡng):
mkdir ARDexpanded
cd ARDexpanded
xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg
Và chúng ta không còn cần hình ảnh đĩa đính kèm, vì vậy hãy đẩy nó ra:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
Và bây giờ bạn sẽ thấy gì nếu bạn
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
Là
Bom PackageInfo Payload Scripts
Những gì trong tệp Payload, một kho lưu trữ cpio được nén bằng gzip, là những gì bạn đang theo đuổi. Vì vậy, với một vài lệnh được xử lý, chúng ta có thể truy cập gói ứng dụng:
cat Payload | gzip -d - | cpio -id
ls
trả về:
Applications Bom Library PackageInfo Payload Scripts
Và bạn sắp hoàn thành.
cp -R Applications/Remote\ Desktop.app /Applications/
Bây giờ bạn đã cài đặt Apple Remote Desktop Admin 3.7.2
Vì vậy, tất cả những gì còn lại phải làm là mua giấy phép của bạn:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Khởi chạy / Ứng dụng / Remote \ Desktop.app và tuần tự hóa. Và nhận được một số công việc được thực hiện.
Đối với Báo tuyết 10.6, bạn sẽ cần phiên bản ARD sớm hơn một chút:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
curl -Ok http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/041-6789.20120917.xD6TR/RemoteDesktopAdmin353.dmg
hdiutil attach -quiet -noverify -nobrowse -noautoopen RemoteDesktopAdmin353.dmg
sudo installer -pkg /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update/RemoteDesktopAdmin353.pkg -target /
và nếu nó ném lại cho bạn điều này:
installer: Cannot install on volume / because it is disabled.
installer: This update could not find Remote Desktop on this volume.
vậy hãy thử đi:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update/RemoteDesktopAdmin353.pkg ARD353
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update
đi sâu vào Tải trọng:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
trả về:
Bom PackageInfo Payload Scripts
Vì vậy, chạy:
cat Payload | gzip -d - | cpio -id
ls
trả về:
Applications Bom Library PackageInfo Payload Scripts
Và bạn sắp hoàn thành:
cp -R Applications/Remote\ Desktop.app /Applications/
mua giấy phép của bạn:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Khởi chạy / Ứng dụng / Remote \ Desktop.app và tuần tự hóa. Và hoàn thành một cái gì đó.
Bạn có thể sử dụng softwareupdate
công cụ.
sudo softwareupdate -l
Liệt kê tất cả các cập nhật có sẵn.
sudo softwareupdate -ia
Cài đặt tất cả các bản cập nhật có sẵn.