Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Настройка подсистемы Linux для Windows 10

Установить подсистему Linux на винду

  1. Центр Управления - Приложения - Сопутствующие параметры: Программы и компоненты - Включение или отключение компонентов Windows - Поставить галку рядом с "Подсистема Linux"
  2. Центр Управления - Для разработчиков - Режим разработчика
  3. В терминале запустить bash или lxrun /install и следовать вопросам установки

Отказаться от смены языка системы на русский!

Удалить полностью

$ lxrun /uninstall /full

Если выходишь из подсистемы, то она ещё какое-то время работает. Проверить через её менеджер:

sc query LxssManager

To restart it use:

sc stop LxssManager

Then:

sc start LxssManager

Если имя получше пользователя (не с большой буквы), то в c:/Users/Antivitla/.ssh/config прописать "User antivitla"

Проапгрейдировать

$ sudo apt-get update
$ sudo apt-get upgrade

SSH

Скопировать свои текущие SSH-ключи из винды

$ cp -R /mnt/c/Users/Antivitla/.ssh/. ~/.ssh/

https://florianbrinkmann.com/en/3436/ssh-key-and-the-windows-subsystem-for-linux/

Настроить разрешения

$ sudo chmod 600 -R ~/.ssh
$ sudo chmod 700 ~/.ssh

https://unix.stackexchange.com/questions/257590/ssh-key-permissions-chmod-settings

Лучше переименовать openssh ключи в id_rsa и id_rsa.pub чтоб автоматом цепляло. Либо заморочиться и добавить "IdentityFile ~/.ssh/openssh_id_rsa" в ~/.ssh/config для каждого хоста

Возможно добавить в ~/.bashrc

# ssh
eval $(ssh-agent -s)
ssh-add /home/antivitla/.ssh/id_rsa

Установка тулзов

Make

$ sudo apt-get install make

Руби

ruby-install

$ cd /tmp
$ wget -O ruby-install-0.6.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.6.1.tar.gz
$ tar -xzvf ruby-install-0.6.1.tar.gz
$ cd ruby-install-0.6.1/
$ sudo make install

Затем

$ ruby-install ruby 2.3

Затем Chruby

chruby

$ cd /tmp
$ wget -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz
$ tar -xzvf chruby-0.3.9.tar.gz
$ cd chruby-0.3.9/
$ sudo make install
$ sudo ./scripts/setup.sh

Добавить в ~/.bashrc

# Ruby
source /usr/local/share/chruby/chruby.sh
source /usr/local/share/chruby/auto.sh
chruby ruby-2.3.5

Затем

gem install bundler

Node

NVM

Java

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Возможна жопа с инсталлером: https://ubuntuforums.org/showthread.php?t=2374686

Добавить в ~/.bashrc

# Java
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre/bin/"

Postgres 9.5

$ sudo apt-get install postgresql-9.5 postgresql-contrib-9.5

В /etc/postgresql/9.5/main/postgresql.conf раскомментить и сделать звездочку вместо "localhost"

listen_addresses = '*'

После этого можно использовать "sudo service postgresql restart" и др. команды. Возможно потребуется создать роли и базы данных зайдя под юзером postgres:

$ sudo su postgres
$ psql
> CREATE ROLE <username> LOGIN SUPERUSER;
> CREATE DATABASE <dbname> OWNER <username>;

.bashrc

Автозагрузка SSH

Возможно, понадобится

# ssh
eval $(ssh-agent -s)
ssh-add /home/antivitla/.ssh/id_rsa

Приглашение консоли

Найти в ~/.bashrc строки и заменить как тут (менялось содержимое PS1)

if [ "$color_prompt" = yes ]; then
		PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\[\033[01;90m\]β \[\033[01;00m\]'
else
		PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\nβ '
fi

Прочее

Запускать чтоб были нормальные управляющие клавиши

bash -cur_console:p1

Для удобства можно создать ba.cmd c такой командой и запускать его, добавив в $PATH.

Игнорировать изменение прав

git config core.fileMode false

Скопировать свои настройки из ~/.gitconfig виндовые

Положить ~/.gitattributes с игнором разницы EOL

	# Ignore all differences in line endings
	*        -crlf

Для некоторых Ruby-проектов с замороченным build extensions

$ sudo apt-get install ruby-dev libpq-dev pkg-config

Подобие Midnight Commander

$ sudo apt-get install gnuit

И запускать его

$ gitfm

Ходить Ctrl+P, Ctrl+N, Esc >, Esc <, Tab

SSL сертификаты

Сертификатный бот

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.