Muestra las diferencias entre dos versiones de la página.
guias:debian_jessie_post_instalacion [2017/06/03 14:59] Sergio Alvariño [gdc] |
guias:debian_jessie_post_instalacion [2021/04/16 20:41] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Debian Jessie, post instalación ====== | ||
- | ===== Introducción ===== | ||
- | |||
- | Mi portátil es un ordenador Acer 5755G con las siguientes características: | ||
- | |||
- | * Core i5 2430M 2.4GHz | ||
- | * NVIDIA Geforce GT 540M | ||
- | * 8Gb RAM | ||
- | * 750Gb HD | ||
- | |||
- | Mi portátil equipa una tarjeta _Nvidia Geforce GT540M_ que resulta pertenecer a una rama muerta en el árbol de desarrollo de Nvidia. | ||
- | |||
- | La gráfica es una Nvidia Optimus, es decir una tarjeta híbrida que funcionaba perfectamente en Ubuntu 14.04 usando Bumblebee. | ||
- | |||
- | Con el paso a Ubuntu **Xenial Xerus** | ||
- | |||
- | A mayores me encontré también con problemas insalvables (para mi) para instalar el Virtual Box así que decidí volver a Debian. | ||
- | |||
- | Para hacer la actualización del sistema opté por desinstalar el dvd y montar en su lugar un disco SSD en un Caddie para Acer. La instalación fué muy fácil, y aunque el portátil arranca perfectamente de cualquiera de los dos discos, finalmente opté por instalar el SSD en la bahía interna del HD original y pasar el HD al caddie. | ||
- | |||
- | Una vez instalado el sistema operativo, lo primero fue la instalación del Bumblebee para probar que funcionaba normalmente. | ||
- | |||
- | < | ||
- | sudo apt-get install firmware-linux-nonfree Bumblebee-nvidia primus | ||
- | </ | ||
- | |||
- | |||
- | ===== Cambiar las opciones de idioma ===== | ||
- | |||
- | Ejecutamos: | ||
- | |||
- | < | ||
- | sudo dpkg-reconfigure locales | ||
- | </ | ||
- | Y después solo tenemos que cambiar la selección del idioma en la configuración de Gnome. | ||
- | |||
- | Nos pedirá rearrancar Gnome y renombrará todos los directorios de sistema. | ||
- | |||
- | ===== Gestión de paquetes ===== | ||
- | |||
- | Instalamos // | ||
- | |||
- | < | ||
- | sudo apt-get install aptitude | ||
- | sudo apt-get install synaptic | ||
- | sudo apt-get install gdebi | ||
- | </ | ||
- | Cambiamos las opciones de // | ||
- | |||
- | ==== Quitamos el cdrom de los sources.list ==== | ||
- | |||
- | Editamos el fichero /// | ||
- | |||
- | |||
- | ==== Habilitamos los backports y multimedia ==== | ||
- | |||
- | === Backports: === | ||
- | |||
- | < | ||
- | sudo cat> / | ||
- | # backports | ||
- | deb http:// | ||
- | EOF | ||
- | </ | ||
- | |||
- | |||
- | === Multimedia: === | ||
- | |||
- | < | ||
- | sudo cat>> / | ||
- | # multimedia | ||
- | deb http:// | ||
- | EOF | ||
- | |||
- | sudo apt-get -y --allow-unauthenticated install --reinstall deb-multimedia-keyring | ||
- | </ | ||
- | |||
- | Y actualizamos: | ||
- | |||
- | < | ||
- | sudo aptitude update | ||
- | </ | ||
- | |||
- | |||
- | ===== Instalación de varios paquetes sueltos ===== | ||
- | |||
- | ==== Programas de utilidad y uso frecuente ==== | ||
- | |||
- | === Menulibre === | ||
- | |||
- | Un editor de menús para Gnome, nos permite generar los archivos desktop para cualquier aplicación. Mucho más completo que // | ||
- | |||
- | < | ||
- | sudo apt-get install menulibre | ||
- | </ | ||
- | === Terminator === | ||
- | |||
- | Terminator es un emulador de terminal muy completo y muy flexible. Los instalamos desde // | ||
- | |||
- | < | ||
- | sudo aptitude install terminator python-keybinder | ||
- | </ | ||
- | === Keepass2 === | ||
- | |||
- | Instalado // | ||
- | |||
- | < | ||
- | sudo aptitude install keepass2 | ||
- | </ | ||
- | === gksu === | ||
- | |||
- | Un //sudo// en modo gráfico: | ||
- | |||
- | < | ||
- | sudo aptitude install gksu | ||
- | </ | ||
- | **Muy importante** ejecutar '' | ||
- | |||
- | === Diskmanager === | ||
- | |||
- | Para gestionar discos portátiles | ||
- | |||
- | < | ||
- | sudo apt-get install ntfs-3g disk-manager | ||
- | </ | ||
- | === Gnucash === | ||
- | |||
- | Finanzas en linux | ||
- | |||
- | < | ||
- | sudo apt-get -t jessie-backports install gnucash | ||
- | </ | ||
- | === Herramientas sync === | ||
- | |||
- | No sin mis //backups// | ||
- | |||
- | < | ||
- | sudo apt-get install rsync grsync | ||
- | </ | ||
- | === Dropbox === | ||
- | |||
- | Bajado el paquete Debian desde la página [[https:// | ||
- | |||
- | === Compresores et al === | ||
- | |||
- | < | ||
- | sudo apt-get install rar unrar zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar | ||
- | </ | ||
- | === Freeplane === | ||
- | |||
- | Mejor que [[http:// | ||
- | |||
- | === Telegram desktop === | ||
- | |||
- | El cliente de mensajeria de Telegram. Descargado desde la web, instalado en //~/apps// | ||
- | |||
- | ===== Internet ===== | ||
- | |||
- | ==== Chrome y Chromium ==== | ||
- | |||
- | Instalado /Chrome/ añadiendo fuentes a /aptitude/. No recuerdo como las añadí, pero en el fichero /// | ||
- | |||
- | < | ||
- | ### | ||
- | ### | ||
- | ### | ||
- | ### | ||
- | ### THIS FILE IS AUTOMATICALLY CONFIGURED ### | ||
- | # You may comment out this entry, but any other modifications may be lost. | ||
- | deb [arch=amd64] http:// | ||
- | </ | ||
- | Ejecutamos: | ||
- | |||
- | < | ||
- | sudo aptitude install google-chrome-stable | ||
- | sudo aptitude install chromium | ||
- | </ | ||
- | ==== Tor ==== | ||
- | |||
- | Bajado el comprimido desde la [[https:// | ||
- | |||
- | ==== Deluge ==== | ||
- | |||
- | Mi aplicación para descarga de torrents. | ||
- | |||
- | Instalamos desde aptitude | ||
- | |||
- | < | ||
- | sudo aptitude install deluge | ||
- | xdg-mime default deluge.desktop x-scheme-handler/ | ||
- | </ | ||
- | ==== TiddlyDesktop ==== | ||
- | |||
- | //Tiddly// es una wiki auto-contenida y muy flexible, tiene un sinfin de versiones adaptadas para diferentes usos. Hace años que la uso como cuaderno de bitácora personal, pero no había seguido su evolución. | ||
- | |||
- | Me he descargado: | ||
- | |||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | A mayores me he instalado la aplicación [[https:// | ||
- | |||
- | Como siempre la instalamos en //~/apps// y creamos un lanzador con // | ||
- | |||
- | ===== Gráficos ===== | ||
- | |||
- | ==== Inkscape ==== | ||
- | |||
- | El programa libre para creación y edición de gráficos vectoriales. | ||
- | |||
- | < | ||
- | apt-cache policy inkscape | ||
- | apt-get -t jessie-backports install inkscape | ||
- | aptitude install ink-generator | ||
- | </ | ||
- | ==== LibreCAD y FreeCAD ==== | ||
- | |||
- | Imprescindibles para el diseño y creación de cacharros. | ||
- | |||
- | Instalado desde repos con aptitude | ||
- | |||
- | < | ||
- | apt-get install librecad | ||
- | |||
- | apt-get -t jessie-backports install freecad | ||
- | </ | ||
- | ==== Gimp ==== | ||
- | |||
- | El programa libre por excelencia de edición y retocado de imágenes. | ||
- | |||
- | Gimp ya estaba instalado, adicionalmente instalado el gimp data-extra | ||
- | |||
- | < | ||
- | sudo aptitude install gimp-plugin-registry gimp-texturize gimp-data-extras gimp-gap | ||
- | </ | ||
- | |||
- | ==== Shutter ==== | ||
- | |||
- | Un programa de captura de pantallas que permite editarlas rápidamente: | ||
- | |||
- | < | ||
- | sudo aptitude install shutter libgoo-canvas-perl | ||
- | </ | ||
- | |||
- | ==== Pencil ==== | ||
- | |||
- | Es una aplicación para hacer bocetos y diseño de páginas web. Probablemente no la necesitas. | ||
- | |||
- | Descargar la última versión (paquete Debian) | ||
- | desde [[http:// | ||
- | listo. Puede dar problemas si usamos Iceweasel, ya que el paquete | ||
- | depende de Firefox. Más | ||
- | info [[https:// | ||
- | |||
- | |||
- | ==== Fotografía ==== | ||
- | |||
- | === Rawtherapee y Darktable: Tratamiento de imágenes fotogŕaficas === | ||
- | |||
- | Si te gusta la fotografía y/o tienes una cámara reflex, | ||
- | definitivamente necesitas estas aplicaciones. | ||
- | |||
- | < | ||
- | sudo aptitude install icc-profiles icc-profiles-free | ||
- | sudo aptitude install rawtherapee darktable | ||
- | </ | ||
- | |||
- | === Stopmotion === | ||
- | |||
- | Para hacer pélis de animación Stopmotion. | ||
- | |||
- | < | ||
- | sudo aptitude install stopmotion vgrabbj dvgrab | ||
- | </ | ||
- | |||
- | TODO: Probar qStopmotion | ||
- | |||
- | ===== Audio y video ===== | ||
- | |||
- | ==== Codecs ==== | ||
- | |||
- | Instalamos los codecs | ||
- | |||
- | < | ||
- | sudo apt-get install libav-tools | ||
- | |||
- | sudo apt-get install faad gstreamer0.10-ffmpeg gstreamer0.10-x \ | ||
- | gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-base \ | ||
- | gstreamer0.10-plugins-good gstreamer0.10-plugins-bad \ | ||
- | gstreamer0.10-plugins-ugly ffmpeg lame twolame vorbis-tools \ | ||
- | libquicktime2 libfaac0 libmp3lame0 libxine2-all-plugins libdvdread4 \ | ||
- | libdvdnav4 libmad0 sox libxvidcore4 libstdc++5 | ||
- | |||
- | sudo apt-get install w64codecs | ||
- | </ | ||
- | ==== Reproductores de música ==== | ||
- | |||
- | Instalamos // | ||
- | |||
- | < | ||
- | sudo aptitude install clementine gstreamer0.10-plugins-bad | ||
- | sudo aptitude install decibel-audio-player audacity soundconverter | ||
- | </ | ||
- | ==== Gpodder ==== | ||
- | |||
- | Instalamos //gpodder// para gestionar nuestros podcast, aunque // | ||
- | |||
- | < | ||
- | sudo aptitude install gpodder | ||
- | </ | ||
- | ==== Spotify ==== | ||
- | |||
- | Cliente de //Spotify// | ||
- | |||
- | < | ||
- | sudo apt-key adv --keyserver hkp:// | ||
- | echo deb http:// | ||
- | sudo aptitude update | ||
- | sudo aptitude install spotify-client | ||
- | </ | ||
- | ==== Video ==== | ||
- | |||
- | Instalamos también utilidades de video: | ||
- | |||
- | < | ||
- | sudo aptitude install vlc browser-plugin-vlc | ||
- | sudo aptitude install recordmydesktop gtk-recordmydesktop | ||
- | sudo aptitude install vokoscreen | ||
- | sudo aptitude install handbrake handbrake-cli handbrake-gtk | ||
- | </ | ||
- | ===== Seguridad ===== | ||
- | ==== Lector de DNIe ==== | ||
- | |||
- | Instalamos: | ||
- | |||
- | < | ||
- | sudo aptitude libccid install pcscd pcsc-tools | ||
- | </ | ||
- | Como root ejecutamos // | ||
- | )): | ||
- | |||
- | < | ||
- | root@rasalhague: | ||
- | PC/SC device scanner | ||
- | V 1.4.23 (c) 2001-2011, Ludovic Rousseau < | ||
- | Compiled with PC/SC lite version: 1.8.11 | ||
- | Using reader plug'n play mechanism | ||
- | Scanning present readers... | ||
- | Waiting for the first reader... | ||
- | </ | ||
- | Si insertamos el lector veremos algo como esto: | ||
- | |||
- | < | ||
- | root@rasalhague: | ||
- | PC/SC device scanner | ||
- | V 1.4.23 (c) 2001-2011, Ludovic Rousseau < | ||
- | Compiled with PC/SC lite version: 1.8.11 | ||
- | Using reader plug'n play mechanism | ||
- | Scanning present readers... | ||
- | Waiting for the first reader...found one | ||
- | Scanning present readers... | ||
- | 0: C3PO LTC31 v2 (11061005) 00 00 | ||
- | |||
- | Wed Jan 25 01:17:20 2017 | ||
- | Reader 0: C3PO LTC31 v2 (11061005) 00 00 | ||
- | Card state: Card removed, | ||
- | </ | ||
- | Si insertamos un DNI veremos que se lee la información de la tarjeta insertada: | ||
- | |||
- | < | ||
- | Reader 0: C3PO LTC31 v2 (11061005) 00 00 | ||
- | Card state: Card inserted, | ||
- | y mas rollo | ||
- | </ | ||
- | Instalamos ahora: | ||
- | |||
- | < | ||
- | aptitude install pinentry-gtk2 opensc | ||
- | </ | ||
- | |||
- | ==== wire ==== | ||
- | |||
- | Un cliente de mensajeria seguro. | ||
- | |||
- | < | ||
- | sudo aptitude install apt-transport-https | ||
- | wget -q https:// | ||
- | echo "deb https:// | ||
- | sudo aptitude update | ||
- | sudo aptitude install wire-desktop | ||
- | </ | ||
- | ===== Documentos ===== | ||
- | |||
- | ==== Calibre ==== | ||
- | |||
- | El mejor programa para gestionar tu colección de libros electrónicos. | ||
- | |||
- | Ejecutamos lo que manda la página web: | ||
- | |||
- | < | ||
- | sudo -v && wget -nv -O- https:// | ||
- | | sudo python -c " | ||
- | </ | ||
- | Para usar el calibre con el Kobo Glo: | ||
- | |||
- | * Desactivamos todos los plugin de Kobo menos el //Kobo Touch Extended// | ||
- | * Creamos una columna // | ||
- | * En las opciones del plugin: | ||
- | * En la opción // | ||
- | * Marcamos las opciones //Create collections// | ||
- | * //Update metadata on device// y //Set series information// | ||
- | |||
- | Algunos enlaces útiles: | ||
- | |||
- | * https:// | ||
- | * http:// | ||
- | * http:// | ||
- | * https:// | ||
- | |||
- | ==== Pandoc ==== | ||
- | |||
- | Instalado el Pandoc descargando paquete //deb// desde la página web del Pandoc. | ||
- | |||
- | Descargamos las plantillas desde [[https:// | ||
- | |||
- | < | ||
- | cd ~/.pandoc | ||
- | git clone https:// | ||
- | </ | ||
- | ==== Zotero ==== | ||
- | |||
- | Zotero es un programa que te permite guardar una o varias bibliografías con referencias a libros, páginas web o documentos electrónicos. | ||
- | |||
- | Instalado el Zotero Standalone desde la [[https:// | ||
- | |||
- | ==== Vanilla LaTeX ==== | ||
- | |||
- | El LaTeX de Debian está un poquillo anticuado, si se quiere usar una versión reciente hay que aplicar [[http:// | ||
- | |||
- | < | ||
- | cd ~ | ||
- | mkdir tmp | ||
- | cd tmp | ||
- | wget http:// | ||
- | tar xzf install-tl-unx.tar.gz | ||
- | cd install-tl-xxxxxx | ||
- | </ | ||
- | La parte xxxxxx varía en función del estado de la última versión de LaTeX disponible. | ||
- | |||
- | < | ||
- | sudo ./ | ||
- | </ | ||
- | Una vez lanzada la instalación podemos desmarcar las opciones que instalan la documentación y las fuentes. Eso nos obligará a consultar la documentación //on line// pero ahorrará practicamente el 50% del espacio necesario. En mi caso sin //doc// ni //src// ocupa 2,3Gb | ||
- | |||
- | < | ||
- | mkdir -p /opt | ||
- | sudo ln -s / | ||
- | </ | ||
- | Por último para acabar la instalación añadimos **/ | ||
- | |||
- | === Falsificando paquetes === | ||
- | |||
- | Ya tenemos el **texlive** instalado, ahora necesitamos que el gestor de paquetes sepa que ya lo tenemos instalado. | ||
- | |||
- | < | ||
- | sudo apt-get install equivs --no-install-recommends | ||
- | mkdir -p / | ||
- | equivs-control texlive-local | ||
- | </ | ||
- | Para hacerlo más fácil podemos descargarnos un fichero ya preparado, ejecutando: | ||
- | |||
- | < | ||
- | wget http:// | ||
- | /bin/cp -f debian-equivs-2015-ex.txt texlive-local | ||
- | </ | ||
- | Editamos la versión y | ||
- | |||
- | < | ||
- | equivs-build texlive-local | ||
- | sudo dpkg -i texlive-local_2015-1_all.deb | ||
- | </ | ||
- | Todo listo, ahora podemos instalar cualquier paquete que dependa de texlive | ||
- | |||
- | === Fuentes === | ||
- | |||
- | Para dejar disponibles las fuentes opentype y truetype que vienen con texlive para el resto de aplicaciones: | ||
- | |||
- | < | ||
- | sudo cp $(kpsewhich -var-value TEXMFSYSVAR)/ | ||
- | gksudo gedit / | ||
- | </ | ||
- | Borramos la linea: | ||
- | |||
- | < | ||
- | < | ||
- | </ | ||
- | Y ejecutamos: | ||
- | |||
- | < | ||
- | sudo fc-cache -fsv | ||
- | </ | ||
- | === Actualizaciones === | ||
- | |||
- | Para actualizar nuestro latex a la última versión de todos los paquetes: | ||
- | |||
- | < | ||
- | sudo / | ||
- | sudo / | ||
- | </ | ||
- | También podemos lanzar el instalador gráfico con: | ||
- | |||
- | < | ||
- | sudo / | ||
- | </ | ||
- | Para usar el instalador gráfico hay que instalar previamente: | ||
- | |||
- | < | ||
- | sudo apt-get install perl-tk --no-install-recommends | ||
- | </ | ||
- | === Lanzador para el actualizador de texlive === | ||
- | |||
- | < | ||
- | mkdir -p ~/ | ||
- | /bin/rm ~/ | ||
- | cat > ~/ | ||
- | [Desktop Entry] | ||
- | Version=1.0 | ||
- | Name=TeX Live Manager | ||
- | Comment=Manage TeX Live packages | ||
- | GenericName=Package Manager | ||
- | Exec=gksu -d -S -D "TeX Live Manager" | ||
- | Terminal=false | ||
- | Type=Application | ||
- | Icon=system-software-update | ||
- | EOF | ||
- | </ | ||
- | Ojo que hay que dejar instalado el gksu (aunque debería estar de antes si sigues este doc) | ||
- | |||
- | < | ||
- | sudo aptitude install gksu | ||
- | </ | ||
- | ==== Emacs ==== | ||
- | |||
- | Instalado emacs desde los repos: | ||
- | |||
- | < | ||
- | sudo aptitude install emacs | ||
- | </ | ||
- | Instalamos los paquetes // | ||
- | |||
- | También instalamos //d-mode// y // | ||
- | |||
- | Después de probar //flymake// y // | ||
- | |||
- | Configuramos el fichero //.emacs// definimos algunas preferencias, | ||
- | |||
- | < | ||
- | (custom-set-variables | ||
- | ;; custom-set-variables was added by Custom. | ||
- | ;; If you edit it by hand, you could mess it up, so be careful. | ||
- | ;; Your init file should contain only one such instance. | ||
- | ;; If there is more than one, they won't work right. | ||
- | ' | ||
- | (custom-set-faces | ||
- | ;; custom-set-faces was added by Custom. | ||
- | ;; If you edit it by hand, you could mess it up, so be careful. | ||
- | ;; Your init file should contain only one such instance. | ||
- | ;; If there is more than one, they won't work right. | ||
- | ) | ||
- | |||
- | ;; | ||
- | ;; Some settings | ||
- | (setq inhibit-startup-message t) ; Eliminate FSF startup msg | ||
- | (setq frame-title-format " | ||
- | ;(setq visible-bell t) ; Flash instead of beep | ||
- | (set-scroll-bar-mode ' | ||
- | (show-paren-mode t) ; Blinking cursor shows matching parentheses | ||
- | (setq column-number-mode t) ; Show column number of current cursor location | ||
- | (mouse-wheel-mode t) ; wheel-mouse support | ||
- | |||
- | (setq fill-column 78) | ||
- | (setq auto-fill-mode t) ; Set line width to 78 columns... | ||
- | |||
- | (setq-default indent-tabs-mode nil) ; Insert spaces instead of tabs | ||
- | (global-set-key " | ||
- | ; | ||
- | ;(require ' | ||
- | |||
- | |||
- | ;; | ||
- | ;; Some useful key definitions | ||
- | (define-key global-map [M-S-down-mouse-3] ' | ||
- | (global-set-key [C-tab] ' | ||
- | (global-set-key [C-kp-subtract] ' | ||
- | (global-set-key [C-kp-multiply] ' | ||
- | (global-set-key [C-kp-add] ' | ||
- | (global-set-key [C-kp-divide] ' | ||
- | (global-set-key [C-kp-decimal] ' | ||
- | (global-set-key [C-M-prior] ' | ||
- | (global-set-key [C-M-next] ' | ||
- | |||
- | ;; | ||
- | ;; Set encoding | ||
- | (prefer-coding-system ' | ||
- | (setq coding-system-for-read ' | ||
- | (setq coding-system-for-write ' | ||
- | |||
- | ;; | ||
- | ;; Maximum colors | ||
- | (cond ((fboundp ' | ||
- | | ||
- | (setq font-lock-maximum-decoration t))) ; Maximum colors | ||
- | |||
- | ;; | ||
- | ;; Use % to match various kinds of brackets... | ||
- | ;; See: http:// | ||
- | |||
- | (global-set-key " | ||
- | (defun match-paren (arg) | ||
- | "Go to the matching paren if on a paren; otherwise insert %." | ||
- | (interactive " | ||
- | (let ((prev-char (char-to-string (preceding-char))) | ||
- | (next-char (char-to-string (following-char)))) | ||
- | (cond ((string-match " | ||
- | ((string-match " | ||
- | (t (self-insert-command (or arg 1)))))) | ||
- | |||
- | ;; | ||
- | ;; The wonderful bubble-buffer | ||
- | (defvar LIMIT 1) | ||
- | (defvar time 0) | ||
- | (defvar mylist nil) | ||
- | |||
- | (defun time-now () | ||
- | (car (cdr (current-time)))) | ||
- | |||
- | (defun bubble-buffer () | ||
- | | ||
- | (if (or (> (- (time-now) time) LIMIT) (null mylist)) | ||
- | | ||
- | (delq (get-buffer " *Minibuf-0*" | ||
- | (delq (get-buffer " *Minibuf-1*" | ||
- | | ||
- | (setq mylist (cdr mylist)) | ||
- | (setq newtop (car mylist)) | ||
- | | ||
- | (setq rest (cdr (copy-alist mylist))) | ||
- | | ||
- | | ||
- | (setq rest (cdr rest))) | ||
- | (setq time (time-now))) | ||
- | |||
- | (global-set-key [f8] ' | ||
- | |||
- | (defun geosoft-kill-buffer () | ||
- | ;; Kill default buffer without the extra emacs questions | ||
- | | ||
- | | ||
- | | ||
- | (global-set-key [C-delete] ' | ||
- | |||
- | ;; | ||
- | ;; MELPA and others | ||
- | (when (>= emacs-major-version 24) | ||
- | (require ' | ||
- | (package-initialize) | ||
- | (add-to-list ' | ||
- | (add-to-list ' | ||
- | (add-to-list ' | ||
- | ) | ||
- | |||
- | ; (add-to-list ' | ||
- | |||
- | ;; | ||
- | ;; Packages installed via package | ||
- | ;; | ||
- | |||
- | ;; | ||
- | ;; flymake and flycheck installed from package | ||
- | ;; I think you have to choose only one | ||
- | |||
- | ;; (require ' | ||
- | ;; ;; | ||
- | ;; (global-set-key (kbd "C-c d") ' | ||
- | ;; (global-set-key (kbd "C-c n") ' | ||
- | ;; (global-set-key (kbd "C-c p") ' | ||
- | |||
- | (add-hook ' | ||
- | (global-set-key | ||
- | (global-set-key | ||
- | |||
- | ;; Define d-mode addons | ||
- | ;; Activate flymake or flycheck for D | ||
- | ;; Activate auto-complete-mode | ||
- | ;; Activate yasnippet minor mode if available | ||
- | ;; Activate dcd-server | ||
- | (require ' | ||
- | (add-hook ' | ||
- | (lambda() | ||
- | ;; | ||
- | (flycheck-dmd-dub-set-variables) | ||
- | (require ' | ||
- | (setup-flycheck-d-unittest) | ||
- | (auto-complete-mode t) | ||
- | (when (featurep ' | ||
- | (yas-minor-mode-on)) | ||
- | (ac-dcd-maybe-start-server) | ||
- | (ac-dcd-add-imports) | ||
- | (add-to-list ' | ||
- | (define-key d-mode-map (kbd "C-c ?") ' | ||
- | (define-key d-mode-map (kbd "C-c .") ' | ||
- | (define-key d-mode-map (kbd "C-c ,") ' | ||
- | (define-key d-mode-map (kbd "C-c s") ' | ||
- | (when (featurep ' | ||
- | (add-to-list ' | ||
- | | ||
- | (add-to-list ' | ||
- | | ||
- | (add-to-list ' | ||
- | | ||
- | |||
- | ;; Define diet template mode (this is not installed from package) | ||
- | (add-to-list ' | ||
- | (add-hook ' | ||
- | (lambda() | ||
- | (setq tab-width 2) | ||
- | (setq whitespace-line-column 250) | ||
- | (setq indent-tabs-mode nil) | ||
- | (setq indent-line-function ' | ||
- | |||
- | ;; | ||
- | ;; elpy | ||
- | (elpy-enable) | ||
- | </ | ||
- | |||
- | ==== Textadept ==== | ||
- | Un potente editor de desarrollo, multiplataforma. | ||
- | |||
- | Viene incluido en el pack D-apt, por que es muy potente como IDE para D. | ||
- | |||
- | De momento lo único que he configurado es la fuente, para ello editamos el fichero ~/ | ||
- | |||
- | < | ||
- | ui.set_theme(' | ||
- | </ | ||
- | ==== Scribus ==== | ||
- | |||
- | Scribus es un programa libre de composición de documentos. con Scribus puedes elaborar desde los folletos de una exposición hasta una revista o un poster. | ||
- | |||
- | Instalado con aptitude | ||
- | |||
- | < | ||
- | sudo aptitude install scribus | ||
- | </ | ||
- | ==== Comix ==== | ||
- | |||
- | Instalado con aptitude | ||
- | |||
- | < | ||
- | sudo aptitude install comix | ||
- | </ | ||
- | ===== Desarrollo Software ===== | ||
- | |||
- | ==== Paquetes esenciales ==== | ||
- | |||
- | Estos son los paquetes esenciales para empezar a desarrollar software en Linux. | ||
- | |||
- | < | ||
- | sudo apt-get install build-essential checkinstall make automake cmake autoconf git git-core dpkg wget | ||
- | </ | ||
- | ==== Git ==== | ||
- | |||
- | Control de versiones distribuido. Imprescindible. | ||
- | |||
- | Instalado git desde aptitude | ||
- | |||
- | < | ||
- | sudo aptitude install git | ||
- | </ | ||
- | Configuración básica de **git** | ||
- | |||
- | < | ||
- | git config --global user.name " | ||
- | git config --global user.email " | ||
- | git config --global core.editor emacs | ||
- | git config --global color.ui true | ||
- | git config --global credential.helper cache | ||
- | git config --global credential.helper 'cache --timeout=7200' | ||
- | git config --global push.default simple | ||
- | git config --global alias.sla 'log --oneline --decorate --graph --all' | ||
- | git config --global alias.lg "log --graph --pretty=format:' | ||
- | git config --global alias.car ' | ||
- | git config --global alias.unstage reset | ||
- | git config --global alias.st status | ||
- | git config --global alias.last | ||
- | git config --global alias.ca ' | ||
- | </ | ||
- | ==== Open Java ==== | ||
- | |||
- | < | ||
- | apt-get install openjdk-7-jre icedtea-7-plugin | ||
- | </ | ||
- | ==== Lenguaje de programación D (D programming language) ==== | ||
- | |||
- | [[https:// | ||
- | |||
- | === D-apt e instalación de programas === | ||
- | |||
- | Configurado [[http:// | ||
- | |||
- | < | ||
- | sudo wget http:// | ||
- | sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring && sudo apt-get update | ||
- | </ | ||
- | Instalamos todos los programas asociados. | ||
- | |||
- | < | ||
- | sudo aptitude install dmd dub dcd dfix dfmt dscanner textadept | ||
- | </ | ||
- | === DCD === | ||
- | |||
- | Una vez instalado el DCD tenemos que configurarlo creando el fichero // | ||
- | |||
- | < | ||
- | / | ||
- | / | ||
- | </ | ||
- | Podemos probarlo con: | ||
- | |||
- | < | ||
- | dcd-server & | ||
- | echo | dcd-client --search toImpl | ||
- | </ | ||
- | === gdc === | ||
- | |||
- | Instalado con | ||
- | |||
- | < | ||
- | sudo aptitude install gdc | ||
- | </ | ||
- | ==== ldc ==== | ||
- | |||
- | Instalado con: | ||
- | |||
- | < | ||
- | sudo aptitude install ldc | ||
- | </ | ||
- | Para poder ejecutar aplicaciones basadas en [[http:// | ||
- | |||
- | < | ||
- | sudo apt-get install -y libssl-dev libevent-dev | ||
- | </ | ||
- | ==== Emacs para editar D ==== | ||
- | |||
- | Instalados los siguientes paquetes desde // | ||
- | |||
- | * //d-mode// | ||
- | * // | ||
- | * // | ||
- | * // | ||
- | * // | ||
- | * // | ||
- | * //ac-dcd// | ||
- | |||
- | Se configura en el fichero **~/ | ||
- | |||
- | < | ||
- | ;; (require ' | ||
- | ;; ;; | ||
- | ;; (global-set-key (kbd "C-c d") ' | ||
- | ;; (global-set-key (kbd "C-c n") ' | ||
- | ;; (global-set-key (kbd "C-c p") ' | ||
- | |||
- | (add-hook ' | ||
- | (global-set-key | ||
- | (global-set-key | ||
- | |||
- | ;; Define d-mode addons | ||
- | ;; Activate flymake or flycheck for D | ||
- | ;; Activate auto-complete-mode | ||
- | ;; Activate yasnippet minor mode if available | ||
- | ;; Activate dcd-server | ||
- | (require ' | ||
- | (add-hook ' | ||
- | (lambda() | ||
- | ;; | ||
- | (flycheck-dmd-dub-set-variables) | ||
- | (require ' | ||
- | (setup-flycheck-d-unittest) | ||
- | (auto-complete-mode t) | ||
- | (when (featurep ' | ||
- | (yas-minor-mode-on)) | ||
- | (ac-dcd-maybe-start-server) | ||
- | (ac-dcd-add-imports) | ||
- | (add-to-list ' | ||
- | (define-key d-mode-map (kbd "C-c ?") ' | ||
- | (define-key d-mode-map (kbd "C-c .") ' | ||
- | (define-key d-mode-map (kbd "C-c ,") ' | ||
- | (define-key d-mode-map (kbd "C-c s") ' | ||
- | (when (featurep ' | ||
- | (add-to-list ' | ||
- | | ||
- | (add-to-list ' | ||
- | | ||
- | (add-to-list ' | ||
- | | ||
- | |||
- | ;; Define diet template mode (this is not installed from package) | ||
- | (add-to-list ' | ||
- | (add-hook ' | ||
- | (lambda() | ||
- | (setq tab-width 2) | ||
- | (setq whitespace-line-column 250) | ||
- | (setq indent-tabs-mode nil) | ||
- | (setq indent-line-function ' | ||
- | </ | ||
- | === Referencias === | ||
- | |||
- | * https:// | ||
- | * https:// | ||
- | |||
- | ===== Processing ===== | ||
- | |||
- | Bajamos los paquetes de las respectivas páginas web, descomprimimimos en //~/apps/// y creamos los desktop file con **Menulibre** | ||
- | |||
- | ===== Openframeworks ===== | ||
- | |||
- | Bajamos el paquete comprimido de la página web del proyecto. | ||
- | |||
- | Descomprimimos en //~/apps// | ||
- | |||
- | Bajamos al directorio de la aplicación y ejecutamos: | ||
- | |||
- | < | ||
- | sudo scripts/ | ||
- | sudo scripts/ | ||
- | |||
- | cd scripts/ | ||
- | ./ | ||
- | |||
- | cd OF/ | ||
- | make | ||
- | make Run | ||
- | |||
- | cd OF/ | ||
- | ./ | ||
- | </ | ||
- | Va a instalar un montón de dependencias, | ||
- | |||
- | Al final también va a añadir una linea al fichero // | ||
- | |||
- | < | ||
- | export PG_OF_PATH=/ | ||
- | </ | ||
- | ===== Python ===== | ||
- | |||
- | De partida tenemos instalado dos versiones: //python// y //python3// | ||
- | |||
- | < | ||
- | python -V | ||
- | Python 2.7.9 | ||
- | |||
- | python3 -V | ||
- | Python 3.4.2 | ||
- | </ | ||
- | ==== pip, virtualenv, virtualenvwrapper, | ||
- | |||
- | //pip// es un gestor de paquetes para **Python** que facilita la instalación de librerías y utilidades. | ||
- | |||
- | Para poder usar los entornos virtuales instalaremos también // | ||
- | |||
- | Instalamos los dos desde aptitude: | ||
- | |||
- | < | ||
- | sudo aptitude install python-pip python-virtualenv virtualenv | ||
- | |||
- | sudo pip install --upgrade pip | ||
- | sudo pip install --upgrade virtualenv | ||
- | </ | ||
- | // | ||
- | |||
- | Instalamos el virtualwrapper: | ||
- | |||
- | < | ||
- | sudo apt-get install virtualenvwrapper -y | ||
- | </ | ||
- | Para usar // | ||
- | |||
- | < | ||
- | source / | ||
- | </ | ||
- | O añadir esa linea a nuestros ficheros //.bashrc// y/o //.zshrc// | ||
- | |||
- | Yo he dejado la variable de entorno // | ||
- | |||
- | [[http:// | ||
- | |||
- | Por último, si queremos tener utilidades parecidas en nuestro //fish shell// instalamos // | ||
- | |||
- | < | ||
- | sudo pip install virtualfish | ||
- | </ | ||
- | [[http:// | ||
- | |||
- | ==== iPython notebook ==== | ||
- | |||
- | [[https:// | ||
- | |||
- | === Instalar Jupyter en el Python del sistema === | ||
- | |||
- | Seguimos las instrucciones [[https:// | ||
- | |||
- | Si usamos el script descargado del github se instalará el **Jupyter** con el python3 del sistema. %%__%%Conviene asegurarse de que estamos apuntando al python del S.O. y no a cualquier otro Python que hayamos instalado: | ||
- | |||
- | < | ||
- | which python | ||
- | </ | ||
- | === Instalar Anaconda Python === | ||
- | |||
- | Teóricamente [[https:// | ||
- | |||
- | < | ||
- | bash Anaconda3-4.2.0-Linux-x86_64.sh | ||
- | bash Anaconda2-4.2.0-Linux-x86_64.sh | ||
- | </ | ||
- | Los he dejado instalados en // | ||
- | |||
- | Cada una de estas instalaciones incorpora su propia versión de Python. Para usarlas tenemos que cambiar nuestro PATH para que el Python deseado sea el primero que se selecciona. | ||
- | |||
- | Por ejemplo para activar anaconda3 en bash: | ||
- | |||
- | < | ||
- | export PATH=" | ||
- | </ | ||
- | Para hacer lo mismo en fish: | ||
- | |||
- | < | ||
- | set -x PATH ~/ | ||
- | </ | ||
- | === iPython y GraphLab === | ||
- | |||
- | La instalación de iPython y GraphLab (que es una librería comercial) la hice para realizar un curso. | ||
- | |||
- | Creamos un entorno conda con Python 2.7.x | ||
- | |||
- | < | ||
- | export PATH=" | ||
- | conda create -n gl-env python=2.7 anaconda | ||
- | </ | ||
- | Activamos el nuevo entorno (todo esto lo hice en bash, en fish hay un problemilla con el entorno conda [[https:// | ||
- | |||
- | < | ||
- | bash | ||
- | source activate gl-env | ||
- | </ | ||
- | En el futuro esto es todo lo que tendremos que hacer activar el entorno conda donde estamos instalando el iPython. | ||
- | |||
- | Nos aseguramos de tener //pip// al dia: | ||
- | |||
- | < | ||
- | conda update pip | ||
- | </ | ||
- | Instalamos la biblioteca [[https:// | ||
- | )) | ||
- | |||
- | Una vez registrado en la página web te pasan un número de registro que tienes que usar para instalar la biblioteca. | ||
- | |||
- | < | ||
- | pip install --upgrade --no-cache-dir https:// | ||
- | </ | ||
- | Y para terminar instalamos iPython ((TODO: conda install jupyter | ||
- | )): | ||
- | |||
- | < | ||
- | conda install ipython-notebook | ||
- | </ | ||
- | Desde ahora basta con activar el entorno que hemos creado para tener acceso al iPython. | ||
- | |||
- | < | ||
- | source activate gl-env | ||
- | |||
- | ipython notebook | ||
- | |||
- | source deactivate gl-env | ||
- | </ | ||
- | == Instalación alternativa con virtualenv == | ||
- | |||
- | < | ||
- | # Create a virtual environment named e.g. gl-env | ||
- | virtualenv gl-env | ||
- | |||
- | # Activate the virtual environment | ||
- | source gl-env/ | ||
- | |||
- | # Make sure pip is up to date | ||
- | pip install --upgrade pip | ||
- | |||
- | # Install IPython Notebook (optional) | ||
- | pip install " | ||
- | |||
- | # Install Jupyter Notebook (optional) | ||
- | pip install " | ||
- | |||
- | |||
- | # Install your licensed copy of GraphLab Create | ||
- | pip install --upgrade --no-cache-dir https:// | ||
- | </ | ||
- | ==== Usar Emacs para editar Python ==== | ||
- | |||
- | Instalamos //elpy// desde el gestor de paquetes de Emacs, concretamente desde el repo // | ||
- | |||
- | Hay que habilitar //elpy// en el fichero **~/ | ||
- | |||
- | < | ||
- | (elpy enable) | ||
- | </ | ||
- | // | ||
- | |||
- | < | ||
- | sudo pip install pylint | ||
- | </ | ||
- | === TODO === | ||
- | |||
- | Estudiar esto con calma https:// | ||
- | |||
- | ==== Web2py ==== | ||
- | |||
- | Desde [[http:// | ||
- | |||
- | Yo he descomprimido el framework en '' | ||
- | |||
- | Para que el framework soporte ssl convine generar los siguientes certificados: | ||
- | |||
- | < | ||
- | openssl genrsa -out server.key 2048 | ||
- | openssl req -new -key server.key -out server.csr | ||
- | |||
- | Country Name (2 letter code) [AU]:ES | ||
- | State or Province Name (full name) [Some-State]: | ||
- | Locality Name (eg, city) []:CORUNA | ||
- | Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mikasa | ||
- | Organizational Unit Name (eg, section) []:salvari | ||
- | Common Name (e.g. server FQDN or YOUR name) []:salvari | ||
- | Email Address []: | ||
- | |||
- | Please enter the following ' | ||
- | to be sent with your certificate request | ||
- | A challenge password []: | ||
- | An optional company name []:Mikasa | ||
- | </ | ||
- | Ahora ejecutamos: | ||
- | |||
- | < | ||
- | openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt | ||
- | </ | ||
- | Ahora deberíamos dejar los ficheros '' | ||
- | |||
- | < | ||
- | python web2py.py -a ' | ||
- | </ | ||
- | Y ya podemos acceder nuestro server en la dirección https:// | ||
- | |||
- | Tampoco está de más instalar las librerías de graphviz: | ||
- | |||
- | < | ||
- | sudo aptitude install python-pygraphviz | ||
- | </ | ||
- | ==== Selenium ==== | ||
- | |||
- | Vamos a instalar // | ||
- | )) de aplicaciones web con Python. Lo haremos siguiendo [[http:// | ||
- | |||
- | En principio lo voy a usar con el Python del sistema '' | ||
- | |||
- | < | ||
- | sudo pip install -U selenium | ||
- | </ | ||
- | Con esto nos queda instalado '' | ||
- | |||
- | Además de Selenium necesitamos los drivers de los navegadores que queremos controlar, de momento solo usaré // | ||
- | |||
- | < | ||
- | sudo chown root:staff ~/ | ||
- | sudo chmod 755 ~/ | ||
- | sudo mv ~/ | ||
- | </ | ||
- | Para probarlo escribimos un pequeño programa en Python: | ||
- | |||
- | < | ||
- | from selenium import webdriver | ||
- | |||
- | browser = webdriver.Firefox() | ||
- | browser.get(' | ||
- | </ | ||
- | |||
- | ---- | ||
- | |||
- | > **Nota**: Tengo que pensar bien como hacerlo. | ||
- | |||
- | ===== Go language ===== | ||
- | |||
- | Nos bajamos los binarios desde la [[https:// | ||
- | |||
- | Descomprimimos en ///opt//, ejecutando (como root): | ||
- | |||
- | < | ||
- | cd /opt | ||
- | tar xvzf ~/ | ||
- | </ | ||
- | Deberíamos dejar configuradas las siguientes variables de entorno: | ||
- | |||
- | < | ||
- | # Point to the local installation of golang. | ||
- | export GOROOT=/ | ||
- | |||
- | # Point to the location beneath which source and binaries are installed. | ||
- | export GOPATH=$HOME/ | ||
- | |||
- | # Ensure that the binary-release is on your PATH. | ||
- | export PATH=${PATH}: | ||
- | |||
- | # Ensure that compiled binaries are also on your PATH. | ||
- | export PATH=${PATH}: | ||
- | </ | ||
- | |||
- | ===== Desarrollo hardware ===== | ||
- | |||
- | ==== Arduino IDE ==== | ||
- | |||
- | Bajamos los paquetes de la página [[https:// | ||
- | |||
- | Creamos un link al directorio del software que hemos descargado: | ||
- | |||
- | < | ||
- | cd ~/ | ||
- | ln -s arduino-x.y.z current | ||
- | </ | ||
- | La primera ves que instalamos será necesario crear el desktop file con **Menulibre** con las actulizaciones no será necesario, siempre y cuando apunte a // | ||
- | |||
- | ==== Pinguino IDE ==== | ||
- | |||
- | Tenemos el paquete de instalación disponible en su página [[http:// | ||
- | |||
- | Ejecutamos el programa de instalación. El programa descargará los paquetes Debian necesarios para dejar el IDE y los compiladores instalados. | ||
- | |||
- | Al acabar la instalación he tenido que crear el directorio // | ||
- | |||
- | El programa queda correctamente instalado en ///opt// y arranca correctamente, | ||
- | |||
- | ==== KiCAD ==== | ||
- | |||
- | Instalamos desde // | ||
- | |||
- | < | ||
- | sudo aptitude install -t jessie-backports kicad | ||
- | </ | ||
- | Vamos a instalar a mayores algunas librerias de KiCAD, para poder crear Shields de Arduino. | ||
- | |||
- | * [[https:// | ||
- | * [[http:// | ||
- | |||
- | ===== Virtualización ===== | ||
- | |||
- | ==== Docker ==== | ||
- | |||
- | < | ||
- | apt-get install apt-transport-https ca-certificates | ||
- | apt-key adv --keyserver hkp:// | ||
- | edit docker.list with | ||
- | deb https:// | ||
- | |||
- | apt-cache policy docker-engine | ||
- | |||
- | |||
- | sudo apt-get install docker-engine | ||
- | |||
- | |||
- | sudo service docker start | ||
- | |||
- | sudo docker run hello-world | ||
- | |||
- | sudo gpasswd -a salvari docker | ||
- | </ | ||
- | ==== Virtualbox ==== | ||
- | |||
- | Tenemos que: | ||
- | |||
- | * Añadir el fichero // | ||
- | * Bajarnos y añadir a nuestro llavero las claves públicas de Oracle | ||
- | * Actualizar la lista de paquetes | ||
- | * Instalar virtualbox | ||
- | * Añadir nuestro usuario al grupo vboxuser (no tengo claro que esto sea necesario) | ||
- | |||
- | < | ||
- | echo "deb http:// | ||
- | |sudo tee / | ||
- | | sudo apt-key add - sudo apt-get update sudo apt-get install virtualbox-5.1 sudo gpasswd -a salvari vboxusers | ||
- | </ | ||
- | |||
- | Una vez instalado el virtualbox tenemos que instalarnos el pack de extensiones, | ||
- | |||
- | Sin más que hacer doble click en el fichero descargado lo instalaremos en nuestra instancia de // | ||
- | |||
- | ==== Virtualizando un Windows 7 ==== | ||
- | |||
- | * 2 Gb de ram | ||
- | * Create virtual hard disk | ||
- | * 10Gb dinamically allocated | ||
- | * Settings -> System-> | ||
- | * Storage -> Add IDE Controller-> | ||
- | * Instalamos Windows en Inglés y con teclado en español | ||
- | |||
- | Una vez instalado el SO Windows instalamos las Guest Additions. | ||
- | |||
- | ===== Shells alternativos: | ||
- | |||
- | Los dos son muy interesantes. He usado zsh casi un año, ahora voy a probar **fish**. | ||
- | |||
- | ==== fish ==== | ||
- | |||
- | Instalamos **fish** desde aptitude con: | ||
- | |||
- | < | ||
- | sudo aptitude install fish | ||
- | </ | ||
- | Instalamos oh-my-fish | ||
- | |||
- | < | ||
- | curl -L https:// | ||
- | fish install | ||
- | rm install | ||
- | |||
- | chsh -s `which fish` | ||
- | |||
- | </ | ||
- | ==== zsh ==== | ||
- | |||
- | Igualmente instalamos **zsh**: | ||
- | |||
- | < | ||
- | sudo aptitude install zsh | ||
- | </ | ||
- | Vamos a usar antigen así que nos lo clonamos en _~/apps/ | ||
- | |||
- | < | ||
- | cd ~/apps | ||
- | git clone https:// | ||
- | </ | ||
- | Y editamos el fichero // | ||
- | |||
- | < | ||
- | source ~/ | ||
- | |||
- | # Load the oh-my-zsh' | ||
- | antigen use oh-my-zsh | ||
- | |||
- | # Bundles from the default repo (robbyrussell' | ||
- | antigen bundle git | ||
- | antigen bundle command-not-found | ||
- | antigen bundle autojump | ||
- | antigen bundle extract | ||
- | # antigen bundle heroku | ||
- | # antigen bundle pip | ||
- | # antigen bundle lein | ||
- | |||
- | |||
- | # Syntax highlighting bundle. | ||
- | antigen bundle zsh-users/ | ||
- | |||
- | # git | ||
- | antigen bundle arialdomartini/ | ||
- | antigen theme arialdomartini/ | ||
- | |||
- | # autosuggestions | ||
- | antigen bundle tarruda/ | ||
- | |||
- | #antigen theme agnoster | ||
- | |||
- | # Tell antigen that you're done. | ||
- | antigen apply | ||
- | |||
- | # append to path | ||
- | path+=('/ | ||
- | # prepend | ||
- | # path=('/ | ||
- | # export PATH | ||
- | </ | ||
- | Antigen ya se encarga de descargar todo lo que queramos utilizar en zsh. | ||
- | |||
- | Nos queda arreglar las fuentes para que funcione correctamente la linea de estado en los repos de git. Necesitamos una fuente //Awesome// | ||
- | |||
- | ==== Instalación de fuentes adicionales ==== | ||
- | |||
- | Nos bajamos unas cuantas fuentes que soporten los iconos // | ||
- | |||
- | < | ||
- | cd ~/tmp | ||
- | git clone https:// | ||
- | git clone https:// | ||
- | |||
- | mkdir ~/.fonts | ||
- | cp someFontFile ~/.fonts/ | ||
- | fc-cache -vf ~/.fonts/ | ||
- | </ | ||
- | ===== Reprap ===== | ||
- | |||
- | ==== Sl1c3r ==== | ||
- | |||
- | Descargamos el paquete binario desde la página web. | ||
- | |||
- | * Cambiar permisos en directorio /// | ||
- | * Instalado // | ||
- | * Es necesario instalar // | ||
- | |||
- | ==== OpenScad ==== | ||
- | |||
- | Instalado desde aptitude. | ||
- | |||
- | ==== Printrun ==== | ||
- | |||
- | Descargamos desde github | ||
- | |||
- | ==== Cura ==== | ||
- | |||
- | Descargamos desde la pagina web | ||
- | |||
- | < | ||
- | sudo aptitude install python3-pyqt5 | ||
- | sudo dpkg -i Cura-2.1.3-Linux.deb | ||
- | </ | ||
- | < | ||
- | sudo apt-get install python-serial python-wxgtk2.8 python-pyglet python-numpy \ | ||
- | cython python-libxml2 python-gobject python-dbus python-psutil python-cairosvg git | ||
- | |||
- | python setup.py build_ext --inplace | ||
- | </ | ||
- | ===== Aplicaciones Web ===== | ||
- | |||
- | ==== Servidor Web ==== | ||
- | |||
- | === Apache === | ||
- | |||
- | Instalamos el paquete //apache2// | ||
- | |||
- | < | ||
- | sudo aptitude install apache2 | ||
- | </ | ||
- | Si abrimos el navegador y visitamos http:// | ||
- | |||
- | El directorio raiz por defecto de Apache en Debian es /// | ||
- | |||
- | * / | ||
- | * / | ||
- | * / | ||
- | |||
- | Además del Apache vamos a dejar instalado el //php5// | ||
- | |||
- | < | ||
- | sudo aptitude install php5 libapache2-mod-php5 | ||
- | </ | ||
- | Hay que reiniciar el servicio: '' | ||
- | |||
- | Si creamos un fichero /// | ||
- | |||
- | < | ||
- | <?php | ||
- | phpinfo(); | ||
- | ?> | ||
- | </ | ||
- | Podemos ver en el siguiente enlace http:// | ||
- | |||
- | Módulos de php relacionados con mysql: | ||
- | |||
- | < | ||
- | sudo aptitude install php5-mysqlnd php5-curl php5-gd php5-intl php-pear \ | ||
- | php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode \ | ||
- | php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl | ||
- | </ | ||
- | === nginx === | ||
- | |||
- | TODO | ||
- | |||
- | ==== Servidores de bases de datos ==== | ||
- | |||
- | === MySQL === | ||
- | |||
- | Instalamos desde aptitude // | ||
- | |||
- | Opcionalmente (y muy recomendable) | ||
- | |||
- | < | ||
- | mysql_secure_instalallation | ||
- | </ | ||
- | === Actualización === | ||
- | |||
- | Cambiamos el fichero // | ||
- | |||
- | < | ||
- | # max_allowed_packet | ||
- | max_allowed_packet | ||
- | </ | ||
- | Reiniciamos el servicio: | ||
- | |||
- | < | ||
- | / | ||
- | </ | ||
- | === Cliente SQL SQuirreL SQL === | ||
- | |||
- | Descargamos el paquete desde la página [[http:// | ||
- | |||
- | Una vez instalado, creamos el desktop-file con // | ||
- | |||
- | === MariaDB === | ||
- | |||
- | **PENDIENTE** | ||
- | |||
- | ===== Recetas varias ===== | ||
- | |||
- | ==== Orange Pi Zero ==== | ||
- | |||
- | Para usar la Orange Pi Zero tendremos que crear imágenes arrancables en tarjetas micro SD. | ||
- | |||
- | === Crear una SD arrancable === | ||
- | |||
- | Dependiendo de donde conectemos la tarjeta tendremos que usar diferentes rutas. En el procedimiento descrito a continuación '' | ||
- | |||
- | Si la tarjeta se conecta via adaptador USB, linux la va a asociar a un dispositivo /dev/sdx, por ejemplo en mi portátil el disco duro es '' | ||
- | |||
- | Si conectamos una memoria con un adaptador USB linux la podría mapear en '' | ||
- | |||
- | Si la memoria se conecta mediante una ranura SD, linux la asociará a un dispositivo '' | ||
- | |||
- | Los datos se pueden almacenar directamente en la memoria SD o en una partición creada en la memoria. | ||
- | |||
- | Resumiendo: | ||
- | |||
- | * '' | ||
- | * ${card}${p} será '' | ||
- | |||
- | Antes de seguir adelante hay que estar completamente seguro del dispositivo asociado a nuestra memoria SD para no armar ningún estropicio. | ||
- | |||
- | Hay varias comprobaciones que se pueden hacer: | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | < | ||
- | Disk / | ||
- | Units: sectors of 1 * 512 = 512 bytes | ||
- | Sector size (logical/ | ||
- | I/O size (minimum/ | ||
- | Disklabel type: dos | ||
- | Disk identifier: 0x00000000 | ||
- | </ | ||
- | '' | ||
- | |||
- | < | ||
- | | ||
- | | ||
- | </ | ||
- | Descargamos la imagen de Jessie adaptada a la //Orange Pi Zero// desde la página https:// | ||
- | |||
- | Descomprimimos la imagen y la grabamos en la tarjeta SD con el comando: | ||
- | |||
- | < | ||
- | sudo dd if=./ | ||
- | </ | ||
- | Insertamos la tarjeta en la //Orange Pi// y le damos alimentación. El primer arranque llevará alrededor de tres minutos, y tras ese tiempo aun hará falta un minuto más para poder hacer login. Este retardo es debido a que el sistema intentará actualizar la lista de paquetes y creará un area de swap de emergencia en la SD, y además cambiará el tamaño de la partición que hemos creado para ocupar todo el espacio libre en la SD. | ||
- | |||
- | De momento solo la he arrancado y efectivamente las particiones han cambiado tras el arranque así que tiene buena pinta. | ||
- | |||
- | Volvemos a insertar la SD en la //Orange Pi// y la conectamos con un cable ethernet al router de casa. El Armbian viene configurado por defecto para obtener su IP desde un servidor DHCP. | ||
- | |||
- | Como mi cutre-router no me da información de las IP asignadas usamos //nmap//: | ||
- | |||
- | < | ||
- | nmap -sP 192.168.0.0 /24 | ||
- | </ | ||
- | Con eso averiguamos la IP asignada a la //Orange Pi Zero// y ya podemos hacer login con: | ||
- | |||
- | < | ||
- | ssh root@192.168.0.109 | ||
- | </ | ||
- | ¡Y ya estamos! | ||
- | |||
- | {{OrangePiZero_FirstLogin.png| Primer login en //Orange Pi//}} | ||
- | |||
- | Lo primero es poner al dia el sistema: | ||
- | |||
- | < | ||
- | apt-get update | ||
- | apt-get upgrade | ||
- | </ | ||
- | Si quieres puedes reconfigurar el //time zone//: | ||
- | |||
- | < | ||
- | dpgk-reconfigura tzdata | ||
- | </ | ||
- | === Conexión WIFI === | ||
- | |||
- | Vamos a comprobar que todo va bien: | ||
- | |||
- | < | ||
- | root@orangepizero: | ||
- | lo no wireless extensions. | ||
- | |||
- | tunl0 no wireless extensions. | ||
- | |||
- | wlan0 IEEE 802.11bgn | ||
- | Mode: | ||
- | Retry long limit: | ||
- | Encryption key:off | ||
- | Power Management: | ||
- | |||
- | eth0 no wireless extensions. | ||
- | </ | ||
- | Todo tiene buena pinta, vamos a ver si detecta WIFIs: | ||
- | |||
- | < | ||
- | root@orangepizero: | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:" | ||
- | ESSID:"" | ||
- | ESSID:" | ||
- | </ | ||
- | Para configurar el wifi echamos un ojo al fichero '' | ||
- | |||
- | < | ||
- | # Armbian ships with network-manager installed by default. To save you time | ||
- | # and hassles consider using 'sudo nmtui' instead of configuring Wi-Fi settings | ||
- | # manually. | ||
- | </ | ||
- | Así que basta con ejecutar '' | ||
- | |||
- | {{orangepizero_tmtui.png| Configuración WIFI}} | ||
- | |||
- | Ejecutamos '' | ||
- | |||
- | < | ||
- | ifconfig | ||
- | |||
- | wlan0 Link encap: | ||
- | inet addr: | ||
- | inet6 addr: fe80:: | ||
- | UP BROADCAST RUNNING MULTICAST | ||
- | RX packets:2 errors:0 dropped:0 overruns:0 frame:0 | ||
- | TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 | ||
- | collisions: | ||
- | RX bytes:328 (328.0 B) TX bytes:852 (852.0 B) | ||
- | </ | ||
- | |||
- | === Referencias === | ||
- | |||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[https:// | ||
- | * http:// | ||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | ==== Raspberry Pi Media Center ==== | ||
- | |||
- | Bajamos la imagen con nuestro cliente torrent favorito desde [[https:// | ||
- | |||
- | < | ||
- | sudo dd if=./ | ||
- | </ | ||
- | Arrancamos con la toma ethernet conectada al router y nos conectamos tras averigurar la IP con '' | ||
- | |||
- | {{RaspiFirstLogin.png| Primer login en Raspberry}} | ||
- | |||
- | Una vez instalado los pasos recomendados: | ||
- | |||
- | * Cambiar la password de root: '' | ||
- | * Fijar una IP estática: Editamos el fichero '' | ||
- | |||
- | < | ||
- | interface eth0 | ||
- | static ip_address=192.168.0.125/ | ||
- | static routers=192.168.0.1 | ||
- | static domain_name_servers=8.8.8.8 | ||
- | |||
- | interface wlan0 | ||
- | static ip_address=192.168.0.126/ | ||
- | static routers=192.168.0.1 | ||
- | static domain_name_servers=8.8.8.8 | ||
- | </ | ||
- | |||
- | * Una vez cambiado el fichero hay que reiniciar con '' | ||
- | * Configurar la WIFI, en esta parte damos por supuesto que tenemos la wifi con WPA activado. | ||
- | * Echamos un ojo a nuestro interfaz radio con '' | ||
- | |||
- | < | ||
- | wlan0 IEEE 802.11bgn | ||
- | Mode: | ||
- | Retry short limit: | ||
- | Encryption key:off | ||
- | Power Management: | ||
- | </ | ||
- | |||
- | * Tenemos que editar el fichero '' | ||
- | |||
- | < | ||
- | allow-hotplug wlan0 | ||
- | iface wlan0 inet manual | ||
- | wpa-conf / | ||
- | </ | ||
- | |||
- | * Ahora vamos a editar el fichero de configuración de '' | ||
- | |||
- | < | ||
- | country=ES | ||
- | ctrl_interface=DIR=/ | ||
- | update_config=1 | ||
- | network={ | ||
- | ssid=" | ||
- | psk=" | ||
- | } | ||
- | </ | ||
- | |||
- | * Un reinicio y listos: '' | ||
- | |||
- | ===== TODO ===== | ||
- | |||
- | * cinelerra | ||
- | * playonlinux | ||
- | * krita | ||
- | * mypaint | ||
- | * qStopmotion | ||
- | * chibios | ||
- | * [http: | ||
- | * [http: | ||
- | * [http: | ||
- | * ICE Studio | ||
- | * Inkscape | ||
- | * https:// | ||
- | * Instalar tb jessyink | ||
- | * rclone https:// | ||
- | * vmware (no creo, virtualbox va genial) | ||
- | * Astronomía | ||
- | * STM32 toolchain | ||
- | |||
- | ===== Links ===== | ||
- | |||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * https:// | ||
- | * http:// | ||
- | |||
- | ===== Licencia ===== | ||
- | |||
- | Esta guía se publica sujeta a licencia CC-BY-SA 4.0 INTL | ||
- | |||
- | < | ||
- | |||
- | Attribution-ShareAlike 4.0 International | ||
- | |||
- | ====================================================== | ||
- | |||
- | Creative Commons Corporation (" | ||
- | does not provide legal services or legal advice. Distribution of | ||
- | Creative Commons public licenses does not create a lawyer-client or | ||
- | other relationship. Creative Commons makes its licenses and related | ||
- | information available on an " | ||
- | warranties regarding its licenses, any material licensed under their | ||
- | terms and conditions, or any related information. Creative Commons | ||
- | disclaims all liability for damages resulting from their use to the | ||
- | fullest extent possible. | ||
- | |||
- | Using Creative Commons Public Licenses | ||
- | |||
- | Creative Commons public licenses provide a standard set of terms and | ||
- | conditions that creators and other rights holders may use to share | ||
- | original works of authorship and other material subject to copyright | ||
- | and certain other rights specified in the public license below. The | ||
- | following considerations are for informational purposes only, are not | ||
- | exhaustive, and do not form part of our licenses. | ||
- | |||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | and conditions of the license they choose before applying it. | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | wiki.creativecommons.org/ | ||
- | |||
- | | ||
- | | ||
- | | ||
- | the licensor' | ||
- | | ||
- | | ||
- | | ||
- | other rights that a licensor has authority to grant. Use of | ||
- | the licensed material may still be restricted for other | ||
- | | ||
- | | ||
- | such as asking that all changes be marked or described. | ||
- | | ||
- | | ||
- | for the public: | ||
- | wiki.creativecommons.org/ | ||
- | |||
- | ====================================================== | ||
- | |||
- | Creative Commons Attribution-ShareAlike 4.0 International Public | ||
- | License | ||
- | |||
- | By exercising the Licensed Rights (defined below), You accept and agree | ||
- | to be bound by the terms and conditions of this Creative Commons | ||
- | Attribution-ShareAlike 4.0 International Public License (" | ||
- | License" | ||
- | contract, You are granted the Licensed Rights in consideration of Your | ||
- | acceptance of these terms and conditions, and the Licensor grants You | ||
- | such rights in consideration of benefits the Licensor receives from | ||
- | making the Licensed Material available under these terms and | ||
- | conditions. | ||
- | |||
- | |||
- | Section 1 -- Definitions. | ||
- | |||
- | a. Adapted Material means material subject to Copyright and Similar | ||
- | | ||
- | and in which the Licensed Material is translated, altered, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | b. Adapter' | ||
- | and Similar Rights in Your contributions to Adapted Material in | ||
- | | ||
- | |||
- | c. BY-SA Compatible License means a license listed at | ||
- | | ||
- | | ||
- | |||
- | d. Copyright and Similar Rights means copyright and/or similar rights | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | e. Effective Technological Measures means those measures that, in the | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | f. Exceptions and Limitations means fair use, fair dealing, and/or | ||
- | any other exception or limitation to Copyright and Similar Rights | ||
- | that applies to Your use of the Licensed Material. | ||
- | |||
- | g. License Elements means the license attributes listed in the name | ||
- | of a Creative Commons Public License. The License Elements of this | ||
- | | ||
- | |||
- | h. Licensed Material means the artistic or literary work, database, | ||
- | or other material to which the Licensor applied this Public | ||
- | | ||
- | |||
- | i. Licensed Rights means the rights granted to You subject to the | ||
- | terms and conditions of this Public License, which are limited to | ||
- | all Copyright and Similar Rights that apply to Your use of the | ||
- | | ||
- | |||
- | j. Licensor means the individual(s) or entity(ies) granting rights | ||
- | under this Public License. | ||
- | |||
- | k. Share means to provide material to the public by any means or | ||
- | | ||
- | as reproduction, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | l. Sui Generis Database Rights means rights other than copyright | ||
- | | ||
- | the Council of 11 March 1996 on the legal protection of databases, | ||
- | as amended and/or succeeded, as well as other essentially | ||
- | | ||
- | |||
- | m. You means the individual or entity exercising the Licensed Rights | ||
- | under this Public License. Your has a corresponding meaning. | ||
- | |||
- | |||
- | Section 2 -- Scope. | ||
- | |||
- | a. License grant. | ||
- | |||
- | 1. Subject to the terms and conditions of this Public License, | ||
- | the Licensor hereby grants You a worldwide, royalty-free, | ||
- | non-sublicensable, | ||
- | exercise the Licensed Rights in the Licensed Material to: | ||
- | |||
- | a. reproduce and Share the Licensed Material, in whole or | ||
- | in part; and | ||
- | |||
- | b. produce, reproduce, and Share Adapted Material. | ||
- | |||
- | 2. Exceptions and Limitations. For the avoidance of doubt, where | ||
- | Exceptions and Limitations apply to Your use, this Public | ||
- | License does not apply, and You do not need to comply with | ||
- | its terms and conditions. | ||
- | |||
- | 3. Term. The term of this Public License is specified in Section | ||
- | 6(a). | ||
- | |||
- | 4. Media and formats; technical modifications allowed. The | ||
- | Licensor authorizes You to exercise the Licensed Rights in | ||
- | all media and formats whether now known or hereafter created, | ||
- | and to make technical modifications necessary to do so. The | ||
- | Licensor waives and/or agrees not to assert any right or | ||
- | authority to forbid You from making technical modifications | ||
- | necessary to exercise the Licensed Rights, including | ||
- | technical modifications necessary to circumvent Effective | ||
- | Technological Measures. For purposes of this Public License, | ||
- | simply making modifications authorized by this Section 2(a) | ||
- | (4) never produces Adapted Material. | ||
- | |||
- | 5. Downstream recipients. | ||
- | |||
- | a. Offer from the Licensor -- Licensed Material. Every | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | b. Additional offer from the Licensor -- Adapted Material. | ||
- | Every recipient of Adapted Material from You | ||
- | | ||
- | | ||
- | under the conditions of the Adapter' | ||
- | |||
- | c. No downstream restrictions. You may not offer or impose | ||
- | any additional or different terms or conditions on, or | ||
- | apply any Effective Technological Measures to, the | ||
- | | ||
- | | ||
- | | ||
- | |||
- | 6. No endorsement. Nothing in this Public License constitutes or | ||
- | may be construed as permission to assert or imply that You | ||
- | are, or that Your use of the Licensed Material is, connected | ||
- | with, or sponsored, endorsed, or granted official status by, | ||
- | the Licensor or others designated to receive attribution as | ||
- | provided in Section 3(a)(1)(A)(i). | ||
- | |||
- | b. Other rights. | ||
- | |||
- | 1. Moral rights, such as the right of integrity, are not | ||
- | licensed under this Public License, nor are publicity, | ||
- | privacy, and/or other similar personality rights; however, to | ||
- | the extent possible, the Licensor waives and/or agrees not to | ||
- | assert any such rights held by the Licensor to the limited | ||
- | extent necessary to allow You to exercise the Licensed | ||
- | Rights, but not otherwise. | ||
- | |||
- | 2. Patent and trademark rights are not licensed under this | ||
- | Public License. | ||
- | |||
- | 3. To the extent possible, the Licensor waives any right to | ||
- | collect royalties from You for the exercise of the Licensed | ||
- | Rights, whether directly or through a collecting society | ||
- | under any voluntary or waivable statutory or compulsory | ||
- | licensing scheme. In all other cases the Licensor expressly | ||
- | reserves any right to collect such royalties. | ||
- | |||
- | |||
- | Section 3 -- License Conditions. | ||
- | |||
- | Your exercise of the Licensed Rights is expressly made subject to the | ||
- | following conditions. | ||
- | |||
- | a. Attribution. | ||
- | |||
- | 1. If You Share the Licensed Material (including in modified | ||
- | form), You must: | ||
- | |||
- | a. retain the following if it is supplied by the Licensor | ||
- | with the Licensed Material: | ||
- | |||
- | i. identification of the creator(s) of the Licensed | ||
- | Material and any others designated to receive | ||
- | attribution, | ||
- | the Licensor (including by pseudonym if | ||
- | designated); | ||
- | |||
- | ii. a copyright notice; | ||
- | |||
- | iii. a notice that refers to this Public License; | ||
- | |||
- | iv. a notice that refers to the disclaimer of | ||
- | warranties; | ||
- | |||
- | v. a URI or hyperlink to the Licensed Material to the | ||
- | extent reasonably practicable; | ||
- | |||
- | b. indicate if You modified the Licensed Material and | ||
- | | ||
- | |||
- | c. indicate the Licensed Material is licensed under this | ||
- | | ||
- | | ||
- | |||
- | 2. You may satisfy the conditions in Section 3(a)(1) in any | ||
- | reasonable manner based on the medium, means, and context in | ||
- | which You Share the Licensed Material. For example, it may be | ||
- | reasonable to satisfy the conditions by providing a URI or | ||
- | hyperlink to a resource that includes the required | ||
- | information. | ||
- | |||
- | 3. If requested by the Licensor, You must remove any of the | ||
- | information required by Section 3(a)(1)(A) to the extent | ||
- | reasonably practicable. | ||
- | |||
- | b. ShareAlike. | ||
- | |||
- | In addition to the conditions in Section 3(a), if You Share | ||
- | | ||
- | |||
- | 1. The Adapter' | ||
- | license with the same License Elements, this version or | ||
- | later, or a BY-SA Compatible License. | ||
- | |||
- | 2. You must include the text of, or the URI or hyperlink to, the | ||
- | Adapter' | ||
- | in any reasonable manner based on the medium, means, and | ||
- | context in which You Share Adapted Material. | ||
- | |||
- | 3. You may not offer or impose any additional or different terms | ||
- | or conditions on, or apply any Effective Technological | ||
- | Measures to, Adapted Material that restrict exercise of the | ||
- | rights granted under the Adapter' | ||
- | |||
- | |||
- | Section 4 -- Sui Generis Database Rights. | ||
- | |||
- | Where the Licensed Rights include Sui Generis Database Rights that | ||
- | apply to Your use of the Licensed Material: | ||
- | |||
- | a. for the avoidance of doubt, Section 2(a)(1) grants You the right | ||
- | to extract, reuse, reproduce, and Share all or a substantial | ||
- | | ||
- | |||
- | b. if You include all or a substantial portion of the database | ||
- | | ||
- | | ||
- | | ||
- | |||
- | | ||
- | c. You must comply with the conditions in Section 3(a) if You Share | ||
- | all or a substantial portion of the contents of the database. | ||
- | |||
- | For the avoidance of doubt, this Section 4 supplements and does not | ||
- | replace Your obligations under this Public License where the Licensed | ||
- | Rights include other Copyright and Similar Rights. | ||
- | |||
- | |||
- | Section 5 -- Disclaimer of Warranties and Limitation of Liability. | ||
- | |||
- | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE | ||
- | | ||
- | AND AS-AVAILABLE, | ||
- | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | </ |