Mageia is distributed via ISO images. This page will help you to
+ choose which image best suits your needs.
There are three types of installation media:
Classical installer: Booting
+ with this media provides you with the maximum flexibility when
+ choosing what to install, and for configuring your system. In
+ particular, you have a choice of which Desktop environment to
+ install.
LIVE media: This option allows
+ you to try out Mageia without having to actually install it, or make
+ any changes to your computer. However, the Live media also includes an
+ Installer, which can be started when booting the media, or after
+ booting into the Live operating system itself.
Note
The Live Installer is simpler compared to the Classical
+ Installer - but you have fewer configuration options.
Important
Live ISOs can only be used to create “clean”
+ installations, they cannot be used to upgrade previously installed
+ Mageia releases.
Net Install: These are minimal
+ ISO's containing no more than that which is needed to start the DrakX
+ installer and find DrakX-installer-stage2 and other
+ packages that are needed to continue and complete the install. These
+ packages may be on the PC hard disk, on a local drive, on a local
+ network or on the Internet.
These media are very light (less than 100 MB) and are convenient
+ if bandwidth is too low to download a full DVD, or if you have a PC
+ without a DVD drive or is unable to boot from a USB stick.
More details are given in the next sections.
Media
Definition
Here, a medium (plural: media) is an ISO image file that allows
+ you to install and/or update Mageia and, by extension, any physical
+ medium (DVD, USB stick, ...) the ISO file is copied to.
These ISOs use the Classical installer called DrakX
They are used for performing clean installs or to upgrade a
+ previously installed version of Mageia
Different media for 32 and 64-bit architectures
Some tools are available in the Installer
+ “Welcome” screen: Rescue System, Memory
+ Test, and Hardware Detection
+ Tool
Each DVD contains many available desktop environments and
+ languages
You'll be given the choice during the installation to add
+ non-free software
Live media
Common features
Can be used to preview the Mageia operating system without
+ having to install it
The Live media also includes an Installer.
Each ISO contains only one desktop environment (Plasma,
+ GNOME or Xfce)
Different media for 32 and 64-bit architectures
They contain non-free software
Live DVD Plasma
Plasma desktop environment only
All available languages are present
64-bit architecture only
Live DVD GNOME
GNOME desktop environment only
All available languages are present
64-bit architecture only
Live DVD Xfce
Xfce desktop environment only
All available languages are present
32 or 64-bit architectures
Net install media
Common features
Different media for 32 and 64-bit architectures
First steps are English language only
netinstall.iso
Contains only free software, for those who prefer to not use
+ non-free software
netinstall-nonfree.iso
Contains non-free software (mostly drivers, codecs...) for
+ those who need it
Downloading and Checking Media
Downloading
Once you have chosen your ISO file, you can download it using
+ either http or BitTorrent. In both cases, you are provided with some
+ information, such as the mirror in use and an option to switch to an
+ alternative if the bandwidth is too low.
If http is chosen you will also see some information regarding
+ checksums.
md5sum, sha1sum and
+ sha512sum (the most secure) are tools to check the
+ ISO integrity. Copy one of the checksums (string of alphanumeric
+ characters) for use in the next section.
In the meantime, a window to download the actual ISO will
+ open:
Click on Save File, then click
+ OK.
Checking the integrity of the downloaded
+ media
The checksums referred to earlier, are digital fingerprints
+ generated by an algorithm from the file to be downloaded. You may
+ compare the checksum of your downloaded ISO against that of the original
+ source ISO. If the checksums do not match, it means that the actual data
+ on the ISO's do not match, and if that is the case, then you should
+ retry the download or attempt a repair using BitTorrent.
To generate the checksum for your downloaded ISO, open a console,
+ (no need to be root), and:
To use the md5sum, type: md5sum
+ path/to/the/image/file.iso
To use the sha1sum, type: sha1sum
+ path/to/the/image/file.iso
To use the sha512sum, type: sha512sum
+ path/to/the/image/file.iso
Example:
then compare the result (you may have to wait for a while) with
+ the ISO checksum provided by Mageia.
Burn or dump the ISO
The verified ISO can now be burned to a CD/DVD or
+ “dumped” to a USB stick. This is not a standard copy
+ operation, as a bootable medium will actually be created.
Burning the ISO to a CD/DVD
Whichever software you use, ensure that the option to burn
+ an image is used. Burn data or
+ files is NOT correct. See the the
+ Mageia wiki for more information.
Dump the ISO to a USB stick
All Mageia ISOs are hybrids, which means you can dump them to a
+ USB stick and then use that to boot and install the system.
Warning
Dumping an image onto a flash device destroys any previous
+ file-system on the device and all existing data will be lost.
Note
Also, the only partition on the flash device will then just be
+ the Mageia ISO partition.
So, if an ISO of about 4GB is written to an 8GB USB stick, the
+ stick will then only show up as 4GB. This is because the remaining 4GB
+ is no longer formatted - hence not currently available for use. To
+ recover the original capacity, you must reformat and repartition the
+ USB stick.
It is potentially *dangerous* to do this by hand. You risk
+ overwriting potentially valuable existing data if you specify the
+ wrong target device.
Open a console
Become a root (Administrator) user with
+ the command su - (don't forget the
+ - )
Plug in your USB stick - but do not mount it (this also
+ means do not open any application or file manager that could
+ access or read it)
Enter the command fdisk -l
Find the device name for your USB stick (by its size), for
+ example /dev/sdb in the screenshot above, is
+ an 8GB USB stick.
Alternatively, you can find the device name with the command
+ dmesg. Towards the end of the following
+ example, you can see the device name starting with
+ sd, and in this case,
+ sdd is the actual device. You can also see
+ that its size is 2GB:
[72594.604531] usb 1-1: new high-speed USB device number 27 using xhci_hcd
+[72594.770528] usb 1-1: New USB device found, idVendor=8564, idProduct=1000
+[72594.770533] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
+[72594.770536] usb 1-1: Product: Mass Storage Device
+[72594.770537] usb 1-1: Manufacturer: JetFlash
+[72594.770539] usb 1-1: SerialNumber: 18MJTWLMPUCC3SSB
+[72594.770713] usb 1-1: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
+[72594.770719] usb 1-1: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
+[72594.771122] usb-storage 1-1:1.0: USB Mass Storage device detected
+[72594.772447] scsi host8: usb-storage 1-1:1.0
+[72595.963238] scsi 8:0:0:0: Direct-Access JetFlash Transcend 2GB 1100 PQ: 0 ANSI: 4
+[72595.963626] sd 8:0:0:0: [sdd] 4194304 512-byte logical blocks: (2.14 GB/2.00 GiB)
+[72595.964104] sd 8:0:0:0: [sdd] Write Protect is off
+[72595.964108] sd 8:0:0:0: [sdd] Mode Sense: 43 00 00 00
+[72595.965025] sd 8:0:0:0: [sdd] No Caching mode page found
+[72595.965031] sd 8:0:0:0: [sdd] Assuming drive cache: write through
+[72595.967251] sdd: sdd1
+[72595.969446] sd 8:0:0:0: [sdd] Attached SCSI removable disk
Enter the command: dd if=path/to/the/ISO/file
+ of=/dev/sdX bs=1M
It is advisable for all Mageia installations to set a
+ superuser (Administrator) password, usually called the
+ root password in Linux. As you type a password into
+ the top box a shield will change from red-to-yellow-to-green depending on
+ the strength of the password. A green shield shows you are using a strong
+ password. You need to repeat the same password in the box underneath, to
+ check that the first entry was not mistyped.
Note
All passwords are case-sensitive. It is best to use a mixture of
+ letters (upper and lower case), numbers and other characters in a
+ password.
Enter a user
Add a User here. A regular user has fewer privileges than the
+ superuser (root), but enough to use the Internet,
+ office applications or play games and anything else the average user might
+ use a computer for.
Icon
Click on this button if you want to change the user's
+ icon
Real Name
Insert the user's real name into this text box
Login Name
Enter the user login name or let DrakX use a version of the
+ user's real name. The login name is
+ case-sensitive.
Password
Type in the user password. There is a shield at the end of the
+ text box that indicates the strength of the password. (See also Note)
Password (again): Retype the
+ user password. DrakX will check that you have not mistyped the
+ password.
Note
Any users added while installing Mageia, will have a home
+ directory that is both read and write protected (umask=0027)
You can add any extra needed users in the Configuration
+ - Summary step during the install. Choose User
+ management.
The access permissions can also be changed after the
+ install.
User Management (advanced)
The Advanced option allows you to edit further
+ settings for the user you are adding.
Shell: This drop-down list allows you to
+ change the shell available to any user you added in the previous
+ screen. Options are Bash, Dash
+ and Sh
User ID: Here you can set the user ID for
+ any user you added in the previous screen. If you are unsure what the
+ purpose of this is, then leave it blank.
Group ID: This lets you set the group ID.
+ Again, if unsure, leave it blank.
In this screen you can see
+ the content of your hard drive(s) along with the DrakX partitioning
+ proposals for where to install Mageia.
The actual options
+ available from those shown below will vary according to the layout and
+ content of your particular hard drive(s).
Main Options
Use Existing Partitions
If this option is
+ available, then existing Linux compatible partitions have been found and
+ may be used for the installation.
Use Free Space
If you have unused
+ space on your hard drive then this option will use it for your new
+ Mageia installation.
Use Free Space on a Windows Partition
If you have unused
+ space on an existing Windows partition, the installer may offer to use
+ it. This can be a useful way of making room for your new Mageia
+ installation, but is a risky operation so you should make sure you have
+ backed up all important files!
With this option, the installer displays the remaining Windows
+ partition in light blue and the proposed Mageia partition in dark blue
+ with their intended sizes just underneath. You have the option to modify
+ these sizes by clicking and dragging the gap between both partitions.
+ See the following screenshot:
Erase and use Entire Disk
This option will
+ allocate the entire drive for Mageia
Warning
This will erase ALL
+ data on the selected hard drive. Take care! If you intend to use part
+ of the disk for something else, or you already have data on the drive
+ that you are not prepared to lose, then do not use this option.
Important
Note that this
+ involves shrinking the size of the Windows partition. The partition
+ must be "clean", meaning that Windows must have closed down correctly
+ the last time it was used. It must also have been defragmented,
+ although this is not a guarantee that all files in the partition have
+ been moved out of the area that is about to be used. It is highly
+ recommended to back up your personal files.
Custom Disk Partitioning
This gives you
+ complete control over the placing of the installation on your hard
+ drive(s).
If you are not using the Custom disk partitioning
+ option, then the installer will allocate the available space according to
+ the following rules:
If the total available space is less than 50 GB, then only one
+ partition is created. This will be the / (root)
+ partition.
If the total available space is greater than 50 GB, then three
+ partitions are created
6/19 of the total available place is allocated to
+ / with a maximum of 50 GB
1/19 is allocated to swap with a maximum
+ of 4 GB
the rest (at least 12/19) is allocated to
+ /home
This means that from 160 GB or greater available space, the installer
+ will create three partitions:
50 GB for /
4 GB for swap
and the remainder for /home
Note
If you are using a UEFI system, the ESP (EFI System Partition) will
+ be automatically detected - or created if it does not exist yet - and
+ mounted on /boot/EFI. The Custom disk
+ partitioning option is the only one that allows to check it has
+ been correctly done.
If you are using a Legacy (also known as BIOS) system with a GPT
+ partitioned disk, you need to create a BIOS boot partition if it doesn't
+ already exist. It should be about 1 MiB with no mount point. It can be
+ created with the Installer, under Custom disk
+ partitioning, like any other partition. Be sure to select
+ “BIOS boot partition” for filesystem type.
See DiskDrake for information on how to
+ proceed.
Important
Some newer drives are now using 4096 byte logical sectors, instead
+ of the previous standard of 512. Due to lack of available hardware, the
+ partitioning tool used in the installer has not been tested with such a
+ drive.
Some SSD devices now use an erase block size over 1 MB. If you have
+ such a device we suggest that you partition the drive in advance, using an
+ alternative partitioning tool like gparted, and to use the following
+ settings:
Align to = MiB
Free space preceding (MiB) = 2
Also make sure all partitions are created using an even number of
+ megabytes.
Choose the mount points
Here you see the Linux partitions that have been found on your
+ computer. If you don't agree with the DrakX suggestions, you can change the
+ mount points yourself.
To the left of the drop-down menus is a list of available
+ partitions. For example: sda is a hard drive - and
+ 5 is a partition number,
+ followed by the (capacity, mount point, filesystem
+ type) of the partition.
If you have several partitions, you can choose various different
+ mount points from the drop down menu, such as
+ /, /home and
+ /var. You can even make your own mount points, for
+ instance /video for a partition where you want to
+ store your films, or perhaps /Data for all your
+ data files.
For any partitions that you don't need to make use of, you can
+ leave the mount point field blank.
Warning
If you make any changes here, ensure you still have a
+ / (root) partition.
Tip
If you are not sure what to choose, click
+ Previous to go back and then tick Custom
+ disk partitioning, where you can click on a partition to see
+ its type and size.
If you are sure the mount points are correct, click on
+ Next, and choose whether you only want to format the
+ partition suggested by DrakX, or more.
Confirm hard disk to be
+ formatted
Click on
+ Previous if you are at all unsure about your
+ choice.
Click on
+ Next to proceed if you are sure that it is OK to
+ erase every partition, every operating system and all data that might be on that hard disk.
Custom Disk Partitioning with
+ DiskDrake
Modify the layout of your
+ disk(s) here. You can remove or create partitions, change the filesystem
+ or size of a partition and even view their details before you
+ start.
There is a tab at the top for
+ every detected hard disk (or other storage device, like a USB key). In
+ the screenshot above there are two available devices: sda
+ and sdb.
For all other actions: click
+ on the desired partition first. Then view it, or choose a filesystem and
+ a mount point, resize it or wipe it. Expert mode
+ provides more options such as to label (name) a partition, or to choose
+ a partition type.
Continue until you have
+ adjusted everything to your satisfaction, then click
+ Done when you're ready.
Warning
Take care with the
+ Clear all option, use it only if you are sure you
+ want to wipe all partitions on the selected storage device.
If you wish to use
+ encryption on your / partition you must ensure
+ that you have a separate /boot partition. The
+ encryption option for the /boot partition must
+ NOT be set, otherwise your system will be unbootable.
Important
If you are installing Mageia on a UEFI system, check that an ESP
+ (EFI System Partition) is present and correctly mounted on
+ /boot/EFI. See Figure 1 below.
If you are installing Mageia on a Legacy/GPT system, check that
+ a BIOS boot partition is present and of the correct type. See Figure 2
+ below.
Figure 1. EFI System Partition
Figure 2. BIOS boot partition
Formatting
Here you can choose which
+ partition(s) you wish to format. Any data on partitions
+ not marked for formatting will be preserved.
Usually, at least the
+ partitions that DrakX selected need to be formatted.
Click on
+ Advanced to choose the partitions you want to check for
+ so-called bad blocks
Tip
If you're not sure you
+ have made the right choice, you can click on
+ Previous, again on Previous and
+ then on Custom to get back to the main screen, where
+ you can choose to view details of your partitions.
When you are confident
+ about the selections, click on Next to continue.
This section allows you to
+ configure some simple firewall rules: they determine which type of message
+ from the Internet will be accepted by the target system. This, in turn,
+ allows the corresponding services on the system to be accessible from the
+ Internet.
In the default setting (no button is checked), no service of the
+ system is accessible from the network. The Everything (no
+ firewall) option enables access to all services of the machine -
+ an option that does not make much sense in the context of the installer
+ since it would create a totally unprotected system. Its veritable use is in
+ the context of the Mageia Control Center (which uses the same GUI layout)
+ for temporarily disabling the entire set of firewall rules for testing and
+ debugging purposes.
All other options are more or less self-explanatory. As an example,
+ you will enable the CUPS server if you want printers on your machine to be
+ accessible from the network.
Advanced
The Advanced option opens a window where you can
+ enable a series of services by typing a list of “couples”
+ (blank separated)
<port-number>/<protocol>
- <port-number> is the value of the
+ port assigned to the service you want to enable (e.g. 873 for the RSYNC
+ service) as defined in RFC-433;
- <protocol> is one of
+ TCP or UDP - the internet
+ protocol that is used by the service.
For instance, the entry for enabling access to the RSYNC service
+ therefore is 873/tcp.
In case a service is implemented to use both protocols, you specify 2
+ couples for the same port.
No matter which graphical
+ environment (also known as desktop environment) you chose for this install
+ of Mageia, they are all based on a graphical user interface system called
+ X Window System, or simply “X”. So in order
+ for KDE Plasma, GNOME, LXDE or any other graphical environment to work well,
+ the following “X” settings need to be correct.
Choose the appropriate settings manually if you think the details are
+ incorrect, or if none are shown.
You can choose Plug 'n Play, if applicable, or choose your monitor
+ from the Vendor or Generic
+ lists. Choose Custom if you prefer to manually set
+ the horizontal and vertical refresh rates of your monitor. See the section called “Choosing your Monitor”.
Resolution
The resolution and color depth of your monitor can be set
+ here.
Test
The test button does not always appear during install. If the
+ option is there, and you test your settings, you should be asked to
+ confirm that your settings are correct. If you answer
+ Yes, the settings will be kept. If you don't see
+ anything, you'll return to the configuration screen and be able to
+ reconfigure everything until the test result is satisfactory. If the
+ test option is not available, then make sure your settings are on the
+ safe side.
Options
Here you can choose to enable or disable various options.
Warning
There is a risk of
+ damaging a monitor if you choose refresh rates that are outside the
+ frequency range of that monitor. This applies to older CRT displays:
+ modern monitors will reject an unsupported frequency and normally enter
+ standby mode.
Choose an X Server (Configure
+ your Graphic Card)
DrakX has a very comprehensive database of video cards and will
+ usually correctly identify your video device.
If the installer has not correctly detected your graphic card and you
+ know which one you have, you can select it from the tree by:
Vendor
then the make of your card
and the model of card
If you cannot find your card in the vendor lists (because it's not yet
+ in the database or it's an older card) you may find a suitable driver in the
+ Xorg category, which provides more than 40 generic and
+ open source video card drivers. If you still can't find a specific driver
+ for your card there is the option of using the VESA driver which provides
+ basic capabilities.
Caution
Be aware that if you select an incompatible driver you may only have
+ access to the Command Line Interface
Some video card manufacturers provide proprietary drivers for Linux
+ which may only be available in the Nonfree repository
+ and in some cases only from the card manufacturers' websites. The
+ Nonfree repository needs to be explicitly enabled to
+ access them. If you didn't enable it previously, you should do this after
+ your first reboot.
Choosing your Monitor
DrakX has a very
+ comprehensive database of monitors and will usually correctly identify
+ yours.
Warning
Selecting a monitor with different characteristics could
+ damage your monitor or video hardware. Please don't try something without
+ knowing what you are doing. If in doubt you should consult your
+ monitor documentation.
Custom
This option allows
+ you to set two critical parameters: the vertical refresh rate and the
+ horizontal sync rate. Vertical refresh determines how often the screen
+ is refreshed and horizontal sync is the rate at which scan lines are
+ displayed.
It is
+ VERY IMPORTANT that you do not specify a monitor
+ type with a sync range that is beyond the capabilities of your
+ monitor: you may damage your monitor. If in doubt, choose a
+ conservative setting and consult your monitor documentation.
Plug'n Play
This is the default
+ option and automatically tries to determine the monitor type from the
+ monitor database.
Vendor
If the installer
+ has not correctly detected your monitor and you know which one you
+ have, you can choose it from the options by selecting:
Manufacturer
Monitor model
Generic
Selecting this
+ group will list approximately 30 display configurations such as
+ 1024x768 @ 60Hz and includes flat-panel displays as used in laptops.
+ This is often a good monitor selection group if you need to use the
+ VESA card driver when your video hardware cannot be determined
+ automatically. Once again, it may be wise to be conservative in your
+ selections.
No one will see all the installer screens that you see in this
+ manual. Which screens you will see, depends on your hardware and the
+ choices you make while installing.
Whether you are new to GNU-Linux or an experienced user, the Mageia
+ Installer is designed to help make your installation or upgrade as easy as
+ possible.
The installation steps
The install process is divided into a number of steps - the
+ status of which is indicated in a panel to the left of the
+ screen.
Each step has one or more screens, which may also have
+ Advanced sections with extra, less commonly
+ required options.
Most screens have Help buttons for further
+ details about the particular step.
Caution
If at some point during the install you decide to abort the
+ installation, it is possible to reboot, but please think twice before
+ you do this. Once a partition has been formatted or updates have started
+ to be installed, your computer is no longer in the same state and
+ rebooting it could very well leave you with an unusable system.
If, in spite of this, you are very sure rebooting is what you
+ want, go to a text terminal by pressing the keys Ctrl+Alt+F2 together. After that, press Ctrl+Alt+Delete together to reboot.
Installation Welcome Screen
The particular screen that you will first see when booting from the
+ Installation media will depend on whether your computer motherboard is of
+ the Legacy (BIOS) or UEFI type.
The welcome menu screen has various options, however the default
+ option will start the installer, and is normally all that you will
+ need.
Legacy (BIOS) Systems
Menu
Install Mageia
Install Mageia to a hard disk. This is the default option, and
+ will automatically start after a short while unless another option
+ is selected.
Rescue System
This option allows you to either re-install the bootloader for
+ an existing Mageia installation or you can use it to restore a
+ Windows bootloader.
Memory Test
Test the installed RAM by performing multiple read and write
+ operations. Reboot to end the test.
F2: Language
Press F2 for alternative languages.
UEFI Systems
From this screen, you can access options by pressing
+ e to enter the edit mode. To come back to this screen,
+ press Esc to quit without saving or press
+ F10 to save and quit.
Menu
Install: Start the Install
+ process
Rescue: This option allows
+ you to either re-install the bootloader for an existing Mageia
+ installation or you can use it to restore a Windows
+ bootloader.
F2: Language: Press
+ F2 for alternative languages.
If you booted from a USB stick, you will see the above options
+ duplicated, and in this case, you should use the set that will be
+ suffixed with "USB".
Installation Problems and Possible Solutions
No Graphical Interface
After the initial screen you did not progress to the
+ Language Selection screen. This can happen with
+ some graphic cards and older systems. Try using low resolution by
+ typing vgalo at the prompt.
If the hardware is very old, a graphical installation may not
+ be possible. In this case it is worth trying a text-mode
+ installation. To use this press Esc at the
+ Welcome screen and confirm with
+ ENTER. You will be presented with a black screen
+ with a boot: prompt. Type text
+ and press ENTER to continue with the installation
+ in text mode.
The Install Freezes
If the system appeared to freeze during the installation, this may
+ be a problem with hardware detection. In this case the automatic
+ hardware detection may be bypassed and dealt with later. To try this,
+ type noauto at the prompt. This option may also be
+ combined with other parameters as necessary.
RAM problem
This will rarely be needed, but in some cases the hardware may
+ report the available RAM incorrectly. To specify this manually, you can
+ use the mem=xxxM
+ parameter, where xxx is the correct amount of
+ RAM. e.g. mem=256M would specify 256MB of RAM.
Dynamic partitions
If you converted your hard disk from Basic
+ format to Dynamic format in Microsoft Windows, then
+ it is not possible to install Mageia on this disc. To revert to a
+ Basic disk, see the Microsoft documentation: http://msdn.microsoft.com/en-us/library/cc776315.aspx.
Choose your
+ timezone by choosing your country, or a city close to you in the same
+ timezone.
In the next screen you
+ can choose to set your hardware clock to local time or to GMT, also known as
+ UTC.
Note
If you have more than
+ one operating system on your computer, make sure they are all set to local
+ time, or all to UTC/GMT.
Select your Country / Region
Select your country or
+ region. This is important for all kinds of settings, like the currency
+ and wireless regulatory domain. Setting the wrong country can lead to
+ being unable to use a Wireless network.
If your country isn't in
+ the list, click the Other Countries option and
+ choose your country / region there.
Note
If your country is only in
+ the Other Countries list, after clicking
+ OK it may seem that a country from the main list was
+ chosen. Despite this, DrakX will actually apply your choice.
Input method
In the Other
+ Countries screen you can also select an input method (at the
+ bottom of the list). Input methods allow users to input multilingual
+ characters (Chinese, Japanese, Korean, etc). IBus is the default input
+ method, so users should not need to configure it manually. Other input
+ methods (SCIM, GCIN, HIME, etc) also provide similar functions and can be
+ installed if you added HTTP/FTP media before package selection.
Note
If you missed the input
+ method setup during installation, you can access it post-install via
+ Configure your Computer → System, or by running localedrake as
+ root.
DrakX presents a proposal for
+ the configuration of your system depending on the choices you made so far,
+ and on the hardware detected. You can check the settings here and change
+ them if you want by pressing Configure.
Note
As a general rule, it is recommended that you accept the default
+ settings unless:
there are known issues with a default setting
the default setting has already been tried and it fails
some other factor mentioned in the detailed sections below is
+ an issue
System parameters
Timezone
DrakX selects a
+ timezone for you, depending on your preferred language. You can change
+ it if needed. See also Configure Timezone
Country / Region
If the selected
+ country is wrong, it is very important that you correct the setting.
+ See Select Country
Bootloader
DrakX proposal for
+ the bootloader setting
Do not change
+ anything, unless you know how to configure GRUB2. For more
+ information, see Bootloader
User management
You can add extra
+ users here. They will each be allocated their own
+ /home directories.
Services
System services
+ refer to those small programs which run in the background (daemons).
+ This tool allows you to enable or disable certain processes.
You should check
+ carefully before changing anything here - a mistake may prevent your
+ computer from operating correctly. For more information, see Configure Services
Hardware parameters
Keyboard
Configure your
+ keyboard layout according to your location, language and type of
+ keyboard.
Note
If you notice a wrong keyboard layout and want to change it,
+ keep in mind that your passwords are going to change too.
Mouse
Here you can add
+ or configure other pointing devices, tablets, trackballs etc.
Sound card
The installer
+ will use the default driver if one is available.
If there is no specific default driver for your sound card,
+ there may be other possible alternative drivers available to choose
+ from. If this is the case, but you think the installer has not made
+ the most appropriate choice, you can click on
+ Advanced to manually specify a driver.
You can configure
+ your network here, but for network cards with non-free drivers it is
+ better to do that after reboot, using the Mageia Control Center if you
+ have not yet enabled the Nonfree media
+ repositories.
Warning
When you add a
+ network card, do not forget to set your firewall to monitor that
+ interface as well.
Proxies
A Proxy Server
+ acts as an intermediary between your computer and the wider Internet.
+ This section allows you to configure your computer to utilize a proxy
+ service.
You may need to
+ consult your systems administrator to obtain the parameters you need
+ to enter here.
Security
Security Level
The default
+ Security level (Standard) for your computer should be adequate for
+ general use in most cases. However, select the option which best suits
+ your usage.
Firewall
The firewall
+ allows you to manage which network connections are allowed on your
+ computer. The safe and secure default is to allow ZERO inbound
+ connections. This does not stop you connecting outbound and using your
+ computer normally.
Please be aware that the Internet is a high risk
+ network where there are continuous attempts to probe and attack
+ systems. Even seemingly “safe” connections such as ICMP
+ (for ping) have been used as covert data channels for exfiltrating
+ data by malicious persons.
diff --git a/installer/7/en/content/nwSearchFnt.js b/installer/7/en/content/nwSearchFnt.js
new file mode 100644
index 00000000..13327867
--- /dev/null
+++ b/installer/7/en/content/nwSearchFnt.js
@@ -0,0 +1,524 @@
+/*----------------------------------------------------------------------------
+ * JavaScript for webhelp search
+ *----------------------------------------------------------------------------
+ This file is part of the webhelpsearch plugin for DocBook WebHelp
+ Copyright (c) 2007-2008 NexWave Solutions All Rights Reserved.
+ www.nexwave.biz Nadege Quaine
+ http://kasunbg.blogspot.com/ Kasun Gajasinghe
+ */
+
+//string initialization
+var htmlfileList = "htmlFileList.js";
+var htmlfileinfoList = "htmlFileInfoList.js";
+var useCJKTokenizing = false;
+
+/* Cette fonction verifie la validite de la recherche entrre par l utilisateur */
+function Verifie(ditaSearch_Form) {
+
+ // Check browser compatibitily
+ if (navigator.userAgent.indexOf("Konquerer") > -1) {
+
+ alert(txt_browser_not_supported);
+ return;
+ }
+
+
+ var expressionInput = document.ditaSearch_Form.textToSearch.value;
+ //Set a cookie to store the searched keywords
+ $.cookie('textToSearch', expressionInput);
+
+
+ if (expressionInput.length < 1) {
+
+ // expression is invalid
+ alert(txt_enter_at_least_1_char);
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+ else {
+
+ // Effectuer la recherche
+ Effectuer_recherche(expressionInput);
+
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+}
+
+var stemQueryMap = new Array(); // A hashtable which maps stems to query words
+
+/* This function parses the search expression, loads the indices and displays the results*/
+function Effectuer_recherche(expressionInput) {
+
+ /* Display a waiting message */
+ //DisplayWaitingMessage();
+
+ /*data initialisation*/
+ var searchFor = ""; // expression en lowercase et sans les caracte res speciaux
+ //w = new Object(); // hashtable, key=word, value = list of the index of the html files
+ scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for
+ var wordsList = new Array(); // Array with the words to look for
+ var finalWordsList = new Array(); // Array with the words to look for after removing spaces
+ var linkTab = new Array();
+ var fileAndWordList = new Array();
+ var txt_wordsnotfound = "";
+
+
+ /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/
+ searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "").replace(/_di_/g, "%24_");
+
+ searchFor = searchFor.replace(/ +/g, " ");
+ searchFor = searchFor.replace(/ $/, "").replace(/^ /, "");
+
+ wordsList = searchFor.split(" ");
+ wordsList.sort();
+
+ //set the tokenizing method
+ if(typeof indexerLanguage != "undefined" && (indexerLanguage=="zh" || indexerLanguage=="ja" ||indexerLanguage=="ko")){
+ useCJKTokenizing=true;
+ } else {
+ useCJKTokenizing=false;
+ }
+ //If Lucene CJKTokenizer was used as the indexer, then useCJKTokenizing will be true. Else, do normal tokenizing.
+ // 2-gram tokenizinghappens in CJKTokenizing,
+ if(useCJKTokenizing){
+ finalWordsList = cjkTokenize(wordsList);
+ } else {
+ finalWordsList = tokenize(wordsList);
+ }
+
+ //load the scripts with the indices: the following lines do not work on the server. To be corrected
+ /*if (IEBrowser) {
+ scriptsarray = loadTheIndexScripts (scriptLetterTab);
+ } */
+
+ /**
+ * Compare with the indexed words (in the w[] array), and push words that are in it to tempTab.
+ */
+ var tempTab = new Array();
+ for (var t in finalWordsList) {
+ if (w[finalWordsList[t].toString()] == undefined) {
+ txt_wordsnotfound += finalWordsList[t] + " ";
+ } else {
+ tempTab.push(finalWordsList[t]);
+ }
+ }
+ finalWordsList = tempTab;
+
+ if (!finalWordsList.length) {
+ finalWordsList = wordsList;
+ }
+
+ fileAndWordList = SortResults(finalWordsList);
+
+ if (fileAndWordList && fileAndWordList.length) {
+
+ //search 'and' and 'or' one time
+ //fileAndWordList = SortResults(finalWordsList);
+
+ var cpt = fileAndWordList.length;
+ for (var i = cpt - 1; i >= 0; i--) {
+ if (fileAndWordList[i] != undefined) {
+ linkTab.push("
" + "Your search returned no results for " + "" + txt_wordsnotfound + "" + "
";
+ }
+ //alert(results);
+ document.getElementById('searchResults').innerHTML = results;
+}
+
+function tokenize(wordsList){
+ var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces
+ var cleanwordsList = new Array(); // Array with the words to look for
+ for(var j in wordsList){
+ var word = wordsList[j];
+ if(typeof stemmer != "undefined" ){
+ stemQueryMap[stemmer(word)] = word;
+ } else {
+ stemQueryMap[word] = word;
+ }
+ }
+ //stemmedWordsList is the stemmed list of words separated by spaces.
+ for (var t in wordsList) {
+ wordsList[t] = wordsList[t].replace(/(%22)|^-/g, "");
+ if (wordsList[t] != "%20") {
+ scriptLetterTab.add(wordsList[t].charAt(0));
+ cleanwordsList.push(wordsList[t]);
+ }
+ }
+
+ if(typeof stemmer != "undefined" ){
+ //Do the stemming using Porter's stemming algorithm
+ for (var i = 0; i < cleanwordsList.length; i++) {
+ var stemWord = stemmer(cleanwordsList[i]);
+ stemmedWordsList.push(stemWord);
+ }
+ } else {
+ stemmedWordsList = cleanwordsList;
+ }
+ return stemmedWordsList;
+}
+
+//Invoker of CJKTokenizer class methods.
+function cjkTokenize(wordsList){
+ var allTokens= new Array();
+ var notCJKTokens= new Array();
+ var j=0;
+ for(j=0;j";
+ return this.input.substring(this.offset,this.offset+2);
+ }
+
+ function getAllTokens(){
+ while(this.incrementToken()){
+ var tmp = this.tokenize();
+ this.tokens.push(tmp);
+ }
+ return this.unique(this.tokens);
+// document.getElementById("content").innerHTML += tokens+" ";
+// document.getElementById("content").innerHTML += " dada"+sortedTokens+" ";
+// console.log(tokens.length+"dsdsds");
+ /*for(i=0;idada"+un[i]+"- "+stems[i]+" "+ ss;
+ document.getElementById("content").innerHTML += " "+sortedTokens[i];
+ }*/
+ }
+
+ function unique(a)
+ {
+ var r = new Array();
+ o:for(var i = 0, n = a.length; i < n; i++)
+ {
+ for(var x = 0, y = r.length; x < y; x++)
+ {
+ if(r[x]==a[i]) continue o;
+ }
+ r[r.length] = a[i];
+ }
+ return r;
+ }
+}
+
+
+/* Scriptfirstchar: to gather the first letter of index js files to upload */
+function Scriptfirstchar() {
+ this.strLetters = "";
+ this.add = addLettre;
+}
+
+function addLettre(caract) {
+
+ if (this.strLetters == 'undefined') {
+ this.strLetters = caract;
+ } else if (this.strLetters.indexOf(caract) < 0) {
+ this.strLetters += caract;
+ }
+
+ return 0;
+}
+/* end of scriptfirstchar */
+
+/*main loader function*/
+/*tab contains the first letters of each word looked for*/
+function loadTheIndexScripts(tab) {
+
+ //alert (tab.strLetters);
+ var scriptsarray = new Array();
+
+ for (var i = 0; i < tab.strLetters.length; i++) {
+
+ scriptsarray[i] = "..\/search" + "\/" + tab.strLetters.charAt(i) + ".js";
+ }
+ // add the list of html files
+ i++;
+ scriptsarray[i] = "..\/search" + "\/" + htmlfileList;
+
+ //debug
+ for (var t in scriptsarray) {
+ //alert (scriptsarray[t]);
+ }
+
+ tab = new ScriptLoader();
+ for (t in scriptsarray) {
+ tab.add(scriptsarray[t]);
+ }
+ tab.load();
+ //alert ("scripts loaded");
+ return (scriptsarray);
+}
+
+/* ScriptLoader: to load the scripts and wait that it's finished */
+function ScriptLoader() {
+ this.cpt = 0;
+ this.scriptTab = new Array();
+ this.add = addAScriptInTheList;
+ this.load = loadTheScripts;
+ this.onScriptLoaded = onScriptLoadedFunc;
+}
+
+function addAScriptInTheList(scriptPath) {
+ this.scriptTab.push(scriptPath);
+}
+
+function loadTheScripts() {
+ var script;
+ var head;
+
+ head = document.getElementsByTagName('head').item(0);
+
+ //script = document.createElement('script');
+
+ for (var el in this.scriptTab) {
+ //alert (el+this.scriptTab[el]);
+ script = document.createElement('script');
+ script.src = this.scriptTab[el];
+ script.type = 'text/javascript';
+ script.defer = false;
+
+ head.appendChild(script);
+ }
+
+}
+
+function onScriptLoadedFunc(e) {
+ e = e || window.event;
+ var target = e.target || e.srcElement;
+ var isComplete = true;
+ if (typeof target.readyState != undefined) {
+
+ isComplete = (target.readyState == "complete" || target.readyState == "loaded");
+ }
+ if (isComplete) {
+ ScriptLoader.cpt++;
+ if (ScriptLoader.cpt == ScriptLoader.scripts.length) {
+ ScriptLoader.onLoadComplete();
+ }
+ }
+}
+
+/*
+function onLoadComplete() {
+ alert("loaded !!");
+} */
+
+/* End of scriptloader functions */
+
+// Array.unique( strict ) - Remove duplicate values
+function unique(tab) {
+ var a = new Array();
+ var i;
+ var l = tab.length;
+
+ if (tab[0] != undefined) {
+ a[0] = tab[0];
+ }
+ else {
+ return -1
+ }
+
+ for (i = 1; i < l; i++) {
+ if (indexof(a, tab[i], 0) < 0) {
+ a.push(tab[i]);
+ }
+ }
+ return a;
+}
+function indexof(tab, element, begin) {
+ for (var i = begin; i < tab.length; i++) {
+ if (tab[i] == element) {
+ return i;
+ }
+ }
+ return -1;
+
+}
+/* end of Array functions */
+
+
+/*
+ Param: mots= list of words to look for.
+ This function creates an hashtable:
+ - The key is the index of a html file which contains a word to look for.
+ - The value is the list of all words contained in the html file.
+
+ Return value: the hashtable fileAndWordList
+ */
+function SortResults(mots) {
+
+ var fileAndWordList = new Object();
+ if (mots.length == 0) {
+ return null;
+ }
+
+ for (var t in mots) {
+ // get the list of the indices of the files.
+ var listNumerosDesFicStr = w[mots[t].toString()];
+ //alert ("listNumerosDesFicStr "+listNumerosDesFicStr);
+ var tab = listNumerosDesFicStr.split(",");
+
+ //for each file (file's index):
+ for (var t2 in tab) {
+ var temp = tab[t2].toString();
+ if (fileAndWordList[temp] == undefined) {
+
+ fileAndWordList[temp] = "" + mots[t];
+ } else {
+
+ fileAndWordList[temp] += "," + mots[t];
+ }
+ }
+ }
+
+ var fileAndWordListValuesOnly = new Array();
+
+ // sort results according to values
+ var temptab = new Array();
+ for (t in fileAndWordList) {
+ tab = fileAndWordList[t].split(',');
+
+ var tempDisplay = new Array();
+ for (var x in tab) {
+ if(stemQueryMap[tab[x]] != undefined){
+ tempDisplay.push(stemQueryMap[tab[x]]); //get the original word from the stem word.
+ } else {
+ tempDisplay.push(tab[x]); //no stem is available. (probably a CJK language)
+ }
+ }
+ var tempDispString = tempDisplay.join(", ");
+
+ temptab.push(new resultPerFile(t, fileAndWordList[t], tab.length, tempDispString));
+ fileAndWordListValuesOnly.push(fileAndWordList[t]);
+ }
+
+
+ //alert("t"+fileAndWordListValuesOnly.toString());
+
+ fileAndWordListValuesOnly = unique(fileAndWordListValuesOnly);
+ fileAndWordListValuesOnly = fileAndWordListValuesOnly.sort(compare_nbMots);
+ //alert("t: "+fileAndWordListValuesOnly.join(';'));
+
+ var listToOutput = new Array();
+
+ for (var j in fileAndWordListValuesOnly) {
+ for (t in temptab) {
+ if (temptab[t].motsliste == fileAndWordListValuesOnly[j]) {
+ if (listToOutput[j] == undefined) {
+ listToOutput[j] = new Array(temptab[t]);
+ } else {
+ listToOutput[j].push(temptab[t]);
+ }
+ }
+ }
+ }
+ return listToOutput;
+}
+
+function resultPerFile(filenb, motsliste, motsnb, motslisteDisplay) {
+ this.filenb = filenb;
+ this.motsliste = motsliste;
+ this.motsnb = motsnb;
+ this.motslisteDisplay= motslisteDisplay;
+}
+
+function compare_nbMots(s1, s2) {
+ var t1 = s1.split(',');
+ var t2 = s2.split(',');
+ //alert ("s1:"+t1.length + " " +t2.length)
+ if (t1.length == t2.length) {
+ return 0;
+ } else if (t1.length > t2.length) {
+ return 1;
+ } else {
+ return -1;
+ }
+ //return t1.length - t2.length);
+}
\ No newline at end of file
diff --git a/installer/7/en/content/search/punctuation.props b/installer/7/en/content/search/punctuation.props
new file mode 100644
index 00000000..d3e3fcd2
--- /dev/null
+++ b/installer/7/en/content/search/punctuation.props
@@ -0,0 +1,31 @@
+Punct01=\\u3002
+Punct02=\\u3003
+Punct03=\\u300C
+Punct04=\\u300D
+Punct05=\\u300E
+Punct06=\\u300F
+Punct07=\\u301D
+Punct08=\\u301E
+Punct09=\\u301F
+Punct10=\\u309B
+Punct11=\\u2018
+Punct12=\\u2019
+Punct13=\\u201A
+Punct14=\\u201C
+Punct15=\\u201D
+Punct16=\\u201E
+Punct17=\\u2032
+Punct18=\\u2033
+Punct19=\\u2035
+Punct20=\\u2039
+Punct21=\\u203A
+Punct22=\\u201E
+Punct23=\\u00BB
+Punct24=\\u00AB
+Punct25=
+Punct26=
+Punct27=\\u00A0
+Punct28=\\u2014
+
+
+
diff --git a/installer/7/en/content/search/stemmers/de_stemmer.js b/installer/7/en/content/search/stemmers/de_stemmer.js
new file mode 100644
index 00000000..7ff3822a
--- /dev/null
+++ b/installer/7/en/content/search/stemmers/de_stemmer.js
@@ -0,0 +1,247 @@
+/*
+ * Author: Joder Illi
+ *
+ * Copyright (c) 2010, FormBlitz AG
+ * All rights reserved.
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/german/stemmer.html
+ * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php
+ *
+ * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.
+ *
+ */
+
+//var stemmer = function Stemmer() {
+ /*
+ German includes the following accented forms,
+ ä ö ü
+ and a special letter, ß, equivalent to double s.
+ The following letters are vowels:
+ a e i o u y ä ö ü
+ */
+
+ var stemmer = function(word) {
+ /*
+ Put u and y between vowels into upper case
+ */
+ word = word.replace(/([aeiouyäöü])u([aeiouyäöü])/g, '$1U$2');
+ word = word.replace(/([aeiouyäöü])y([aeiouyäöü])/g, '$1Y$2');
+
+ /*
+ and then do the following mappings,
+ (a) replace ß with ss,
+ (a) replace ae with ä, Not doing these, have trouble with diphtongs
+ (a) replace oe with ö, Not doing these, have trouble with diphtongs
+ (a) replace ue with ü unless preceded by q. Not doing these, have trouble with diphtongs
+ So in quelle, ue is not mapped to ü because it follows q, and in feuer it is not mapped because the first part of the rule changes it to feUer, so the u is not found.
+ */
+ word = word.replace(/ß/g, 'ss');
+ //word = word.replace(/ae/g, 'ä');
+ //word = word.replace(/oe/g, 'ö');
+ //word = word.replace(/([^q])ue/g, '$1ü');
+
+ /*
+ R1 and R2 are first set up in the standard way (see the note on R1 and R2), but then R1 is adjusted so that the region before it contains at least 3 letters.
+ R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel.
+ R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel.
+ */
+
+ var r1Index = word.search(/[aeiouyäöü][^aeiouyäöü]/);
+ var r1 = '';
+ if (r1Index != -1) {
+ r1Index += 2;
+ r1 = word.substring(r1Index);
+ }
+
+ var r2Index = -1;
+ var r2 = '';
+
+ if (r1Index != -1) {
+ var r2Index = r1.search(/[aeiouyäöü][^aeiouyäöü]/);
+ if (r2Index != -1) {
+ r2Index += 2;
+ r2 = r1.substring(r2Index);
+ r2Index += r1Index;
+ } else {
+ r2 = '';
+ }
+ }
+
+ if (r1Index != -1 && r1Index < 3) {
+ r1Index = 3;
+ r1 = word.substring(r1Index);
+ }
+
+ /*
+ Define a valid s-ending as one of b, d, f, g, h, k, l, m, n, r or t.
+ Define a valid st-ending as the same list, excluding letter r.
+ */
+
+ /*
+ Do each of steps 1, 2 and 3.
+ */
+
+ /*
+ Step 1:
+ Search for the longest among the following suffixes,
+ (a) em ern er
+ (b) e en es
+ (c) s (preceded by a valid s-ending)
+ */
+ var a1Index = word.search(/(em|ern|er)$/g);
+ var b1Index = word.search(/(e|en|es)$/g);
+ var c1Index = word.search(/([bdfghklmnrt]s)$/g);
+ if (c1Index != -1) {
+ c1Index++;
+ }
+ var index1 = 10000;
+ var optionUsed1 = '';
+ if (a1Index != -1 && a1Index < index1) {
+ optionUsed1 = 'a';
+ index1 = a1Index;
+ }
+ if (b1Index != -1 && b1Index < index1) {
+ optionUsed1 = 'b';
+ index1 = b1Index;
+ }
+ if (c1Index != -1 && c1Index < index1) {
+ optionUsed1 = 'c';
+ index1 = c1Index;
+ }
+
+ /*
+ and delete if in R1. (Of course the letter of the valid s-ending is not necessarily in R1.) If an ending of group (b) is deleted, and the ending is preceded by niss, delete the final s.
+ (For example, äckern -> äck, ackers -> acker, armes -> arm, bedürfnissen -> bedürfnis)
+ */
+
+ if (index1 != 10000 && r1Index != -1) {
+ if (index1 >= r1Index) {
+ word = word.substring(0, index1);
+ if (optionUsed1 == 'b') {
+ if (word.search(/niss$/) != -1) {
+ word = word.substring(0, word.length -1);
+ }
+ }
+ }
+ }
+ /*
+ Step 2:
+ Search for the longest among the following suffixes,
+ (a) en er est
+ (b) st (preceded by a valid st-ending, itself preceded by at least 3 letters)
+ */
+
+ var a2Index = word.search(/(en|er|est)$/g);
+ var b2Index = word.search(/(.{3}[bdfghklmnt]st)$/g);
+ if (b2Index != -1) {
+ b2Index += 4;
+ }
+
+ var index2 = 10000;
+ var optionUsed2 = '';
+ if (a2Index != -1 && a2Index < index2) {
+ optionUsed2 = 'a';
+ index2 = a2Index;
+ }
+ if (b2Index != -1 && b2Index < index2) {
+ optionUsed2 = 'b';
+ index2 = b2Index;
+ }
+
+ /*
+ and delete if in R1.
+ (For example, derbsten -> derbst by step 1, and derbst -> derb by step 2, since b is a valid st-ending, and is preceded by just 3 letters)
+ */
+
+ if (index2 != 10000 && r1Index != -1) {
+ if (index2 >= r1Index) {
+ word = word.substring(0, index2);
+ }
+ }
+
+ /*
+ Step 3: d-suffixes (*)
+ Search for the longest among the following suffixes, and perform the action indicated.
+ end ung
+ delete if in R2
+ if preceded by ig, delete if in R2 and not preceded by e
+ ig ik isch
+ delete if in R2 and not preceded by e
+ lich heit
+ delete if in R2
+ if preceded by er or en, delete if in R1
+ keit
+ delete if in R2
+ if preceded by lich or ig, delete if in R2
+ */
+
+ var a3Index = word.search(/(end|ung)$/g);
+ var b3Index = word.search(/[^e](ig|ik|isch)$/g);
+ var c3Index = word.search(/(lich|heit)$/g);
+ var d3Index = word.search(/(keit)$/g);
+ if (b3Index != -1) {
+ b3Index ++;
+ }
+
+ var index3 = 10000;
+ var optionUsed3 = '';
+ if (a3Index != -1 && a3Index < index3) {
+ optionUsed3 = 'a';
+ index3 = a3Index;
+ }
+ if (b3Index != -1 && b3Index < index3) {
+ optionUsed3 = 'b';
+ index3 = b3Index;
+ }
+ if (c3Index != -1 && c3Index < index3) {
+ optionUsed3 = 'c';
+ index3 = c3Index;
+ }
+ if (d3Index != -1 && d3Index < index3) {
+ optionUsed3 = 'd';
+ index3 = d3Index;
+ }
+
+ if (index3 != 10000 && r2Index != -1) {
+ if (index3 >= r2Index) {
+ word = word.substring(0, index3);
+ var optionIndex = -1;
+ var optionSubsrt = '';
+ if (optionUsed3 == 'a') {
+ optionIndex = word.search(/[^e](ig)$/);
+ if (optionIndex != -1) {
+ optionIndex++;
+ if (optionIndex >= r2Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ } else if (optionUsed3 == 'c') {
+ optionIndex = word.search(/(er|en)$/);
+ if (optionIndex != -1) {
+ if (optionIndex >= r1Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ } else if (optionUsed3 == 'd') {
+ optionIndex = word.search(/(lich|ig)$/);
+ if (optionIndex != -1) {
+ if (optionIndex >= r2Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ }
+ }
+ }
+
+ /*
+ Finally,
+ turn U and Y back into lower case, and remove the umlaut accent from a, o and u.
+ */
+ word = word.replace(/U/g, 'u');
+ word = word.replace(/Y/g, 'y');
+ word = word.replace(/ä/g, 'a');
+ word = word.replace(/ö/g, 'o');
+ word = word.replace(/ü/g, 'u');
+
+ return word;
+ };
+//}
\ No newline at end of file
diff --git a/installer/7/en/content/search/stemmers/en_stemmer.js b/installer/7/en/content/search/stemmers/en_stemmer.js
new file mode 100644
index 00000000..f58012f2
--- /dev/null
+++ b/installer/7/en/content/search/stemmers/en_stemmer.js
@@ -0,0 +1,187 @@
+// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original
+// paper, in
+//
+// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
+// no. 3, pp 130-137,
+//
+// see also http://www.tartarus.org/~martin/PorterStemmer
+
+// Release 1 be 'andargor', Jul 2004
+// Release 2 (substantially revised) by Christopher McKenzie, Aug 2009
+
+
+var stemmer = (function(){
+ var step2list = {
+ "ational" : "ate",
+ "tional" : "tion",
+ "enci" : "ence",
+ "anci" : "ance",
+ "izer" : "ize",
+ "bli" : "ble",
+ "alli" : "al",
+ "entli" : "ent",
+ "eli" : "e",
+ "ousli" : "ous",
+ "ization" : "ize",
+ "ation" : "ate",
+ "ator" : "ate",
+ "alism" : "al",
+ "iveness" : "ive",
+ "fulness" : "ful",
+ "ousness" : "ous",
+ "aliti" : "al",
+ "iviti" : "ive",
+ "biliti" : "ble",
+ "logi" : "log"
+ },
+
+ step3list = {
+ "icate" : "ic",
+ "ative" : "",
+ "alize" : "al",
+ "iciti" : "ic",
+ "ical" : "ic",
+ "ful" : "",
+ "ness" : ""
+ },
+
+ c = "[^aeiou]", // consonant
+ v = "[aeiouy]", // vowel
+ C = c + "[^aeiouy]*", // consonant sequence
+ V = v + "[aeiou]*", // vowel sequence
+
+ mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0
+ meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1
+ mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
+ s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ return function (w) {
+ var stem,
+ suffix,
+ firstch,
+ re,
+ re2,
+ re3,
+ re4,
+ origword = w;
+
+ if (w.length < 3) { return w; }
+
+ firstch = w.substr(0,1);
+ if (firstch == "y") {
+ w = firstch.toUpperCase() + w.substr(1);
+ }
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w)) { w = w.replace(re,"$1$2"); }
+ else if (re2.test(w)) { w = w.replace(re2,"$1$2"); }
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ } else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w)) { w = w + "e"; }
+ else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); }
+ else if (re4.test(w)) { w = w + "e"; }
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem)) { w = stem + "i"; }
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem)) {
+ w = stem + step2list[suffix];
+ }
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem)) {
+ w = stem + step3list[suffix];
+ }
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem)) {
+ w = stem;
+ }
+ } else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem)) {
+ w = stem;
+ }
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
+ w = stem;
+ }
+ }
+
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+
+ if (firstch == "y") {
+ w = firstch.toLowerCase() + w.substr(1);
+ }
+
+ return w;
+ }
+})();
\ No newline at end of file
diff --git a/installer/7/en/content/search/stemmers/fr_stemmer.js b/installer/7/en/content/search/stemmers/fr_stemmer.js
new file mode 100644
index 00000000..34f97431
--- /dev/null
+++ b/installer/7/en/content/search/stemmers/fr_stemmer.js
@@ -0,0 +1,299 @@
+/*
+ * Author: Kasun Gajasinghe
+ * E-Mail: kasunbg AT gmail DOT com
+ * Date: 09.08.2010
+ *
+ * usage: stemmer(word);
+ * ex: var stem = stemmer(foobar);
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/french/stemmer.html
+ *
+ * LICENSE:
+ *
+ * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ *
+ * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+var stemmer = function(word){
+// Letters in French include the following accented forms,
+// â à ç ë é ê è ï î ô û ù
+// The following letters are vowels:
+// a e i o u y â à ë é ê è ï î ô û ù
+
+ word = word.toLowerCase();
+ var oriWord = word;
+ word = word.replace(/qu/g, 'qU'); //have to perform first, as after the operation, capital U is not treated as a vowel
+ word = word.replace(/([aeiouyâàëéêèïîôûù])u([aeiouyâàëéêèïîôûù])/g, '$1U$2');
+ word = word.replace(/([aeiouyâàëéêèïîôûù])i([aeiouyâàëéêèïîôûù])/g, '$1I$2');
+ word = word.replace(/([aeiouyâàëéêèïîôûù])y/g, '$1Y');
+ word = word.replace(/y([aeiouyâàëéêèïîôûù])/g, 'Y$1');
+
+ var rv='';
+ var rvIndex = -1;
+ if(word.search(/^(par|col|tap)/) != -1 || word.search(/^[aeiouyâàëéêèïîôûù]{2}/) != -1){
+ rv = word.substring(3);
+ rvIndex = 3;
+ } else {
+ rvIndex = word.substring(1).search(/[aeiouyâàëéêèïîôûù]/);
+ if(rvIndex != -1){
+ rvIndex +=2; //+2 is to supplement the substring(1) used to find rvIndex
+ rv = word.substring(rvIndex);
+ } else {
+ rvIndex = word.length;
+ }
+ }
+
+// R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel.
+// R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel
+ var r1Index = word.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/);
+ var r1 = '';
+ if (r1Index != -1) {
+ r1Index += 2;
+ r1 = word.substring(r1Index);
+ } else {
+ r1Index = word.length;
+ }
+
+ var r2Index = -1;
+ var r2 = '';
+ if (r1Index != -1) {
+ r2Index = r1.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/);
+ if (r2Index != -1) {
+ r2Index += 2;
+ r2 = r1.substring(r2Index);
+ r2Index += r1Index;
+ } else {
+ r2 = '';
+ r2Index = word.length;
+ }
+ }
+ if (r1Index != -1 && r1Index < 3) {
+ r1Index = 3;
+ r1 = word.substring(r1Index);
+ }
+
+ /*
+ Step 1: Standard suffix removal
+ */
+ var a1Index = word.search(/(ance|iqUe|isme|able|iste|eux|ances|iqUes|ismes|ables|istes)$/);
+ var a2Index = word.search(/(atrice|ateur|ation|atrices|ateurs|ations)$/);
+ var a3Index = word.search(/(logie|logies)$/);
+ var a4Index = word.search(/(usion|ution|usions|utions)$/);
+ var a5Index = word.search(/(ence|ences)$/);
+ var a6Index = word.search(/(ement|ements)$/);
+ var a7Index = word.search(/(ité|ités)$/);
+ var a8Index = word.search(/(if|ive|ifs|ives)$/);
+ var a9Index = word.search(/(eaux)$/);
+ var a10Index = word.search(/(aux)$/);
+ var a11Index = word.search(/(euse|euses)$/);
+ var a12Index = word.search(/[^aeiouyâàëéêèïîôûù](issement|issements)$/);
+ var a13Index = word.search(/(amment)$/);
+ var a14Index = word.search(/(emment)$/);
+ var a15Index = word.search(/[aeiouyâàëéêèïîôûù](ment|ments)$/);
+
+ if(a1Index != -1 && a1Index >= r2Index){
+ word = word.substring(0,a1Index);
+ } else if(a2Index != -1 && a2Index >= r2Index){
+ word = word.substring(0,a2Index);
+ var a2Index2 = word.search(/(ic)$/);
+ if(a2Index2 != -1 && a2Index2 >= r2Index){
+ word = word.substring(0, a2Index2); //if preceded by ic, delete if in R2,
+ } else { //else replace by iqU
+ word = word.replace(/(ic)$/,'iqU');
+ }
+ } else if(a3Index != -1 && a3Index >= r2Index){
+ word = word.replace(/(logie|logies)$/,'log'); //replace with log if in R2
+ } else if(a4Index != -1 && a4Index >= r2Index){
+ word = word.replace(/(usion|ution|usions|utions)$/,'u'); //replace with u if in R2
+ } else if(a5Index != -1 && a5Index >= r2Index){
+ word = word.replace(/(ence|ences)$/,'ent'); //replace with ent if in R2
+ } else if(a6Index != -1 && a6Index >= rvIndex){
+ word = word.substring(0,a6Index);
+ if(word.search(/(iv)$/) >= r2Index){
+ word = word.replace(/(iv)$/, '');
+ if(word.search(/(at)$/) >= r2Index){
+ word = word.replace(/(at)$/, '');
+ }
+ } else if(word.search(/(eus)$/) != -1){
+ var a6Index2 = word.search(/(eus)$/);
+ if(a6Index2 >=r2Index){
+ word = word.substring(0, a6Index2);
+ } else if(a6Index2 >= r1Index){
+ word = word.substring(0,a6Index2)+"eux";
+ }
+ } else if(word.search(/(abl|iqU)$/) >= r2Index){
+ word = word.replace(/(abl|iqU)$/,''); //if preceded by abl or iqU, delete if in R2,
+ } else if(word.search(/(ièr|Ièr)$/) >= rvIndex){
+ word = word.replace(/(ièr|Ièr)$/,'i'); //if preceded by abl or iqU, delete if in R2,
+ }
+ } else if(a7Index != -1 && a7Index >= r2Index){
+ word = word.substring(0,a7Index); //delete if in R2
+ if(word.search(/(abil)$/) != -1){ //if preceded by abil, delete if in R2, else replace by abl, otherwise,
+ var a7Index2 = word.search(/(abil)$/);
+ if(a7Index2 >=r2Index){
+ word = word.substring(0, a7Index2);
+ } else {
+ word = word.substring(0,a7Index2)+"abl";
+ }
+ } else if(word.search(/(ic)$/) != -1){
+ var a7Index3 = word.search(/(ic)$/);
+ if(a7Index3 != -1 && a7Index3 >= r2Index){
+ word = word.substring(0, a7Index3); //if preceded by ic, delete if in R2,
+ } else { //else replace by iqU
+ word = word.replace(/(ic)$/,'iqU');
+ }
+ } else if(word.search(/(iv)$/) != r2Index){
+ word = word.replace(/(iv)$/,'');
+ }
+ } else if(a8Index != -1 && a8Index >= r2Index){
+ word = word.substring(0,a8Index);
+ if(word.search(/(at)$/) >= r2Index){
+ word = word.replace(/(at)$/, '');
+ if(word.search(/(ic)$/) >= r2Index){
+ word = word.replace(/(ic)$/, '');
+ } else { word = word.replace(/(ic)$/, 'iqU'); }
+ }
+ } else if(a9Index != -1){ word = word.replace(/(eaux)/,'eau')
+ } else if(a10Index >= r1Index){ word = word.replace(/(aux)/,'al')
+ } else if(a11Index != -1 ){
+ var a11Index2 = word.search(/(euse|euses)$/);
+ if(a11Index2 >=r2Index){
+ word = word.substring(0, a11Index2);
+ } else if(a11Index2 >= r1Index){
+ word = word.substring(0, a11Index2)+"eux";
+ }
+ } else if(a12Index!=-1 && a12Index>=r1Index){
+ word = word.substring(0,a12Index+1); //+1- amendment to non-vowel
+ } else if(a13Index!=-1 && a13Index>=rvIndex){
+ word = word.replace(/(amment)$/,'ant');
+ } else if(a14Index!=-1 && a14Index>=rvIndex){
+ word = word.replace(/(emment)$/,'ent');
+ } else if(a15Index!=-1 && a15Index>=rvIndex){
+ word = word.substring(0,a15Index+1);
+ }
+
+ /* Step 2a: Verb suffixes beginning i*/
+ var wordStep1 = word;
+ var step2aDone = false;
+ if(oriWord == word.toLowerCase() || oriWord.search(/(amment|emment|ment|ments)$/) != -1){
+ step2aDone = true;
+ var b1Regex = /([^aeiouyâàëéêèïîôûù])(îmes|ît|îtes|i|ie|ies|ir|ira|irai|iraIent|irais|irait|iras|irent|irez|iriez|irions|irons|iront|is|issaIent|issais|issait|issant|issante|issantes|issants|isse|issent|isses|issez|issiez|issions|issons|it)$/i;
+ if(word.search(b1Regex) >= rvIndex){
+ word = word.replace(b1Regex,'$1');
+ }
+ }
+
+ /* Step 2b: Other verb suffixes*/
+ if (step2aDone && wordStep1 == word) {
+ if (word.search(/(ions)$/) >= r2Index) {
+ word = word.replace(/(ions)$/, '');
+ } else {
+ var b2Regex = /(é|ée|ées|és|èrent|er|era|erai|eraIent|erais|erait|eras|erez|eriez|erions|erons|eront|ez|iez)$/i;
+ if (word.search(b2Regex) >= rvIndex) {
+ word = word.replace(b2Regex, '');
+ } else {
+ var b3Regex = /e(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i;
+ if (word.search(b3Regex) >= rvIndex) {
+ word = word.replace(b3Regex, '');
+ } else {
+ var b3Regex2 = /(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i;
+ if (word.search(b3Regex2) >= rvIndex) {
+ word = word.replace(b3Regex2, '');
+ }
+ }
+ }
+ }
+ }
+
+ if(oriWord != word.toLowerCase()){
+ /* Step 3 */
+ var rep = '';
+ if(word.search(/Y$/) != -1) {
+ word = word.replace(/Y$/, 'i');
+ } else if(word.search(/ç$/) != -1){
+ word = word.replace(/ç$/, 'c');
+ }
+ } else {
+ /* Step 4 */
+ //If the word ends s, not preceded by a, i, o, u, è or s, delete it.
+ if (word.search(/([^aiouès])s$/) >= rvIndex) {
+ word = word.replace(/([^aiouès])s$/, '$1');
+ }
+ var e1Index = word.search(/ion$/);
+ if (e1Index >= r2Index && word.search(/[st]ion$/) >= rvIndex) {
+ word = word.substring(0, e1Index);
+ } else {
+ var e2Index = word.search(/(ier|ière|Ier|Ière)$/);
+ if (e2Index != -1 && e2Index >= rvIndex) {
+ word = word.substring(0, e2Index) + "i";
+ } else {
+ if (word.search(/e$/) >= rvIndex) {
+ word = word.replace(/e$/, ''); //delete last e
+ } else if (word.search(/guë$/) >= rvIndex) {
+ word = word.replace(/guë$/, 'gu');
+ }
+ }
+ }
+ }
+
+ /* Step 5: Undouble */
+ //word = word.replace(/(en|on|et|el|eil)(n|t|l)$/,'$1');
+ word = word.replace(/(en|on)(n)$/,'$1');
+ word = word.replace(/(ett)$/,'et');
+ word = word.replace(/(el|eil)(l)$/,'$1');
+
+ /* Step 6: Un-accent */
+ word = word.replace(/[éè]([^aeiouyâàëéêèïîôûù]+)$/,'e$1');
+ word = word.toLowerCase();
+ return word;
+};
+
+var eqOut = new Array();
+var noteqOut = new Array();
+var eqCount = 0;
+/*
+To test the stemming, create two arrays named "voc" and "COut" which are for vocabualary and the stemmed output.
+Then add the vocabulary strings and output strings. This method will generate the stemmed output for "voc" and will
+compare the output with COut.
+ (I used porter's voc and out files and did a regex to convert them to js objects. regex: /");\nvoc.push("/g . This
+ will add strings to voc array such that output would look like: voc.push("foobar"); ) drop me an email for any help.
+ */
+function testFr(){
+ var start = new Date().getTime(); //execution time
+ eqCount = 0;
+ eqOut = new Array();
+ noteqOut = new Array();
+ for(var k=0;k
+
+
+
+ Security Level
Standard
+ is the default, and recommended setting for the average user.
Secure will create a highly
+ protected system - for instance if the system is to be used as a public
+ server.
Security Administrator
This item allows you to
+ configure an email address to which the system will send security
+ alert messages when it detects situations which require
+ notification to a system administrator.
A good, and easy-to-implement, choice is to enter
+ <user>@localhost - where <user> is the login name of the user to
+ receive these messages.
Note
The system sends such messages as Unix
+ Mailspool messages, not as "ordinary" SMTP mail: this user must
+ therefore be configured for receiving such mail!
It will always be possible to
+ adjust your security settings post-install in the
+ Security section of the Mageia Control Center.
Use this option to perform a fresh installation of Mageia. This
+ will format the root partition
+ (/), but can preserve a pre-existing
+ /home partition (a dedicated /home partition, rather than being incorporated within the root (/) partition itself).
Upgrade
Use this option to upgrade an existing installation of
+ Mageia.
Important
Only upgrading from a previous Mageia version that was
+ still supported when this Installer's version was
+ released, has been thoroughly tested. If you want to upgrade a Mageia
+ version that has reached its “End Of Life” then it is better
+ to do a “clean” install instead, while preserving your
+ /home partition.
Tip
If you have discovered that you forgot to select an additional
+ language, you can return from the Install or Upgrade
+ screen to the language choice screen by pressing Ctrl+Alt+Home. Do NOT do this later in
+ the install.
DrakX selects an appropriate
+ keyboard for your language. If no suitable keyboard is found it will default
+ to a US keyboard layout.
Make sure that the
+ selection is correct or choose another keyboard layout. If you don't
+ know which layout your keyboard has, look in the specifications that
+ came with your system, or ask the computer vendor. There may even be a
+ label on the keyboard that identifies the layout. You can also look
+ here: en.wikipedia.org/wiki/Keyboard_layout
If your keyboard isn't in
+ the list shown, click on More to get a fuller list,
+ and select your keyboard there.
Note
After choosing a
+ keyboard from the More dialogue, you'll return
+ to the first keyboard choice dialogue and it will seem as though a
+ keyboard from that screen was chosen. You can safely ignore this and
+ continue the installation: the keyboard chosen from the full list
+ will be applied.
If you choose a keyboard
+ based on non-Latin characters, you will see an extra dialogue screen
+ asking how you would prefer to switch between the Latin and non-Latin
+ keyboard layouts
diff --git a/installer/7/en/content/selectLanguage.html b/installer/7/en/content/selectLanguage.html
new file mode 100644
index 00000000..ee241443
--- /dev/null
+++ b/installer/7/en/content/selectLanguage.html
@@ -0,0 +1,57 @@
+
+
+
+
+ Please choose a language to use
Select your preferred language, by first expanding the list for
+ your continent. Mageia will use this selection during the installation
+ and for your installed system.
If it is likely that you (or others) will require several
+ languages to be installed on your system, then you should use the
+ Multiple languages option to add them now. It will
+ be difficult to add extra language support after installation.
Important
Even if you choose more than one language, you must first choose one
+ as your preferred language from the main list of languages. It will also
+ be marked as chosen in the Multiple languages
+ screen.
If your keyboard language is not the same as your preferred
+ language, then it is advisable to install the required language for your
+ keyboard as well
Mageia uses UTF-8 (Unicode) support by default. This may be
+ disabled in the Multiple languages screen if you
+ know that it is inappropriate for your language. Disabling UTF-8 applies
+ to all installed languages.
You can change the language for your system post-installation in
+ the Mageia Control Center → System → localization for your system.
GRUB2 (with or without graphical menu) will be used exclusively
+ as the bootloader for a Legacy/MBR or Legacy/GPT system.
By default, a new bootloader will be written into either the MBR
+ (Master Boot Record) of your first hard drive or in the BIOS boot
+ partition.
Grub2-efi on UEFI systems
GRUB2-efi will be used exclusively as the bootloader for a UEFI
+ system.
By default, a new bootloader (Grub2-efi) will be written into
+ the ESP (EFI System Partition).
If there are already UEFI-based operating systems installed on
+ your computer (Windows 8 for example), the Mageia installer will
+ detect the existing ESP created by Windows and add grub2-efi to it. If
+ no ESP exists, then one will be created. Although it is possible to
+ have several ESPs, only one is required, whatever the number of
+ operating systems you have.
Bootloader Setup
Bootloader main options
Bootloader to use
This feature is only available to Legacy MBR/BIOS systems.
+ Users of UEFI systems will not see this option here.
Boot device
Don't change this unless you really know what you are
+ doing
Delay before booting the default
+ image
This text box lets you set a delay, in seconds, before the
+ default operating system is started up.
Security
This allows you to set a password for the bootloader. This
+ means a username and password will be required when booting in order
+ to select a booting entry or change settings. This is optional, and
+ most people are not likely to have a need for it. The username is
+ root and the password is the one chosen
+ hereafter.
Password
Choose a password for the bootloader (optional)
Password (again)
Retype the password and DrakX will check that it matches with
+ the one set above
Advanced
Enable ACPI
ACPI (Advanced Configuration and Power Interface) is a
+ standard for power management. It can save energy by stopping unused
+ devices. Deselecting it could be useful if, for example, your
+ computer does not support ACPI or if you think the ACPI
+ implementation might cause some problems (for instance random
+ reboots or system lockups).
Enable SMP
This option enables/disables symmetric multiprocessing for
+ multi-core processors
Enable APIC
Enabling this gives the operating system access to the
+ Advanced Programmable Interrupt Controller. APIC devices permit more
+ complex priority models, and Advanced IRQ (Interrupt Request)
+ management.
Enable Local APIC
Here you can set Local APIC, which manages all external
+ interrupts for a specific processor in an SMP system
Bootloader Configuration
Default
The operating system to be started up by default.
Append
This option lets you pass information to the kernel or tell
+ the kernel to give you more information as it boots.
Probe foreign OS
If you already have other operating systems installed, Mageia
+ attempts to add them to your new Mageia boot menu. If you don't want
+ this behaviour, then untick the Probe Foreign OS option.
Advanced
Video mode
This sets the screen size and colour depth to be used by the
+ boot menu. If you click the down-triangle you will be offered other
+ size and colour depth options.
Do not touch ESP or MBR
Select this option if you don't want a bootable Mageia, but
+ would rather chain-load it from another OS. You will get a warning
+ that the bootloader is missing. Click Ok if you
+ are sure you understand the implications, and wish to
+ proceed.
Other Options
Using an existing bootloader
The exact procedure for adding Mageia to an existing bootloader is
+ beyond the scope of this documentation. However in most cases it will
+ involve running the relevant bootloader installation program, which
+ should detect Mageia and automatically add an entry for it in the
+ bootloader menu. See the documentation for the relevant operating
+ system.
Installing Without a Bootloader
While you can opt to install Mageia without a bootloader (see
+ section 2.1 Advanced), this is not recommended unless you absolutely
+ know what you are doing, as without some form of bootloader your
+ operating system will be unable to start.
Add or Modify a Boot Menu
+ Entry
To do this you need to manually edit /boot/grub2/custom.cfg or use the
+ software grub-customizer tool instead
+ (available in the Mageia repositories).
DrakX will normally detect hard
+ disks correctly. However, with some older SCSI controllers it may be unable
+ to determine the correct drivers to use and subsequently fail to recognise
+ the drive.
If your device is not recognised,
+ you will need to manually tell DrakX which SCSI drive(s) you have. DrakX
+ should then be able to configure the drive(s) correctly.
This screen shows you the list of already recognised repositories. You
+ can add other sources for packages, like an optical-disc or a remote source.
+ The source selection determines which packages will be available during the
+ subsequent steps.
For a network source, there are two steps to follow:
Choosing and activating the network, if not already up.
Selecting a mirror or specifying a URL (very first entry). By
+ selecting a mirror, you have access to the selection of all repositories
+ managed by Mageia, like the Nonfree, the
+ Tainted repositories and the
+ Updates. With the URL, you can designate a specific
+ repository or your own NFS installation.
Note
If you are updating a 64-bit installation which may contain some
+ 32-bit packages, it is advised to use this screen to add an online mirror
+ by selecting one of the Network protocols here. The 64-bit DVD ISO only
+ contains 64-bit and noarch packages, it will not be
+ able to update the 32-bit packages. However, after adding an online
+ mirror, the installer will find the needed 32-bit packages there.
Available Media
Here you have the list of available repositories. Not all repositories
+ are available, according to which media you use for installing. The
+ repositories selection determines which packages will be available for
+ selection during the next steps.
The Core repository cannot be disabled as it
+ contains the base of the distribution.
The Nonfree repository includes packages that
+ are free-of-charge, i.e. Mageia may redistribute them, but they contain
+ closed-source software (hence the name - Nonfree). For example this
+ repository includes nVidia and AMD graphics card proprietary drivers,
+ firmware for various WiFi cards, etc.
The Tainted repository includes packages
+ released under a free license. The main criteria for placing packages in
+ this repository is that they may infringe patents and copyright laws in
+ some countries, e.g. multimedia codecs needed to play various
+ audio/video files; packages needed to play commercial video DVD's,
+ etc.
Desktop Selection
Some choices made here will open other screens with related
+ options.
After the selection step(s), you will see a slideshow during the
+ installation of required packages. The slideshow can be disabled by pressing
+ the Details button.
Choose whether you prefer to use the KDE Plasma or GNOME desktop
+ environment. Both come with a full set of useful applications and
+ tools.
Select Custom if you do not wish to use
+ either (or, actually use both) of these, or if you want to modify the
+ default software choices for these desktop environments. The LXDE
+ desktop, for instance, is lighter than the previous two, sporting less
+ eye candy and having fewer packages installed by default.
Package Group Selection
Packages are arranged into common groups, to make choosing what you
+ need on your system a lot easier. The groups are fairly self explanatory,
+ however more information about the content of each is available in tool-tips
+ which become visible as the mouse is hovered over them.
Workstation
Server
Graphical Environment
Individual Package Selection: you
+ can use this option to manually add or remove packages
See Minimal Install for instructions on how to do a
+ minimal install (without or with X & IceWM).
Minimal Install
Minimal Installation is intended for those with specific uses in mind
+ for Mageia, such as a server or a specialised workstation. You will probably
+ use this option combined with the Individual package
+ selection option to fine-tune your installation. See Choose Individual Packages.
You can choose a Minimal Installation by
+ de-selecting everything in the Package Group
+ Selection screen, see Choose Package Groups.
If desired, you can additionally tick the Individual
+ package selection option in the same screen.
If you choose this installation method, then the relevant screen
+ (see screenshot below) will offer you a few useful extras to install,
+ such as documentation and “X”.
If the With X option is selected, then IceWM
+ (a lightweight desktop environment) will also be included.
The basic documentation is provided in the form of “man”
+ and “info” pages. It contains the man pages from the Linux Documentation
+ Project and the GNU
+ coreutils info pages.
Choose Individual Packages
Here you can add or remove any extra packages to customize your
+ installation.
After having made your choice, you can click on the
+ floppy icon at the bottom of the page to save your
+ choice of packages (saving to a USB key works, too). You can then use this
+ file to install the same packages on another system, by pressing the same
+ button during install and choosing to load it.
This screen shows the details of the sound card driver chosen for you
+ by the installer, and this driver should work without problems.
However, if you encounter any issues post-install, then run
+ draksound or start this tool via Mageia Control Center → Hardware → Sound Configuration. Then, in the draksound or
+ Sound Configuration screen, click on
+ Troubleshooting to find useful advice about how to
+ solve the problem.
Advanced
If there is no actual default driver for your sound card, there may
+ be other possible alternative drivers available to choose from. If this is
+ the case, but you think the installer has not made the most appropriate
+ choice, you can click on Advanced to manually specify
+ a driver.
If Mageia didn't convince you or you can't install it correctly - in
+ short you want get rid of it - that is your right and Mageia also gives you
+ the possibility to uninstall. This is not true for every operating
+ system.
After backing up your data, reboot your Mageia installation DVD and
+ select Rescue system, then Restore Windows
+ boot loader. At the next boot, you will only have Windows, with
+ no option to choose your Mageia operating system.
In Windows, to recover the space used by Mageia partitions: click on
+ Start → Control Panel → Administrative Tools → Computer Management → Storage → Disk Management. You will recognise a Mageia partition because they are
+ labeled Unknown, and also by their size and place on the
+ disk. Right-click on each of these partitions and select
+ Delete to free up the space.
If you are using Windows XP, you can create a new partition and format
+ it (FAT32 or NTFS). It will then get a partition letter.
If you have Vista or 7, you have one more possibility, you can extend
+ the existing partition that is at the left of the freed space. There are
+ other partitioning tools that can be used, such as gparted, available for both Windows and Linux. As
+ always, when changing partitions, be very careful to back up anything
+ important to you.