Update 08-12-2019
This commit is contained in:
@@ -1,77 +0,0 @@
|
||||
# Bash (exemples)
|
||||
|
||||
|
||||
|
||||
Ajouter un préfixe à la ligne d'un fichier texte:
|
||||
|
||||
```bash
|
||||
brew list | sed -e 's/^/brew install /' > brew-list.txt
|
||||
```
|
||||
|
||||
Pour un suffixe:
|
||||
|
||||
```bash
|
||||
sed -e 's/$/suffix/'
|
||||
```
|
||||
|
||||
|
||||
|
||||
Cherche tous les .jpg d'un répertoire et les effacer:
|
||||
|
||||
```bash
|
||||
find . -name '*jpg' -exec rm {} +
|
||||
```
|
||||
|
||||
|
||||
|
||||
Concaténer tous les .csv:
|
||||
|
||||
```bash
|
||||
find . -type f -iname "*.csv" -exec cat {} \; > toutes.txt
|
||||
```
|
||||
|
||||
|
||||
Couleurs dans le terminal:
|
||||
|
||||
```bash
|
||||
export UNDERLINE=$(tput sgr 0 1)
|
||||
export BOLD=$(tput bold)
|
||||
export BLACK=$(tput setaf 0)
|
||||
export RED=$(tput setaf 1)
|
||||
export GREEN=$(tput setaf 2)
|
||||
export YELLOW=$(tput setaf 3)
|
||||
export BLUE=$(tput setaf 4)
|
||||
export PURPLE=$(tput setaf 5)
|
||||
export CYAN=$(tput setaf 6)
|
||||
export WHITE=$(tput setaf 7)
|
||||
export GRAY=$(tput setaf 8)
|
||||
export LIGHTRED=$(tput setaf 9)
|
||||
export LIGHTGREEN=$(tput setaf 10)
|
||||
export LIGHTYELLOW=$(tput setaf 11)
|
||||
export LIGHTBLUE=$(tput setaf 12)
|
||||
export LIGHTPURPLE=$(tput setaf 11)
|
||||
export LIGHTCYAN=$(tput setaf 11)
|
||||
export RESET=$(tput sgr0)
|
||||
```
|
||||
|
||||
```bash
|
||||
echo "${BLUE}blue${RESET} ${RED}red${RESET}"
|
||||
blue red
|
||||
for i in {0..255}; do echo "$(tput setaf $i)test"; done
|
||||
|
||||
```
|
||||
|
||||
Supprimer récursivement tous les fichiers .DS_ST0RE:
|
||||
|
||||
```bash
|
||||
sudo find / -name ".DS_Store" -depth -exec rm {} \;
|
||||
```
|
||||
|
||||
```bash
|
||||
find . -name '*.DS_Store' -type f -delete
|
||||
```
|
||||
|
||||
```bash
|
||||
find . -name '.DS_Store' -type f -print -exec rm -f {} +
|
||||
```
|
||||
|
||||
@@ -350,3 +350,19 @@ $ HOMEBREW_NO_AUTO_UPDATE=1 brew cask install virtualbox-extension-pack
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### Chromium
|
||||
|
||||
```bash
|
||||
$ brew cask list | grep chrom
|
||||
chromium
|
||||
eloston-chromium
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### Qlmarkdown et Catalina
|
||||
|
||||
https://github.com/toland/qlmarkdown/issues/89
|
||||
|
||||
|
||||
@@ -102,6 +102,31 @@ $ brew pin <formula>
|
||||
bruno@SilverBook:/usr/local/Cellar/terminal-notifier/1.8.0$ brew pin terminal-notifier
|
||||
```
|
||||
|
||||
```bash
|
||||
$ brew pin php
|
||||
|
||||
$ brew info php
|
||||
php: stable 7.4.0 (bottled) [pinned at 7.3.12]
|
||||
```
|
||||
|
||||
Liste des paquets 'pinned':
|
||||
|
||||
```bash
|
||||
$ brew list --pinned
|
||||
php
|
||||
```
|
||||
|
||||
Essayer de mettre-à-jour un paquet 'pinned':
|
||||
|
||||
```bash
|
||||
$ brew upgrade -n php
|
||||
Error: Not upgrading 1 pinned package:
|
||||
php 7.4.0
|
||||
==> No packages to upgrade
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### Re-permettre la m-à-j:
|
||||
|
||||
```bash
|
||||
@@ -206,6 +231,158 @@ Cleaning /usr/local/Cellar/terminal-notifier/1.8.0
|
||||
1 links created for /usr/local/Cellar/terminal-notifier/1.7.1
|
||||
```
|
||||
|
||||
#### Installer une ancienne version d'une formule:
|
||||
|
||||
Exemple avec [annie](https://github.com/iawia002/annie), un téléchargeur de vidéo. La version courante est la dernière (0.9.6)
|
||||
|
||||
```bash
|
||||
~ master*
|
||||
❯ annie -v
|
||||
|
||||
annie: version 0.9.6, A fast, simple and clean video downloader.
|
||||
```
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
~ master*
|
||||
❯ cd "$(brew --repo homebrew/core)"
|
||||
```
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core master
|
||||
❯ git log Formula/annie.rb
|
||||
commit 377c142a619f2b2563c4c01b06f2560707fa3228
|
||||
Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org>
|
||||
Date: Fri Nov 8 10:23:24 2019 +0000
|
||||
|
||||
annie: update 0.9.6 bottle.
|
||||
|
||||
commit e3201eb44c3eade6f113f616b67315ae13f5a70b
|
||||
Author: iawia002 <xuxinzhao@caicloud.io>
|
||||
Date: Fri Nov 8 18:15:49 2019 +0800
|
||||
|
||||
annie 0.9.6
|
||||
|
||||
Closes #46491.
|
||||
|
||||
Signed-off-by: Rui Chen <rchen@meetup.com>
|
||||
|
||||
commit ef762f724ce45afb0007f7d3b96a8f10ceeb3b58
|
||||
Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org>
|
||||
Date: Fri Oct 11 21:56:45 2019 +0000
|
||||
|
||||
annie: update 0.9.5 bottle.
|
||||
|
||||
commit 249669ab6a53335d85d8973c8e82f182903434ca
|
||||
Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org>
|
||||
Date: Tue Aug 13 14:30:19 2019 +0000
|
||||
|
||||
annie: update 0.9.5 bottle.
|
||||
|
||||
commit 5fa1c6903f84cc22c2cbed751de6125cab4fe214
|
||||
Author: iawia002 <xuxinzhao@caicloud.io>
|
||||
Date: Tue Aug 13 22:22:21 2019 +0800
|
||||
|
||||
annie 0.9.5
|
||||
|
||||
Closes #43069.
|
||||
|
||||
Signed-off-by: Thierry Moisan <thierry.moisan@gmail.com>
|
||||
|
||||
```
|
||||
|
||||
Création d'une nouvelle branche pour l'ancienne version:
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core master 19s
|
||||
❯ git checkout -b annie-0.9.5 ef762f724ce45afb0007f7d3b96a8f10ceeb3b58
|
||||
Basculement sur la nouvelle branche 'annie-0.9.5'
|
||||
```
|
||||
|
||||
Unlink la version courante:
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core annie-0.9.5
|
||||
❯ brew unlink annie
|
||||
Unlinking /usr/local/Cellar/annie/0.9.6... 1 symlinks removed
|
||||
```
|
||||
|
||||
Installation de la version 0.9.5:
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core annie-0.9.5
|
||||
❯ HOMEBREW_NO_AUTO_UPDATE=1 brew install annie
|
||||
==> Downloading https://homebrew.bintray.com/bottles/annie-0.9.5.catalina.bottle.tar.gz
|
||||
==> Downloading from https://akamai.bintray.com/06/06ff55a2834ad01a262b66f181a8c99800157ec0f465f80e0cc3518be7ebd1da?__gda__=exp=1575195423~hmac=edc063962f1a5b12a715444b0f1eff
|
||||
######################################################################## 100.0%
|
||||
==> Pouring annie-0.9.5.catalina.bottle.tar.gz
|
||||
🍺 /usr/local/Cellar/annie/0.9.5: 5 files, 8.6MB
|
||||
```
|
||||
|
||||
L'ancienne version 0.9.5 est bien active:
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core annie-0.9.5
|
||||
❯ annie -v
|
||||
|
||||
annie: version 0.9.5, A fast, simple and clean video downloader.
|
||||
```
|
||||
|
||||
Retour sur la branche 'master'
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core annie-0.9.5
|
||||
❯ git checkout master
|
||||
Basculement sur la branche 'master'
|
||||
Votre branche est à jour avec 'origin/master'.
|
||||
```
|
||||
|
||||
Suppression de l'ancienne branche 0.9.5
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core master
|
||||
❯ git branch -d annie-0.9.5
|
||||
Branche annie-0.9.5 supprimée (précédemment ef762f72).
|
||||
```
|
||||
|
||||
Liste des versions installés:
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core master
|
||||
❯ brew list annie --versions
|
||||
annie 0.9.6 0.9.5
|
||||
```
|
||||
|
||||
Info sur la formule 'annie'
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core master
|
||||
❯ brew info annie
|
||||
annie: stable 0.9.6 (bottled)
|
||||
Fast, simple and clean video downloader
|
||||
https://github.com/iawia002/annie
|
||||
/usr/local/Cellar/annie/0.9.5 (5 files, 8.6MB) *
|
||||
Poured from bottle on 2019-12-01 at 11:05:06
|
||||
/usr/local/Cellar/annie/0.9.6 (5 files, 8.6MB)
|
||||
Poured from bottle on 2019-12-01 at 10:57:11
|
||||
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/annie.rb
|
||||
```
|
||||
|
||||
Changement de version:
|
||||
|
||||
```bash
|
||||
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core master
|
||||
❯ brew switch annie 0.9.6
|
||||
Cleaning /usr/local/Cellar/annie/0.9.6
|
||||
Cleaning /usr/local/Cellar/annie/0.9.5
|
||||
1 links created for /usr/local/Cellar/annie/0.9.6
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### Configurer (arguments) une formule:
|
||||
|
||||
```bash
|
||||
@@ -232,7 +409,7 @@ $ brew log <formula>
|
||||
|
||||
#### « keg-only »
|
||||
|
||||
La formule est installée dans Cellar. Elle n’est pas linkée dans /usr/local
|
||||
La formule est installée dans Cellar. Elle n’est pas linkée dans /usr/local (elle n'est pas appelable directement, faire /usr/local/my-command_keg-only)
|
||||
|
||||
<u>Pour la linker:</u>
|
||||
|
||||
@@ -513,6 +690,157 @@ To use the assemblies from other formulae you need to set:
|
||||
|
||||
|
||||
|
||||
### coreutils (GNU Tools)
|
||||
|
||||
Installer la version GNU des outils lignes de commande (OSX utilise la version BSD):
|
||||
|
||||
```bash
|
||||
$ brew install coreutils
|
||||
```
|
||||
|
||||
Les outils GNU sont préfixés par la lettre **g** (**g**ls, **g**cat, **g**chmod...), permettant d'utiliser également leur pendant BSD (ls, cat, chmod...)
|
||||
|
||||
*Les outils GNU sont installés dans /usr/local/bin/*
|
||||
|
||||
*Un alias sans le préfixe **g** est crée dans /usr/local/opt/coreutils/libexec/gnubin/*
|
||||
|
||||
|
||||
|
||||
On peut ajouter le dossier /usr/local/opt/coreutils/libexec/gnubin dans le $PATH. Les outils GNU sont alors disponibles sans préfixe, à la place des outils BSD.
|
||||
|
||||
De même pour les man (`MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"`)
|
||||
|
||||
```bash
|
||||
# AVEC PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
|
||||
|
||||
❯ which ls
|
||||
/usr/local/opt/coreutils/libexec/gnubin/ls
|
||||
|
||||
❯ which gls
|
||||
/usr/local/bin/gls
|
||||
(gls -> ../Cellar/coreutils/8.31/bin/gls)
|
||||
|
||||
❯ which /bin/ls
|
||||
/bin/ls
|
||||
|
||||
❯ ls --version
|
||||
ls (GNU coreutils) 8.31
|
||||
|
||||
❯ gls --version
|
||||
ls (GNU coreutils) 8.31
|
||||
|
||||
|
||||
# SANS PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
|
||||
|
||||
❯ which ls
|
||||
/bin/ls
|
||||
|
||||
❯ which gls
|
||||
/usr/local/bin/gls
|
||||
|
||||
❯ which /bin/ls
|
||||
/bin/ls
|
||||
|
||||
❯ ls --version
|
||||
ls: illegal option -- -
|
||||
|
||||
❯ gls --version
|
||||
ls (GNU coreutils) 8.31
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### findutils (GNU Tools)
|
||||
|
||||
Comprend les versions GNU de *find, locate, xargs* (pas de updatedb dans osx )
|
||||
|
||||
```bash
|
||||
$ brew install findutils
|
||||
|
||||
# SANS PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
|
||||
|
||||
$ which find
|
||||
/usr/bin/find
|
||||
|
||||
$ which gfind
|
||||
/usr/local/bin/gfind
|
||||
|
||||
$ gfind --version
|
||||
find (GNU findutils) 4.7.0
|
||||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by Eric B. Decker, James Youngman, and Kevin Dalley.
|
||||
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS(FTS_CWDFD) CBO(level=2)
|
||||
|
||||
```
|
||||
|
||||
Ajouter `PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"` et `PATH="/usr/local/opt/findutils/libexec/gnuman:$PATH"` au $PATH pour accéder aux commandes sans le préfixe **g**.
|
||||
|
||||
|
||||
|
||||
<u>Autres paquets GNU:</u>
|
||||
|
||||
- gnu-getopt (keg-only)
|
||||
- gnutls
|
||||
- grep (ggrep)(`PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"`)
|
||||
- moreutils (https://joeyh.name/code/moreutils/)
|
||||
- gnu-sed
|
||||
- gawk
|
||||
- gnu-tar
|
||||
- ...
|
||||
|
||||
|
||||
|
||||
### Erreurs:
|
||||
|
||||
**`require': cannot load such file -- active_support/core_ext/object/blank (LoadError)**
|
||||
|
||||
```bash
|
||||
# Erreur sur chaque commande brew...
|
||||
|
||||
% brew doctor
|
||||
Traceback (most recent call last):
|
||||
4: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>'
|
||||
3: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
|
||||
2: from /usr/local/Homebrew/Library/Homebrew/global.rb:13:in `<top (required)>'
|
||||
1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
|
||||
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- active_support/core_ext/object/blank (LoadError)
|
||||
|
||||
|
||||
```
|
||||
|
||||
Lancer **brew update-reset** pour réparer:
|
||||
|
||||
```bash
|
||||
% brew update-reset
|
||||
==> Fetching /usr/local/Homebrew...
|
||||
remote: Enumerating objects: 38, done.
|
||||
remote: Counting objects: 100% (38/38), done.
|
||||
remote: Compressing objects: 100% (31/31), done.
|
||||
remote: Total 38 (delta 5), reused 31 (delta 2), pack-reused 0
|
||||
Unpacking objects: 100% (38/38), done.
|
||||
From https://github.com/Homebrew/brew
|
||||
|
||||
* [new branch] dependabot/bundler/Library/Homebrew/rubocop-rspec-1.37.0 -> origin/dependabot/bundler/Library/Homebrew/rubocop-rspec-1.37.0
|
||||
|
||||
==> Resetting /usr/local/Homebrew...
|
||||
Branch 'master' set up to track remote branch 'master' from 'origin'.
|
||||
Reset branch 'master'
|
||||
Your branch is up to date with 'origin/master'.
|
||||
|
||||
==> Fetching /usr/local/Homebrew/Library/Taps/getantibody/homebrew-tap...
|
||||
|
||||
==> Resetting /usr/local/Homebrew/Library/Taps/getantibody/homebrew-tap...
|
||||
Branch 'master' set up to track remote branch 'master' from 'origin'.
|
||||
Reset branch 'master'
|
||||
Your branch is up to date with 'origin/master'.
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Cask:
|
||||
|
||||
### [:fa-link: Homebrew-Cask](brew-cask.md)
|
||||
@@ -59,6 +59,16 @@ export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
```
|
||||
|
||||
#### Mettre à jour:
|
||||
|
||||
Relancer le script d'installation
|
||||
|
||||
```bash
|
||||
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Utilisation:
|
||||
@@ -79,6 +89,17 @@ $ nvm install 6
|
||||
$ nvm install --lts=dubnium
|
||||
```
|
||||
|
||||
Mettre à jour NodeJS et réinstaller les paquets.
|
||||
|
||||
```bash
|
||||
Latest version:
|
||||
nvm install node --reinstall-packages-from=node
|
||||
Stable (LTS) version:
|
||||
nvm install lts/* --reinstall-packages-from=node
|
||||
|
||||
# nvm install node --reinstall-packages-from=$(nvm current)
|
||||
```
|
||||
|
||||
Liste des versions de Node installées:
|
||||
|
||||
```bash
|
||||
@@ -97,6 +118,22 @@ lts/boron -> v6.14.4 (-> N/A)
|
||||
lts/carbon -> v8.11.4
|
||||
```
|
||||
|
||||
Liste des versions de Node installables:
|
||||
|
||||
```bash
|
||||
$ nvm ls-remote
|
||||
v0.1.14
|
||||
v0.1.15
|
||||
.../...
|
||||
v12.12.0
|
||||
v12.13.0 (LTS: Erbium)
|
||||
-> v12.13.1 (Latest LTS: Erbium)
|
||||
v13.0.0
|
||||
v13.0.1
|
||||
v13.1.0
|
||||
v13.2.0
|
||||
```
|
||||
|
||||
Versions téléchargées:
|
||||
|
||||
```bash
|
||||
@@ -153,6 +190,16 @@ $ nvm install --lts=dubnium
|
||||
Now using node v10.15.0 (npm v6.4.1)
|
||||
|
||||
$ nvm reinstall-packages 8
|
||||
|
||||
# update 12.13.1 depuis 12.13.0
|
||||
$ nvm reinstall-packages 12.13.0
|
||||
```
|
||||
|
||||
Désinstaller une version de Node:
|
||||
|
||||
```bash
|
||||
$ nvm uninstall 10.16.2
|
||||
Uninstalled node v10.16.2
|
||||
```
|
||||
|
||||
Les paquets sont installés dans:
|
||||
|
||||
@@ -157,6 +157,8 @@ Rajouter ce bloc pour chaque Virtual Host.
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
https://deliciousbrains.com/https-locally-without-browser-privacy-errors/
|
||||
|
||||
|
||||
|
||||
### Générer un certificat auto-signé:
|
||||
@@ -307,7 +309,7 @@ $ sudo apachectl start
|
||||
`Fatal Python error: Py_Initialize: unable to load the file system codec`
|
||||
`ModuleNotFoundError: No module named 'encodings'`
|
||||
|
||||
Dans `https.conf` commencer par vérifier la version de Python dans la ligne suivante. Si elle est correcte, commenter la ligne:
|
||||
Dans `httpd.conf` commencer par vérifier la version de Python dans la ligne suivante. Si elle est correcte, commenter la ligne:
|
||||
|
||||
`WSGIPythonHome "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6"`
|
||||
|
||||
|
||||
@@ -14,10 +14,10 @@ On installe un petit utilitaire [PHP Switcher Script](https://gist.github.com/rh
|
||||
$ curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw > /usr/local/bin/sphp
|
||||
$ chmod +x /usr/local/bin/sphp
|
||||
|
||||
|
||||
https://gist.github.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw/b51e5f561dc6492249ac167813b9b40dcdd72bd0/sphp.sh
|
||||
```
|
||||
|
||||
Ensuite. pour changer de version:
|
||||
Ensuite pour changer de version:
|
||||
|
||||
```bash
|
||||
$ sphp 7.3
|
||||
@@ -106,6 +106,26 @@ xdebug.remote_port=9000
|
||||
|
||||
```
|
||||
|
||||
#### Installer l'extension ssh2:
|
||||
|
||||
```bash
|
||||
$ brew install libssh2
|
||||
|
||||
$ cd ~/Downloads
|
||||
$ git clone https://git.php.net/repository/pecl/networking/ssh2.git
|
||||
$ cd ssh2
|
||||
$ phpize
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
$ cd /usr/local/etc/php/7.3/conf.d
|
||||
$ nano ext-ssh2.ini
|
||||
|
||||
Ajouter au fichier:
|
||||
extension="ssh2.so"
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Erreurs:
|
||||
|
||||
Reference in New Issue
Block a user