logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 Scripts, programmes et robots » Réplication des données pour un serveur » 15-02-2023 15:07:29

MoxSite
Réponses : 0
Bonjour,

Je développe une application de facturation multi-plateforme professionnelle, en tout cas c'est mon objectif. Je l'utilise déjà depuis un an pour mon entreprise. Pour cela et pour être conforme avec la loi (anti fraude), il faut aussi que les données soient stockées sur un serveur distant le tout avec une certaine sécurité. Pour le moment, j'ai un serveur dédié chez ovh avec Debian pour la partie backend et un autre “chez kimsufi” pour des sauvegardes incrémentielles, cependant je souhaite que mon programme soit hautement disponible, pour cela je compte prendre un autre serveur dédié pour l'utiliser comme serveur esclave pour la réplication des bases de données (MariaDB/Redis), mais aussi comme réplication pour la partie backend (via rsync et programmes sur-mesure).

Ainsi, si le serveur A tombe, le serveur B prend le relais. Pour la bascule je mettrai en place des sondes pour détecter les pannes (serveur web, bases de données), ensuite via mes IP Failover, je ferai la bascule pour rediriger le trafic, est-ce une bonne solution selon vous pour faire telle chose ?

Je sais qu’il existe des solutions déjà toutes faites, mais étant donné que c’est un nouveau projet, qui ne va pas forcément me rapporter grand-chose au début, je souhaite limiter les frais, et dans tous les cas, j’aime garder le contrôle sur mes serveurs et les programmes.

Merci pour vos réponses smile

#2 Re : Système » Les différents types de fichiers/dossiers sous Linux » 28-11-2020 13:35:31

MoxSite

raleur a écrit :

MoxSite a écrit :

Je pense que les fichiers de type "sockets" sont créés/recréés au démarrage du système ou au lancement d'un programme qui utilise ces sockets. C'est bien ça ? ou ils sont permanents ?


Il peut y avoir les deux. En général, les sockets temporaires sont créées dans des emplacements spécifiques comme /run ou /tmp, comme les autres fichiers temporaires. Et puis, on peut en dire autant des "tubes nommés" (pipe/fifo), alors pourquoi les traiter différemment ? A mon avis ce n'est pas tant le type de fichier que l'emplacement qui doit être pris en compte.


Bonjour,

Merci pour ces précisions. Je pense effectivement que vous avez raison pour l'emplacement, c'est un paramètre à prendre en compte aussi.

#3 Re : Système » Les différents types de fichiers/dossiers sous Linux » 28-11-2020 01:35:51

MoxSite

raleur a écrit :

MoxSite a écrit :

pour les sockets, ce n'est pas nécessaire


Pourquoi ?



Je pense que les fichiers de type "sockets" sont créés/recréés au démarrage du système ou au lancement d'un programme qui utilise ces sockets. C'est bien ça ? ou ils sont permanents ? Si oui, dans ce cas il faut les copier ?

#4 Re : Système » Les différents types de fichiers/dossiers sous Linux » 27-11-2020 19:01:05

MoxSite
Merci Croutons, pour ta réponse.

Oui bien sûr, je ne copie pas les dossiers montés, et les partitions montées au passage j'en ai quelques-unes.

En fait, mon programme sera multiplateforme qui fonctionne sur le principe de client/serveur local et distant. J'ai voulu le développer, car rsync ne me permet pas de faire certaines choses, comme le chiffrement (données et nom des fichiers/dossiers/liens) des données et les sauvegardes différentielles, etc... Et beaucoup d'autres choses.

Avec ce programme je pourrai mettre mes données n'importe où, sans crainte pour la confidentialité de mes données personnelles ou professionnelles.

Du coup, faire pour faire, autant le faire pour l'utiliser aussi pour sauvegarder ma partition système smile

ba pour une copies efficace tout les fichiers et dossiers


Ce c'est que je fais, en copiant les dossiers, liens, et les fichiers réguliers, mais il semble que sous Linux, il y a différents types de fichiers, du coup je voulais savoir s'il faut les prendre en compte :

 Il existe principalement quatre types de fichiers sous Unix :

    les fichiers réguliers (au format texte), fichiers binaires (exécutables ou interprétables) ... ;

    les fichiers répertoires : fichiers conteneurs (binaires) liste de couples < inodes, désignation > ;

    les fichiers spéciaux : situés dans le répertoire /dev, et généralement liés aux pilotes d'E/S. Ils sont orientés blocs, ou caractères ;

    les fichiers support d'IPC : socket ou fifo ;

    les fichiers liens symboliques : fichiers contenant la désignation vers un autre fichier (au sens Unix i.e. un des quatres types).


Source : http://zero202.free.fr/cs3-svsf/html/ar01s02.html

Bon pour les sockets, ce n'est pas nécessaire, mais pour les fichiers spéciaux ou fifo, faut-il les copier ?

#6 Re : Système » A propos des liens physiques » 27-11-2020 18:00:27

MoxSite

raleur a écrit :

MoxSite a écrit :

Ce que j'aimerai savoir, c'est lequel de ces deux fichiers (pointeur) a été créé en premier.


Pour cela, il faudrait que le système de fichiers enregistre la date de création d'une entrée de répertoire et pas seulement de l'inode vers lequel elle pointe. Je doute que ce soit le cas des systèmes de fichiers classiques comme ext4. Ce serait peut-être possible avec un système de fichiers totalement journalisé comme NILFS qui permet de retrouver tout l'historique des méta-données.


Bonsoir,

Oui tout à fait, mais pour ce que je veux faire le principe de l'inode me convient parfaitement. Puis que les noms des fichiers se sont de simples pointeurs, il me suffit de créer n'importe lequel en premier, le résultat est le même. Vive Linux big_smile

#7 Re : Système » A propos des liens physiques » 25-11-2020 17:02:59

MoxSite
C'est ce que j'ai fini par comprendre, un peu comme une adresse mémoire. Il me suffit donc de créer un premier fichier et de pointer dessus les autres "fichiers".

Merci pour la confirmation en tout cas :-)

#8 Système » Les différents types de fichiers/dossiers sous Linux » 25-11-2020 12:46:38

MoxSite
Réponses : 7
Bonjour les connaisseurs :-),

Je suis actuellement en train de développer un programme de sauvegarde qui fonctionne plutôt bien, je sauvegarde les dossiers, les fichiers (fichiers réguliers), les liens symboliques et je travaille aussi sur les liens physiques.

Y a-t-il d'autres fichiers à prendre en compte pour faire une copie 100% conforme de la partition système par exemple ? Pour information, afin de faire des copies efficaces, je fais des snapshots LVM que je copie ensuite.

#9 Système » A propos des liens physiques » 25-11-2020 12:37:53

MoxSite
Réponses : 4
Bonjour,

Est-il possible de savoir quel fichier appartient à un inode, afin de faire la différence entre le fichier initial et le lien physique qui a été créé après ?

Un petit exemple :

sudo find / -inum 262313
/usr/bin/i686-w64-mingw32-g++-posix
/usr/bin/i686-w64-mingw32-c++-posix



Ce que j'aimerai savoir, c'est lequel de ces deux fichiers (pointeur) a été créé en premier.

Merci à vous smile

#11 Scripts, programmes et robots » La modificationde binfmt_misc n'est pas prise en compte » 03-01-2020 13:47:19

MoxSite
Réponses : 2
Bonjour,

Je suis un grand fan du langage Go, et j’aimerai l'utiliser aussi comme langage de scripts, pour ce faire j'ai suivis ce tuto :
https://blog.cloudflare.com/fr/using-go … -linux-fr/

En gros installe un fichier bin en Go qui lance les fichiers Go comme des scripts (sh, py, etc.), pour cela on doit indiquer au système avec quoi interpréter les fichiers exécutable avec l'extension ".go", voici la commande :

echo ':golang:E::go::/usr/local/bin/gorun:OC' | sudo tee /proc/sys/fs/binfmt_misc/register


Cette commande va aussi créer un fichier (nommé golang) dans : /proc/sys/fs/binfmt_misc

Tout ce passe bien, mais après redémarrage, le fichier golang n'est plus présent dans le répertoire. Savez-vous d’où ça peut venir ?

Bonne année à vous, et merci pour votre aide :-).

#12 Re : Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 13:57:15

MoxSite

Debian Alain a écrit :

alors , quand tu mets des  dépôts dans le sources.list , ils ont tous la même priorité .

d'où souvent pagaille entre les versions .

le fichier préférences sert à gérer les priorités  entre les versions et donc , de fait , à éviter la pagaille .

dans tes sources , stretch est désactivé ,
sid est activé avec une priorité de 100 (faible) , dans ton fichier préférences et
buster est activé  avec une priorité par défaut (500) donc supérieure à sid .

tout çà fait que , en l'état actuel de tes sources , c'est buster qui est installé et actif
avec sid "en secours"  .

si tu veux une "full buster" , commentes le dépôt sid et , si tu y tiens , sauvegarde (en bak) ton fichier préférences  .
comme çà , en cas de besoin , tu le retrouvera .

passé le 6 juillet , tu pourra supprimer le dépôt sid et aussi le fichier préférences (je préfère pas pour ce dernier) .
si tu n'as plus les sources sid , le  fichier préférences ne sert à rien , tu peux l'effacer ou le garder .


Excellent ! Merci pour toutes informations, je comprends enfin la priorité des chiffres neutral

#13 Re : Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 13:55:07

MoxSite

bendia a écrit :

Le fichier de sources donne tous les paquets que tu pourrais avoir. C'est le système d'épinglage avec le fichier preferences ou les fichiers dans preferences.d qui détermine ce que le système installe. Tu peux le voir avec la commande

apt policy


Tu as ce tuto là qui explique bien https://debian-facile.org/doc:systeme:apt:pinning smile


Je m'en doutais bien puisque le fichier porte bien son nom :-).

Pour information, voici ce que renvoie la commande :


sudo apt policy

Fichiers du paquet :
 100 /var/lib/dpkg/status
     release a=now
 500 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages
     release o=vscode stable,a=stable,n=stable,l=vscode stable,c=main,b=amd64
     origin packages.microsoft.com
 500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
     release o=Opera Software AS,a=stable,n=stable,l=The Opera web browser,c=non-free,b=amd64
     origin deb.opera.com
 500 https://download.docker.com/linux/debian buster/stable amd64 Packages
     release o=Docker,a=buster,l=Docker CE,c=stable,b=amd64
     origin download.docker.com
 100 http://deb.debian.org/debian unstable/non-free amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=non-free,b=amd64
     origin deb.debian.org
 100 http://deb.debian.org/debian unstable/contrib amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=contrib,b=amd64
     origin deb.debian.org
 100 http://deb.debian.org/debian unstable/main amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://security.debian.org buster/updates/main amd64 Packages
     release o=Debian,a=testing,n=buster,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://deb.debian.org/debian buster/non-free amd64 Packages
     release o=Debian,a=testing,n=buster,l=Debian,c=non-free,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian buster/contrib amd64 Packages
     release o=Debian,a=testing,n=buster,l=Debian,c=contrib,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian buster/main amd64 Packages
     release o=Debian,a=testing,n=buster,l=Debian,c=main,b=amd64
     origin deb.debian.org
Paquets épinglés :
     libtss2-udev -> 2.1.0-4 avec la priorité -30000
     grub-efi-amd64 -> 2.02+dfsg1-12 avec la priorité 30000

 

#14 Re : Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 13:35:10

MoxSite

bendia a écrit :

Ah, Ok, donc, là, tu es bien en Testing (j'avais effectivement omis de signaler qu'il était possible de fractionner ce fichiers en plusieurs en les plaçant le dossier preferences.d hmm ). Donc, pour conserver Buster, il suffira de faire comme l'a dit Debian-Alain et supprimer (ou déplacer pour en conserver une copie) ce fichier /etc/apt/preferences.d/testing-avec-sid smile


Après le 6 juillet une fois la mise à jour effectuée correctement, je garde quand-même le fichier "/etc/apt/preferences.d/testing-avec-sid" ? Cela ne risque pas de me faire passer en la nouvelle Testing/SID (Debian 11) ? Ou si le fichier sources qui détermine tout, j'imagine que oui ?

#15 Re : Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 13:31:01

MoxSite

bendia a écrit :

Ah, Ok, donc, là, tu es bien en Testing (j'avais effectivement omis de signaler qu'il était possible de fractionner ce fichiers en plusieurs en les plaçant le dossier preferences.d hmm ). Donc, pour conserver Buster, il suffira de faire comme l'a dit Debian-Alain et supprimer (ou déplacer pour en conserver une copie) ce fichier /etc/apt/preferences.d/testing-avec-sid smile


Parfait, merci beaucoup pour vos réponses. Je vais sauvegarder ces deux fichiers en lieu sûr et suivre la procédure donnée Debian-Alain. Ainsi comme dit le proverbe, je saurai d'où je suis venu si je me perds big_smile.

Excellente journée à vous smile.

#16 Re : Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 13:17:18

MoxSite
Je viens de trouver ceci que j'ai créé à l'époque :


xxxx@xxxx-desktop:~$ ls -l /etc/apt/preferences.d/
total 8
-rw-r--r-- 1 root root 435 avril 25 11:35 apt-listbugs
-rw-r--r-- 1 root root  48 sept. 23  2018 testing-avec-sid
 




xxxx@xxxx-desktop:~$ cat /etc/apt/preferences.d/testing-avec-sid
Package: *
Pin: release n=sid
Pin-Priority: 100
 



J'utilise bien testing + sid non ?

Pour passer en stable dois-je supprimer le fichier "/etc/apt/preferences.d/testing-avec-sid" ?

#17 Re : Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 13:11:16

MoxSite

bendia a écrit :

Salut smile

Avec un tel sources.list, c'est le fichier /etc/apt/preferences qui détermine la distribution utilisée. Si tu n'en a pas, tu es en Sid, et pas en Testing wink


Bonjour,
Je n'ai pas ce fichier. J'avais suivi un tuto sur ce site il me semble à l'époque pour utiliser Buster en mettant "unstable" pour pécher dedans en cas où un paquet n'est pas disponible dans testing ou inversement. En tout cas je n'ai pas eu de problème majeur depuis. A part au début, le système marche comme une horloge c'est incroyable pour quelque chose qui n'est pas tout à fait stable big_smile. J'avais aussi installé un paquet pour "blacklister" les paquets qui avaient des bugs importants.

#19 Système » Buster : Passer Buster (testing) et unstable à la stable » 23-06-2019 12:39:50

MoxSite
Réponses : 13
Bonjour,

J'utilise actuellement Buster depuis environ 1 an, comme la version stable sort bientôt, j'aimerai passer vers la version stable sans casser mon système ou tout réinstaller. Quelle est la marche à suivre ?

Voici mon fichier sources :


/etc/apt/sources.list
# deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free
# deb-src http://ftp.fr.debian.org/debian/ stretch main contrib non-free

# deb http://security.debian.org/debian-security stretch/updates main contrib non-free
# deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
# deb http://ftp.fr.debian.org/debian/ stretch-updates main contrib non-free
# deb-src http://ftp.fr.debian.org/debian/ stretch-updates main contrib non-free

# stretch-backports
# deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
# deb [arch=amd64] https://download.docker.com/linux/debian stretch stable

# ---------------------------------------------------------------------------------------

# Buster
deb http://deb.debian.org/debian/ buster main contrib non-free
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb http://security.debian.org/ buster/updates main contrib non-free

# unstable
deb http://deb.debian.org/debian/ unstable main contrib non-free
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
# deb-src [arch=amd64] https://download.docker.com/linux/debian buster stable

 



Il suffira de supprimer la ligne "unstable" puis faire la mise à jour normalement ?

#20 Re : Scripts, programmes et robots » Un langage proche de Python (facile) pour tout faire ? » 22-10-2018 17:00:59

MoxSite

enicar a écrit :

Un langage général qui compile en natif, pas trop dur à apprendre : ocaml.
En plus avec le typage fort qui est inféré automatiquement à la compilation
c'est vraiment agréable. L'avantage par rapport à l'haskell (que je préfère) est
qu'il est plus rapide à apprendre et tu peux aussi faire de la programmation
impérative, et tu as aussi de la programmation orienté objet (il existe bien
un Ohaskell, mais déjà haskell est très marginal en France, alors…).
Évidemment, il y a aussi le côté fonctionnel de ocaml qui peut être déroutant au début
mais rien n'oblige de faire de la programmation fonctionnelle en ocaml (personnellement
je trouverais très triste de ne pas faire de programmation fonctionnelle… mais c'est une histoire
de goût, et aussi, pas mal d'algo s'exprime avec plus d'élégance qu'en programmation impérative).

Après il y a go qui a le vent en poupe, ou rust, mais je ne pourrais pas t'en parler puisque je ne les ai
jamais pratiqué. Rust est plus orienté bas niveau semble-t-il et go est plus généraliste et
ça compile vite (ocaml aussi d'ailleurs…).


Franchement je ne changerai pour rien au monde. Je suis tombé amoureux de Go lol. Ce que j'aime aussi dans un langage c'est sa syntexe, celle de go elle est sexy je trouve, pas beaucoup de mots clé et énormément de potentiel. Par exemple avec Go pour stocker des sessions (données) en mémoire, c'est un jeu d'enfant. Il permet aussi de faire de la programmation bas niveau il me semble.

On peut aussi l'utiliser pour faire des programmes avec une interface graphique en utilisant GTK ou Qt, comme celui-ci par exemple :
https://github.com/therecipe/qt

La force de Go c'est aussi son équipe de développement, il ne faut pas oublier que dernier Go il y a Google pour assurer son évolution, c'est une valeur sûre pour moi. Il y a aussi go 2.0 en préparation et l'équipe semble prendre en considération les demandes des utilisateurs qui veulent une programmation générique simple et une gestion des erreurs plus intuitive.

Pour Rust, j'ai voulu essayé un jour, je le trouve compliqué et pas assez sexy big_smile.

#21 Re : Scripts, programmes et robots » Un langage proche de Python (facile) pour tout faire ? » 22-10-2018 16:43:11

MoxSite

Maximilien LIX a écrit :

Ouais, tu peux très bien déclarer un pointeur dans une structure qui pointe sur une fonction assez facilement en Go (histoire de créer une "méthode"), mais la notion d'héritage sur les struct est pas vraiment intuitive je trouve smile


Voici un exemple d'héritage que j'utilise pour un petit CMS orienté MVC :


// ArticlesController implémente ControllerCore.
type ArticlesController struct {
  ControllerCore

  // Les paramètres internes
  maxWidth         uint
  maxHeight        uint
  mimeTypes        string
  resizedMaxWidth  uint
  resizedMaxHeight uint
  thumbMaxWidth    uint
  thumbMaxHeight   uint
  maxFileSize      int64
}

// Init s'exécute avant le PretDispatch.
func (c *ArticlesController) Init(action string, ctrlName string, w http.ResponseWriter, r *http.Request) {
  c.ActionName = action
  c.ControllerName = ctrlName
  c.TplName = ctrlName
  c.ResponseWriter = w
  c.Request = r

  // Les paramètres internes
  c.maxWidth = 7000
  c.maxHeight = 7000
  c.mimeTypes = "image/jpeg"
  c.resizedMaxWidth = 710
  c.resizedMaxHeight = 350
  c.thumbMaxWidth = 200
  c.thumbMaxHeight = 200
  c.maxFileSize = 6291456
}
 



C'est bien plus qu'un simple pointeur :-). Le code ci-dessus fait exactement la même chose qu'une classe en PHP ou Python.

#22 Re : Scripts, programmes et robots » Un langage proche de Python (facile) pour tout faire ? » 22-10-2018 15:11:07

MoxSite

Maximilien LIX a écrit :

go learning(user, channel) tongue

Je suis en train d'apprendre ce langage. Malheureusement au boulot je n'arrive pas à me détacher de Php et Java, mais j'avoue que le Go à un énorme potentiel. Même si dans mon cas la transition From Java To Go est terriblement frustrante. Les choses simples sont souvent les meilleures, mais j'ai l'impression de perdre en souplesse niveau conception en Go. Je suis beaucoup trop habitué à mes classes (abstraites ou non) et à mes interfaces, sans parler des designs patterns (Builder et Fluent, AbstractFactory, Singleton ect) https://debian-facile.org/img/smilies/x … _panic.gif


Ayant fait beaucoup de PHP, au début j'avais l'impression que Go était contre-nature sans les "classes" (héritage, POO), en fait, c'est juste que je n'avais pas compris big_smile. Les "struct", c'est comme les classes, elles permettent de faire de la POO et supportent l'héritage.

#23 Re : Scripts, programmes et robots » Qt gènere des fichiers trop voluminaux » 01-10-2018 17:37:15

MoxSite

kao a écrit :

Du coup en terme de place, l'exectuble ne fait plus que 2Mo au lieu de 100, sacré gain wink


Tout à fait, c'est une bonne chose si on doit développer plusieurs programmes avec interface graphique. Pour Windows tout dans un fichier de 20Mo, c'est vraiment génial, c'est beaucoup mieux que Python :-). Sinon pour les programmes sans interfaces, Go est juste.. comme dire, l'invention du siècle ! lol

#24 Re : Scripts, programmes et robots » Qt gènere des fichiers trop voluminaux » 30-09-2018 13:07:49

MoxSite

kao a écrit :

You can start your app either by running project-name or project-name.sh. If you use project-name, your app will run using Qt5 libraries that installed by your system package manager, therefore make it looks native in your platform. On the other hand, if you use project-name.sh, your app will run by dynamic linking the included libraries which will use the fusion style


C'est ce texte qui donne l'explication. Si tu joue le .sh ça utilise les libs embarqués dans le dossier. Si tu lances la commande sans le .sh il utilise le Qt de ta machine.


Bonjour,

Effectivement, j'ai fait le test, c'est bien ça. Merci pour tes réponses :-)

#25 Re : Système » Le système qui freeze de façon aléatoire » 28-09-2018 12:32:41

MoxSite

Beta-Pictoris a écrit :

Ton alimentation serait compatible haswell, mais ça reste à valider: https://www.corsair.com/fr/fr/blog/hasw … r-supplies

Par la suite, teste juste la modification du bios sans le script python (ni le paramètre du noyau "idle=nomwait" si tu l'as appliqué) pour voir si ta machine reste stable.

Après, il est possible qu'un nouveau noyau linux et des mises à jour de bios corrigent le problème.



Très bien, je vais tester les deux options, si la machine reste stable d'ici un mois, je garde juste la solution du bios, puis je testerai un mois de plus. Je mets tout ça sur mon agenda pour ne pas oublier, ainsi si vous pouvez (l'équipe) remonter les bugs à l'équipe de Debian.

En tout cas, depuis ces modifications, plus aucun bug, j'ai l'impression d'avoir une nouvelle machine, c'est stable et très réactif, du bonheur à l'état pur ! Pourvu que reste ainsi smile.

Une fois qu'une mise à jour du bios est disponible, je vais l'appliquer, puis voir aussi avec les nouveaux noyaux.

Pied de page des forums

Propulsé par FluxBB