Tl; dr | Fitur | Profil Kustom | Uji profil Anda | Opsi | Persyaratan | Stabilitas | OS lainnya | Lisensi
![]()
![]()
Pengaturan ansible yang diuji dan dapat disesuaikan untuk menyediakan stasiun kerja Anda dengan Debian.
Kembalikan sistem Anda. Kelola paket yang tidak disediakan secara default dan melacak repositori serta perangkat lunak yang diinstal. Setiap paket yang dibundel menawarkan kemungkinan untuk sepenuhnya mengelolanya, yaitu memastikan mereka diinstal atau dihapus. Tentu saja Anda juga bisa mengabaikannya, jika Anda ingin mengelolanya sendiri.
Ini dirancang untuk menjadi manajer buildfiles generik (sebagai lawan dari dotfile ). Anda dapat menambahkan profil sebanyak yang Anda inginkan (misalnya: untuk perangkat keras yang berbeda pada buku catatan yang berbeda) dan juga memiliki pilihan untuk menyediakannya secara lokal atau melalui jaringan.
Pastikan sistem Anda memenuhi persyaratan sebelum Anda mulai.
Gunakan ini untuk menyediakan sistem Anda dari awal, ketika Anda telah mengirimkan profil Anda ke hulu. Satu -satunya persyaratan adalah bash dan sudo , yang lainnya akan dipasang secara otomatis.
# Provision default profile
curl https://raw.githubusercontent.com/cytopia/ansible-debian/master/bootstrap | bash
# Provision profile 'generic-all'
curl https://raw.githubusercontent.com/cytopia/ansible-debian/master/bootstrap | bash -s generic-allGunakan ini untuk menyediakan sistem Anda dari awal, ketika Anda belum memiliki profil yang dikirimkan ke hulu.
# 1. Clone this project
git clone https://github.com/cytopia/ansible-debian
cd ansible-debian
# 2. Add your profile 'bob' (See 'Create custom profiles' section of this README)
# 3. Provision your system (with profile 'bob')
# Note when to use sudo and when not
sudo make deploy-init
make deploy-apt-sources PROFILE=bob
sudo make deploy-dist-upgrade
make deploy-tools PROFILE=bob # Dry-run everything for profile 'generic-all'
make diff-tools PROFILE=generic-all
# Dry-run everything for profile 'generic-all' without role 'systemd'
make diff-tools PROFILE=generic-all IGNORE=systemd
# Dry-run a specific role 'i3-gaps'
make diff-tools PROFILE=generic-all ROLE=i3-gapsRepositori Ansible ini memungkinkan Anda untuk menyediakan mesin Debian Anda dan menjaga mereka tetap terkini. Ini memungkinkan Anda untuk membuat profil yang berbeda untuk mesin yang berbeda dan menawarkan paket yang tidak tersedia oleh repositori Debian mana pun.
Ini adalah penyediaan idempoten dasar dengan default yang masuk akal yang dapat sedikit disesuaikan. Ini hanya dimaksudkan sebagai bootstrap buildfiles . Untuk menyesuaikan aplikasi itu sendiri, Anda masih harus menerapkan dotfile pribadi Anda di atas itu.
| Alat | Keterangan |
|---|---|
| Autorunner | Dapat dikonfigurasi dan pemberitahuan Autostart helper untuk manajer jendela minimalis seperti i3, OpenBox dan lainnya |
| kromium | Mengatur Chromium, Paket Tambahan, serta Ekstensi yang Ditentukan dari Chrome Webstore |
| Clipmenu | Manajer Clipboard dengan Integrasi dmenu atau rofi |
| dbeaver | Klien SQL Universal |
| Diff-highlight | Alat untuk output git diff yang luar biasa |
| buruh pelabuhan | Repo dan paket Docker dan juga memastikan pengguna ditambahkan ke docker Group |
| Docker-Compose | Unduh Biner docker-compose terbaru |
| ffscreencast | Pembungkus FFMPEG untuk perekaman desktop dengan overlay video dan dukungan multi monitor |
| Firefox | Firefox Quantum |
| FZF | Command Line Fuzzy Finder |
| Gimp | GIMP dengan tema photoshop dan bindakan ke |
| I3 | i3wm |
| i3-gaps | i3wm pada steroid |
| i3-utils-bin | Alat untuk i3wm |
| i3-utils-systemd | File systemd untuk i3wm |
| modul i3blocks | Modul i3blocks yang mengagumkan |
| Kops | Alat baris perintah operasi kubernetes |
| Kubectl | Alat baris perintah kubernetes |
| LibreOffice | LibreOffice 6 dengan tema ikon MSOffice 2013 |
| LXDM | Manajer login Leight-Weight |
| Neovim | Vim pada steroid |
| manajer jaringan | Gnome's LAN dan WiFi Network Manager dengan baki sistem opsional |
| oh-my-zsh | Kerangka kerja yang digerakkan oleh komunitas yang menyenangkan untuk mengelola konfigurasi zsh Anda. |
| Packer | Packer Hashicorp untuk membangun mesin otomatis |
| Pinta | Open Source Paint.net / MSPaint Clone. |
| Ranger | Command Line File Manager dengan pratinjau gambar inline (juga dapat digunakan sebagai manajer file vim) |
| Skype | Repo dan paket Skype |
| sublim | Repo dan paket luhur |
| sxiv | Penampil gambar kecil, cepat dan rendah ketergantungan dengan pengikatan vim |
| Systemd | Kelola layanan SystemD yang diaktifkan, dinonaktifkan, dan bertopeng |
| telegram | Telegram Desktop Repo dan Paket |
| Terraform | Infrastruktur Hashicorp sebagai penyedia kode |
| Thunar | Thunar dan persyaratannya untuk menangani disk eksternal serta disk yang dienkripsi |
| THUNAR-CUSTOM-ACTIONS | Tindakan Kustom Thunar |
| Thunderbird | Add-on Thunderbird dan Global |
| timemachine | OSX seperti timemachine untuk baris perintah |
| urxvt | Emulator Terminal UNICODE Kecil, Cepat dan Leight-Weight 256 Color |
| VirtualBox | Repositori dan paket VirtualBox Hulu |
| xbacklight | Penggantian Xbacklight Cross-GPU Modern |
| xdg-mime-meta | Mendefinisikan aplikasi default untuk XDG-Open |
| xorg | Xorg dan ketergantungannya serta konfigurasi GPU dan Touchpad |
| Zathura | Penampil PDF kecil, cepat dan rendah ketergantungan dengan binding VIM |
| Alat | Keterangan |
|---|---|
| Font-Droid-Sans-Mono | Droidsansmono nerdfont dengan banyak mesin terbang dan simbol unicode |
| Font-font-Mengerikan | Fontawesome sebagai font sistem |
| Font-san-Francisco | OSX Yosemite San Francisco Font |
| Font-terminus | Terminus nerdfont dengan banyak glifcs dan simbol unicode |
| font-ubuntu | Font resmi Ubuntu |
| Icon-Moka | Tema ikon moka (untuk thunar atau nautilus) |
| tema-arc | Tema busur untuk gtk2, gtk3, chrome dan lainnya |
Lihat peran/ direktori untuk semua paket yang tersedia. Jika Anda melewatkannya, buka masalah atau permintaan tarik.
Selain itu, Anda dapat (tetapi tidak harus) mengelola yang berikut:
Untuk menyesuaikan workstation atau infrastruktur Debian Anda, Anda dapat membuat profil untuk masing -masing mesin Anda. Ini mungkin diperlukan karena preferensi perangkat keras atau perangkat lunak yang berbeda. Setiap nama host (nyata atau dibuat -buat) dalam file inventaris secara otomatis mewakili satu profil .
Ngomong -ngomong, ansible bekerja, setiap profil mewarisi semua pengaturan dari group_vars/all.yml. File ini memegang default waras yang menunjukkan kepada Anda semua opsi yang tersedia dan dengan semua paket yang tidak dikelola.
Untuk benar -benar menyesuaikan profil Anda , Anda harus membuat file di host_vars/ dengan nama yang sama yang telah Anda tentukan dalam inventaris. Anda dapat menyalin grup_vars/all.yml secara langsung atau menggunakan profil yang sudah ada dari host_vars , seperti host_vars/generik-all.yml.
Untuk lebih memahami cara kerjanya, Anda dapat mengikuti contoh langkah demi langkah ini untuk membuat profil baru:
Demi contoh ini, mari kita asumsikan profil Anda disebut dell-xps-i3wm .
Tambahkan baris berikut ke bagian bawah inventaris:
dell-xps-i3wm ansible_connection=local ansible_connection=local menentukan bahwa profil Anda harus diterapkan ke komputer lokal Anda. Jika Anda ingin membuat profil untuk komputer jarak jauh, nama profil Anda harus berupa nama host atau alamat IP yang dengannya mesin jarak jauh dapat dijangkau di atas jaringan.
Seperti yang telah disebutkan sebelumnya, Anda dapat menyalin grup_vars/all.yml atau file host_vars yang sudah ada.
Gunakan group_vars/all.yml sebagai template default:
cp group_vars/all.yml host_vars/dell-xps-i3wm.ymlGunakan file host_vars yang sudah ada sebagai templat default:
cp host_vars/generic-all.yml host_vars/dell-xps-i3wm.yml Cukup edit host_vars/dell-xps-i3wm.yml dan sesuaikan nilai dengan kebutuhan Anda. Jika Anda telah menyalin file yang sudah ada, itu akan berisi komentar untuk semua opsi konfigurasi yang memungkinkan yang memungkinkan Anda dengan cepat melihat apa dan cara mengubah.
Jika Anda ingin menguji profil Anda dalam wadah Docker sebelumnya, benar -benar menyediakan sistem Anda sendiri, lewati ke bagian berikutnya, jika tidak, jalankan saja perintah berikut.
Jalankan perintah berikut untuk melihat apa yang akan terjadi:
ansible-playbook -i inventory playbook.yml --diff --limit dell-xps-i3wm --ask-become-pass --checkJalankan perintah berikut untuk benar -benar menerapkan profil Anda:
ansible-playbook -i inventory playbook.yml --diff --limit dell-xps-i3wm --ask-become-passSebelum benar -benar menjalankan profil baru di sistem Anda sendiri, Anda dapat dan Anda harus mengujinya sebelumnya. Ini dapat dilakukan dalam wadah Docker atau di kotak Vagrant untuk melihat apakah semuanya berfungsi seperti yang diharapkan. Ini mungkin juga sangat berguna jika Anda membuat peran baru dan ingin melihat apakah itu berhasil.
Catatan: Gambar Docker akan selalu membangun otomatis sebelum menjalankan tes.
Sebelum berjalan, Anda harus menyadari beberapa argumen yang dapat diterapkan pada perintah make . Lihat tabel di bawah ini:
| Variabel | Diperlukan | Keterangan |
|---|---|---|
PROFILE | Ya | Nama host inventaris (profil Anda) |
VERBOSE | TIDAK | Verbositas yang tidak dapat dimengerti. Nilai yang valid: 0 , 1 , 2 atau 3 |
ROLE | TIDAK | Hanya menjalankan tag khusus ini (nama peran) |
Jalankan tes lengkap profil generic-all :
make test-docker-full PROFILE=generic-all Jalankan tes lengkap profil generic-all dalam urutan acak:
make test-docker-random PROFILE=generic-all Hanya menjalankan peran i3-gaps dalam profil generic-all
make test-docker-single PROFILE=generic-all ROLE=i3-gapsJika Anda tidak mempercayai tes di Docker dan ingin melihat hasil akhir secara grafis dalam VM, Anda juga dapat menggunakan Vagrant untuk melakukan hal yang sama.
make test-vagrant PROFILE=generic-all Cari bagian paket dan atur ke keadaan yang diinginkan. install atau remove atau nilai lain untuk mengabaikannya.
$ vi host_vars/ < name > .yml...
i3-gaps : ' install '
font_ubuntu : ' install '
diff_highlight : ' install '
docker : ' remove '
docker_compose : ' remove '
skype : ' ignore '
sublime : ' ignore '
...Banyak paket juga dilengkapi dengan opsi yang dapat Anda tweak. Misalnya Anda dapat menentukan versi python yang harus disediakan oleh sistem Anda:
$ vi host_vars/ < name > .yml...
python_2 : yes
python_3 : yes
...Kustomisasi lain bisa menjadi program default yang akan digunakan saat membuka jenis file speficif:
$ vi host_vars/ < name > .yml...
xdg_mime_defaults :
- desktop_file : chromium.desktop
mime_types :
- text/html
- text/xml
- application/xhtml_xml
- application/x-mimearchive
- x-scheme-handler/http
- x-scheme-handler/https
... Atau untuk mengatur DPI Anda dan opsi lain untuk lxdm
$ vi host_vars/ < name > .yml...
lxdm_dpi : 132
lxdm_gtk_theme : Arc-Darker
lxdm_show_user_list : no
...Pilih GPU dan driver touchpad Anda:
$ vi host_vars/ < name > .yml # Supported values: 'amdgpu' 'ati' 'intel' 'modesetting' 'nouveau' 'nvidia' 'radeon'
xorg_gpu : modesetting
# Enable VDPAU_DRIVER=va_gl systemwide
xorg_gpu_vdpau_va_gl_enable : yes
# 'libinput' or 'synaptics'
xorg_touchpad_enable : yes
xorg_touchpad_driver : ' synaptics '
...Sebelum Anda dapat memulai, ada beberapa alat yang diperlukan yang harus ada pada sistem. Cukup salin-paste perintah-perintah itu sebagai root ke terminal Anda.
apt-get update
apt-get install --no-install-recommends --no-install-suggests -y
make
sudo
Pastikan pengguna Anda diizinkan menjalankan sudo
usermod -aG sudo <username>
Untuk menjamin stabilitas yang paling mungkin dari pengaturan ini, cek Travis-CI yang luas telah ditentukan yang secara otomatis dijalankan setiap malam. Tes tersebut dijalankan di dalam wadah Docker. Kasus uji berikut telah ditentukan:
Jika Anda menjalankan OS yang berbeda dan masih ingin menyediakan sistem Anda dengan Ansible, lihat proyek serupa berikut:
Silakan berkontribusi dan menambahkan peran baru seperti yang diinginkan. Saat melakukannya, lihat kontribusi.md untuk praktik terbaik yang diperlukan.
Lisensi MIT
Hak Cipta (C) Sitopia 2017